<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_62653243的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_62653243</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_62653243]]></copyright><item><title><![CDATA[Shell 从入门到精通：保姆级教程(九)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/169269095</link><guid>https://blog.csdn.net/qq_62653243/article/details/169269095</guid><author>qq_62653243</author><pubDate>Tue, 27 Oct 2026 22:53:09 +0800</pubDate><description><![CDATA[vim 是交互式编辑，sed 是"一条命令改一万个文件"。awk 不只是命令，它是一门小型编程语言：有变量、数组、函数、流程控制。这是最经典的排序坑。是 GNU sed 的"步长"语法：从第 1 行开始，每隔 2 行匹配一次。G 单独用（不带地址）就是"每行后面加一个空行"，这是给文本加空行的标准做法。表示"按第 1、2 列组合去重"，因为已经按第 2 列排好序，重复行会相邻，先按第 1 列字符串升序，第 1 列相同的再按第 3 列数字降序。的含义：从第 2 列开始到第 2 列结束，按数值（n）排序。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(八)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/169140627</link><guid>https://blog.csdn.net/qq_62653243/article/details/169140627</guid><author>qq_62653243</author><pubDate>Mon, 26 Oct 2026 09:42:03 +0800</pubDate><description><![CDATA[前面几章我们一直在和命令的输出打交道，但输出到底去了哪里？掌握重定向与管道，是 Shell 从“会敲命令”走向“会组合命令”的关键一步。把 stderr 指向当前 stdout（屏幕/管道），再把 stdout 丢进黑洞 → 结果是只有错误进了管道。是一个特殊设备文件，写入的内容会被直接丢弃。💡 只关心退出状态、不关心输出时，这是标准写法。会被理解成“把 2 这个参数传给命令，再重定向标准输出”。出错时，输出重定向到文件了，错误还是打在屏幕上。把前一个命令的标准输出接到后一个命令的标准输入。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(七)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168942340</link><guid>https://blog.csdn.net/qq_62653243/article/details/168942340</guid><author>qq_62653243</author><pubDate>Sat, 24 Oct 2026 08:01:59 +0800</pubDate><description><![CDATA[定义[ function ] 函数名()命令[return 返回值]调用函数名 参数1 参数2 ...function关键字可省略，()不能省（也可以写成必须先定义后调用——Shell 逐行执行，函数只有在定义之后才存在；return只能返回 0—255 的整数，且必须紧跟数字；想返回字符串，用echo+ 命令替换。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(六)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168850554</link><guid>https://blog.csdn.net/qq_62653243/article/details/168850554</guid><author>qq_62653243</author><pubDate>Fri, 23 Oct 2026 09:44:00 +0800</pubDate><description><![CDATA[前面几章的脚本都是“一条道走到黑”：从上到下依次执行，不会拐弯，也不会回头。真实场景里，脚本需要根据条件走不同分支、需要重复做同一件事、需要在合适的时机跳出。⚠️ select 是死循环：输入空值或无效编号都不会退出，必须 break 或 Ctrl+D。这里判断的是 grep 的退出状态（找到返回 0，没找到返回 1），不是字符串比较。当分支多、且判断的是“某个值等于哪一个”时，case 比一堆 elif 清爽得多。是 select 的提示符，等待你输入编号。if 是所有分支语句的地基，先记住三种形态。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(五)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168740097</link><guid>https://blog.csdn.net/qq_62653243/article/details/168740097</guid><author>qq_62653243</author><pubDate>Thu, 22 Oct 2026 09:31:36 +0800</pubDate><description><![CDATA[本章围绕分支、循环、菜单与循环控制展开，覆盖 if、case、while、until、for、select 以及 break、continue、shift 等核心语法，并通过综合实战帮助你真正掌握流程控制的写法。用 (( )) 写条件时，变量前的 $ 可加可不加，运算符也不用转义，比 [ ] 干净得多。如果用户输入的是字母，(( score < 60 )) 会把 score 当 0 处理，直接判为"不及格"。if 判断的不是"真假值"，而是后面那条命令的退出状态：0 走 then，非 0 走 else。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(四)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168633564</link><guid>https://blog.csdn.net/qq_62653243/article/details/168633564</guid><author>qq_62653243</author><pubDate>Wed, 21 Oct 2026 09:25:55 +0800</pubDate><description><![CDATA[内置命令（builtin）：由 Bash 自身实现，相当于调用当前进程里的一个函数；外部命令：磁盘上的可执行文件，执行时要 fork 出一个新进程，还可能触发磁盘 I/O。用typetype cdtype lstype echo内置命令比外部命令快，因为它省掉了创建进程和上下文切换的开销。这也解释了为什么 echo、cd、read 这些高频命令都是内置的。命令作用命令作用alias定义命令别名read从标准输入读一行赋给变量unalias删除别名readonly定义只读变量。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(三)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168529462</link><guid>https://blog.csdn.net/qq_62653243/article/details/168529462</guid><author>qq_62653243</author><pubDate>Tue, 20 Oct 2026 09:26:09 +0800</pubDate><description><![CDATA[unset arr[2] 之后 ${#arr[@]} 会变成 3，但 ${arr[3]} 仍然是原来的第 3 个元素。看起来没问题，但一旦进入命令参数或 [ ] 判断就会出事：没有引号时，Shell 会按空格把字符串拆成多个词（word splitting）。星号 * 的位置表示"通配的部分"，#*chars 是"chars 左边全删"，%chars* 是"chars 右边全删"。普通数组下标是数字，关联数组下标是字符串，适合存配置、统计结果。关联数组不能用数字下标取元素，${user[0]} 是空的。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程(二)]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168423154</link><guid>https://blog.csdn.net/qq_62653243/article/details/168423154</guid><author>qq_62653243</author><pubDate>Mon, 19 Oct 2026 09:55:26 +0800</pubDate><description><![CDATA[局部变量只在一个脚本文件（或一个 Shell 会话）里有效。只能由字母、数字、下划线组成，且不能以数字开头；等号两边不能有空格（a = 1 会被当成命令 a 加两个参数）；Bash 中变量默认都是字符串类型，不能直接做数值运算；值里含空格必须用引号包起来；不能用 Shell 关键字（if、for、then 等）作变量名。/bin/bashname="播仔"age=18播仔 18$var_name # 直接引用${var_name} # 花括号引用（推荐）/bin/bash。]]></description><category></category></item><item><title><![CDATA[Shell 从入门到精通：保姆级教程（一）]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168345886</link><guid>https://blog.csdn.net/qq_62653243/article/details/168345886</guid><author>qq_62653243</author><pubDate>Sun, 18 Oct 2026 22:50:53 +0800</pubDate><description><![CDATA[Shell 里有变量、有数组、有函数、有 if/for/while、有运算符、有返回值。当这门语言写成文本文件、由 Shell 批量执行时，这个文件就叫 Shell 脚本（Shell Script），也叫 Shell 程序。是 Shell 内置命令，作用是把后面跟的内容输出到标准输出（默认是屏幕），并在末尾自动加一个换行。用 4 个空格（不要 Tab），if/for/while 的代码块统一缩进，这是可维护性的底线。，会把文件原有内容清空，两者区别在第 8 章详讲，但现在就要养成"想清楚用哪个"的习惯。]]></description><category></category></item><item><title><![CDATA[Chrome 插件开发实战指南：从入门到发布]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168249524</link><guid>https://blog.csdn.net/qq_62653243/article/details/168249524</guid><author>qq_62653243</author><pubDate>Sat, 17 Oct 2026 21:30:50 +0800</pubDate><description><![CDATA[本文从环境搭建到实战案例，再到发布上架，完整覆盖了 Chrome 插件开发的核心链路。建议读者先跟着前两个实战案例动手实现，再结合自己的业务场景扩展功能。持续迭代和参考官方文档，是提升插件开发水平最有效的路径。]]></description><category></category></item><item><title><![CDATA[DeepSeek Harness 开源贡献手记：从零到合入主线的完整旅程]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168145808</link><guid>https://blog.csdn.net/qq_62653243/article/details/168145808</guid><author>qq_62653243</author><pubDate>Fri, 16 Oct 2026 23:35:50 +0800</pubDate><description><![CDATA[回顾整段开源贡献旅程，强调持续参与开源的意义，并鼓励读者迈出第一步。]]></description><category></category></item><item><title><![CDATA[CSDN + AI：程序员的新生产力]]></title><link>https://blog.csdn.net/qq_62653243/article/details/168031199</link><guid>https://blog.csdn.net/qq_62653243/article/details/168031199</guid><author>qq_62653243</author><pubDate>Thu, 15 Oct 2026 22:51:02 +0800</pubDate><description><![CDATA[CSDN 与 AI 的结合，正在为程序员打开一扇新的效率之门。未来，随着模型能力的持续提升和社区内容的不断积累，这一组合有望在代码生成、知识服务和技术协作等方向释放更大价值。程序员应当主动拥抱这一变化，把 AI 转化为自身成长和产出提升的加速器。]]></description><category></category></item><item><title><![CDATA[Codex 下载与本地部署实战：从安装到运行完整指南]]></title><link>https://blog.csdn.net/qq_62653243/article/details/167921130</link><guid>https://blog.csdn.net/qq_62653243/article/details/167921130</guid><author>qq_62653243</author><pubDate>Wed, 14 Oct 2026 22:08:27 +0800</pubDate><description><![CDATA[回顾本文的核心步骤，并给出进一步学习 Codex 高级用法与自动化集成的建议。]]></description><category></category></item><item><title><![CDATA[用 Claude Code 重构遗留系统：从评估到落地的完整指南]]></title><link>https://blog.csdn.net/qq_62653243/article/details/167780694</link><guid>https://blog.csdn.net/qq_62653243/article/details/167780694</guid><author>qq_62653243</author><pubDate>Tue, 13 Oct 2026 09:29:39 +0800</pubDate><description><![CDATA[回顾整个重构过程，总结哪些环节效率最高、哪些地方走了弯路，形成团队可复用的重构 checklist。用 Claude Code 重构遗留系统，本质上是把 AI 的理解能力和工程化的重构方法论结合起来。关键在于：先评估、再规划、小步走、勤验证。希望本文的框架能帮助你在实际项目中少走弯路，平稳完成遗留系统的现代化改造。]]></description><category></category></item></channel></rss>