Test

De Linuxmemo.


test [expr]

test renvoie une valeur 0 (vrai) ou 1 (faux) suivant l'évaluation de l'expression conditionnelle expr.

-b fichier

   Vrai si le fichier existe et est spécial bloc. 

-c fichier

   Vrai si le fichier existe et est spécial caractère. 

-d fichier

   Vrai si le fichier existe et est un répertoire. 

-e fichier

   Vrai si le fichier existe. 

-f fichier

   Vrai si le fichier existe et est un fichier ordinaire. 

-g fichier

   Vrai si le fichier existe et a son bit Set-GID positionné. 

-k fichier

   Vrai si le fichier existe et a son bit Sticky positionné. 

-L fichier

   Vrai si le fichier existe et est un lien symbolique. 

-p fichier

   Vrai si le fichier existe et est un tube nommé. 

-r fichier

   Vrai si le fichier existe et est lisible. 

-s fichier

   Vrai si le fichier existe et a une taille supérieure à zéro. 

-S fichier

   Vrai si le fichier existe et est une socket. 

-t [fd]

   Vrai si fd est ouvert sur un terminal. Si fd est omis, la valeur par défaut est 1 (sortie standard). 

-u fichier

   Vrai si le fichier existe et a son bit Set-UID positionné. 

-w fichier

   Vrai si le fichier existe et est accessible en écriture. 

-x fichier

   Vrai si le fichier existe et est exécutable. 

-O fichier

   Vrai si le fichier existe et appartient à l'UID effectif de l'appelant. 

-G fichier

   Vrai si le fichier existe et appartient au GID effectif de l'appelant. 

fichier1 -nt fichier2

   Vrai si fichier1 est plus récent (d'après les dates de modification) que fichier2. 

fichier1 -ot fichier2

   Vrai si fichier1 est plus ancien que fichier2 

fichier1 -ef fichier2

   Vrai si fichier1 et fichier2 ont les mêmes numéros de périphérique et d'i-noeud. 

-z chaîne

   Vrai si la longueur de la chaîne est nulle. 

-n chaîne chaîne

   Vrai si la longueur de la string n'est pas nulle. 

chaîne1 = chaîne2

   Vrai si les deux chaînes sont égales. 

chaîne1 != chaîne2

   Vrai si les deux chaînes sont différentes. 

! expr

   Vrai si expr est fausse. 

expr1 -a expr2

   Vrai si expr1 et expr2 sont toutes les deux vraies. 

expr1 -o expr2

   Vrai si expr1 ou expr2 est vraie. 

arg1 OP arg2

   OP est dans la liste -eq, -ne, -lt, -le, -gt, ou -ge. Ces opérateurs arithmétiques renvoient vrai si arg1 est égal, différent, inférieur, inférieur ou égal, supérieur, ou supérieur ou égal à arg2, respectivement. arg1 et arg2 doivent être des entiers (positifs, ou négatifs) ou l'expression spéciale -l chaîne, qui évalue la longueur de la chaîne.


[modifier] comparaison d'entiers

-eq

   est égal à
   if [ "$a" -eq "$b" ]

-ne

   n'est pas égal à
   if [ "$a" -ne "$b" ]

-gt

   est plus grand que
   if ["$a" -gt "$b" ]

-ge

   est plus grand ou égal à
   if [ "$a" -ge "$b" ]

-lt

   est plus petit que
   if [ "$a" -lt "$b" ]

-le

   est plus petit ou égal à
   if [ "$a" -le "$b" ]

<

   est plus petit que (à l'intérieur de parenthèses doubles)
   [(("$a" < "$b"))

<=

   est inférieur ou égal à (dans des doubles-parenthèses)
   (("$a"< "$b"))

>

   est plus grand que (à l'intérieur de parenthèses doubles)
   (("$a" > "$b"))

>=

   est plus grand ou égal à (à l'intérieur de parenthèses doubles)
   (("$a" >= "$b"))

[modifier] comparaison de chaînes de caractères

=

   est égal à
   if [ "$a" = "$b" ]

==

   est égal à
   if [ "$a" == "$b" ]

!=

   n'est pas égal à
   if [ "$a" != "$b" ]
   Cet opérateur utilise la reconnaissance de motifs à l'intérieur d'expressions en  ... .

<

   est plus petit que, d'après l'ordre alphabétique ASCII
   if [[ "$a" < "$b" ]]
   if [ "$a" \< "$b" ]
   Notez que, s'il se trouve dans une expression en [ ], « < » doit être précédé d'un caractère d'échappement.

>

   est plus grand que, d'après l'ordre alphabétique ASCII
   if [[ "$a" > "$b" ]]
   if [ "$a" \> "$b" ]
   Notez que « > » a besoin d'être dans une séquence d'échappement s'il se trouve à l'intérieur de [ ].
   Voir l'Exemple 26.10, « Le tri bulle : Bubble Sort » pour une application de cet opérateur de comparaison.

-z

   la chaîne de caractères est vide, c'est-à-dire qu'elle est de longueur nulle
    String=   # Zero-length ("null") string variable.
   if [ -z "$String" ]
   then
     echo "\$String is null."
   else
     echo "\$String is NOT null."
   fi     # $String is null.

-n

   la chaîne de caractères n'est pas vide.
Outils personnels