Como adicionar uma pasta a um PATH de hosts remotos usando um script de shell?

0

Gostaria de automatizar o processo de sincronização de uma pasta local ~/bin para um host remoto e adicionar essa pasta ao caminho do meu shell remoto. Eu tenho a parte de sincronização feita, mas não tenho certeza de como automatizar a adição da pasta ao $PATH do meu shell remoto.

Dessa forma, eu poderia sempre trabalhar em meus shell scripts em minha máquina local, e se eu tivesse que me conectar a uma nova máquina e começar a trabalhar nela, eu poderia simplesmente executar um script local para sincronizar minha pasta ~ / bin máquina remota e, em seguida, executar scripts no host remoto facilmente o tempo todo.

Então, como posso garantir que meu caminho ~/bin seja adicionado ao $PATH do host remoto, então da próxima vez que eu fizer login, o $PATH está definido corretamente?

Eu gostaria que isso fosse feito automaticamente no meu shell script.

EDIT: Eu prefiro não sincronizar um .bashrc , mas acrescentar a um arquivo existente, se necessário, adicionando algo ao final usando um script de shell.

    
por Brad Parks 26.08.2015 / 17:59

1 resposta

2

Uma abordagem que funcionaria é apenas anexar ao final do bashrc em vez de sincronizá-lo.

echo "PATH=\$PATH:~/bin" >> ~/.bashrc

Isto irá adicionar ~ / bin na variável PATH.

Para obter isso em um host remoto, você só precisa chamar o ssh primeiro. Você pode usar um loop for se tiver muitos hosts.

for host in host1 host2 host3;do
    ssh user@$host echo "PATH=\$PATH:~/bin" >> ~/.bashrc
done
    
por 26.08.2015 / 18:26