Ch.02 - 01. Bash 语法速查表
1. Bash 参数
选项 | 说明 |
---|---|
-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. 参数
变量 | 说明 |
---|---|
$@ | 所有变量(分割的字符串) |
$* | 所有变量(独立的字符串) |
$# | 变量数量 |
4. 退出状态
返回值 | 说明 |
---|---|
0 | 成功 |
126 | 找到命令但不可执行 |
127 | 没有找到该命令 |
128+N | 被编号为 N 的信号终止 |