文章目录
shell的退出状态
echo $?
0 表示运行成功
1~125 表示运行失败
126 表示找到了该命令,但是无法运行
127 表示未找到该命令
>128 表示该命令被系统强制结束
测试结构(有多种,用来判断表达式的)
1:test 表达式
2:[ 表达式 ]
3:if,case,while语句联用,作为流程控制语句的判断条件
整数比较运算符
(不可用于字符串和其他运算比较)
[ num1 -eq num2 ] #如果num1等于num2,测试结果为0
[ num1 -ge num2 ] #如果num1大于或等于num2,测试结果为0
[ num1 -gt num2 ] #如果num1大于num2,测试结果为0
[ num1 -le num2 ] #如果num1小于或等于num2,测试结果为0
[ num1 -lt num2 ] #如果num1小于num2,测试结果为0
[ "$num1" -ne num2 ] #如果$num1变量的值不等于num2,测试结果为0($num1的值必须是整数)
字符串运算符
(用于测试,字符串是否为空,两个字符串是否相等或则不等)
test string #测试字符串string是否不为空,不为空,测试结果为0
[ -n string ] #测试字符串string是否不为空,不为空,测试结果为0
[ -z string ] #测试字符串string是否为空,为空,测试结果为0
[ string1 = string2 ] #测试字符串string1是否与string2相同,相同,测试结果为0
[ string1 != string2 ] #测试字符串string1是否与string2不相同,不相同,测试结果为0
[ "$string1" != string2 ] #测试变量string1的值是否与字符串string2不相同,不相同,测试结果为0
文件操作符
(这里的file可以是文件名,路径名,目录名)
[ -d file ] #测试file是否为目录,是目录,测试结果为0
[ -e file ] #测试file是否存在,若存在,测试结果为0
[ -f file ] #测试file是否为普通文件,若是,测试结果为0
[ -r file ] #测试file是否是进程可读文件,若是,测试结果为0
[ -s file ] #测试file的长度是否不为0,若是,测试结果为0
[ -w file ] #测试file是否为进程可写文件,若是,测试结果为0
[ -x file ] #测试file是否为进程可执行文件,若是,测试结果为0
[ -L file ] #测试file是否符号化链接,若是,测试结果为0
逻辑运算符
(用于测试多个条件是否为真或为假,或使用逻辑非测试单个表达式)
[ ! expression ] #逻辑非,如果expression表达式为假,那么测试结果为真0
[ expression1 -a expression2 ] #逻辑与,若两个表达式同时为真,那么测试结果为真0
[ expression1 -o expression2 ] #逻辑或,若两个表达式中有一个是真,那么测试结果为真0
[ ! -e /etc ] #使用逻辑非,测试/etc目录不存在,(当然结果为假)
[ 15 -eq 20 -a -d /etc ] #使用逻辑与,测试两个表达式15 -eq 20 与-d /etc (当然结果为假)
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论