如何快速测试 bash 中的路径以确定它的任何部分是否是符号链接?

Ste*_*ieD 3 bash symbolic-link

如果我有这样一个带有符号链接的路径:

/this/one/two/three

是否有一个快速的单行代码来确定路径中的另外一个段是否是符号链接?例如,我想检测上面示例中的thisonetwothree是否是符号链接。

一种方法是将包含符号链接的路径与readlink -f <path>. 想知道是否有更快的方法。

Mir*_*ici 6

我会用:

if [[ "$my_path" != "$(realpath --canonicalize-existing $my_path)" ]];then
  echo The path $my_path is relative path or contains symlinks.
else
  echo The path $my_path is absolute.
fi
Run Code Online (Sandbox Code Playgroud)