ssh 中的多个组命令

ssh 中的多个组命令

我想做的是通过 ssh 进入服务器 A,并行运行多个组命令,退出并进入服务器 B 并重复等等。

echo "Entered node21" 
ssh -T node21 << EOF 
{
{ sh run_0.sh ; sh run_216.sh ; } &
{ sh run_1.sh ; sh run_217.sh ; } &
{ sh run_2.sh ; sh run_218.sh ; } &
} &>/dev/null 2>&1 
EOF
echo "Entered node22" 
ssh -T node22 << EOF 
{
{ sh run_24.sh ; sh run_240.sh ; } &
{ sh run_25.sh ; sh run_241.sh ; } &
{ sh run_26.sh ; sh run_242.sh ; } &
} &>/dev/null 2>&1 
EOF

但是,我的脚本在进入第一个服务器(node21)后停止,并且似乎无限期地等待。我已经编写了一个适用于单个命令的类似脚本。

ssh -T node21 << EOF 
{
sh run_0.sh & 
sh run_1.sh & 
} &>/dev/null 2>&1 
EOF
echo "node22"
ssh -T node22 << EOF 
{
sh run_12.sh & 
sh run_13.sh & 
} &>/dev/null 2>&1 
EOF

这个工作正常(即它进出node21并运行node22中的命令),所以我很困惑为什么该脚本不能与组命令一起使用。

相关内容