我想做的是通过 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中的命令),所以我很困惑为什么该脚本不能与组命令一起使用。