通过bash脚本编写多个远程SSH

时间:2011-09-14 00:50:39

标签: bash ssh

大家好,

我正在尝试在一台主机上运行服务器,并且同时运行3个不同主机上的3个客户端(在后台运行)。

我制作了一个bash脚本来做到这一点。问题是脚本当前不等待客户端完成:它按顺序在每个主机上进行ssh。我想让3台主机并行运行。

以下是代码:

#!/bin/bash
i="0"
dir="~/bin/"

while [ $i -lt 3 ]
do
  let number=10+$i
  ssh sshost$number 'cd $dir && java Main &' 
  let i=$i+1
done

我正在尝试ssh到3个不同的主机(每次迭代时数字都会被更改),然后转到目录并输入java Main。我唯一的问题是它不会并行执行,我无法弄清楚如何修复它。

我将不胜感激。

非常感谢。

1 个答案:

答案 0 :(得分:0)

使ssh命令在后台运行:

ssh sshost$number 'cd $dir && java Main &' &

您可以在while循环之外调用wait