Comment utiliser la déclaration if...else in Bash
-
L’instruction
if
en Bash -
if ... else
Déclaration en Bash -
if...elif...else
Déclaration dans Bash -
Emboîté
if
Dé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