脚本来SSH到实例和启动节点app.js

我试图ssh到2个服务器一个接一个,并运行以下命令:

sudo node app.js 

这是我的代码:

 #!/bin/bash while read line; do ssh -i "sshtest.pem" ec2-user@$line "sudo node app.js" done < ips.txt 

执行sudo节点app.js后,控制权不会转移到循环中的下一个ip。 有人能指出我能做些什么来改善吗?

尝试退出您的SSH后:

 #!/bin/bash COMMAND="sudo node app.js && exit" PEM="sshtest.pem" USER="ec2-user" IN="ips.txt" while read LINE; do ssh -i $PEM $USER@$LINE $COMMAND done < $IN 

如果您不想阻止,请为每个ssh添加背景:

 #!/bin/bash COMMAND="sudo node app.js && exit" PEM="sshtest.pem" USER="ec2-user" IN="ips.txt" while read LINE; do ssh -i $PEM $USER@$LINE $COMMAND & done < $IN 

你会遇到的最大的问题是与sudo 。 不得不提升权限将需要您input密码。 这可能有助于您重新devise您的方法。