数值比较
数字比较
比较 | 描述 |
---|---|
n1 -eq n2 | n1是否与n2相等 |
n1 -ge n2 | n1是否大于或等于n2 |
n1 -gt n2 | n1是否大于n2 |
n1 -le n2 | n1是否小于或等于n2 |
n1 -lt n2 | n1是否小于n2 |
n1 -ne n2 | n1是否不等于n2 |
字符串比较
比较 | 描述 |
---|---|
str1 = str2 | str1和str2相同 |
str1 != str2 | str1和str2不相等 |
n1 -gt n2 | n1是否大于n2 |
str1 < str2 | str1是否比str2小 |
str1 > str2 | str1是否比str2大 |
-n str1 | str1的长度是否非0 |
-z str1 | str1的长度是否为0 |
文件比较
文件比较
比较 | 描述 |
---|---|
-d file | file是否存在并是一个目录 |
-e file | file是否存在 |
-f file | file是否存在并是个文件 |
-r file | file是否存在并可读 |
str1 > str2 | str1是否比str2大 |
-s file | file是否存在并非空 |
-w file | file是否存在并可写 |
-x file | file是否存在并可执行 |
-O file | file是否存在并属当前用户所有 |
-G file | file是否存在并且默认组与当前用户相同 |
file1 -nt file2 | file1是否比file2新 |
file1 -ot file2 | file1是否比file2旧 |
for命令
修改分割符
分割符设置 | 描述 |
---|---|
IFS=$'\n' | 设置换行符为分隔符 |
IFS=$'\n:;"' | 设置换行符、冒号、分好、双引号为分隔符 |
while命令
continue命令
case命令
创建函数
bash shell会把函数当做小型脚本,运行结束时会返回一个退出状态码,用$?判断程序的运行状态。
状态码 | 描述 |
---|---|
0 | 命令成功结束 |
1 | 通用未知错误 |
2 | 误用shell命令 |
126 | 命令不可执行 |
特殊参数变量
运行:
特别注意:“$”变量会将所有参数当做单个参数,“$@”会单独处理每个参数;而$变量和$@变量均会将所有参数当做单个参数。