switch(1)
On janvier 9, 2022 by adminNom
switch – exécuter conditionnellement un bloc de commandes
Synopsis
switch VALUE ; ; ; ; …] end
Description
L’instruction switch est utilisée pour exécuter un de plusieurs blocs de commandes selon qu’une valeur spécifiée est égale à l’une de plusieurs valeurs génériques. L’instruction case est utilisée conjointement avec l’instruction switch afin de déterminer quel bloc doit être exécuté.
Chaque commande case reçoit un ou plusieurs paramètres. La première commande case dont le paramètre correspond à la chaîne spécifiée dans l’instruction switch sera évaluée. Les paramètres case peuvent contenir des caractères génériques. Ceux-ci doivent être échappés ou cités afin d’éviter l’expansion régulière des jokers en utilisant les noms de fichiers.
Notez que fish ne tombe pas sur les instructions case. Bien que la syntaxe puisse ressembler un peu aux instructions switch du C, elle se comporte plus comme les instructions case des shells traditionnels.
Notez également que les substitutions de commandes dans une instruction case seront évaluées même si son corps n’est pas pris. Cela peut sembler contre-intuitif au début, mais c’est inévitable, car il serait impossible de savoir si une commande case évaluera à true avant que toutes les formes d’expansion de paramètres aient été effectuées pour la commande case.
Exemple
Si la variable $animal contient le nom d’un animal, le code suivant tenterait de le classer :
switch $animal case cat echo evil case wolf dog human moose dolphin whale echo mammal case duck goose albatross echo bird case shark trout stingray echo fish case '*' echo I have no idea what a $animal isend
Si le code ci-dessus était exécuté avec $animal défini sur baleine, la sortie serait mammifère.
Laisser un commentaire