Bash 在循环中使用ssh执行脚本
我正在尝试编写一个脚本,其中我有一个循环,可以登录到多个远程机器,并在每台机器内执行一个脚本。以下是一个例子:Bash 在循环中使用ssh执行脚本,bash,ssh,Bash,Ssh,我正在尝试编写一个脚本,其中我有一个循环,可以登录到多个远程机器,并在每台机器内执行一个脚本。以下是一个例子: for ((j=1; j < 2; j++)); do mchname="n"$j ssh -T $mchname <<'ENDSSH' ./run_script < input > output & ENDSSH done ((j=1;j
for ((j=1; j < 2; j++)); do
mchname="n"$j
ssh -T $mchname <<'ENDSSH'
./run_script < input > output &
ENDSSH
done
((j=1;j<2;j++)的for;做
mchname=“n”$j
ssh-T$mchname您的bash脚本中有一个问题。不能缩进herdoc end标记(脚本中的ENDSSH)
请尝试以下方法:
ssh -T $mchname <<'ENDSSH'
./run_script < input > output &
ENDSSH
# ^ no indentation for that line
ssh-T$mchname输出&'
当您给ssh
一个显式命令来运行时,
和-T
是默认值,因此ssh$mchname./run\u scriptoutput&'
。非常感谢!我决不会抓到那个!如果你使用'
ssh -T $mchname './run_script < input > output &'