Bash 速查表#
1. Bash set 选项#
| 选项 | 说明 |
|---|---|
| -e | 在有错误时退出 |
| -n | 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 |
| -v | 一边执行脚本,一边将执行过的脚本命令打印到标准错误输出 |
| -x | 提供跟踪执行信息,将执行的每一条命令和结果依次打印出来 |
2. 条件判断#
2.1. 字符串#
| 条件 | 说明 |
|---|---|
[[ -z "$STR" ]] | 字符串为空 |
[[ -n "$STR" ]] | 字符串非空 |
[[ "$STR1" == "$STR2" ]] | 字符串相等 |
[[ "$STR1" != "$STR2" ]] | 字符串不相等 |
[[ "$STR1" == *"$STR2"* ]] | 字符串包含子字符串 |
2.2. 数字#
| 条件 | 说明 |
|---|---|
[[ NUM1 -eq NUM2 ]] | NUM1 等于 NUM2 |
[[ NUM1 -ne NUM2 ]] | NUM1 不等于 NUM2 |
[[ NUM1 -lt NUM2 ]] | NUM1 小于 NUM2 |
[[ NUM1 -le NUM2 ]] | NUM1 小于等于 NUM2 |
[[ NUM1 -gt NUM2 ]] | NUM1 大于 NUM2 |
[[ NUM1 -ge NUM2 ]] | NUM1 大于等于 NUM2 |
2.3. 文件#
| 条件 | 说明 |
|---|---|
[[ -f FILE ]] | 文件存在 |
[[ -d FILE ]] | 目录存在 |
[[ -e FILE ]] | 文件或目录存在 |
[[ -h FILE ]] | 文件是符号链接 |
[[ -r FILE ]] | 文件可读 |
[[ -w FILE ]] | 文件可写 |
[[ -x FILE ]] | 文件可执行 |
[[ -s FILE ]] | 文件尺寸大于 0 |
3. 位置参数#
| 变量 | 说明 |
|---|---|
$@ | 所有位置参数,每个参数作为独立的参数传递。 |
$* | 所有位置参数合并为一个单词,由 IFS 的第一个字符分隔(通常为空格)。 |
$# | 位置参数数量 |
4. 退出状态#
| 返回值 | 说明 |
|---|---|
| 0 | 成功 |
| 126 | 找到命令但不可执行 |
| 127 | 没有找到该命令 |
| 128+N | 被编号为 N 的信号终止 |