Sommaire

Commande test

La commande test permet d’effectuer un ensemble de tests sur les fichiers, les chaînes de caractères, les valeurs arithmétiques et l’environnement utilisateur.

Cette commande a un code retour égal à zéro lorsque le test est positif, et différent de zéro dans le cas contraire ; ceci permet de l’utiliser dans des enchaînements de commandes avec exécution conditionnelle (&& et ||) ou dans les structures de contrôle qui seront étudiées plus loin.

La commande test possède deux syntaxes : test expression et [ expression ] où "expression" représente le test à effectuer.

La seconde syntaxe offre une lecture plus aisée des conditions dans les structures de contrôle.

Les espaces après le crochet ouvrant et avant le crochet fermant sont obligatoires dans la syntaxe [ expression ]. D’une manière générale, tous les éléments de syntaxe de la commande test doivent être séparés par au moins un espace.

La suite de la section présente les principaux opérateurs composant les expressions de test de la commande.

1. Test de fichiers

-f fichier

Retourne vrai (code retour égal à zéro) si le fichier est de type standard (file) :

[nicolas]$ test -f /etc/passwd 
[nicolas]$ echo $? 
0 
[nicolas]$ [ -f /etc ] || echo "/etc n’est pas un fichier standard" 
/etc n’est pas un fichier ...