【发布时间】:2014-11-05 14:46:28
【问题描述】:
我有三个文件,一个是真实的(“常规”)文件和两个链接的符号链接:
-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)
编辑
经过更多挖掘,我在 Unix.SE 上找到了这个问答:https://unix.stackexchange.com/questions/22009/distinguishing-a-regular-file-from-a-symlink。这是关于bash,但看起来它也适用于zsh。
【问题讨论】: