一天一条shell命令--------test和[]的应用

到目前为止if语句测试都是跟命令的退出状态码无关的条件。

但是test命令提供了在if-then语句中测试不同条件的路径,如果test命令中列出的条件成立,test命令就会退出并

返回退出状态码0,这样if-then语句就与其他编程语句中的if-then语句类似的方式工作量了,如果条件不成立,test

命令就会退出并返回退出状态码1,if-then语句就会失效。

当然shell提供了和test相同用法的[ ]

test命令可以判断三类条件:

  数值比较、字符串比较和文件比较

1、数值比较

 n1 -eq n2            检查n1是否和n2相等

 n1 -ge n2            检查n1是否大于或等于n2

 n1 -get n2           检查n1是否大于n2

 n1 -le n2              检查n1是否小于或等于n2

 n1 -lt n2               检查n1是否小于n2

 n1 -ne n2             检查n1不等于n2


下面是例子

#!/bin/bash

var1=10
var2=11

if [ $var1 -gt 5 ]
then
    echo "The test value $var1 greater than 5"
fi


if [ $var1 -eq $var2 ]
then
   echo "The values are equal"
else
   echo "The values are different"
fi

明天再写其他两个吧


展开阅读全文

没有更多推荐了,返回首页