【发布时间】:2021-10-01 23:36:18
【问题描述】:
在终端的 Bash 中,不可能运行以和 & 结尾的命令(被发送到后台),然后是另一个命令(显然它们之间有一个 ;)。这是为什么?为什么你不能运行任何带有&; 或$ ; 的东西?
我正在尝试重新创建 502 错误并尝试对测试服务器中的特定页面进行 DoS。我试图运行这个:
while true; do curl -s https://some.site.com/someImage.jpg > /dev/null &; echo blah ; done
作为终端中的“单线”。但是,我收到了这个错误:
-bash: 意外标记 `;' 附近的语法错误
但是,这些命令是单独运行的,当我不在后台运行 curl 命令时,它也可以作为循环运行。当它编写一个单行脚本时,它也可以工作,“/tmp/curlBack.sh”只包含
curl -s https://some.site.com/someImage.jpg > /dev/null &
然后运行
while true; do bash /tmp/curlBack.sh ; echo blah ; done
为什么会出现此错误,如何解决?
【问题讨论】:
-
@RuudHelderman,据我所见。我想知道为什么会发生这种情况,而不是如何解决它。 PalaceChan问的是怎么做。他们得到的答案分别不是为什么会发生这种情况,而是如何解决它。这些问题确实非常相关,但并不完全相同。
标签: bash