linuxのexecコマンドは、bash自体からコマンドを実行するために使用されます。 このコマンドは新しいプロセスを作成するのではなく、実行するコマンドでbashを置き換えるだけです。 Execコマンドが成功した場合、呼び出し元のプロセスには戻りません。
構文:
exec ]
オプション:
- c:空の環境でコマンドを実行するために使用されます。
- 名前:コマンドの0番目の引数として名前を渡すために使用されます。
- l:コマンドの0番目の引数としてダッシュを渡すために使用されます。注:execコマンドでは、新しいプロセスは作成されません。 端末からexecコマンドを実行すると、進行中の端末プロセスは、execコマンドの引数として提供されるコマンドに置き換えられます。
execコマンドは2つのモードで使用できます。
- Execコマンドを引数として指定します。最初のモードでは、execは残りの引数があればそのコマンドに渡し、リダイレクションがあればそれを管理するコマンドとして実行しようとします。
例1:
例2:
execコマンドは、executed PATH変数に記載されているパスを検索して、実行するコマンドを見つけます。 コマンドが見つからない場合、execコマンドとシェルはエラーで終了します。
- コマンドなしでExec:コマンドが指定されていない場合、リダイレクトを使用して現在のシェル環境を変更することができます。 これは、シェルのファイル記述子を希望に応じて変更できるので便利です。 プロセスは前の場合とは違ってexecコマンドの後でさえも続きますが、今標準入力、出力、およびエラーはリダイレクトに従って変更されます。
例:
ここで、execコマンドはシェルから標準をtmpファイルに変更するため、execコマンドの後に実行されたすべてのコマン これは、コマンドなしでexecを使用する最も一般的な方法の1つです。
記事タグ: - Execコマンドを引数として指定します。最初のモードでは、execは残りの引数があればそのコマンドに渡し、リダイレクションがあればそれを管理するコマンドとして実行しようとします。