exec
コマンドは、現在のシェルプロセスを新しいコマンドで置き換えるために使用されます。このコマンドを実行すると、元のシェルは終了し、新しいコマンドがそのプロセスを引き継ぎます。
基本的な構文は以下の通りです。
exec [オプション] [コマンド] [引数]
-a
: 指定した名前でコマンドを実行します。-l
: ログインシェルとしてコマンドを実行します。-p
: 環境変数を引き継がずにコマンドを実行します。以下にいくつかの実用的な例を示します。
exec ls -l
このコマンドを実行すると、現在のシェルは終了し、ls -l
コマンドが実行されます。
exec -p env
このコマンドは、環境変数を引き継がずに env
コマンドを実行します。
exec -l bash
このコマンドは、現在のシェルをログインシェルとして新しい bash
シェルに置き換えます。
exec
コマンドを使用する際は、元のシェルが終了するため、注意して使用してください。exec
を使用することで、スクリプトの最後に新しいプロセスを実行し、メモリの使用を最適化できます。exec
を使って実行するコマンドは、シェルの代わりにそのコマンドが実行されるため、シェルの機能を必要としない場合に特に有用です。