单分支结构
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