第 4 章 · Shell 脚本编程 如果说第 3 章是"在命令行上驾驶汽车",本章就是"把驾驶动作编程自动化"。Shell 脚本是把零散命令固化为可复用程序的关键技能:从 shebang 与变量讲起,经条件、循环、函数三大语法模块,到 12 道经典练习与 set -e、bash -x、bats 三层工程化手段,最终目标是写出"能交付、敢上生产"的脚本。 解剖坐标 学习目标 完成本章后,你将能够: 用 shebang、变量、位置参数与命令替换写出规范的脚本骨架 用 if/case 做分支、for/while 做循环、函数做复用,处理交互输入 分清 $@ 与 $、双引号与单引号、$() 与 $(( )) 的语义边界 独立完成 12
如果说第 3 章是"在命令行上驾驶汽车",本章就是"把驾驶动作编程自动化"。Shell 脚本是把零散命令固化为可复用程序的关键技能:从 shebang 与变量讲起,经条件、循环、函数三大语法模块,到 12 道经典练习与 set -e、bash -x、bats 三层工程化手段,最终目标是写出"能交付、敢上生产"的脚本。
完成本章后,你将能够:
从 shebang 讲起,覆盖变量定义与引用、引号规则、命令替换、位置参数与特殊变量(0/$1/?/$/#)、@ 与 * 的区别、算术运算与子串提取,构建脚本的"词法层"。
if/[[ ]] 条件判断与正则匹配、for/while 循环、函数与 local 局部变量、case 分支、read 交互输入,以及进程替换与三元表达式两个进阶技巧,构建脚本的"语法层"。
把题库中的 12 个练习按难度分组讲解(入门三连 → 算术与条件 → 循环与输入 → 函数与分支 → 杂项进阶),再讲 set -e 防御、bash -x 调试、常见坑清单与 bats 自动化测试。