Catégories
shell/bash

La condition de if/else dans les scripts de shell

Syntaxe 1

if [ conditinon ]
then
   instructions
fi

Exemple
if [ ! -d "$Diallo ]
then
   echo "le dossier n'existe pas"
fi

NB: then peut-être sur la meme ligne que if mais séparé par unpoint virgule

Cet exemple permet de vérifier si le dossier Diallo n'existe pas
Syntaxe 2

if [ condition1 ]
then
    instructions1
else [ condition2 ]
   instructions2
fi

Exemple:
if [ -d "$Diallo ]
then
    echo "le dossier existe "
else
    echo "le dossier n'existe pas"
fi

Syntaxe 3:

if [ condition1 ]
then
    instructions1
elif [ condition2 ]
then
    instructions2
else
    instruction
fi
Syntaxe avec L'opérateur logique ET
L’opérateur logique ET est représenté par la séquence de caractères &&.

if [ condition1 ] && [ condition2 ]
then 
   instructions
fi

exemple

if [ $USER = 'root' ] && [ $var -eq 10 ]
then 
   echo ok
fi

Dans l'exemple ci dessus si la variable $USER est égale à root et si la variable $var est égale à 10 alors la condition est vérifiée, l’instruction echo ok est alors réalisée et la chaîne ok est affichée sur la sortie standard
Syntaxe avec l'opérateur OU
L’opérateur logique OU est représenté par la séquence de caractères ||

if [ condition1 ] || [ condition2 ]
then 
   instructions
fi

Exemple
Shell
if [ $var -eq 8 ] || [ $var -eq 6 ]
then 
   echo ok
fi

Dans l'exemple ci dessus si la variable $var est égale à 8 ou 5 alors l’instruction sera réalisée et la chaîne ok sera affichée sur la sortie standard
Syntaxe de l'opérateur de différence !=
l'opérateur != permet de comparer deux chaînes

exemple 
if [ $USER != 'root' ]
then
   echo "La variable $USER n'est pas égale à root"
fi
Syntaxe de vérification d'un fichier vide
l'exemple suivant permet de vérifier si un fichier ($nomdefichier) existe

if [ -e $nomdefichier ]
then
   echo "Le fichier existe"
else
   echo "le fichier n'existe pas"
fi

Tableaux des opérateurs de comparaison
Tableau 1:
OpérateurDescription
=initialisation d’une constante numérique
==Comparaison de l’égalité
!=comparaison de différence
>comparaison de plus grand que
>=comparaison de plus grand ou égal que
<comparaison de plus petit que
<=comparaison de plus petit ou égal que
Tableau 2:
CaractèresSIGNIFICATIONS
-eq est égal à
-ne n’est pas égal à
-gt est plus grand que
-geest plus grand ou égal à
-ltest plus petit que
-le est plus petit ou égal à

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.