2010-12-30 8 views
12

Tôi có một liên kết tượng trưng a.c trong thư mục chính của tôi đến tệp khác trong cùng một thư mục.Kiểm tra liên kết tượng trưng

ac -> bc

tôi biết làm thế nào để kiểm tra ac là một liên kết tượng trưng bằng cách sử dụng kịch bản shell

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

Nhưng câu hỏi của tôi là làm thế nào để viết một kịch bản để kiểm tra xem ac là một biểu tượng liên kết cụ thể đến bc?

Cảm ơn

Trả lời

20

Sử dụng readlink;

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

Vì vậy, 'if [[-L a.c]] && [[" $ (readlink a.c) "=" b.c "]]; sau đó echo "a.c là một liên kết đến b.c"; fi' –

5

Bạn cũng có thể làm ls -F filename.txt trả về [email protected] nếu nó là một liên kết tượng trưng.