Quando executo meu programa interativamente, ele funciona bem:
ssh somehost
$ ~/some/path/somescript.py
Quando executo meu programa diretamente no ssh, ele não funciona. A variável PYTHONPATH
não está definida, porque .bashrc
não é originada.
ssh somehost ~/some/path/somescript.py
Se eu correr ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py'
, funciona bem.
Mas o último não funcionaria para outras pessoas, por exemplo, usando o tcsh e não tendo um ~/.bashrc
).
Qual é o comando para executar uma coisa via ssh em outro host que funcione para todos os shells?
bash
, ele origina .bash_profile
ou .profile
para um logon interativo e .bashrc
para um logon não interativo. Se o seu shell de login for chamado bash como sh
ou ash ou ksh, ele cria .profile
um logon interativo e nada para um logon não interativo.