我有这样一部分bash脚本
if [!]-e $f -o -L $f];
其中$f是filename
我知道-e表示"存在",但我找不到-o和-L是什么意思
翻译成程序员英语,它是" if
文件($f
)不存在(-e
)或(-o
)文件($f
)是一个符号链接(-L
),然后…"
man bash
有更多细节
-o:如果shell选项"OPTIONNAME"被启用,则为True。
-L:如果FILE存在并且是一个符号链接,则为True。
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html嗯,这很有趣。我们首先有[
的内置定义:
`EXPR1 -o EXPR2'
True if either EXPR1 or EXPR2 is true.
…然后我们有条件表达式的定义用于这个内置代码:
`-o OPTNAME'
True if the shell option OPTNAME is enabled. The list of options
appears in the description of the `-o' option to the `set' builtin
(*note The Set Builtin::).
显然这里的意思是第一个(如果文件不存在或是一个链接),但我不确定为什么这工作