La commande Bash Case est utilisée pour prendre les mesures appropriées en comparant des données comme la déclaration IF. Il fonctionne comme une déclaration de cas de commutateur d'autres langages de programmation standard. Cette commande commence par la déclaration «cas» et ferme par déclaration «ESAC». Aucune instruction de rupture n'est utilisée dans la commande de cas et le double support (;;) est tenu de mentionner la ou les instructions pour une correspondance particulière. Cette commande étend l'expression et essaie de correspondre au modèle donné et le code d'état de sortie de cette commande sera nul si aucune correspondance ne sera trouvée. Quelques exemples courants d'énoncés de cas sont indiqués dans ce tutoriel.
Exemple-1: déclaration de cas simple
Une seule expression conditionnelle est utilisée dans la commande bash case pour générer la sortie en fonction de la condition de correspondance. Créer un fichier bash nommé cas 1.shot avec le script bash suivant. Le script prendra une valeur de chaîne et correspondra à la valeur avec chaque expression. Le script suivant générera «aucune entrée trouvée» si aucune expression correspondante n'existe,
cas 1.shot
#!/ bac / bash
Echo "Tapez votre nom"
Nom de lecture
Case $ nom dans
Ouimin)
Echo "Votre couleur préférée est bleu" ;;
Fahmida)
Echo "Votre boisson préférée est Sprite" ;;
*)
écho "aucune entrée trouvée" ;;
ESAC
Exécutez le script.
$ bash case1.shot
Sortir:
Le fichier est exécuté avec une entrée valide et non valide ici pour tester la sortie.
Exemple-2: Instruction de cas multiples avec tuyau
Plusieurs expressions de cas peuvent être appliquées dans le script bash pour exécuter différents types d'instructions. Le symbole de tuyau (|) peut être utilisé pour attribuer les expressions multiples. Créer un fichier bash nommé cas2.shot avec le script suivant. Après l'exécution du script, si la valeur d'entrée correspond à une expression, la valeur de texte correspondante sera imprimée.
cas2.shot
#!/ bac / bash
Echo "Tapez votre numéro d'identification"
ID de lecture
cas $ id dans
65341)
Echo "Votre position est 1er" ;;
97564 | 88453)
Echo "Votre position est 2e" ;;
45087)
Echo "Votre position est 3ème" ;;
*)
Echo "ID non valide" ;;
ESAC
Exécutez le script .
$ bash case2.shot
Sortir:
Ce script fonctionne également comme l'exemple précédent. La seule différence est que les valeurs d'expression multiples sont testées pour une seule sortie.
Exemple-3: Comment quitter le bloc de déclaration CASE / ESAC
Lorsque la commande BASH Case est utilisée sous une boucle infinie, la commande de sortie est nécessaire pour utiliser pour terminer la boucle. Cet exemple montre comment ces types de tâche peuvent être effectués. Créer un fichier texte nommé cas3.shot avec le script suivant. Ce script prendra un nombre de 1 à 3 comme entrée. Si l'entrée est 1, deux nombres seront ajoutés, si l'entrée est 2, alors deux nombres seront soustraits et si le numéro d'entrée est 3, alors deux nombres seront multipliés. La sortie sera «entrée non valide» si le numéro d'entrée est supérieur à 3 ou moins 1 ou vide.
cas3.shot
#!/ bac / bash
#!/ bac / bash
tandis que (vrai)
faire
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
Echo "Type 1 ou 2 ou 3"
Lire Ans
cas $ Ans dans
1) ECHO "La somme de $ a et $ b est $ x & sort" ;;
2) Echo "La soustraction de $ a et $ b est $ y & sort" ;;
3) ECHO "La multiplication de $ A et $ B est $ z & exit" ;;
*) Echo "Entrée non valide"
ESAC
fait
Exécutez le script.
$ bash case3.shot
Sortir:
Le script continuera de s'exécuter jusqu'à ce que Ctrl + C soit enfoncé.
Exemple-4: vérification de la valeur d'argument de la ligne de commande vide
La variable d'argument de la ligne de commande peut être utilisée dans l'instruction BASH Case. Créer un fichier nommé cas4.shot avec le script suivant qui vérifiera la valeur de la deuxième variable d'argument.
#!/ bac / bash
cas "2" en
"Ubuntu")
Echo "Le deuxième argument est de 2 $."
;;
"Centos")
Echo "Le deuxième argument est de 2 $."
;;
"")
écho "Le deuxième argument est vide."
;;
ESAC
Exécutez le script.
$ bash case4.shot
Sortir:
Ici, le script est exécuté sans la deuxième valeur d'argument de la ligne de commande pour la première fois et la sortie affiche «le deuxième argument est vide». Lorsque le script est exécuté avec une deuxième valeur d'argument de ligne de commande pour la deuxième fois, aucune sortie n'est affichée.
Exemple-5: Instruction de cas multiples basée sur l'entrée utilisateur
Créer un fichier bash nommé cas5.shot avec le script suivant. Le script prendra le nom du mois à la saisie de l'utilisateur. Si le nom du mois correspond à toute valeur de cas, un message texte particulier sera attribué dans le message de la variable. La valeur d'entrée doit être le nom du mois complet ou le nom du mois de trois caractères.
cas5.shot
#!/ bac / bash
Echo "Tapez le nom d'un mois"
lire le mois
cas $ mois en
Janvier | Jan *)
Message = "21 février est notre fête des mères internationales."
;;
Février | février *)
Message = "21 février est notre fête des mères internationales."
;;
Mars | mars *)
Message = "9 mars est la journée mondiale du rein."
;;
Avril | avril *)
Message = "Le mois en cours n'est pas février"
;;
May | May *)
Message = "Le mois en cours est février"
;;
June | juin *)
Message = "Le mois en cours est février"
;;
*)
Message = "pas d'informations correspondantes trouvées"
;;
ESAC
Echo $ message
Exécutez le script.
$ bash case5.shot
Sortir:
La sortie suivante apparaîtra pour la valeur d'entrée, «mars» ou «mar».
Exemple-6: Vérifiez la variable dans l'instruction BASH Case
Toute valeur de chaîne peut être imprimée en vérifiant la valeur de la variable d'argument de la ligne de commande. Créer un fichier texte nommé cas6.shot avec le script suivant. Dans cet exemple, la valeur de la première variable d'argument est vérifiée et si la valeur est vide, une chaîne, «j'aime la programmation bash».
cas6.shot
#!/ bac / bash
cas 1 $
("") Echo "j'aime la programmation bash";
ESAC
Exécutez le script.
$ bash case6.shot
Sortir:
Ce script est exécuté avec et sans les premiers arguments. Il n'y aura pas de sortie si aucune variable d'argument de ligne de commande ne passe.
Différentes utilisations de la commande de cas bash sont indiquées dans cet article. Si les lecteurs pratiquent correctement ces exemples, il leur sera plus facile de résoudre de nombreux problèmes de programmation de bash.