Cuando ejecuto mi programa de forma interactiva, funciona bien:
ssh somehost
$ ~/some/path/somescript.py
Cuando ejecuto mi programa sobre ssh directamente, no funciona. La variable PYTHONPATH
no está establecida porque .bashrc
no tiene su origen.
ssh somehost ~/some/path/somescript.py
Si corro ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py'
, funciona bien.
Pero esto último no funcionaría para otras personas, por ejemplo, usar tcsh y no tener ninguno ~/.bashrc
).
¿Cuál es el comando para ejecutar una cosa a través de ssh en otro host que funciona para todos los shells?
bash
, luego de TI fuentes .bash_profile
o .profile
para un inicio de sesión interactivo, y .bashrc
para un inicio de sesión no interactiva. Si su shell de inicio de sesión se invoca bash como sh
o ash o ksh, .profile
busca un inicio de sesión interactivo y nada para un inicio de sesión no interactivo.