入门第 11 / 12 节25 分钟 · 实操
调试与最佳实践
Bash 课程的一部分
迟早有一天,你写的脚本会做出你没让它做的事。它删错了文件,跳过了你确信一定会跑的循环,或者一声不响地产出一个空结果。你一行一行读过去,觉得写得没毛病,可离答案还是一样远。问题几乎从来不是 Bash 坏了。问题在于 Bash 在执行之前会先把你的命令改写一遍,把变量和通配符 (glob) 展开,而你读的是自己敲进去的那一版,不是它真正执行的那一版。这一课会给你一个办法去看真正执行的那一版,一个不用运行就能挑出经典错误的工具,以及一小把能让这些错误从一开始就不发生的习惯。
设想你把一份菜谱交给厨师,而他动手之前会悄悄换掉几样食材。你读的是你那份菜谱,他做的是另一份,菜自然做砸了。跟踪执行就是要求这位厨师每一步动手之前,把换过食材之后的那一步大声念出来。Bash 自带这个能力:给任何脚本加上 -x 参数,它就会在执行每条命令之前先把它打印出来,变量和通配符都已经展开好了。 ...
你将学到什么
- Bash -x
- Set -x
- Shellcheck
- Safe quoting
- Never parse ls
- [[ vs [
- Function naming
用你的语言阅读本课
本课程的所有课时
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小时
