Linux, コマンド · 1 min read · Sep 17, 2025

Linux exit コマンドの初心者向け解説 (例付き)

Linuxの初心者で、コマンドラインを通じて作業を行う場合、ターミナルウィンドウで多くの時間を過ごしていることは言うまでもありません。おそらく同意するでしょうが、ls、cp、rmのように非常に頻繁に使用するコマンドがあります。しかし、比較的使用頻度の低いコマンドもいくつかあります。このチュートリアルでは、そのようなあまり使用されないコマンドの1つであるExitについて説明します。

この記事で言及されているすべての例と指示は、Ubuntu 22.04で実行されているBashシェルでテストされています。

Linux exit コマンド

exitコマンドは、実行されたシェルを終了させることができます。

シェルウィンドウに複数のタブがある場合、このコマンドは実行されたタブを終了します。組み込みコマンドであるため、exitの専用のmanページは見つからない可能性が高いです。公式ドキュメントにアクセスするには、次のコマンドを実行してください:

help exit

私のシステムでは、上記のコマンドは次の出力を生成しました:

exit: exit [n]  
    シェルを終了します。  
     
    Nのステータスでシェルを終了します。Nが省略された場合、終了ステータスは  
    最後に実行されたコマンドのものになります。

さて、皆さんの中には、Nが必要な理由(またはむしろいつ必要か)を尋ねるかもしれません。実際、値 - これは基本的に終了ステータスです - は、コマンドがスクリプト(bashスクリプト)内から使用されるときに主に使用されます。場合によっては、この値は人間が読みやすいエラー、警告、または通知にマッピングされます。

また、上記のhelpコマンドの出力から明らかなように、値Nが明示的に指定されていない場合、最後に実行されたコマンドの終了ステータスがその値と見なされます。

簡単な例を見てみましょう:私が行ったのは、ユーザーアカウントを切り替えてルートシェルに入りました:

その後、exitコマンドを使用してシェルを終了しました。また、終了ステータス値として8を使用しました。

さて、親シェル(戻ったところ)で、次のコマンドを使用して終了ステータスを確認しました:

echo $?

ですので、ルートシェルでexitコマンドに渡されたのと同じステータス値が表示されます。このようにして、ステータスにアクセスし、意図したことを行うことができます。

さて、ここで別の例を示します。ルートシェルから明示的に終了ステータスを渡さなかったのですが、親シェルで問い合わせたところ、ルートシェルで実行された最後のコマンドの終了ステータスが返されました:

トラップの定義

必要であれば、シェルが終了するときにシステムに実行させたいアクションを定義することもできます。たとえば、終了時に1つまたは複数のファイルを削除したい場合があります。そのためには、トラップを設定する必要があります。次のように設定できます:

trap "ENTER-COMMAND-HERE" EXIT

したがって、終了時にシステムに実行させたいアクションは、上記の二重引用符内に対応するコマンドを指定する必要があります。たとえば、私は次のコマンドを使用しました:

trap "rm hypotheticalfile.txt" EXIT

実際、私のシステムにはそのようなファイルは存在しないため、exitコマンドが実行された後、シェルはこれに対してエラーを表示する必要があります。そして、実際にそうなりました - 下記を参照してください:

このようにして、exit時にトラップを設定できます。トラップに関する詳細情報は、次のコマンドを実行してください:

help trap

結論

exitコマンドに関しては、特にコマンドライン初心者の場合、学習曲線はそれほど急ではありません。そして、今ではこれに同意するでしょう。ですので、ここで話し合ったことをすぐに試してみて、exitコマンドを使用し始めてください(まだ使用していない場合)。疑問や質問がある場合は、下にコメントを残してください。teeコマンドについてはすでに知っていますか?知らない場合は、何に使われるのか確認してください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。