在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,[和[[? 。