Expression multiple expression if dans Bash
Je voudrais recréer quelque chose comme ce
if ( arg1 || arg2 || arg 3) {}
et je n'ai eu jusqu'à présent, mais j'obtiens l'erreur suivante
line 11: [.: command not found
if [ $char == $';' -o $char == $'\\' -o $char == $'\'' ]
then ...
J'ai essayé de différentes façons, mais aucune ne semble fonctionner certains de ceux que j'ai essayé
source d'informationauteur david
Vous devez vous connecter pour publier un commentaire.
Pour bash, vous pouvez utiliser le
[[ ]]
forme plutôt que de[ ]
qui permet&&
et||
en interne:Sinon, vous pouvez utiliser l'habituel opérateurs logiques de l'extérieur:
...ou utiliser des opérateurs spécifiques à la
test
de commande (bien que les versions modernes de la spécification POSIX décrire cette extension XSI comme obsolète-voir la section " UTILISATION de l'APPLICATION):...qui est une représentation sous forme écrite de la suivante, qui est également déconseillé:
Charles répondre est correct dans ce qu'il vous montre comment faire des opérations logiques sur les commandes à l'intérieur (et sans, d'ailleurs) un
if
déclaration, mais il ressemble plus à vous souhaitez utilisercase
ici: