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 PYTHONPATHnon è impostata, perché .bashrcnon 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 ~/.bashrcaffatto).
Qual è il comando per eseguire una cosa tramite ssh su un altro host che funziona per tutte le shell?
bash, allora esso fonti .bash_profileo .profileper un accesso interattivo, e .bashrcper un account di accesso non interattivo. Se la shell di accesso viene invocata bash come sho ash o ksh, si genera .profileun accesso interattivo e nulla per un accesso non interattivo.