$@とexecの奇妙な動作

$@とexecの奇妙な動作

次の2つのコマンドがあります。

これは期待どおりに機能します。

bash -c '$@ 99<>/dev/tcp/0/9999' testname exec

これにより、プログラムが見つかりませんエラー99が返されます。

bash -c '$@<>/dev/tcp/0/9999' testname exec 99

"$ @"がパラメータをIFSの最初の文字(私の場合は空白)に関連付けることを確認しました。

これら2つのコマンドは同じ結果を生成しないのですか?

関連情報