Comment utiliser la déclaration if...else in Bash
- 
          
            L’instruction ifen Bash
- 
          
            if ... elseDéclaration en Bash
- 
          
            if...elif...elseDéclaration dans Bash
- 
          
            Emboîté ifDéclaration dans Bash
 
Les déclarations conditionnelles sont courantes pour la prise de décision dans presque tous les langages de programmation. Elles permettent l’exécution d’une ou plusieurs déclarations uniquement si une condition particulière est satisfaite. L’expression if ... else est utilisée comme déclaration conditionnelle dans la plupart des langages de programmation. Dans Bash, nous avons également des instructions if, if...elif...else, if ... else et des instructions if imbriquées comme instructions conditionnelles.
L’instruction if en Bash
    
Syntaxe de la déclaration if
if Test-Expression
then
  Statements
fi
Dans l’exemple ci-dessus, si Test-Expression est True, les Statements sont exécutées. Le mot-clé fi est utilisé pour terminer l’instruction if.
Si Test-Expression test n’est pas True, aucun des Statements n’est exécuté.
Pour rendre notre code plus lisible et organisé, nous pouvons utiliser une indentation de type 4 espaces ou 2 espaces.
Exemple: if déclaration en Bash
echo -n "Enter numnber : "
read n
 
rem=$(( $n % 2 ))
 
if [ $rem -eq 0 ]
then
  echo "$n is even number"
fi
Production:
Enter numnber : 4
4 is even number
Il accepte un numéro de l’utilisateur et ne donne la sortie que si le numéro est un nombre pair.
Si le nombre est pair, le reste est égal à zéro lorsque le nombre est divisé par deux. Par conséquent, l’expression de test est True, de sorte que l’instruction echo est exécutée.
if ... else Déclaration en Bash
Syntaxe de la déclaration if ... else
if Test-Expression
then
  Statements-1
else
  Statements-2
fi
Dans cet exemple, si Test-Expression est True, les Statements-1 sont exécutées; sinon, les Statements-2 sont exécutées. Pour terminer l’instruction if ... else, le mot-clé fi est utilisé.
Exemple: if...else dans Bash
    
echo -n "Enter numnber : "
read n
 
rem=$(( $n % 2 ))
 
if [ $rem -eq 0 ]
then
  echo "$n is even number"
else
  echo "$n is odd number"
fi
Production:
Enter numnber : 5
4 is odd number
Il accepte un nombre de l’utilisateur et donne une sortie selon que le nombre d’entrée est exactement divisible par 2 ou non.
Si le nombre est pair, le reste est égal à zéro lorsque le nombre est divisé par deux; par conséquent, l’expression test est True et l’instruction echo "$n is even number" est exécutée.
Si le nombre est impair, le reste n’est pas zéro; par conséquent, l’expression test est False et l’instruction echo "$n is odd number" est exécutée.
if...elif...else Déclaration dans Bash
    
Syntaxe de la déclaration if...elif...else
if Test-Expression-1
then
  Statements-1
elif Test-Expression-2
then
  Statements-2
else
  Statements-3
fi
Si Test-Expression-1 est True, les Statements-1 sont exécutées. Sinon, si Test-Expression-2 est True, Statements-2 est exécutée.
Si aucune des expressions de test n’est True, l’expression de test 3 est exécutée.
Nous pouvons avoir autant d’instructions elif que nous le souhaitons, et l’instruction else est optionnelle.
Exemple: if...elif...else dans Bash
    
echo -n "Enter the value of a: "
read a
echo -n "Enter the value of b: "
read b
if [ $a -lt $b ]
then
   echo "a is less than b"
   
elif [ $a -gt $b ]
then
   echo "a is greater than b"
else
   echo "a is equal to b"
fi
Production:
Enter the value of a: 4
Enter the value of b: 4
a is equal to b
Il accepte deux nombres comme entrée de l’utilisateur et imprime le résultat en fonction de l’expression de test qui est vraie.
Si a<b, le programme imprime a is less than b.
Si a>b, le programme affiche a is greater than b.
Si aucune des expressions conditionnelles n’est vraie, le programme affiche a is equal to b.
Emboîté if Déclaration dans Bash
Lorsqu’une instruction if est placée dans une autre instruction if, elle est appelée instruction if imbriquée.
echo -n "Enter numnber : "
read a
 
rem=$(( $a % 2 ))
 
if [ $rem -eq 0 ]
then
  if [ $a -gt 10 ]
  then
    echo "$a is even number and greater than 10."
	
  else
    echo "$a is even number and less than 10."
  fi
else
  echo "$a is odd number"
fi
Production:
Enter numnber : 46
46 is even number and greater than 10.
Elle démontre l’utilisation de l’instruction if imbriquée. Si le nombre est exactement divisible par 2 et supérieur à 10, l’instruction echo "$a is even number and greater than 10.".
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn