Bash 中的 IF 判断条件

Bash 中的 IF 判断条件

[ -a file ]  # 如果文件存在则为真。
[ -e file ]  # 如果文件存在则为真。

[ -d file ]  # 如果文件存在,并且是 目录   则为真。
[ -f file ]  # 如果文件存在,并且是 常规文件 则为真。
[ -h file ]  # 如果文件存在,并且是 符号链接 则为真。
[ -L file ]  # 如果文件存在,并且是 符号链接 则为真。
											 
[ -S file ]  # 如果文件存在,并且是 套接字  则为真。
[ -p file ]  # 如果文件存在,并且是 命名管道 则为真。
											 
[ -b file ]  # 如果文件存在,并且是 块设备  则为真。
[ -c file ]  # 如果文件存在,并且是 字符设备 则为真。

[ -g file ]  # 如果文件存在,并且设置了 SGID 位,则为真。
[ -k file ]  # 如果文件存在,并且设置了 粘滞 位,则为真。
[ -u file ]  # 如果文件存在,并且设置了 SUID 位,则为真。

[ -r file ]  # 如果文件存在,并且 可读 ,则为真。
[ -w file ]  # 如果文件存在,并且 可写 ,则为真。
[ -x file ]  # 如果文件存在,并且 可执行,则为真。

[ -s file ]  # 如果文件存在,并且大小不为零,则为真。
[ -N file ]  # 如果文件存在,并且自上次读取后已被修改,则为真。

[ -O file ]  # 如果文件存在,并且由有效用户 ID 拥有,则为真。
[ -G file ]  # 如果文件存在,并且由有效组  ID 拥有,则为真。

[ -t fd ]    # 如果文件描述符 fd 已打开并指向终端,则为真。

[ file1 -ef file2 ]  # 如果 file1 和 file2 引用相同的设备和 inode 号,则为真。
[ file1 -nt file2 ]  # 如果 file1 比 file2 新,或者如果 file1 存在而 file2 不存在,则为真(根据修改日期)。
[ file1 -ot file2 ]  # 如果 file1 比 file2 旧,或者如果 file2 存在而 file1 不存在,则为真(根据修改日期)。

[ -o optname ]  # 如果启用了 shell 选项 optname,则为真。请参阅 set 内置的 -o 选项描述中的选项列表。
[ -v varname ]  # 如果设置了 shell 变量 varname,则为真(要求已被赋值)。
[ -R varname ]  # 如果设置了 shell 变量 varname,并且是名称引用,则为真。

[ -z string ]  # 如果字符串长度  为零,则为真。
[ string ]     # 如果字符串长度 不为零,则为真。
[ -n string ]  # 如果字符串长度 不为零,则为真。

[ string1 == string2 ]  # 如果字符串相等,则为真。在严格的 POSIX 兼容模式下应该使用 = 代替 ==
[ string1 != string2 ]  # 如果字符串不相等,则为真。

# 不能使用单括号,否则 < 和 > 就变成管道操作了  
[[ string1 < string2 ]]  # 如果 string1 按字典顺序排在 string2 之前,则为真。
[[ string1 > string2 ]]  # 如果 string1 按字典顺序排在 string2 之后,则为真。

[ arg1 -eq arg2 ]  # 整数 arg1 等于     整数 arg2 则为真
[ arg1 -ne arg2 ]  # 整数 arg1 不等于   整数 arg2 则为真
[ arg1 -lt arg2 ]  # 整数 arg1 小于     整数 arg2 则为真
[ arg1 -le arg2 ]  # 整数 arg1 小于等于 整数 arg2 则为真
[ arg1 -gt arg2 ]  # 整数 arg1 大于     整数 arg2 则为真
[ arg1 -ge arg2 ]  # 整数 arg1 大于等于 整数 arg2 则为真
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值