我正在尝试编写一个脚本来登录多个远程服务器并在每个服务器中执行一个脚本。但是,我想通过 ssh 传递一个变量。像这样的东西:
var="/home/dir/"
ssh -T $mchname <<'ENDSSH'
$var"run_script" < input > output &
ENDSSH
这种天真的尝试不起作用($var 只是 null)。什么是正确的语法?提前致谢。
删除周围的引号ENDSSH
。它们防止此处文档中的变量扩展。
尝试这个:
var="/home/dir/"
ssh -T $mchname VAR=$var 'bash -s'<<'ENDSSH'
$VAR"run_script" < input > output &
ENDSSH