检查符号链接

17

我在我的主目录下有一个符号链接 a.c,它链接到同一目录下的另一个文件。

a.c -> b.c

我知道如何使用shell脚本检查a.c是一个符号链接。

if [ -L /home/nit/a.c ] ; then
    echo "a.c is a symbolic link"
fi

但我的问题是如何编写一个shell脚本来检查a.c是否是一个指向b.c的符号链接?

谢谢

2个回答

28

使用 readlink 命令;

[~]> ln -s foo bar
[~]> readlink bar 
foo

1
所以,如果 [[ -L a.c ]] && [[ "$(readlink a.c)" = "b.c" ]]; then echo "a.c 是指向 b.c 的链接"; fi - glenn jackman

6
您还可以执行ls -F filename.txt,如果它是符号链接,则返回filename.txt@

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接