(Este é o RHEL 8.4, se for importante.)
Os echo
comandos nas linhas 5 e 7 deste script são executados no host local, mas os hostname
comandos nas linhas 6 e 8 são executados no host remoto conforme o esperado.
Por que as linhas 5 e 7 são executadas no host local? Mais importante, como faço para executá-los no host remoto?
EDIT: não quero passar variáveis . Eu quero que as variáveis sejam definidas e usadas exclusivamente no servidor remoto.
1 #!/bin/bash
2 export foo=bar
3 ssh -q ${1} <<EOF
4 export foo=blarge
5 echo $foo
6 hostname
7 echo $foo
8 hostname
9 EOF
10 hostname
Use EOF citado:
Você não especificou qual shell você usa, mas,
man bash
por exemplo, diz: