Comment utiliser la déclaration de cas Bash

How Use Bash Case Statement



Les instructions de cas bash sont similaires aux instructions if-else mais sont plus faciles et plus simples. Cela aide à faire correspondre une variable à plusieurs valeurs. Il est utilisé lorsque vous avez besoin des instructions IF-else avec un certain nombre d'instructions Elif… C'est assez similaire à l'instruction switch en C, mais l'instruction bash case n'avance pas une fois le modèle trouvé.

Dans cet article, nous expliquerons comment utiliser la déclaration de cas Bash avec un exemple dans le système d'exploitation Linux.







Syntaxe de l'instruction bash case

Voici la syntaxe de l'instruction bash case :



Syntaxe:



Cas variable $ dans
modèle-1)
commandes
;;
modèle-2)
commandes
;;
modèle-3)
commandes
;;
motif-N)
commandes
;;
*)
commandes
;;
esac
  • L'instruction case commence par case et se termine par esac
  • Le ) est utilisé pour terminer un motif. Pour séparer plusieurs motifs, | L'opérateur est utilisé comme indiqué ci-dessous :
Cas variable $ dans
modèle-1|modèle-2)
commandes
....
....
;;
modèle-3|modèle-4)
commandes
....
....
;;
  • Le modèle avec des commandes est connu sous le nom de clause et chaque clause se termine par (;;).
  • Le symbole astérisque* peut être utilisé pour définir la casse par défaut.
  • L'instruction Bash case correspond d'abord à la variable d'entrée $ avec les différents modèles. Si un motif correspond, alors l'ensemble de commandes correspondant jusqu'au double point-virgule (;;) sera exécuté.

Exemple 1:

L'exemple suivant concerne le relevé de caisse bash dans lequel il demande à l'utilisateur de saisir le nom du mois. Si cette entrée correspond aux modèles définis dans le script, la commande echo correspondante sera exécutée. La commande echo affichera des informations sur l'événement international de ce mois particulier.





Pour utiliser ce script, créez un simple fichier texte ; nommez-le avec l'extension de fichier .sh. Ajoutez-y le script suivant et enregistrez-le. Attribuez ensuite à ce fichier les autorisations d'exécution en exécutant la commande suivante dans Terminal :

$sudo chmod 777nom de fichier.sh

Pour exécuter ce fichier bash, exécutez simplement ./ suivi du nom du fichier bash comme suit :



$./nom de fichier.sh

Lorsque vous exécutez le script, il vous sera demandé d'entrer le nom du mois en entrée. Si le nom du mois correspond, il affichera l'événement correspondant dans ce mois spécifique, sinon aucune information correspondante trouvée ne sera affichée.

Notez que shopt -s nocasematch est utilisé pour faire correspondre le motif quelle que soit sa casse.

magasins -snocasematch

chassèrent 'Entrez le nom du mois'
liremois
Cas $mois dans
janvier)
chassèrent ' 24 janvier Journée internationale de l'éducation.'
;;
février)
chassèrent ' 20 févrierJournée mondiale de la justice sociale .'
;;
Mars)
chassèrent '8 mars Journée internationale de la femme.'
;;
avril)
chassèrent '7 avril, la journée mondiale de la santé'
;;
Peut)
chassèrent 'Le 15 mai Journée internationale des familles'
;;
juin)
chassèrent « Journée mondiale des réfugiés du 20 juin »
;;
juillet)
chassèrent « Journée mondiale de la population du 11 juillet »
;;
*)
chassèrent 'Aucune information correspondante trouvée'
;;
esac

Exemple 2 :

L'exemple suivant concerne le relevé de caisse bash dans lequel un utilisateur est invité à saisir le nom du pays. Si cette entrée correspond aux modèles définis dans le script, la commande echo correspondante sera exécutée. La commande echo affichera des informations sur la capitale de ce pays particulier.

Pour utiliser ce script, suivez la même méthode décrite dans l'exemple ci-dessus. Une fois cela fait, exécutez le script et il vous sera demandé d'entrer le nom du pays en entrée. Si le nom du pays correspond aux noms de pays prédéfinis, il affichera le nom en majuscule de ce pays, sinon, le message Information non disponible s'affichera.

#!/bin/bash
magasins -snocasematch
chassèrent -n 'Entrez le nom d'un pays : '
lirepays

chassèrent -n 'La capitale de$paysest '
Cas $pays dans
Pakistan)
chassèrent -n 'Islamabad'
;;
Fidji)
chassèrent -n 'Sécher'
;;
Royaume-Uni| 'Royaume-Uni')
chassèrent -n 'Londres'
;;
Turquie)
chassèrent -n 'Ankara'
;;
LES USAGES)
chassèrent -n 'Washington DC'
;;
*)
chassèrent -n 'Information non disponible'
;;
esac
chassèrent ''

Les déclarations de cas bash rendent le script bash plus facile à lire et à comprendre. Dans cet article, nous avons expliqué comment écrire et utiliser des instructions de cas bash. Maintenant, vous pouvez écrire une sorte d'instruction if-else à plusieurs niveaux facilement et simplement en utilisant des instructions case.