Quando eseguo il mio programma in modo interattivo, funziona benissimo:
ssh somehost
$ ~/some/path/somescript.py
Quando eseguo il mio programma direttamente su ssh, non funziona. La variabile PYTHONPATH
non è impostata, perché .bashrc
non proviene.
ssh somehost ~/some/path/somescript.py
Se corro ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py'
, funziona benissimo.
Ma quest'ultimo non funzionerebbe per altre persone, ad esempio usando tcsh e non avendo ~/.bashrc
affatto).
Qual è il comando per eseguire una cosa tramite ssh su un altro host che funziona per tutte le shell?
bash
, allora esso fonti .bash_profile
o .profile
per un accesso interattivo, e .bashrc
per un account di accesso non interattivo. Se la shell di accesso viene invocata bash come sh
o ash o ksh, si genera .profile
un accesso interattivo e nulla per un accesso non interattivo.