第 11 章 构建基础脚本¶
约 179 个字 49 行代码 1 张图片 预计阅读时间 2 分钟
Shebang + 权限 + 变量 + 重定向 + 管道 + 算术 + 退出码。
11.1 脚本结构¶
Bash
#!/usr/bin/env bash # 推荐:env 找 bash 路径
set -euo pipefail # 严格模式(生产脚本建议)
IFS=$'\n\t' # 可选:收紧字段分隔
# 注释
command1
command2
11.1.1 引号规则¶
| 引号 | 变量/命令替换 | 转义 |
|---|---|---|
| 无 | 展开 | 部分字符 |
'...' |
**不**展开 | 字面量 |
"..." |
展开 | \\ \" $ |
11.2 输出与变量¶
Bash
echo "Hello"
echo -n "no newline"
echo -e "line1\nline2"
name=Rich # 等号无空格
echo $name
echo ${name} # 推荐花括号
readonly var # 只读
unset var
环境变量:$HOME $PATH;脚本内 export VAR=val。
命令替换:
11.3 重定向¶
Bash
cmd > file # stdout 覆盖
cmd >> file # stdout 追加
cmd 2> file # stderr
cmd 2>&1 # stderr 指向 stdout
cmd &> file # stdout+stderr
cmd < file # 输入重定向
cmd << EOF # Here 文档
text
EOF
11.4 管道¶
11.5 算术¶
Bash
expr 5 + 3 # 注意空格
result=$(expr 5 \* 3)
$((5 + 3))
$(( $var1 + $var2 ))
var=$((5 * 3))
# 浮点
bc <<< "scale=4; 10/3"
echo "scale=2; $var" | bc
11.6 退出状态¶
逻辑组合: