如何检查路径是实际的还是符号链接

时间:2010-06-13 16:07:14

标签: unix symlink

我正在编写自己的shell程序。我目前正在使用chdir实现cd命令。 我想用以下选项实现cd:

  • -P请勿使用符号链接
  • -L遵循符号链接(默认)

当在shell上输入给定路径时,如何判断路径是符号链接还是绝对路径?

由于

2 个答案:

答案 0 :(得分:3)

查看lstat()函数,需要在st_mode字段上使用S_ISLNK。

答案 1 :(得分:3)

if [ -L /path/to/file ]; then
  echo "is a symlink!"
else
  echo "not a symlink! maybe a directory or regular file, or does not exist"
end