目录
退出状态码
在UNIX或者Linux中,每个命令都会返回一个退出状态码。
退出状态码是一个整数,其有 效范围为0~255。
通常情况下,成功的命令返回0,而不成功的命令返回非0值。
非0值通常都 被解释成一个错误码。
行为良好的UNIX命令,程序和工具都会返回0作为退出码来表示成功。
Shell脚本中的函数和脚本本身也会返回退出状态码。在脚本或者是脚本函数中执行的最后的命 令会决定退出状态码。
另外,用户也可以在脚本中使用exit语句将指定的退出状态码传递给Shell
测试条件表达式
在shell程序中,用户可以使用测试语句来测试指定的条件表达式的条件的真或假。
当指定 的条件为真时,整个条件测试的返回值为0;
反之,如果指定的条件为假,则条件测试语句的 返回值为非0值
测试条件表达式一般配合各种运算符使用
语法1: test <测试表达式>
test命令和<测试表达式>之间至少有一个空格
[root@localhost fuxi]# test -n "";echo $?
1
[root@localhost fuxi]# test abc=abcd ;echo $?
0
语法2:[ <测试 表达式> ]
该方法和test命令的用法一样,[]的边界和内容之间至少有一个空格
[root@localhost fuxi]# [ -n '' ];echo $?
1
[root@localhost fuxi]# [ -n ' ' ];echo $?
0
[root@localhost fuxi]# [ -z '' ];echo $?
0
[root@localhost fuxi]# [ abc=abcd ];echo $?
0
[root@localhost fuxi]# [ abc = abcd ];echo $?
1
注意:
1.[ ]中的内容和[ ]之间要有空格
2. = 两边也需要有空格
3.当测试的是变量时,变量两边需要添加引号''
语法3:[[ <测试 表达式> ]]
比test和[]更新的语法格式。[[]]的边界和内容之间至少有一个空格。
[[ ]]中可以使用通配符等进行模式匹配
语法4:((<测试表 达式>))
一般用于if语句里,双小括号两端不需要有空格,测试对象只能是整数