缺什么补什么:别把Shell当命令行补丁
很多做后端、运维或测试的同行,平时敲命令挺溜,但一到写脚本就卡壳:变量加不加引号、循环怎么退出、文件描述符到底指向谁,全靠搜片段试错。这门课解决的正是“会敲命令但写不出可用脚本”的能力缺口。它不带你绕大而全的自动化运维架构,而是把基础语法、程序结构和文本处理工具拆成最小可验证单元,让你搞清楚每条语句在内核和进程层面到底做了什么。课程适合已经熟悉Linux基本操作、能完成日常增删改查,但没法独立写出百行以上结构化脚本的学习者。如果你连cd和grep都要现查,建议先补Linux基础再看这课。门槛其实不高,但必须带着真实痛点来学,别指望光靠听课就能把语感刻进脑子里。
建议先看哪几块:按数据流向搭骨架
别按目录从头顺到尾,建议先抓变量、测试与分支这三块。变量那节务必弄清默认值替换和引号转义规则,这是后续所有参数传递的根基;测试命令test是分支结构的判定核心,看完必须能分清字符串比较与数值比较的运算符差异,否则写出来的判断永远对不上预期。接着跳到正则与grep,这是文本过滤的抓手,配合循环结构就能处理多行数据。文件描述符和函数可以放后面看,前者涉及重定向底层逻辑,后者是代码复用的封装手段。脚本编写技巧那节虽短,但讲的是排错习惯,别跳过。资料包里的示例脚本不要直接跑,先注释掉关键行,自己补全逻辑再对比运行结果,这样比干看视频有效得多。遇到卡壳的语法点,立刻回到终端手动敲一遍,观察输出差异。
学完能做什么:脱离复制粘贴的独立运维
看完应能回答几个硬问题:如何用test判断文件存在且可执行?for和while分别适合什么数据源?怎么用grep配合正则提取日志中的报错时间戳?学完不是让你去搞分布式调度,而是能独立写出批量清理过期日志、按规则重命名文件、解析配置参数并执行备份的实用脚本。配套练习建议分两步:先把视频里的示例拆成单行命令在终端手动执行,确认每步输出符合预期;再尝试修改判断条件,比如把检查目录是否存在改成检查磁盘占用是否超阈值。资料用法上,把示例当成填空题而不是标准答案,自己动手改写逻辑分支,用调试模式查看变量实际取值,这才是查漏补缺的正确姿势。补齐这些基础,你才真正具备把重复劳动自动化的底气。
课程目录
1-1 [Shell基础知识] Shell脚本快速热身 (34:26) 1-2 [Shell基础知识] Shell脚本中的变量 (01:03:22) 1-3 [Shell基础知识] 使用特殊符号 (01:19:47) 1-4 [Shell基础知识] 文件描述符 (34:28) 1-5 [Shell基础知识] 正则表达式与grep (37:30) 2-1 [Shell程序结构] 测试命令test (38:50) 2-2 [Shell程序结构] shell分支结构 (44:20) 2-3 [Shell程序结构] shell循环结构 (45:36) 2-4 [Shell程序结构] Shell中的函数 (36:14) 2-5 [Shell程序结构] Shell脚本编写技巧 (09:42)





