2014-10-18 38 views

回答

2

的原因是在內部,bash將調用FSTAT( ),而不是使用-st測試lstat(),所以它檢查文件本身,而不是符號鏈接。

+0

謝謝!這個答案擊中了頭部。它是特定於'bash'還是它適用於Bourne shell(我感興趣的shell)呢? – 2014-10-19 06:42:58

2

使用-h檢查鏈接(甚至碎)的存在:

[ -h "$FIREFOX" ] && echo "exists" 

man test

-h FILE 
      FILE exists and is a symbolic link (same as -L) 
+0

感謝您的回覆。雖然它提供了測試鏈接的正確方法,但它並沒有完全回答我提出的問題。 – 2014-10-19 06:44:56