0
点赞
收藏
分享

微信扫一扫

shell脚本中if判断‘-a‘~‘-z‘的含义

才德的女子 2022-03-21 阅读 209
linuxshell

  • shell脚本if判断变量介绍

变量含义
[ -a FILE ]如果 FILE 存在则为真
[ -b FILE ]如果 FILE 存在且是一个块特殊文件则为真
[ -c FILE ]如果 FILE 存在且是一个字特殊文件则为真
[ -e FILE如果 FILE 存在则为真
[ -f FILE ]如果 FILE 存在且是一个普通文件则为真
[ -g FILE ]如果 FILE 存在且已经设置了SGID则为真
[ -h FILE ]如果 FILE 存在且是一个符号连接则为真
[ -k FILE ]如果 FILE 存在且已经设置了粘制位则为真
[ -r FILE ]如果 FILE 存在且是可读的则为真
[ -s FILE ]如果 FILE 存在且大小不为0则为真
[ -t FD ]如果文件描述符 FD 打开且指向一个终端则为真
[ -u FILE ]如果 FILE 存在且设置了SUID (set user ID)则为真
[ -w FILE ]如果 FILE 如果 FILE 存在且是可写的则为真
[ -x FILE ]如果 FILE 存在且是可执行的则为真
[ -O FILE ]如果 FILE 存在且属有效用户ID则为真
[ - G FILE ]如果 FILE 存在且属有效用户组则为真
[ -L FILE ]如果 FILE 存在且是一个符号连接则为真
[ -N FILE ]如果 FILE 存在 and has been mod如果ied since it was last read则为真
[ -S FILE ]如果 FILE 存在且是一个套接字则为真
[ -z STRING ]“STRING” 的长度为零则为真

  • 字符串判断

变量含义
str1 = str2两个字符串完全相等为真
str1 != str2两个字符串不完全相等为真
-n str1当串的长度大于0时为真(串非空)
-z str1当串的长度为0时为真(空串)
str1当串str1为非空时为真

  • 数字判断

变量含义
int1 -eq int2两数字相等为真
int1 -ne int2两数字不相等为真
int1 -gt int2int1大于int2为真
int1 -ge int2int1>= int2为真
in1 -lt int2int1<int2 为真
int1 -le int2int1 <= int2为真

  • 文件判断

变量名含义
-r file用户可读为真
-w file用户可写为真
-f file-文件为正规文件为真
-x file用户可执行为真
-d file文件为目录为真
-c file闻见味特殊字符文件为真
-s file文件大小非0为真
-b file文件为块特殊文件为真
-t file文件描述符(默认1)指定的设备为终端时为真

  • 复杂逻辑

变量名含义
-a
-o
!
!=不等于

举报

相关推荐

0 条评论