Avec une instruction if, qui est un type d'instruction conditionnelle, vous pouvez effectuer différentes actions en fonction de conditions spécifiées. Cela donne effectivement au système la capacité de prendre des décisions.
Un exemple de la forme la plus simple d'une instruction if serait:
count = 5 si $ count == 5 alors echo "$ count" fi
Dans cet exemple, la variable "count" est utilisée pour spécifier une condition utilisée dans le cadre de l'instruction if. Avant que l'instruction if ne soit exécutée, la valeur "5" est affectée à la variable "count". L'instruction if vérifie ensuite si la valeur de "compte" est "5". Si tel est le cas, l'instruction entre les mots-clés "then" et "fi" est exécutée, sinon toutes les instructions qui suivent l'instruction if sont exécutées. Le mot clé "fi" est "si" épelé à l'envers. Le langage de script bash utilise cette convention pour marquer la fin d'une expression complexe, telle qu'une instruction if ou des instructions case.
L'instruction "echo" affiche son argument, dans ce cas, la valeur de la variable "count", dans la fenêtre du terminal. L'indentation du code entre les mots-clés de l'instruction if améliore la lisibilité, mais n'est pas nécessaire.
Si vous rencontrez une situation dans laquelle un morceau de code ne doit être exécuté que si une condition n'est pas vraie, vous pouvez utiliser le mot clé "else" dans une instruction if, comme dans cet exemple:
count = 5 si $ count == 5 alors echo "$ count" sinon echo "count n'est pas 5" fi
Si la condition "$ count == 5" est vraie, le système imprime la valeur de la variable "count", sinon il imprime la chaîne "count n'est pas 5".
Si vous souhaitez différencier plusieurs conditions, vous pouvez utiliser le mot clé "elif", dérivé de "else if", comme dans cet exemple:
si $ count == 5 alors echo "compte est cinq" elif $ count == 6 puis echo "compte est six" else echo "aucune de ces réponses" fi
Si "nombre" est "5", le système imprime "nombre est cinq". Si "nombre" n'est pas "5" mais "6", le système imprime "le nombre est six". S'il ne s'agit ni de "5" ni de "6", le système n'indique "aucune de ces réponses".
Comme vous l'avez peut-être deviné, vous pouvez avoir un nombre quelconque de clauses "elif". Un exemple avec plusieurs conditions "elif" serait:
si $ count == 5 alors echo "compte est cinq" elif $ compte == 6 puis echo "compte est six" elif $ compte == 7 puis echo "compte est sept" elif $ compte = = 8 alors echo "compte est huit" elif $ compte == 9 puis echo "compte est neuf" else echo "aucune de ces réponses" fi
La méthode des cas est un moyen plus compact d'écrire de telles instructions avec plusieurs conditions. Il fonctionne de manière similaire à l'instruction if avec plusieurs clauses "elif" mais est plus concis. Par exemple, le code ci-dessus peut être réécrit avec l'instruction "case" comme suit:
case "$ count" dans 5) echo "count is five" ;; 6) echo "le compte est six" ;; 7) echo "le compte est sept" ;; 8) echo "le compte est huit" ;; 9) echo "le compte est neuf" ;; *) echo "aucune de ces réponses" esac
Les instructions if sont souvent utilisées à l'intérieur de boucles for ou de boucles while, comme dans cet exemple:
count = 1 done = 0 pendant que $ count -le 9 dort 1 ((count ++)) si $ count == 5 continue ensuite fi echo "$ count" done echo Terminé
Vous pouvez également avoir imbriqué des instructions if. L'instruction la plus simple imbriquée est de la forme: si … alors … sinon … si … alors … fi … fi. Cependant, if-statement peut être imbriqué avec une complexité arbitraire.
Voir aussi comment passer des arguments à un script bash, qui montre comment utiliser des conditions pour traiter les paramètres passés à partir de la ligne de commande.
Le shell bash fournit d'autres constructions de programmation, telles que des boucles for, des boucles while et des expressions arithmétiques.