我试图从命令行运行很多次,但是我无法在后台启动进程,因为bash将其视为语法错误。
for f in `seq 20`; do ./a.out&; done //incorrect syntax for bash near '&'
我怎样才能放置&在命令行上,以便bash不会抱怨,我被允许 在后台运行这些进程,以便我可以在系统上生成负载。
P.S:我不想把它分成多行。
答案 0 :(得分:3)
这有效:
for f in `seq 20`; do ./a.out& done
&
终止命令,就像;
或&&
,||
,|
一样。
这意味着bash需要&
和;
之间的命令,但找不到命令。因此错误。
答案 1 :(得分:1)
&
是命令终止符以及;
;不要同时使用。
并使用bash语法而不是使用seq,这在所有Unix系统上都不可用。
for f in {1..20} ; do ./a.out& done
答案 2 :(得分:1)
删除;
之后的a.out
:
for f in `seq 20`; do ./a.out& done
答案 3 :(得分:0)
将其分成多行或删除;在&
之后