Когда я запускаю свою программу в интерактивном режиме, она работает нормально:
ssh somehost
$ ~/some/path/somescript.py
Когда я запускаю свою программу через ssh напрямую, она не работает. Переменная PYTHONPATHне установлена, потому что .bashrcне является источником.
ssh somehost ~/some/path/somescript.py
Если я бегу ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py', все работает нормально.
Но последний не будет работать для некоторых других людей, например, используя tcsh и вообще не имея ~/.bashrc).
Что команда для запуска вещей через SSH на другой хост , который работает для всех оболочек?
bash, тогда него источников .bash_profileили .profileдля интерактивного входа в систему , а также .bashrcдля неинтерактивного входа в систему . Если ваша оболочка входа в систему bash вызывается как shили ash или ksh, то она используется .profileдля интерактивного входа и ничего для неинтерактивного входа.