2017-05-31 45 views
1

for循环里面工作,我需要执行与号不是在shell脚本

node simulator.js 1 & 
node simulator.js 2 & 
node simulator.js 3 & 
node simulator.js 4 & 
node simulator.js 5 & 
... 
node simulator.js 10 & 

所以,我想出来的shell脚本的for循环要做到这一点,但我得到这个错误。

[email protected]$ for i in {1..10}; do node simulator.js "${i}" &; done 
bash: syntax error near unexpected token `;' 

我对Shell脚本来说很新,可能是一个很小的东西,有人可以帮忙弄清楚吗?

UPDATE

问题与不与for循环, 其与&,错误仍然存​​在,即使我做

for i in {1..10}; do node simulator.js 1 &; done 

回答

1

问题是&后分号。

这应该工作

for i in {1..10}; do node simulator.js 1 & done 

这将拨叉10个shell进程。

+0

这很好,但是当我试图运行循环1000次,终端挂在420,并且一切都冻结,是否有任何限制?还是依赖于硬件? –

+0

我相信'ulimit -u'定义了**最大用户进程** – anubhava

+0

其实我的整个系统都是挂起来的,不确定是否会因ulimit而改变,但我会给它一个镜头。我不得不强制关闭我的系统,并重新启动,当我做了一个1000循环。这感觉就像这个过程花费了很多内存,不知道。 –