我有三个变量:
VAR1="file1"
VAR2="file2"
VAR3="file3"
如何在if语句中使用和(&&
)运算符:
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
当我编写此代码时,它会出错。什么是正确的方法?
答案 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 [[ ?。