EXPRESSIONS CONDITIONNELLES CONDITIONAL EXPRESSIONS
Pour effectuer un test, deux syntaxes: test expr cond ou
[expr cond].
par exemple:
if test -b /dev/fd0 ; then echo fd0 is a block device;fi
if [ -b /dev/fd0 ] ; then echo fd0 is a block device;fi
- -b fichier
Une entrée de répertoire ``fichier'' existe et
est de type block device.
- -c fichier
Une entrée de répertoire existe et est de type character device
- -d fichier
Une entrée de répertoire existe et est un (sous-)répertoire.
- -e fichier
Une entrée de répertoire existe.
- -f fichier
Une entrée de répertoire existe et est un fichier régulier.
- -g fichier
Une entrée de répertoire existe et a son bit Set-GID positionné.
- -h fichier
Une entrée de répertoire existe et est un lien symbolique.
- -k fichier
Une entrée de répertoire existe et a son bit sticky positionné.
- -p fichier
Une entrée de répertoire existe et est un tube nommé (FIFO).
- -r fichier
Une entrée de répertoire existe et est accessible en lecture avec les
droits actuels.
- -s fichier
Une entrée de répertoire existe, est un fichier et a une taille non nulle.
- -t [fd]
Vrai si fd est ouvert sur un terminal. Si fd n'est pas fourni,
les test est effectué sur la sortie standard.
- -u fichier
Une entrée de répertoire existe et a son bit Set-UID positionné.
- -w fichier
Une entrée de répertoire existe et est accessible en écriture avec les
droits actuels.
- -x fichier
Une entrée de répertoire existe et est exécutable avec les droits actuels.
- -O fichier
Une entrée de répertoire existe et appartient à l'ID effectif de
l'utilisateur.
- -G fichier
Une entrée de répertoire existe et appartient au groupe effectif
de l'utilisateur.
- -L fichier
Une entrée de répertoire existe et est un lien symbolique.
- -S fichier
Une entrée de répertoire existe et est une socket.
- -N fichier
Une entrée de répertoire existe et a une date de lecture antérieur
à sa date de modification.
- fichier1 -nt fichier2
Vrai si le fichier1 est plus récent que le fichier2,
d'après les dates de modification.
- fichier1 -ot fichier2
Vrai si le fichier1 est plus vieux que le fichier2.
- fichier1 -ef fichier2
Vrai si le fichier1 et le fichier2 sont sur le même
périphérique et ont les mêmes numéros d'i-noeuds (liens durs).
- -o option
Vrai si l'option shell option est active. (voir commande set -o
section sec:set)
- -z chaîne
Vrai si la longueur de la chaîne est nulle.
- -n chaîne
- chaîne Vrai si la longueur de la chaîne est non-nulle.
- chaîne1 == chaîne2
Vrai si les deux chaînes sont égales. Le symbole = peut
servir à remplacer ==
- chaîne1 != chaîne2
Vrai si les deux chaînes sont différentes.
- chaîne1 < chaîne2
Vrai si chaîne1 est plus petit que chaîne2 dans le sens
alphanumérique du terme.
- chaîne1 > chaîne2
Vrai si chaîne1 est plus grand que chaîne2 dans le sens
alphanumérique du terme.
- arg1 OP arg2
Où arg1 et arg2 sont des nombres entiers, et
OP est l'un des opérateurs arithmérique suivants:
- -eq Arg1 est égal à arg2,
- -ne Arg1 est différent d'arg2,
- -lt Arg1 est inférieur à arg2,
- -le Arg1 est inférieur ou égal à arg2,
- -gt Arg1 est supérieur à arg2,
- -ge Arg1 est supérieur ou égal à arg2,
voir ``help test
''.
Félix Hauri
2004-06-23