テストを流したら、普段の tmux が落ちて端末の窓が全部閉じた。/tmp のファイルが消えた。止めたはずのプロセスが残った。後片付けのコードが手元を壊す・ゴミを残す 4 つの穴と、途中で止めて確かめる方法を解説する。
自作のブランチ一覧が触っていないブランチを「4コミット先」と出す。原因はfetchで更新されないorigin/HEAD。比較先の選び方、派生元をmerge-baseで推定した判断、config --listをgrepしない理由を解説する。
端末では動くスクリプトが、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の実行結果つきで解説する。