Envie variável com EOF e use a variável do host [duplicate]

2

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

?

    
por Mathieu Lescaudron 01.09.2017 / 17:44

1 resposta

3

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
    
por 01.09.2017 / 18:06