Skip to content

🔀 Conditions

Auteur : Gautier RAYEROUX | Date : 2026-04-15 00:00:00

Terminal window
if [["$age" -gt 18 ]];thenecho"Adulte"elif [["$age" -eq 18 ]];thenecho"Pile 18"elseecho"Mineur"fi
TestSignification
-f filefichier existe
-d dirdossier existe
-z strchaîne vide
-n strchaîne non vide
str1 = str2égalité
int1 -eq int2égalité int

Toujours utiliser [[ ... ]] plutôt que [ ... ].

🧵 Comparaisons sur chaînes de caractères

Section titled “🧵 Comparaisons sur chaînes de caractères”
ConditionSignificationExemple
[[ "$a" = "$b" ]]égalité[[ "$name" = "john" ]]
[[ "$a" != "$b" ]]différent
[[ -z "$a" ]]chaîne vide
[[ -n "$a" ]]chaîne non vide
[[ "$a" < "$b" ]]ordre alphabétique
[[ "$a" > "$b" ]]ordre alphabétique
[[ "$a" =~ regex ]]match regex[[ "$email" =~ @gmail\.com$ ]]

⚠️ < et > ne marchent **que dans ****[[ ]]**

ConditionSignificationExemple
-eqégal[[ "$a" -eq 5 ]]
-nedifférent
-lt<
-le
-gt>
-ge
OpérateurSignificationExemple
&&ET[[ -f f && -r f ]]
``OU`[[ -z “$a”-z “$b” ]]`
!NON[[ ! -f f ]]
ConditionSignification
-e fileexiste
-f filefichier normal
-d dirdossier
-L filelien symbolique
-r filelisible
-w filemodifiable
-x fileexécutable
-s filenon vide
file1 -nt file2plus récent
file1 -ot file2plus ancien