Menu
Coddy logo textTech

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"
fi

La 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"
fi

Les 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.

challenge icon

Défi

Facile

Créez un script shell appelé check_score.sh qui utilise une instruction if pour évaluer un score de test.

Votre 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 le score est supérieur ou égal à 70
  4. Si vrai, afficher : You passed!
  5. 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 -ge pour la comparaison « supérieur ou égal à », d'inclure des espaces à l'intérieur des crochets carrés, et de terminer votre instruction if avec fi.

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"
fi

La 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"
fi

Opé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

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 Les fondamentaux