Bash:[-f]&&;echo 1#正确检查的文件是什么?
当我在表达式:Bash:[-f]&&;echo 1#正确检查的文件是什么?,bash,conditional-statements,Bash,Conditional Statements,当我在表达式:[-f]&&echo 1中未添加任何文件名时,哪个文件被检查为已存在且常规的文件 $ [ -f ] && echo "1" 1 未检查任何文件[根据收到的参数数解释其参数(忽略]) 在这种情况下,只有一个参数,-f不是一元运算符;它只是一个非空字符串。这意味着它相当于[-n-f],它之所以成功,是因为一元运算符-n的参数确实不是空的。我回滚了一个编辑,该编辑将-f放在引号中,因为引号实际上不会改变含义,实际上模糊了一点,-f的解释完全依赖于上下文。
[-f]&&echo 1
中未添加任何文件名时,哪个文件被检查为已存在且常规的文件
$ [ -f ] && echo "1"
1
未检查任何文件<代码>[根据收到的参数数解释其参数(忽略
]
)
在这种情况下,只有一个参数,
-f
不是一元运算符;它只是一个非空字符串。这意味着它相当于[-n-f]
,它之所以成功,是因为一元运算符-n
的参数确实不是空的。我回滚了一个编辑,该编辑将-f
放在引号中,因为引号实际上不会改变含义,实际上模糊了一点,-f
的解释完全依赖于上下文。