强曰为道

与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Bash 脚本编写教程

Bash 脚本编写教程

Shell 是运维工程师的瑞士军刀,也是开发者通往 Linux 内核的桥梁。

本教程共 20 章,从 Bash 的历史与基础讲起,逐步深入到正则表达式、进程管理、网络自动化、测试框架与设计模式,最终落脚于生产级最佳实践。每章均包含:

  • 📖 核心知识点与语法详解
  • 💻 可直接运行的代码示例
  • 📊 对比表格与速查表
  • ⚠️ 常见陷阱与注意事项
  • 🏢 真实业务场景
  • 📚 扩展阅读

📚 目录

章节标题核心内容
01入门与概览Bash 历史、Shell 类型、适用场景、与 Python 对比
02基础语法脚本结构、Shebang、变量、引号、命令替换
03变量深入变量类型、局部变量、环境变量、数组、关联数组
04运算符算术、比较、逻辑、字符串、文件测试、三元运算
05流程控制if/case/for/while/until/select/break/continue
06函数定义、参数、返回值、局部变量、递归、回调
07输入输出标准 IO、重定向、Here Document、管道、tee
08字符串操作切片、替换、匹配、长度、参数展开
09数组索引数组、关联数组、遍历、切片、多维模拟
10正则表达式BRE/ERE、匹配、替换、捕获组、条件匹配
11错误处理set -e、trap、信号处理、清理、退出码
12调试技术set -x、PS4、bashdb、ShellCheck、静态分析
13子 Shell 与进程进程替换、后台任务、wait/jobs、并行执行
14Here Document多行字符串、变量扩展、模板生成
15文本处理cut/tr/sort/uniq/join/paste/comm
16系统管理用户管理、服务管理、备份、cron 集成
17网络脚本curl/wget/ssh/端口检查、自动化部署
18测试bats/shunit2、断言、TDD、CI 集成
19设计模式配置管理、插件系统、日志框架、参数解析
20最佳实践ShellCheck、代码规范、性能优化、安全、可移植性

🎯 学习路线建议

入门阶段          进阶阶段            实战阶段
┌─────────┐    ┌──────────────┐    ┌──────────────┐
│ 01 入门  │    │ 08 字符串    │    │ 16 系统管理  │
│ 02 基础  │───▶│ 09 数组      │───▶│ 17 网络脚本  │
│ 03 变量  │    │ 10 正则      │    │ 18 测试      │
│ 04 运算符│    │ 11 错误处理  │    │ 19 设计模式  │
│ 05 流程  │    │ 12 调试      │    │ 20 最佳实践  │
│ 06 函数  │    │ 13 子 Shell  │    └──────────────┘
│ 07 IO    │    │ 14 HereDoc   │
└─────────┘    │ 15 文本处理  │
               └──────────────┘

🛠 环境要求

工具最低版本推荐版本用途
Bash4.0+5.2+关联数组、mapfile 等特性
ShellCheck0.7+0.9+静态分析
bats-core1.5+1.11+单元测试框架
GNU coreutils8.0+9.0+文本处理工具集
# 检查 Bash 版本
bash --version

# 检查 ShellCheck
shellcheck --version

# 安装 ShellCheck (Debian/Ubuntu)
sudo apt-get install shellcheck

# 安装 ShellCheck (macOS)
brew install shellcheck

💡 提示:建议在学习过程中亲手敲入每一段代码,而非复制粘贴。动手实践是掌握 Shell 编程的最佳方式。