我是 Linux 的新手。让我们想象这样的场景。我有 4 台不同的 Linux 机器,这 4 台机器有不同的脚本。从另一台机器,我想用同一个脚本连接到这 4 台不同的机器并在这些机器上运行脚本。
我在脑子里创造了这样一个方法。
但我不确定如何同时与 4 台不同的机器建立 ssh 连接。我认为在一台机器上完成后应该断开 ssh 连接。
您认为这样的事情会起作用吗或者我该怎么做才能使它起作用?
#!/bin/bash
variableA="$1"
SSHPASS='mypassforsshcon'
sshpass -p $SSHPASS ssh [email protected] /home/admin/1.sh $variableA
sshpass -p $SSHPASS ssh [email protected] /home/admin/2.sh $variableA
sshpass -p $SSHPASS ssh [email protected] /home/admin/3.sh $variableA
sshpass -p $SSHPASS ssh [email protected] /home/admin/4.sh $variableA
我将非常感谢您的帮助。
答案1
您可以尝试在后台运行它们,方法是&&
在每个命令末尾添加,这样它们就会同时执行(几乎)这样的操作
#!/bin/bash
variableA="$1"
SSHPASS='mypassforsshcon'
sshpass -p $SSHPASS ssh [email protected] /home/admin/1.sh $variableA &&
sshpass -p $SSHPASS ssh [email protected] /home/admin/2.sh $variableA &&
sshpass -p $SSHPASS ssh [email protected] /home/admin/3.sh $variableA &&
sshpass -p $SSHPASS ssh [email protected] /home/admin/4.sh $variableA &&