我想编写一个鱼脚本来在亚马逊服务器上运行Locust。我编写了如下代码,问题是当shell连接到第一台服务器时,它无法发送其他命令。
任何帮助,推荐都会受到赞赏。
set labs 'ubuntu@compute1.amazonaws.com' 'ubuntu@compute2.amazonaws.com' 'ubuntu@compute3.amazonaws.com' 'ubuntu@compute4.amazonaws.com'
set key /Users/mesutgunes/Desktop/project-key.pem
for lab in $labs
ssh -i $key $lab
cd /path/to/project/
screen
locust -f file.py --master
exit
end
答案 0 :(得分:1)
您需要将要运行的命令作为ssh命令的最终参数传递。
for lab in $labs
ssh -i $key $lab screen locust -f /path/to/project/file.py --master
end
在这种情况下我认为会很好。当远程命令更复杂时要小心,特别是如果它包含带引号的字符串,因为你可以得到一个正确的嵌套引号的晚餐!如果发生这种情况,您通常最好scp一个脚本,然后使用ssh运行它。