模块资料|Shell 生产脚本
原图深度模块的结构化资料摘录,保留目标、知识、命令线索、风险、排障、练习与验收。它不是一张原子知识卡,也不是可直接执行的操作手册。
所属方向:自动化与 IaC。
目标
- 写出安全、可测试、可观测、幂等的运维脚本。
知识拆解
- strict mode 与未定义变量
- 引用/空格/通配符
- 退出码/信号/trap
- 临时文件与锁
- 幂等与 dry-run
- 结构化日志
命令 / 配置 / 关键对象
以下是原图中的命令名、缩写或配置对象,并非经校验的完整命令行;其中可能含写操作。执行前必须补齐版本、权限、目标和风险。
- set -Eeuo pipefail
- shellcheck/shfmt
- mktemp/flock
- trap
- getopts
- timeout
高频故障与风险
- 未引用变量误删
- 并发重复执行
- 管道错误被吞
- 临时文件泄漏
- 脚本无超时
排障路径
- 打印安全上下文但不泄密
- 检查退出码
- 最小输入重放
- shellcheck 静态分析
实战练习
- 写安全日志清理器
- 为脚本加入 dry-run/lock/timeout/tests
验收标准
- ShellCheck 通过
- 重复执行结果一致
- 错误时非零退出且可恢复
继续拆卡的规则
本页是资料入口。只在形成一个能独立解释、带依据与边界的认识后,提炼为 Concept;故障观察进入 Troubleshooting,满足诊断条件的处置进入 Runbook,真实事件进入 Incident。