单分支结构
if [];then
fi两分支结构
if [];then
else
fi多分支结构
if [];then
elif[];then
elif[];then
else
fi文件比较
| 参数 | 说明 | 示例 |
|---|---|---|
| -e | 如果文件或者目录存在则为真 | [-e file] |
| -s | 如果文件存在且至少有一个字符则为真 | [-s file] |
| -d | 如果文件存在且为目录则为真 | [-d file] |
| -f | 如果文件存在且为普通文件则为真 | [-f file] |
| -r | 如果文件存在且可读则为真 | [-r file] |
| -w | 如果文件存在且可写则为真 | [-w file] |
| -x | 如果文件存在且可执行则为真 | [-x file] |
整数比较
| 参数 | 说明 | 示例 |
|---|---|---|
| -eq | 等于且条件为真 | [1 -eq 10] |
| -ne | 不等于则条件为真 | [1 -ne 10] |
| -gt | 大雨则条件为真 | [1 -gt 10] |
| -lt | 小于则条件为真 | [1 -lt 10] |
| -ge | 大于等于则条件为真 | [1 -ge 10] |
| -le | 小于等于则条件为真 | [1 -le 10] |
字符串比较
| 参数 | 说明 | 示例 |
|---|---|---|
| == | 等于则条件为真 | ["$a"=="$b"] |
| != | 不等于则条件为真 | ["$a"!="$b"] |
| -z | 字符串长度为零则为真 | [-z "$a"] |
| -n | 字符串长度不为空则为真 | [-n "$a"] |
| str1>str2 | Str1>str2为真 | [str1>str2] |
| str1<str2 | Str1<str2为真 | [str1<str2] |
正则比较
1.单括号不支持正则比较
[ "$USER" =~ ^r ]; echo $?
输出:1
2.双中括号才可以使用正则比较
[[ "$USER" =~ ^r ]]; echo $?
输出:0原文:https://www.cnblogs.com/codeBang/p/12046125.html