Android

Déclaration de cas bash

Bash Shell Scripting Tutorial | Shell Scripting Tutorial | Learn Shell Programming

Bash Shell Scripting Tutorial | Shell Scripting Tutorial | Learn Shell Programming

Table des matières:

Anonim

Les instructions de cas bash sont généralement utilisées pour simplifier des conditions complexes lorsque vous avez plusieurs choix différents. L'utilisation de l'instruction case au lieu des instructions if imbriquées vous aidera à rendre vos scripts bash plus lisibles et plus faciles à gérer.

L'instruction de cas Bash a un concept similaire avec l'instruction de commutateur Javascript ou C. La principale différence est que, contrairement à l'instruction C switch, l'instruction Bash case ne continue pas de rechercher une correspondance de modèle une fois qu'elle en a trouvé une et a exécuté des instructions associées à ce modèle.

Dans ce didacticiel, nous allons couvrir les bases des instructions de cas Bash et vous montrer comment les utiliser dans vos scripts shell.

Syntaxe des instructions de cas

La déclaration de cas Bash prend la forme suivante:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Chaque instruction case commence par le mot clé case suivi de l'expression case et du mot clé in . L'instruction se termine par le mot clé esac Vous pouvez utiliser plusieurs modèles séparés par le | opérateur. L'opérateur ) termine une liste de modèles. Un modèle peut avoir des caractères spéciaux. Un modèle et ses commandes associées sont appelés clause. Chaque clause doit se terminer par ;; Les commandes correspondant au premier modèle correspondant à l'expression sont exécutées. Il est courant d'utiliser le symbole astérisque générique ( * ) comme modèle final pour définir le cas par défaut. Ce modèle correspondra toujours.Si aucun modèle ne correspond, le statut de retour est zéro. Sinon, l'état de retour est l'état de sortie des commandes exécutées.

Exemple de déclaration de cas

Voici un exemple utilisant l'instruction case dans un script bash qui imprimera la langue officielle d'un pays donné:

languages.sh

#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac

Enregistrez le script personnalisé en tant que fichier et exécutez-le à partir de la ligne de commande.

bash languages.sh

Le script vous demandera d'entrer un pays. Par exemple, si vous tapez «Lituanie», il correspondra au premier modèle et la commande echo de cette clause sera exécutée.

Le script imprimera la sortie suivante:

Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian

Enter the name of a country: Argentina The official language of Argentina is unknown

Conclusion

À présent, vous devriez avoir une bonne compréhension de la façon d'écrire des instructions de cas bash. Ils sont souvent utilisés pour passer des paramètres à un script shell à partir de la ligne de commande. Par exemple, les scripts init utilisent des instructions case pour démarrer, arrêter ou redémarrer des services.

terminal bash