使用 EOF 发送变量并使用主机变量

使用 EOF 发送变量并使用主机变量

我想将变量从源发送到主机,并执行主机脚本。这是我的代码:

var1=1
ssh -p 42 root@xxx /bin/bash << EOF
  var2=2
  echo $var1
  echo $var2
EOF

返回 :1

var1=1
ssh -p 42 root@xxx /bin/bash << \EOF
  var2=2
  echo $var1
  echo $var2
EOF

返回 :2

如何返回:

1
2

答案1

您希望本地 shell 扩展,$var1但远程 shell 扩展$var2

var1=1
ssh -p 42 root@xxx /bin/bash << EOF    # un-quoted/escaped
  var2=2
  echo $var1
  echo \$var2
EOF

相关内容