`exec "$@"`は何をしますか?

`exec

私は最近多くのスクリプトでこれを見ましたが、docker-entrypoint.shオンラインで説明が見つかりませんでした。私の最初の考えは、これが信号に関連しているということでしたが、それはかなりとんでもない推測でした。

ベストアンサー1

この"$@"ビットは、単語の区切りやファイル名の生成(「ワイルドカード」)を防ぐために、個別に引用された場所引数のリスト(通常はコマンドライン引数)に展開されます。

exec現在のプロセスをその引数を実行して生成されたプロセスに置き換えます。

つまり、exec "$@"コマンドライン引数によって提供されたコマンドは、現在のプロセスが置き換えられた状態で実行されます(execコマンドが実行できる場合)。

おすすめ記事