入门第 10 / 12 节30 分钟 · 实操
错误处理与 trap
Bash 课程的一部分
到目前为止你写的每个脚本,都默认事情会顺顺利利。找不到文件的命令、不存在的目录、变量名里的一个拼写错误:按默认设置,Bash 对这些一律耸耸肩,照样接着跑下一行。你在提示符前随手试东西的时候,这样没什么问题;但对一个要安装软件、删除文件、配置服务器的脚本来说,这恰恰是最要命的行为,因为出错之后还一头往前冲,可能让局面比脚本压根没跑过还糟糕。这一课要讲的,就是那几个设置和命令,它们能把一个脚本从"应该没事吧"变成"一发现不对劲就停住,而且无论如何都会替自己收拾干净"。
想象一条流水线,每个工位往产品上装一个零件。管理得好的流水线,每个工位都接着一个急停按钮:只要某个工位发现零件有缺陷,整条线立刻就在那里停住,不让半成品从另一头流出去。而 Bash 在默认设置下,就是一条没有急停按钮的流水线。如果脚本跑到一半有条命令失败了,Bash 毫不在意,它会接着跑下一行,就像什么都没发生过。 ...
想在真实环境里学习 Bash 错误处理与 trap 吗?
点击下方,立即获得一台预装 Bash 的 Linux 主机,跟懂你代码的 AI 导师一起完成 错误处理与 trap 的实操练习。
开始这节课错误处理与 trap你将学到什么
- Set -e
- Set -u
- Set -o pipefail
- Trap on EXIT
- Trap on ERR
- Cleanup functions
用你的语言阅读本课
本课程的所有课时
12 节探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
