L'instruction if
Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 70 sur 82.
Jusqu'à présent, vos scripts exécutent chaque commande du haut vers le bas sans aucune prise de décision. Mais que faire si vous voulez que votre script fasse des choses différentes en fonction de certaines conditions ? C'est là qu'intervient l'instruction if.
L'instruction if permet à votre script de prendre des décisions. Elle vérifie si une condition est vraie, et si c'est le cas, exécute un bloc de code. Voici la structure de base :
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiLa condition est placée entre crochets carrés avec des espaces autour. Le mot-clé then marque le début du code à exécuter, et fi (« if » à l’envers) termine l’instruction.
Vous pouvez également gérer le cas où la condition est fausse en utilisant else :
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiLes opérateurs de comparaison courants pour les nombres incluent -eq (égal), -ne (pas égal), -gt (supérieur à), -lt (inférieur à), -ge (supérieur ou égal), et -le (inférieur ou égal). Pour les chaînes, utilisez = pour l'égalité et != pour l'inégalité.
N'oubliez pas d'inclure toujours des espaces à l'intérieur des crochets et de mettre vos variables entre guillemets pour éviter les erreurs avec des valeurs vides.
Défi
FacileCréez un script shell appelé check_score.sh qui utilise une instruction if pour évaluer un score de test.
Votre script doit :
- Commencer par la ligne shebang (
#!/bin/bash) - Créer une variable appelée
scoreavec la valeur75 - Utiliser une instruction if pour vérifier si le score est supérieur ou égal à 70
- Si vrai, afficher :
You passed! - Si faux, afficher :
You failed.
Rendez le script exécutable et exécutez-le. Comme le score est 75, votre sortie devrait être :
You passed!Indice : N'oubliez pas d'utiliser
-gepour la comparaison « supérieur ou égal à », d'inclure des espaces à l'intérieur des crochets carrés, et de terminer votre instruction if avecfi.
Aide-mémoire
L'instruction if permet aux scripts de prendre des décisions en fonction des conditions :
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiLa condition va à l'intérieur des crochets carrés avec des espaces autour. Utilisez then pour marquer le début du bloc de code et fi pour terminer l'instruction.
Utilisez else pour gérer les cas où la condition est fausse :
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiOpérateurs de comparaison courants :
- Nombres :
-eq(égal),-ne(différent),-gt(supérieur à),-lt(inférieur à),-ge(supérieur ou égal),-le(inférieur ou égal) - Chaînes :
=(égalité),!=(inégalité)
Incluez toujours des espaces à l'intérieur des crochets et mettez les variables entre guillemets pour éviter les erreurs avec des valeurs vides.
Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les fondamentaux
4Répertoires
Créer Un RépertoireCopier Un RépertoireDéplacer Et Renommer Un RépertoireSupprimer Un RépertoireRécapitulatif - Opérations Sur Les Répertoires7Contenu de fichier
Head et TailComptage de motsCommande SortCommande UniqBases de GrepGrep avec optionsRécap - Détective de texte10Projet Analyseur de Journaux
Aperçu du ProjetAffichage du Fichier Journal2Navigation
Afficher le répertoire de travailLister les fichiersChanger de répertoireChemins absolus vs relatifsRépertoire personnel et racineRécap - Trouver son chemin5Projet Organiser les Photos
Aperçu du ProjetCréation de la Structure8Redirection
Sortie standardÉcraser vers un fichierAjouter à un fichierEntrée standardErreur standardRécapitulatif - Constructeur de logs11Permissions
Comprendre les permissionsLire les permissionsChmod avec des nombresChmod avec des symbolesPropriété des fichiersRécapitulatif - Verrouillez tout14Projet de Script de Sauvegarde
Aperçu du ProjetObtenir le Chemin Source3Fichiers
Créer Un FichierLire Un FichierCopier Un FichierDéplacer Et Renommer Un FichierSupprimer Un FichierRécapitulatif - Opérations Sur Les Fichiers6Caractères jokers et motifs
Le joker étoileLe joker point d'interrogationJokers entre crochetsCombiner les jokersRécapitulatif - Opérations sélectives9Les pipes
Qu'est-ce qu'une pipe ?Chaîner deux commandesChaîner plusieurs commandesPipe avec GrepRécapitulatif - Pipeline de données