Menu
CoddyTech

L'instruction if

Fait partie de la section Fondamentaux du Journey Terminal de Coddy. Leçon 70 sur 82.

Jusqu’à présent, vos scripts exécutent chaque commande de haut en bas, sans prendre de décisions. 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 à ton 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"
fi

La condition se place entre crochets, avec des espaces autour. Le mot-clé then marque le début du code à exécuter, et fi (si on l’écrit à l’envers) termine l’instruction.

Vous pouvez également gérer le cas où la condition est fausse à l’aide de else :

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

Les opérateurs de comparaison courants pour les nombres incluent -eq (égal), -ne (différent), -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 de toujours inclure des espaces à l’intérieur des crochets et de mettre vos variables entre guillemets pour éviter les erreurs avec des valeurs vides.

challenge icon

Défi

Facile

Crée un script shell appelé check_score.sh qui utilise une instruction if pour évaluer une note.

Ton script doit :

  1. Commencer par la ligne shebang (#!/bin/bash)
  2. Créer une variable appelée score avec la valeur 75
  3. Utiliser une instruction if pour vérifier si la note est supérieure ou égale à 70
  4. Si c’est vrai, afficher : You passed!
  5. Si c’est faux, afficher : You failed.

Rends le script exécutable et exécute-le. Comme la note est 75, ta sortie doit être :

You passed!

Indice : N’oublie pas d’utiliser -ge pour la comparaison « supérieur ou égal à », d’inclure des espaces à l’intérieur des crochets et de terminer ton instruction if par fi.

Il n’y a pas d’éditeur de fichiers ici, alors écris directement le fichier depuis le shell avec un here-document : saisis cat > check_score.sh << 'EOF', puis les lignes du script, et enfin une dernière ligne contenant uniquement EOF.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Terminal