GNU/Linux >> Tutoriels Linux >  >> Linux

Déclaration de cas bash

Le case bash est généralement utilisée pour simplifier les conditions complexes lorsque vous avez plusieurs choix différents. Utiliser le case déclaration au lieu de if imbriqué vous aideront à rendre vos scripts bash plus lisibles et plus faciles à maintenir.

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

Dans ce tutoriel, nous couvrirons les bases du cas Bash case instruction et vous montrer comment l'utiliser dans vos scripts shell.

case Syntaxe de l'instruction #

Le case de Bash déclaration prend la forme suivante :

case EXPRESSION in

  PATTERN_1)
    STATEMENTS
    ;;

  PATTERN_2)
    STATEMENTS
    ;;

  PATTERN_N)
    STATEMENTS
    ;;

  *)
    STATEMENTS
    ;;
esac
  • Chaque case l'instruction commence par le case mot-clé, suivi de l'expression case et du in mot-clé. L'instruction se termine par le esac mot-clé.
  • Vous pouvez utiliser plusieurs modèles séparés par le | opérateur. Le ) l'opérateur termine une liste de motifs.
  • Un modèle peut contenir des caractères spéciaux.
  • Un modèle et ses commandes associées sont appelés une clause.
  • Chaque clause doit se terminer par ;; .
  • Les commandes correspondant au premier motif qui correspond à 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 le case déclaration 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 motif, et le echo commande dans 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

Si vous entrez un pays qui ne correspond à aucun autre modèle à l'exception du symbole astérisque générique par défaut, disons l'Argentine, le script exécutera le echo commandà l'intérieur de la clause par défaut.

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 bash case déclarations. Ils sont souvent utilisés pour passer des paramètres à un script shell à partir de la ligne de commande. Par exemple, les scripts d'initialisation utilisent case instructions pour démarrer, arrêter ou redémarrer des services.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment utiliser l'instruction conditionnelle if else dans le script bash

  2. Utilisation des déclarations de cas dans Bash

  3. Instruction Bash If-Else avec des exemples

  4. 4 Exemples d'instructions Bash If ( If then fi, If then else fi, If elif else fi, Nested if )

  5. 5 exemples d'instructions Bash Case

Instruction Bash if..else

Bash Shebang

Bash Scripting - Déclaration de cas

Comment travailler avec l'instruction Case dans les scripts Bash

Syntaxe Bash If Else avec exemples

Comprendre Bash If Else et d'autres instructions conditionnelles