Utilisation de l’opérateur (&&) dans le script bash de l’instruction if

J’ai trois variables:

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

Comment utiliser et ( && ) l’opérateur dans l’instruction if comme ceci:

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

Lorsque j’écris ce code, il donne une erreur. Quelle est la bonne façon?

Donc, pour que votre expression fonctionne, changer && pour -a fera l’affaire.

C’est correct comme ça:

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

ou comme

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

ou même

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

Vous pouvez trouver plus de détails dans cette question bash: Opérateurs multiples Unary dans l’instruction if et quelques références qui y sont données comme Quelle est la différence entre test, [et [[? .