因为if-then语句不能测试退出状态码之外的条件,所以提供了test,
如果test命令中列出的条件成立,test命令就会退出并返回退出状态码0;如果条件不成立,test命令就会退出并返回非零的退出状态码,这使得 if-then语句不会再被执行。
写一下试试!
输出:
看上去test可以测变量的值是否为空,以下的写法就会输出else的内容
当然我们还可以省略的写法,使用[]
这里面用了数值比较的方法,在shell中 > < 等特殊字符是需要转义的。
还有常用的字符串的比较
输出:
居然还可以比较文件,这些以前是没有用过哈
输出:
如果不写test命令的condition部分,它会以非零的退出状态码退出,并执行else语句块。
输出:
有什么讨论的内容,可以加我公众号: