Dans les scripts shell, les instructions Bash if jouent un rôle crucial en permettant aux programmeurs de créer des chemins d'exécution conditionnels basés sur différentes situations. Fondamentalement, les instructions if nous permettent de prendre des décisions dans les scripts Bash, en tenant compte de facteurs tels que les résultats des tests, les entrées de l'utilisateur ou l'état du système. C’est comme une façon de naviguer à travers différentes possibilités.
Lors de l'utilisation de scripts Bash, une instruction if suit une structure spécifique. Cela commence généralement par le «if", suivi de la condition qui doit être évaluée, le "alors", et une ou plusieurs commandes à exécuter si la condition est vraie.
Pour rendre les choses plus flexibles, l'instruction if peut également inclure un « facultatif »Elif" (else if), qui entre en jeu lorsque la condition initiale est fausse. Elle nous permet de tester une condition supplémentaire et de procéder en conséquence. De plus, l'instruction if peut avoir une instruction facultative « else », qui s'exécute si aucune des conditions n'est vraie.
En combinant les instructions if avec d'autres commandes Bash et fonctionnalités de scripts shell, les programmeurs peuvent créer des scripts avancés capables d'automatiser des tâches et des processus complexes. Restez dans les parages pour en savoir plus sur l'instruction Bash if, y compris sa syntaxe, ses cas d'utilisation et ses exemples !
Syntaxe de l'instruction Bash If
La syntaxe Bash fait référence aux règles qui régissent la structure et la grammaire des commandes et des scripts écrits dans le langage shell Bash. La syntaxe Bash comprend une variété de constructions et d'éléments, tels que :
- Commandes: Il s'agit de programmes exécutables individuels ou de shell intégrés utilisés pour effectuer des tâches spécifiques. Vous passerez la plupart du temps à gérer la programmation Bash avec ces jolies lignes.
- Arguments: Il s'agit de valeurs transmises aux commandes pour spécifier des options, des paramètres ou des données d'entrée. Considérez-les comme des conditions définies pour qu'une commande spécifie ses paramètres d'exécution.
- Variables: Ce sont des symboles qui représentent des valeurs qui peuvent être attribuées, manipulées ou utilisées dans des expressions. Ils sont couramment utilisés pour déterminer les valeurs que les commandes et les arguments doivent gérer.
- Redirection: Il s'agit du processus de redirection des entrées, des sorties ou des erreurs vers ou depuis des fichiers, des périphériques ou d'autres commandes. Sans cela, il y a de fortes chances que vos commandes ciblent la mauvaise destination et gâchent votre code.
- Tuyaux: Il s'agit d'un mécanisme permettant de connecter la sortie d'une commande à l'entrée d'une autre commande. Ceux-ci sont généralement utilisés pour exécuter des lignes de commande conditionnelles avancées dans de grands programmes et pour créer des lignes de commande entrelacées.
- Structures de contrôle: Il s'agit de constructions qui contrôlent le flux d'exécution des commandes, telles que les boucles, les conditions et les fonctions. Comprendre la structure de contrôle est essentiel pour créer de nouvelles lignes de commande et donne un autre niveau de profondeur à votre code.
- Commentaires: Ce sont des annotations qui sont ignorées par le shell et sont utilisées pour documenter le code ou fournir des explications. Ce sont des points de référence importants lors de l’exécution d’analyses et de débogages, en particulier dans les projets de groupe.
La syntaxe Bash doit être écrite correctement pour que le shell puisse interpréter et exécuter les commandes. Les erreurs de syntaxe peuvent amener le shell à produire des messages d'erreur ou un comportement inattendu.
Voici l'instruction Bash if en action :
if condition then command1 command2 ... commandN elif condition2 then commandA commandB ... commandC else commandX commandY ... commandZ fi
Dans le cas que nous avons ici, la « condition » fait référence à un test qui produit un résultat vrai ou faux. Lorsque la condition est vraie, les commandes suivantes spécifiées après le mot-clé « then » sont exécutées. Maintenant, disons que nous souhaitons plutôt évaluer une condition supplémentaire. Nous pouvons utiliser le mot-clé « elif » pour ce faire. Cela permet d’envisager une autre possibilité. Désormais, si aucune des conditions n'est vraie, les commandes spécifiées après le mot-clé « else » entrent en jeu. C’est comme un plan de repli. Enfin, pour indiquer la conclusion de l'instruction if, nous utilisons le mot-clé « if ».
Comment fonctionnent les instructions Bash ?
Lorsqu'il s'agit de scripts Bash, l'instruction if devient très utile pour guider le flux du script en fonction du résultat d'un test conditionnel. Son objectif consiste à évaluer une condition et, si elle s'avère vraie, à exécuter un ensemble spécifique de commandes.
Voyons maintenant comment les choses se déroulent généralement lorsqu'une instruction if entre en jeu dans un script Bash. Le script prend un moment pour évaluer la condition mentionnée dans l'instruction if. Si la condition s’avère vraie, les commandes inscrites dans le bloc « alors » trouvent leur tour de s’exécuter.
Cependant, si la condition s'avère fausse, le script évalue toutes les conditions elif supplémentaires. Si l’une de ces conditions est vraie, les commandes du bloc elif correspondant s’exécutent. Dans les cas où aucune des conditions spécifiées dans les instructions if et elif ne semble être vraie, le script le reconnaît et procède à l'exécution des commandes spécifiées dans le bloc else (si un bloc else a été inclus).
Essentiellement, l'instruction if sert à faciliter la prise de décision au sein d'un script, lui permettant de parcourir différents chemins d'exécution en fonction du résultat du test. Le test lui-même peut prendre en compte divers facteurs, comme le résultat d'une commande ou la valeur attribuée à une variable.
Bash If Déclaration illustrée
Sortons maintenant de la théorie de base et voyons comment une instruction Bash if peut être utilisée dans un développement actif de codage. Voici un exemple qui montre comment fonctionne une instruction Bash if :
#!/bin/bash # set a variable x=5 # evaluate the variable if [ $x -gt 4 ] then echo "x is greater than 4." else echo "x is less than or equal to 4." fi
Dans cet exemple, l'instruction if évalue la valeur de la variable x. Si x est supérieur à 4, le script exécute la commande pour imprimer « x est supérieur à 4 ». Si x est inférieur ou égal à 4, le script exécute la commande pour afficher « x est inférieur ou égal à 4 ».
Apprendre à connaître les différentes instructions Bash If et la syntaxe de commande associée
Maintenant que vous avez une solide compréhension de l'instruction Bash If nue et de son fonctionnement, approfondissons les variantes et les commandes associées et apprenons-en davantage sur les instructions If de base, les instructions If imbriquées, Bash If Else, If Elif Else et les instructions Case une par une.
Déclarations If de base
Commençons par l’instruction de base bash if. L'instruction if dans Bash vérifie si une condition est vraie et exécute un bloc de codes associés en conséquence. Voici la syntaxe :
if [ condition ] then commands fi
Dans le cas présent, le script évalue la condition et si elle est vraie, les commandes spécifiées sont exécutées. Si la condition est fausse, le script passe à la commande suivante sans exécuter le bloc dans la section « alors ».
Déclarations If imbriquées
Une instruction if imbriquée, comme le nom de la création l'indique, est une instruction if « imbriquée » dans une autre instruction if. Cette structure imbriquée permet des tests et des analyses plus complexes au sein d'un script. Voici un exemple d’instruction if imbriquée :
if [ condition1 ]
then
if [ condition2 ]
then
commands
fi
fi
Vous pouvez voir dans les commandes que le script évalue condition1 comme première étape. Si la condition1 est vérifiée comme étant vraie, il évalue alors la condition2. Si la condition2 est également vraie, le script exécute les commandes nécessaires.
Bash If Else Déclarations
L'instruction Bash if else vous permet de prendre des décisions dans votre script selon qu'une condition est vraie ou fausse, ce qui permet une exécution de code situationnel plus avancée. Voici à quoi ressemble la structure :
if [ condition ] then commands1 else commands2 fi
Cette construction garantit que si la condition est remplie, votre script exécute rapidement « commands1 ». Cependant, si la condition est fausse, il passera à l’exécution de « commandes2 ».
Si Elif, sinon déclarations
Parfois, vous devez prendre en compte plusieurs conditions et leurs résultats respectifs. L'instruction if elif else vous permet d'accomplir précisément cela. Observez la syntaxe suivante :
if [ condition1 ] then commands1 elif [ condition2 ] then commands2 else commands3 fi
Ici, votre script évalue d'abord la condition1. Si c'est vérifié vrai ; il exécutera rapidement les commandes1. Cependant, si la condition1 est fausse, votre script passe à l’évaluation de la condition2. Si la condition2 est vraie, il exécute les commandes2. Et si les conditions1 et condition2 s'avèrent fausses, votre script optera pour l'alternative, qui exécute les commandes3.
Déclarations de cas
Dans Bash, vous disposez de l'instruction case, qui fonctionne de la même manière qu'une instruction switch trouvée dans d'autres langages de programmation. Il fournit un moyen d'exécuter différents ensembles de commandes en fonction de la valeur d'une variable. Jetez un œil à la structure :
case expression in pattern1) commands1;; pattern2) commands2;; pattern3) commands3;; *) default commands;; esac
Ici, le script évalue la variable d'expression et la compare à différents modèles. Lorsqu'une correspondance est trouvée, l'ensemble de commandes correspondant est exécuté. Cependant, si aucune correspondance n'est trouvée, les commandes par défaut sont exécutées correctement. Le motif astérisque (*) agit comme un caractère générique, correspondant à tout ce qui n’a pas été couvert.
Opérateurs logiques Bash
Une autre partie majeure des machinations de l'instruction Bash if est l'opérateur logique. Ces opérateurs vous permettent de fusionner plusieurs conditions, vous permettant ainsi de prendre des décisions basées sur la vérité ou la fausseté de ces conditions combinées. Bash intègre trois opérateurs logiques principaux à utiliser dans les instructions if. Voici des exemples des trois principaux types de commandes d’opérateur logique.
- Frapper ET (&&):
if [ $age -ge 18 ] && [ "$citizen" == "yes" ]; then echo "You meet the criteria for voting." fi
- Logique ou (II):
if [ "$status" == "active" ] || [ "$role" == "admin" ]; then echo "Access granted." fi
- Pas égal à:
if(( ! $a == "true" )) then echo "a" was initially false. else echo "a" was initially true. fi
Conclusion
Dans cet article de blog, nous avons fourni un guide d'introduction sur les instructions if de Bash et comment les utiliser. Nous avons également discuté de la manière dont ils peuvent rendre votre code beaucoup plus soigné et fonctionnel. En utilisant efficacement ces instructions conditionnelles, vous pouvez créer des scripts puissants capables de gérer des tâches et des prises de décision complexes.
Êtes-vous nouveau dans le monde de Linux ? Laissez-nous vous guider dans ce voyage passionnant ! Notre Serveur virtuel Linux est le point de départ idéal pour les débutants, offrant simplicité sans sacrifier la puissance. Avec des interfaces conviviales et une assistance experte, il vous sera plus facile que jamais d’exploiter les capacités d’un serveur Linux. Que vous créiez un site Web, testiez des applications ou exploriez le vaste monde de Linux, notre VPS Linux offre un environnement sûr et sans tracas. Faites vos premiers pas dans l'univers Linux en toute confiance – consultez nos options Linux VPS dès aujourd'hui et lancez-vous dans votre aventure Linux !
Procurez-vous un VPS Linux économique ou premium pour héberger votre site Web ou votre bureau à distance, au prix le moins cher du marché. VPS fonctionnant sur Linux KVM pour une efficacité accrue et fonctionnant sur un matériel puissant avec un stockage SSD NVMe pour une vitesse accrue.
En savoir plusFAQ
Puis-je utiliser des opérateurs logiques dans les instructions Bash if ?
Oui, vous pouvez utiliser des opérateurs logiques tels que '&' et '||' dans les instructions Bash if. Par exemple, si [ $var -gt 0 ] && [ $var -lt 10 ]; alors … exécutera le bloc de code si $var est supérieur à 0 et inférieur à 10.
Puis-je utiliser plusieurs conditions dans une seule instruction if ?
Oui, vous pouvez utiliser Bash if plusieurs conditions dans une seule instruction if en utilisant des opérateurs logiques tels que -a (ET) ou -o (OU) pour les combiner. Par exemple, si [ $var -gt 0 -a $var -lt 10 ]; alors … exécutera le bloc de code si $var est supérieur à 0 ET inférieur à 10.
Puis-je utiliser la substitution de commande dans les instructions Bash if ?
Oui, vous pouvez utiliser la substitution de commande dans les instructions Bash if en plaçant la commande entre $() ou des backticks (”). Par exemple, if [ $(whoami) == « racine » ]; alors … exécutera le bloc de code si l'utilisateur actuel est root.
[[ vs [ vs ( vs (( : quelle est la différence entre ces opérateurs Bash ?
En bref, [[ est utilisé pour les tests conditionnels avancés. [ est utilisé pour les tests conditionnels de base. ( est utilisé pour le regroupement de sous-shell et l'exécution de commandes. (( est utilisé pour les opérations arithmétiques.