linux if / elif / fi de commande
J'ai une question. Si mon if
déclaration est true
, ne sautez la elif
vérifier et va directement à fi
ou faut-il encore en train de vérifier le elif
déclarations?
Exemple de script :
if [ argument1 || argument2 ]
then
do something.
elif [ argument2 || argument3 ]
then
do something.
elif [ argument2 || argument4 ]
then
do somthing.
else
do somthing else.
fi
Ma question est que je veux que mon elif
déclarations d'être encore vérifié si mon premier if
déclaration était vraie. Je veux aussi mon elif
déclarations à vérifier si mon premier elif
déclaration a été true
... etc. Fondamentalement, je veux que tous mes if
et elif
états à être vérifiés.
NB. Je me rends compte que je pouvais changer tous mes elif
à if
états et ce serait probablement résoudre mon problème puisque tous les if
états obtenir vérifié. Mais cette question est aussi de la curiosité et de la meilleure connaissance de la if
et elif
consolidés.
S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'infos.
- Le point entier de l'autre, s'est cette. Vous pouvez utiliser seulement si pour exécuter toutes les commandes vrai
[ condition || condition ]
n'est pas valide, vous devez utiliser[[
.[[ condition || condition ]]
, sinon,[ condition ] || [ condition ]
.- Ah oui! Merci à vous, j'ai réalisé ce tout en faisant un peu de script de test. 🙂
Vous devez vous connecter pour publier un commentaire.
La
elif
affirmation n'est pas vérifiée si l'un des avant ceux de correspondance.elif
est l'abréviation de "else if"; cela signifie que vous devriez consulter cette autre condition si la précédente n'a pas de match.Comme vous le dites, vous pouvez simplement utiliser plusieurs
if
consolidés pour votre cas d'utilisation.Une fois qu'une condition est remplie, la
if
déclaration se termine et le resteelif
conditions ne sont pas vérifiées.Exemple:
imprime
Si vous voulez tout vérifié, alors vous avez besoin de le diviser en plusieurs si-états comme vous l'avez suggéré.