$@ 和 exec 的奇怪行为

$@ 和 exec 的奇怪行为

我有这两个命令:

这按预期运行:

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

这将返回未找到程序 99 的错误:

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

我已经验证“$@”将参数与 IFS 中的第一个字符连接起来,在我的例子中是空格。

这两个命令不应该生成相同的结果吗?

相关内容