shell脚本编程之test命令使用

shell 脚本编程中的 test 命令给 if-then 等语句提供了一种测试条件的手段,按照测试条件的比较场景,可分为数值比较、字符串比较及文件比较,个人感觉前两者比较少用,最后一个倒比较常用。

test 命令语法

if test condition
then
    commands
fi

# 另一种写法:利用方括号定义测试条件(注意:左侧方括号之后和右侧方括号之前都必须加上一个空格)
# 即方括号是与test命令同义的特殊bash命令
if [ condition ]
then
    commands
fi

数值比较

注意:bash shell 只支持整数运算,涉及浮点数等时,不要使用

比较参数说明参数含义
n1 -eq n2比较 n1 是否与 n2 相等equal
n1 -ne n2比较 n1 是否与 n2 不相等not equal
n1 -ge n2比较 n1 是否大于或等于 n2greater than or equal
n1 -gt n2比较 n1 是否大于 n2greater than
n1 -le n2比较 n1 是否小于或等于 n2less than or equal
n1 -lt n2比较 n1 是否小于 n2less than

字符串比较

比较参数说明参数含义
str1 = str2比较 str1 是否和 str2 相同
str1 != str2比较 str1 是否和 str2 不相同
str1 < str2比较 str1 是否比 str2 小
str1 > str2比较 str1 是否比 str2 大
-n str1检查 str1 的长度是否非0not zero?
-z str1检查 str1 的长度是否为0zero?

文件比较(shell 编程中使用较多)

检查 Linux 系统中文件/目录的状态

比较参数说明参数含义
-e file检查 file 是否存在exist
-d file检查 file 是否存在并是一个目录directory
-f file检查 file 是否存在并是一个文件file
-s file检查 file 是否存在并非空
-r file检查 file 是否存在并可读read
-w file检查 file 是否存在并可写write
-x file检查 file 是否存在并可执行execute
-O file检查 file 是否存在并属当前用户所有Owner
-G file检查 file 是否存在并且默认组与当前用户相同default Group
file1 -nt file2检查 file1 是否比 file2 新new than
file1 -ot file2检查 file1 是否比 file2 旧old than
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值