测试及特殊变量
退出状态:
状态值 | 含义 |
0 | 表示运行成功 |
1-125 | 表示运行失败,脚本命令,系统命令错误或参数传递错误 |
126 | 找到命令但是无法执行 |
127 | 未找到要运行的命令 |
>128 | 命令被系统强行结束 |
测试命令: echo $?
测试脚本是否有语法错误:
bash -n 脚本
脚本单独执行:
bash -x 脚本
文件测试:
-e FILE:测试文件是否存在
-f FILE:测试文件是否为普通文件
-d FILE :测试指定路径是否为目录
-r FILE:测试是否是进程可读文件
-s FILE:测试长度是否不为零
-w FILE:测试进程文件是否可写
-x FILE:测试进程文件是否可执行
-L FILE:测试file是否符号化链接
字符串的测试:
string:测试字符串是否不为空
-n string:测试string是否不为空
-z string:测试string是否为空
string1 = string2:俩个字符串是否相等
string != string2:两字符串是否不等
注意:等号左右两端有空格,否则会被认做赋值
脚本:测试两个字符串是否相等
1 #!/bin/bash
2
3
4 if [ "suizhong" == "suiiao" ]
5 then
6 echo "same"
7 else
8 echo "no same"
9 fi
~