Test
De Linuxmemo.
(Différences entre les versions)
(Page créée avec « Catégorie:Commandes test [expr] test renvoie une valeur 0 (vrai) ou 1 (faux) suivant l'évaluation de l'expression conditionnelle expr. -b fichier Vrai si le fic... ») |
|||
| Ligne 64 : | Ligne 64 : | ||
arg1 OP arg2 | 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. | 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. | ||
| + | |||
| + | |||
| + | === 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")) | ||
| + | |||
| + | === 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. | ||
Version actuelle en date du 27 mars 2012 à 21:14
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.