Commande de test du shell
La commande test dans Shell est utilisée pour vérifier si une certaine condition est vraie. Elle peut tester des valeurs, des caractères et des fichiers.
Test numérique
参数 | 说明 |
---|---|
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
Exemple de démonstration :
num1=100 num2=100 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi
Résultat de sortie :
两个数相等!
Test de chaîne
参数 | 说明 |
---|---|
= | 等于则为真 |
!= | 不相等则为真 |
-z 字符串 | 字符串的长度为零则为真 |
-n 字符串 | 字符串的长度不为零则为真 |
Démonstration d'instance :
num1="php" num2="php" if test num1=num2 then echo '两个字符串相等!' else echo '两个字符串不相等!' fi
Résultat de sortie :
两个字符串相等!
Test de fichier
参数 | 说明 |
---|---|
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
Démonstration d'instance :
cd /bin if test -e ./bash then echo '文件已存在!' else echo '文件不存在!' fi
Résultat de sortie :
文件已存在!
De plus, Shell fournit également trois opérateurs logiques AND (-a), OR (-o) et NOT (!) pour connecter les conditions de test, et leur priorité est : " !" , "-a" est le deuxième et "-o" est le plus bas. Par exemple :
cd /bin if test -e ./notFile -o -e ./bash then echo '有一个文件存在!' else echo '两个文件都不存在' fi
Résultat de sortie :
有一个文件存在!