Eu usaria um arquivo para cada host contendo as variáveis, vamos chamá-lo de host1.cfg
, copiá-lo no início do script e source
it:
rsync user@server:/path/to/host1.cfg .
source host1.cfg
Isso substituirá qualquer host1.cfg
existente no host, para que as atualizações no arquivo do servidor sejam aplicadas na próxima execução. Esteja avisado de que source
executará qualquer comando que host1.cfg
contenha sem misericórdia. Certifique-se de que não pode ser alterado por ninguém, especialmente se você executar o script no host como root. Para abordagens alternativas e talvez mais seguras (dependendo da sua configuração), consulte: Como leio uma variável de um arquivo?
Eu gosto de rsync
, mas você também pode usar scp
, wget
ou curl
para a tarefa. Se você não precisa de uma cópia local, você pode usar (graças a glenn jackman ):
source <(ssh user@server "cat /path/to/host1.cfg")