shell脚本之test命令

test命令在Shell脚本中用于进行条件测试和条件判断。它用于检查文件、字符串和数值的各种条件,并返回一个状态码,表示条件是否为真。test命令的返回值为0表示真,非零值表示假。

下面是test命令的一些常见用法和示例:

数值比较:

-eq:等于

-ne:不等于

-gt:大于

-ge:大于等于

-lt:小于

-le:小于等于

-eq:等于

-ne:不等于

-gt:大于

-ge:大于等于

-lt:小于

-le:小于等于例如,检查变量num1是否大于变量num2:

num1=10  
num2=5  
  
test $num1 -gt $num2

如果num1大于num2,则返回值为0,否则为非零值。

2. 字符串比较:

* `=`:相等  
* `!=`:不相等  
* `-z`:长度为零(空字符串)  
* `-n`:长度非零(非空字符串)例如,检查变量`str1`是否等于变量`str2`
str1="Hello"  
str2="World"  
  
test $str1 = $str2

如果str1等于str2,则返回值为0,否则为非零值。

3. 文件测试:

* `-e`:文件或目录是否存在  
* `-f`:是否为文件  
* `-d`:是否为目录  
* `-s`:文件大小是否大于零  
* `-r`:是否有读取权限  
* `-w`:是否有写入权限  
* `-x`:是否有执行权限例如,检查文件`/path/to/file.txt`是否存在并且大小大于零:
test -e /path/to/file.txt -a -s /path/to/file.txt

cd /bin
if test -e ./bash
then
    echo '文件已存在!'
else
    echo '文件不存在!'
fi

cd /bin
if test -e ./notFile -o -e ./bash
then
    echo '至少有一个文件存在!'
else
    echo '两个文件都不存在'
fi

如果文件存在且大小大于零,则返回值为0,否则为非零值。

4. 逻辑操作:

* `&&`:逻辑与(AND)  
* `||`:逻辑或(OR)例如,检查变量`num1`是否大于10并且小于20:
num1=15  
  
test $num1 -gt 10 -a $num1 -lt 20

如果num1大于10且小于20,则返回值为0,否则为非零值。

5. 其他测试:

* `-o`:或(OR)运算符,用于多个条件之间的或运算。例如,检查变量`num1`是否大于10或小于5:
num1=3  
  
test $num1 -gt 10 -o $num1 -lt 5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

付宇利

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值