J'ai essayé d'utiliser ceci :
$ if [$a == 1] then { echo 'yes'; } fi;
 mais j'obtiens une erreur :
-bash: syntax error near unexpected token `}'
 Quel est le bon format ? J'en ai essayé plusieurs sans succès.
Réponse acceptée :
 [ est juste un autre caractère, selon bash ; ce n'est pas auto-délimité. Vous devez donc mettre des espaces autour de [ et ] . Bien que vous feriez mieux d'utiliser [[ et ]] .
 Et la commande suivant if (oui, [ est une commande) doit se terminer par un ; ou une nouvelle ligne.
 Enfin, == (qui n'est pas posix, FWIW ; posix préfère = ) est une égalité de chaîne, pas une égalité numérique.
Donc, vous avez peut-être voulu dire :
if [[ $a -eq 1 ]]; then echo yes; fi
 Mais vous pouvez utiliser une évaluation arithmétique à la place :
if ((a == 1)); then echo yes; fi
 
 (Dans l'évaluation arithmétique, l'égalité est == , et vous n'avez pas besoin de $ avant les noms de variables. Je sais que c'est déroutant.)
 Pour plus d'informations sur [ :help test . À propos de [[ :aide [[ (qui s'appuie sur test ). À propos de (( :help let . À propos de bash :man bash