我想将变量从源发送到主机,并执行主机脚本。这是我的代码:
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