プログラムを対話形式で実行すると、問題なく動作します。
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
、対話型ログインのソースとなり、非対話型ログインのソースはありません。