在if语句的bash脚本中使用(&&)运算符
我有三个variables:
VAR1="file1" VAR2="file2" VAR3="file3"
如何在if语句中使用和( &&
)运算符如下所示:
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ] then ... fi
当我写这个代码时,它会给出错误。 什么是正确的方式?
所以为了使你的expression能够工作,改变&&
for -a
将会有效。
这是正确的:
if [ -f $VAR1 ] && [ -f $VAR2 ] && [ -f $VAR3 ] then ....
或者像
if [[ -f $VAR1 && -f $VAR2 && -f $VAR3 ]] then ....
甚至
if [ -f $VAR1 -a -f $VAR2 -a -f $VAR3 ] then ....
你可以在这个问题中find更多的细节bash:if语句中的多个一元运算符和一些给定的参考有什么区别testing,[和[[? 。