Dans la programmation bash, l'instruction CASE aide à simplifier les conditions complexes lorsqu'il existe plusieurs choix différents. Au lieu d'utiliser des déclarations imbriquées, nous pouvons utiliser l'instruction de cas à la place pour rendre le code bash plus lisible et maintenable.
La déclaration de cas bash partage les similitudes avec JavaScript et C Switch Statement. Cependant, la principale différence est, une fois qu'il correspond à un modèle, il ne recherche pas de correspondance supplémentaire.
Ce guide couvrira les bases de la déclaration de cas avec divers exemples.
Affirmation de cash
La structure fondamentale de l'énoncé de cas est la suivante.
casdans )
affirmations
;;)
affirmations
;;
*)
affirmations
;;
ESAC
Voici une brève ventilation de la structure:
Avoir une compréhension de la déclaration de bash if-else est bénéfique pour comprendre et maîtriser la déclaration de cas de bash.
Exemples de déclaration de cas bash
Instruction de cas en utilisant des valeurs numériques
Maintenant que nous connaissons les bases, il est temps de le vérifier en action. Jetez un œil au script suivant.
#!/ bac / bash
echo -n "Entrez la valeur:"
valeur de lecture
Case $ valeur dans
1)
Echo "un" ;;
2)
Echo "Two" ;;
3)
Echo "trois" ;;
4 | 5)
Echo "supérieur à trois" ;;
*)
écho "valeur inconnue" ;;
ESAC
Enregistrer le script. Marquez-le comme un exécutable.
$ chmod + x échantillon.shot
Maintenant, exécutez le script.
$ ./goûter.shot
Le script demandera à saisir une valeur. Si la valeur correspond à l'un des modèles, il exécutera la clause de correspondance. Si aucun match n'a été trouvé, il correspondra à la clause par défaut.
Déclaration de cas en utilisant des chaînes
Dans l'exemple suivant, nous utiliserons les chaînes pour correspondre aux valeurs.
#!/ bac / bash
echo -n "Entrez la planète:"
lire la planète
cas $ planète
Mercure | Vénus | Terre | Mars | Jupiter | Saturne | Uranus | Neptune)
Echo "$ Planet est une planète du système solaire"
;;
Pluton)
Echo "$ Planet est un nain-plan"
;;
"Planet Nine")
Echo "$ Planet pas encore découvert"
;;
*)
écho "pas du système solaire"
;;
ESAC
Le script s'exécutera comme le premier exemple. Il demandera un nom de planète, vérifiez si l'entrée correspond à une clause et exécutera la clause de correspondance.
Si vous avez examiné attentivement, vous remarquerez que «Planet Nine» est la seule valeur enveloppée dans les devis. C'est parce qu'il y a de l'espace dedans. En utilisant des citations, nous disons au shell de le traiter comme faisant partie d'un seul modèle.
Sensibilité à la casse dans la déclaration de cas
Notez que dans le dernier exemple, l'entrée est sensible à la casse. C'est le comportement de bash par défaut. Cependant, nous pouvons dire à Shell d'exécuter le script en mode insensible au cas.
Pour ce faire, ajoutez la ligne suivante au début du script.
$ shopt -s nocasematch
Le script devrait ressembler à ceci.
Maintenant, testez le script. Entrez la valeur avec un cas différent.
$ ./goûter.shot
Pensée finale
Ce guide couvre les bases des déclarations de cas bash. Il montre également comment les implémenter dans des scripts bash. Vous devriez être à l'aise d'utiliser l'instruction de cas. Les instructions de cas de bash sont souvent utilisées pour transmettre des paramètres aux scripts de coquille d'une ligne de commande. Par exemple, les instructions de cas d'initiés INIT Scripts pour démarrer, arrêter et redémarrer les services. Après avoir lu ce guide, vous pourrez implémenter une déclaration de cas bash dans vos scripts.
Happy Computing!