exec $SHELL -l は何をしますか?

exec $SHELL -l は何をしますか?

いくつかの異なるシェルスクリプトでこのコマンドを見たことがあります。

exec $SHELL -l

...しばしば次の代替として使用されます。

source ~/.profile

何をしますかexec $SHELL -l

ベストアンサー1

execコマンドは、現在のプロセスイメージ(実行ファイルまたはプログラム)を新しいプロセスイメージ(execという引数)に置き換えます。 $ SHELLに実行可能ファイル名が含まれている場合(通常はそうです)、execは実行中のシェルの代わりにexeを起動します。

ただし、これは「source」を使用してコマンドファイルを読み取るのとはまったく異なります。 source コマンドは指定されたファイルを読み取り、内容を 1 行ずつ実行します。現在のシェルのコマンドラインに入力するのと同じです。

おすすめ記事