0個または1個の数値引数を使用して終了します。たとえば、exit
「exit 42
exit」を印刷してシェルを終了します。
exit hello
exitは、エラーメッセージの印刷、「exit」の印刷、シェルの終了、値255の戻りなどの無効な引数を使用します。
たとえば、パイプの終了はexit | cat | exit
「exit」を印刷せず、コマンドの戻り値は使用しているbashのバージョンによって異なります。これはシェルを終了しません。
exit 1 2 3
exitは、エラーメッセージを印刷する、「exit」を印刷するがシェルを終了しないなど、いくつかのパラメータを使用します。
これは時々 bash が実際に終了せずに「出口」を印刷することを意味し、これは非常に混乱する可能性があります。これはバグですか、それとも何らかの理由で意味がありますか?
答え1
Bash は、非ログインシェルを終了しようとすると「exit」を印刷し、ログインシェルを終了しようとすると「logout」(またはそのロケールの対応する言語)を印刷します。したがって、このメッセージを印刷することは、ユーザーの観点から2つのケースを正確に区別するためのものだと思います(リモートシステムのsshセッションからログアウトしてローカルシステムに戻るときにシステムにテキストメッセージが表示されない場合は、この情報が役に立つ可能性があります。あります)。ホスト名を含みます)。
exit 1 2 3
bashが "exit"を印刷するが終了しない(代わりにエラーメッセージを印刷する)状況()後ろに私は「出口」を印刷することがデザインエラーと見なされるべきだと思います。exit
引数を解析し、「終了」または「ログアウト」が印刷される前にオプションのエラーメッセージを印刷する必要があります。後者は、引数の確認が成功した場合にのみ印刷する必要があります。これが混乱していると思われる場合は、バグを報告できます。