использование оператора and (&&) в сценарии bash оператора if
у меня есть три переменные:
VAR1="file1"
VAR2="file2"
VAR3="file3"
как использовать и (&&) оператор в операторе if следующим образом:
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
когда я пишу этот код дает ошибку. Что такое правильный путь?
1 ответ:
так чтобы сделать ваше выражение работы, изменение
&&на-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 ....вы можете найти более подробную информацию в этом вопросе bash: несколько унарных операторов в операторе if и некоторые ссылки, приведенные там, как в чем разница между тестом, [ и [[ ?.