使用&& if语句中的运算符

时间:2013-05-06 09:52:11

标签: bash if-statement syntax operators

我有三个变量:

VAR1="file1"
VAR2="file2"
VAR3="file3"

如何在if语句中使用和(&&)运算符:

if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
   then ...
fi

当我编写此代码时,它会出错。什么是正确的方法?

1 个答案:

答案 0 :(得分:143)

因此,为了让您的表达更有效,更改&&的{​​{1}}将会解决问题。

这是正确的:

-a

或喜欢

 if [ -f $VAR1 ] && [ -f $VAR2 ] && [ -f $VAR3 ]
 then  ....

甚至

 if [[ -f $VAR1 && -f $VAR2 && -f $VAR3 ]]
 then  ....

您可以在此问题bash : Multiple Unary operators in if statement中找到更多详细信息,并在此处提供一些参考资料,例如What is the difference between test, [ and [[ ?