我尝试使用bash脚本运行节点服务器的多个实例。我参数化节点,以便我可以在每个周期更改端口,但似乎我无法正常运行它。这就是我写的(并没有开始任何事情)。它看起来很丑陋,我对打字脚本非常陌生。
#!/bin/bash
#iterate input times and start server
COUNT=$1
TIMEOUT=$2
PORT=3000
while [ $COUNT -gt 0 ]; do
A="node server.js "
B=PORT
C=" "
D=TIMEOUT
CMD=$A$B$C$D
$CMD
let PORT=PORT+10
let COUNT=COUNT-1
done
TIMEOUT
只是我传递给服务器实例的另一个变量。
任何人都可以指出我做错了什么吗?非常感谢,如果脚本看起来很难看,那就很抱歉。
答案 0 :(得分:3)
TIMEOUT=$2
for((count=$1,port=3000;count>0;--count,port+=10)); do
node server.js $port $TIMEOUT &
done
你有太多遗失$
- 迹象。
答案 1 :(得分:1)
你基本上想要启动一个新线程,否则执行将等待你的命令退出的进程。要做到这一点,只需附加'& '到命令,即
...
$CMD &
...