「自分のPCでは動くのに」

あるエンジニアがスクリプトを書いた。
cat ./config/settings.json
プロジェクトディレクトリから実行。問題なく動く。本番にデプロイして、ビルドも成功…なのにアプリが落ちた。エラーログにはたった一行。
No such file or directory。
原因は、サーバー上ではスクリプトが別のディレクトリから実行されていたこと。./config/settings.json は「今いる場所」が正しくないと機能しない。cd ひとつでパスが壊れる。
これが相対パスの罠。だからベテランのエンジニアはスクリプトや自動化では絶対パスを使います。相対パスは手作業のナビゲーションには便利だけど、スクリプトはあなたのように「自分がどこにいるか」を知らない。
どちらのパスをいつ使うか。その判断ができることが、ターミナルを「使える」と「わかっている」の違いになる。
