ログインに使用するかなり複雑なスクリプトがあります。
`/Users/tinosino/.profile`
シェルスクリプト言語: Bash
問題を見つけた場合にバグ修正をリクエストする以外に、ログイン スクリプトを変更することはできません。
最近ログインするたびに、これを実行すると:
echo $?
すぐに、私は得る:
1
スクリプトで何かが失敗しています。
エラーの原因を特定するにはどうすればよいですか? そのエラー コードを返す正確な行は? 特定の終了コードを「トラップ」し、トラップをオンにして.profile
、その時点でスクリプトを中止することは可能ですか?
-x を指定して Bash を実行することは知っていますが、出力は完全に圧倒されます: 複雑なスクリプト、数千行。
- どういうわけかそれを「停止」して、
1
返されたときに制御できるようにすることはできますか? - 代わり
$?
に、終了コードが表示されるように、犯人のコマンドラインを表示することはできますか?
を見てhistory
、$HISTFILE
あまり役に立ちませんでした。複雑すぎる。
この種のエラーをトラップすることは、将来的には「一般的に役立つ」ことさえあると思います。たぶん他のユーザーにも?