Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
06 juillet 2010

coreutils GNU           tests et conditions


test

test

Évaluation d'expressions

   test retourne un status de 0 ou 1 en fonction de l'évaruation de l'expression. Chaque partie de cette expression doit être un argument séparé. test a une forme alternative qui utilise [ et ] au lieu de test.

test sans argument retourne false
test avec un seul argument qui vaut null retourne false, true sinon

Test des types de fichier

-b FILE vrai si FILE existe et est un périphérique spécial block
-c FILE vrai si FILE existe et est un périphérique spécial caractère
-d FILE vrai si FILE existe et est un répertoire
-f FILE vrai si FILE existe et est un fichier régulier
-h FILE
-L FILE vrai si FILE existe et est un lien symbolique, ce test ne déréférence pas FILE.
-p FILE vrai si FILE existe et est un pipe
-S FILE vrai si FILE existe et est un socket
-t FD vrai si FD est un descripteur de fichier qui est associé avec un terminal

Test des permissions d'accès

-g FILE vrai si FILE existe et a son bit set-group-ID mit
-k FILE vrai si FILE existe et a son sticky bit mis
-r FILE vrai si FILE existe et le droit en lecture
-u FILE vrai si FILE existe et et son bit set-user-ID mis
-w FILE vrai si FILE existe et le droit en écriture
-x FILE vrai si FILE existe et le droit en exécution
-O FILE vrai si FILE existe et et son propriétaire est l'utilisation courant
-G FILE vrai si FILE existe et et son group propriétaire est le group courant.

Test des caractéristiques de fichier

FILE vrai si FILE existe
-s FILE vrai si FILE existe et a une taille supérieur à 0
FILE1 -nt FILE2 vrai si FILE1 est plus récent que FILE2, ou si FILE1 existe mais pas FILE2 (basé sur le mtime)
FILE1 -ot FILE2 vrai si FILE1 est plus ancien que FILE2, ou si FILE2 existe mais pas FILE1 (basé sur le mtime)
FILE1 -ef FILE2 vrai si FILE1 et FILE2 ont le même numéro d'inode et de périphérique (ex : lien dur)

Test de chaînes

-Z STRING vrai si la longueur de STRING est 0
STRING vrai si la longueur de STRING est différente de 0
STRING1 = STRING2 vrai si les 2 chaînes sont équivalentes
STRING1 != STRING2 vrai si les 2 chaînes sont différentes

Test numérique

ARG1 -eq ARG2
ARG1 -ne ARG2
ARG1 -lt ARG2
ARG1 -le ARG2
ARG1 -gt ARG2
ARG1 -ge ARG2

Connections pour test

! EXPR vrai si EXPR est faux
EXPR1 -a EXPR2 vrai si les 2 sont vrai
EXPR1 -o EXPR2 vrai si l'une des 2 est vrai