2
我有三個文件,一個真正的(「規則」)文件和兩個鏈接的符號鏈接:文件既是一個普通文件和符號鏈接
-rw-r--r-- 1 user staff 24 4 Nov 18:23 A
lrwxr-xr-x 1 user staff 1 25 Oct 17:43 B -> A
lrwxr-xr-x 1 user staff 1 4 Nov 16:54 C -> B
現在,使用zsh
條件表達式([[
),我測試B
(或C
)是否是一個普通的文件或者一個符號鏈接,並zsh
說是既...:
18:31 : [[ -f B ]] && echo "True"
True
18:31 : [[ -h B ]] && echo "True"
True
不應該不被普通文件的符號鏈接? zsh
條件表達式的文檔(here)沒有詳細說明不同情況如何工作。
zsh --version
zsh 5.0.5 (x86_64-apple-darwin14.0)
編輯
更多的挖掘後,我發現這個問答& A於Unix.SE:https://unix.stackexchange.com/questions/22009/distinguishing-a-regular-file-from-a-symlink。這是關於bash
,但它看起來也適用於zsh
。