Bash si déclarations si, elif, sinon, alors, fi
- 3480
- 597
- Mohamed Brunet
Si vous commencez tout juste à explorer le langage de codage bash, vous vous retrouverez bientôt à vouloir créer des déclarations conditionnelles. Les déclarations conditionnelles, en d'autres termes, définissent «si une condition est vraie ou fausse, alors faites ceci ou cela, et si le contraire est vrai, faites quelque chose autre'. C'est la fonction la plus élémentaire de toute déclaration conditionnelle.
Cet article vous présentera les cinq basiques si
Clauses de déclaration. être si
, Elif
, autre
, alors
et Fi
. Le premier ouvre simplement un si
déclaration, le alors
introduit le Quelles commandes pour exécuter si la condition de déclaration était vraie Section et la autre
introduit le Quelles commandes pour exécuter si la condition de déclaration était fausse section. Finalement, le Fi
Ferme la déclaration. Nous avons également le spécial Elif
sur lequel nous verrons plus dans une minute. Commençons par un exemple facile.
Dans ce tutoriel, vous apprendrez:
- Comment implémenter un
si
déclaration sur la ligne de commande bash - Comment tel
si
Les déclarations peuvent également être utilisées à l'intérieur d'un script bash - Exemples vous montrant le
si
,Elif
,autre
,alors
etFi
Clauses en bash
Exigences et conventions logicielles utilisées
Catégorie | Exigences, conventions ou version logicielle utilisée |
---|---|
Système | Indépendant de la distribution Linux |
Logiciel | Ligne de commande bash, système basé sur Linux |
Autre | Toute utilité qui n'est pas incluse dans le shell bash par défaut peut être installée en utilisant Sudo Apt-Get Install Utility-Name (ou Installation de miam pour les systèmes basés sur Redhat) |
Conventions | # - nécessite que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande$ - exige que les commandes Linux soient exécutées en tant qu'utilisateur régulier non privilégié |
Exemple 1: Instruction Simple If sur la ligne de commande
$ si [1 -eq 1]; puis écho "correspondant!"; Fi correspondant!
Dans cette déclaration, nous comparons un à un. Noter que -égaliseur
moyenne égal à. Pour faire l'inverse, on peut utiliser -ne
ce qui signifie pas égal à, Comme indiqué dans l'exemple suivant:
$ si [0 -ne 1]; puis écho "correspondant!"; Fi correspondant!
Dans ce cas, nous avons vérifié la non-égalité et comme 0
n'est pas égal à 1
le si
La déclaration est vraie, et les commandes après le alors
sera exécuté. Changeons légèrement cela:
$ si [1 -ne 1]; puis écho "correspondant!"; else echo" pas assorti!"; Fi non apparié!
Ici, nous avons introduit un autre
clause; ce que commande à exécuter lorsque la condition dans le si
La déclaration s'est avérée fausse (ou pas vrai). Comme nous essayons de demander si 1
n'est pas égal (-ne
) pour 1
Cette fois, et comme 1
est égal 1
(ce n'est pas le cas), la condition formulée dans ce si
La déclaration est fausse, et nous rencontrons notre autre
déclaration avec le texte correspondant imprimé.
Exemple 2: Utilisation et instruction if à l'intérieur d'un script shell bash
Il est bon de noter que vous pouvez facilement copier et coller n'importe quel si
déclaration affichée ici ou ailleurs, et utilisez-la dans un script de shell bash. Par exemple:
$ echo '#!/ bin / bash '> myscript.sh $ echo 'si [1 -eq 1]; puis écho "correspondant!"; fi '>> myscript.sh $ chmod + x myscript.sh $ ./ myscript.SH Matted! $
Copie Ici, nous avons simplement créé un petit myscript.shot
script shell en utilisant écho
et le >
redirecteur pour rediriger la sortie de notre écho
à un fichier. Lorsque vous utilisez >
Un nouveau fichier sera créé et tout fichier du même nom sera écrasé, veuillez donc l'utiliser avec soin. Ensuite, nous ajoutons à nouveau notre instruction IF en utilisant Echo et un double redirecteur >>
qui, différent >
ne créera pas un nouveau fichier et ajoutera simplement le texte du fichier indiqué.
Ensuite nous chmod + x
le script pour le rendre exécutable et exécuter le script à l'aide du ./ /
Préfixe qui est requis dans Bash (tout spécificateur de chemin correct fera l'affaire).
La première ligne du script est simplement de s'assurer que nous utiliserons l'interprète bash pour notre script. Il est bon à toujours définir cela pour Bash et d'autres scripts (pour d'autres scripts, vous voudrez définir ceci sur tout interprète qui va exécuter votre script, par exemple #!/ usr / bin / python3
pour un python 3 (.py3
par exemple) les scripts, etc.).
Lorsque nous exécutons le script, nous pouvons voir que la sortie est générée comme prévu (1
allumettes 1
): Assorti!.
Exemple 3: Qu'est-ce que Elif?
Le Elif
La clause nous fournit une flexibilité de raccourci supplémentaire court-circuiter les déclarations imbriquées. Considérer ce qui suit test.shot
:
#!/ bin / bash si [0 -eq 1]; alors echo '0 = 1' else if [0 -eq 2]; puis écho '0 = 2' else echo '0!= 2 'fi fi
Copie Et sa sortie:
$ ./test.sh 0!= 2
Ici, nous avons traversé le premier si
déclaration, et depuis 0
ne correspond pas 1
, le autre
La clause est activée. Cela se produit une deuxième fois 0
s'avère également inégal à 2
Et donc le -égaliseur
(égal à) La condition échoue, et la seconde autre
La clause est activée, donnant comme sortie 0!= 2
. Comparons cela avec un Elif
déclaration basée dans ce qui suit test2.shot
.
#!/ bin / bash si [0 -eq 1]; alors echo '0 = 1' elif [0 -eq 2]; puis écho '0 = 2' else echo '0!= 2 'fi
Copie Et sa sortie:
$ ./ test2.sh 0!= 2
Le script a fait exactement la même chose, mais d'une manière beaucoup plus flexible et plus courte, ne nécessitant qu'un seul niveau de si
Profondeur de la déclaration et avec code global plus propre. Notez également qu'il est possible d'en avoir un si
déclaration suivie par beaucoup Elseif
Les déclarations, permettant à un développeur de tester une variété de conditions est une structure de niveau net et à un niveau.
Conclusion
Dans cet article, nous avons exploré des exemples illustrant le si
, Elif
, autre
, alors
et Fi
Clauses en bash. Nous avons également examiné comment mettre en œuvre si
déclarations à la ligne de commande bash. Nous avons également cherché à déplacer de telles déclarations dans des scripts bash. Apprécier si
déclarations en bash et laissez-nous quelques réflexions avec votre meilleur si
trucs et astuces!
Et, pour un regard un peu plus avancé sur ce si
Peut faire pour vous lorsqu'il est combiné avec des sous-coquilles, consultez notre commentaire de bash!
Tutoriels Linux connexes:
- Masterring Bash Script Loops
- Une introduction à l'automatisation Linux, des outils et des techniques
- Choses à installer sur Ubuntu 20.04
- Boucles imbriquées dans les scripts bash
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Scénarios de bash: conditionnels
- Comment utiliser des sous-coquilles bash à l'intérieur des instructions IF
- Boucles de bash avec des exemples
- Mint 20: Mieux que Ubuntu et Microsoft Windows?
- Ubuntu 20.04 Guide
- « Comment supprimer le serveur Web Apache d'Ubuntu
- Gestion de la liste des processus et terminaison automatique des processus »