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