shell基础(条件判断)

判断格式

test [选项] 文件

[ -e 文件 ]

注意!!!!![]内的空格不可省略,即不可以写成[-e 文件]

按照文件类型判断
测试选项作用
-b filename当filename 存在并且是块文件时返回真(返回0)
-c filename当filename 存在并且是字符文件时返回真
-d pathname当pathname 存在并且是一个目录时返回真
-e pathname当由pathname 指定的文件或目录存在时返回真
-f filename当filename 存在时返回真
-g pathname当由pathname 指定的文件或目录存在并且设置了SGID 位时返回真
-h filename当filename 存在并且是符号链接文件时返回真 (或 -L filename)
-k pathname当由pathname 指定的文件或目录存在并且设置了"粘滞"位时返回真
-p filename当filename 存在并且是命名管道时返回真
-r pathname当由pathname 指定的文件或目录存在并且可读时返回真
-s filename当filename 存在并且文件大小大于0 时返回真
-S filename当filename 存在并且是socket 时返回真
-t fd当fd 是与终端设备相关联的文件描述符时返回真
-u pathname当由pathname 指定的文件或目录存在并且设置了SUID 位时返回真
-w pathname当由pathname 指定的文件或目录存在并且可写时返回真
-x pathname当由pathname 指定的文件或目录存在并且可执行时返回真
-O pathname当由pathname 存在并且被当前进程的有效用户id 的用户拥有时返回真(字母O 大写)
-G pathname当由pathname 存在并且属于当前进程的有效用户id 的用户的用户组时返回真
判断文件权限
测试选项作用
-r filename判断文件是否存在,并且是否拥有读权限
-w filename判断文件是否存在,并且是否拥有写权限
-x filename判断文件是否存在,并且是否拥有执行权限
-u filename判断文件是否存在,并且是否拥有SUID权限
-g filename判断文件是否存在,并且是否拥有SGID权限
-k filename判断文件是否存在,并且是否拥有SBit权限
文件间比较
测试选项作用
文件1 -nt 文件2判断文件1的修改时间是否比文件2的新(新为真)
文件1 -ot 文件2判断文件1的修改时间是否比文件2的旧(旧为真)
文件1 -ef 文件2判断文件1与文件2的Inode是否一致。(可用于判断硬链接)
整数比较
测试选项作用
整数1 -eq 整数2判断是否相等
整数1 -ne 整数2判断是否不等(不等为真)
整数1 -gt 整数2判断整数1是否大于整数2
整数1 -lt 整数2判断整数1是否小于整数2
整数1 -ge 整数2判断整数是否大于等于整数2
整数1 -le 整数2判断整数1是否小于等于整数2
字符串判断
测试选项作用
-z 字符串判断是否为空(空为真)
-n 字符串判断是否非空(非空为真)
字符串1 == 字符串2判断字符串1是否等于字符串2
字符串1 != 字符串2判断字符串是否不等

例:

[ $aa == $bb ] && echo yes || echo no
判断两个变量值是否相等,等于输出yes,不等于输出no

多重条件判断
测试选项作用
判断1 -a 判断2逻辑与
判断1 -o 判断2逻辑或
!判断逻辑非
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值