テストを流したら、普段の tmux が落ちて端末の窓が全部閉じた。/tmp のファイルが消えた。止めたはずのプロセスが残った。後片付けのコードが手元を壊す・ゴミを残す 4 つの穴と、途中で止めて確かめる方法を解説する。
テストもCIも緑なのに、壊れた実装がそのまま通っていた。順序を入れ替えた実装、0件の確認、落ちたsetup、本物に届く偽物、skipしたjob。筆者が1週間で踏んだ穴と、わざと壊してredになるかを見る確かめ方を解説する。
端末では動くスクリプトが、Claude CodeなどのAIエージェントから叩くと返ってこない。原因は端末が無いこと、人間向けの設定、pkill -f、zsh。5分止まった実例と、人間向けの設定をopt-inにする方法を解説する。
cronやCIで回すbashが、ある日exit 141で落ちる。テストの失敗を数えない。evalで意図しないコマンドが走る。二重起動でファイルを壊す。筆者が踏んだ4つの罠と、どう直したかをbash 5.3の実行結果つきで解説する。
set -eを書いたのに、失敗したコマンドの後もスクリプトが進む。|| で呼んだ関数、コマンド置換、local付き代入、&&で終わる関数など、止まらない場面と直し方をbash 5.3の実行結果つきで解説する。