Você deseja que seu shell local expanda $var1
, mas o shell remoto expanda $var2
:
var1=1
ssh -p 42 root@xxx /bin/bash << EOF # un-quoted/escaped
var2=2
echo $var1
echo \$var2
EOF
Eu quero enviar variável de origem para host e exec script de host. Aqui está o meu código:
var1=1
ssh -p 42 root@xxx /bin/bash << EOF
var2=2
echo $var1
echo $var2
EOF
Retornar: 1
var1=1
ssh -p 42 root@xxx /bin/bash << \EOF
var2=2
echo $var1
echo $var2
EOF
Retornar: 2
Como retornar:
1
2
?
Tags ssh shell quoting variable here-document