Коли я інтерактивно запускаю свою програму, вона працює чудово:
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 викликана як shash або ksh, вона джерела .profileдля інтерактивного входу і нічого для неінтерактивного входу.