Maison > Tutoriel système > Linux > Explication détaillée : commande de paramètre de jugement variable du script Shell

Explication détaillée : commande de paramètre de jugement variable du script Shell

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-09-02 15:25:59
original
740 Les gens l'ont consulté

Explication détaillée : commande de paramètre de jugement variable du script Shell

系统变量
$n   传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2
$?   上个命令的退出状态,或函数的返回值。成功返回0,失败返回1
$#   传递给脚本或函数的参数个数
$*   所有这些参数都被双引号引住。若一个脚本接收两个参数,$*等于$1$2
$0   正在被执行命令的名字。对于shell脚本而言,这是被激活命令的路径
$@   被双引号(” “)包含时,与 $* 稍有不同。若一个脚本接收到两个参数,$@等价于$1$2
$$   当前shell的进程号。对于shell脚本,这是其正在执行时的进程ID
$!   前一个后台命令的进程号
Copier après la connexion
文件或目录判断
-b file 若文件存在且是一个块特殊文件,则为真
-c file 若文件存在且是一个字符特殊文件,则为真
-d file 若文件存在且是一个目录,则为真
-e file 若文件存在,则为真
-f file 若文件存在且是一个规则文件,则为真
-g file 若文件存在且设置了SGID位的值,则为真
-h file 若文件是软链接,则为真
-k file 若文件存在且设置了”sticky”位的值
-L file 若文件为符号链接,则为真
-p file 若文件存在且为一已命名管道,则为真
-r file 若文件可读,则为真
-s file 判断文件是否存在,且是否为非空,不为空,则为真
-S file	判断文件是否存在,且是否为套接字文件
-t file 文件描述符(默认为1)指定的设备为终端时为真
-u file 若文件存在且设置了SUID位,则为真
-w file 若文件可写,则为真
-x file 若文件可执行,则为真
[ file1 -nt file2 ] 若file1比file2新,或file1存在但file2不存在,则为真
[ file1 -ot file2 ] 若file1比file2老,或file2存在但file1不存在,则为真
[ file1 -ef file2 ] 若file1和file2指向相同的设备和节点号则返回,为真
Copier après la connexion
整数判断
-eq  两数相等,则为真     例:if [ "$a" -eq "$b" ]
-ne  两数不相等,则为真   例:if [ "$a" -ne "$b" ]
-gt  a大于b,则为真       例:if [ "$a" -gt "$b" ]
-ge  大于或等于,则为真   例:if [ "$a" -ge "$b" ]
-lt  a小于b,则为真       例:if [ "$a" -lt "$b" ]
-le  a小于或等于b,则为真 例:if [ "$a" -le "$b" ]

    大于(需双括号)      例:(("$a" > "$b"))
>=   大于等于(需双括号)  例:(("$a" >= "$b"))
小数据比较可使用AWK。
Copier après la connexion
逻辑运算判断符
!  [ ! false ]              返回true 逻辑否,条件为假,结果为真
-a [ $a -lt 2 -a $b -gt 5 ] 返回true 逻辑与,两个表达式都为真,则为真
-o [ $a -lt 2 -o $b -gt 5 ] 返回true 逻辑或,只要有一个表达式为true,则为真

[ ] || [ ] 用OR来合并两个条件
[ ] && [ ] 用AND来合并两个条件
Copier après la connexion
字符串判断
== 若两个字符串相同则为真,与=等价 例:[ "str1" = "str2" ]
!= 若字符串不相同则为真           例:[ "str1" != "str2" ]
  若str1字典排序在str2后则为真   例:[ "str1" \> "str2" ]
-n 若str长度非零则为真,即非空     例:[ -n "str1" ]
-z 若file长度为零,即空,则为真     例:[ -z "str1" ]
Copier après la connexion

注意:在[]结构中”

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal