Wenn ich mein Programm interaktiv starte, funktioniert es einwandfrei:
ssh somehost
$ ~/some/path/somescript.py
Wenn ich mein Programm direkt über ssh starte, funktioniert es nicht. Die Variable PYTHONPATH
ist nicht gesetzt, da .bashrc
keine Quelle vorhanden ist.
ssh somehost ~/some/path/somescript.py
Wenn ich renne ssh somehost 'source ~/.bashrc; ~/some/path/somescript.py'
, funktioniert es gut.
Letzteres würde aber für einige andere Leute nicht funktionieren, zB mit tcsh und ohne a ~/.bashrc
).
Was ist der Befehl, um eine Sache über ssh auf einem anderen Host auszuführen, der für alle Shells funktioniert?
bash
, wird sie als Quelle .bash_profile
oder .profile
für ein interaktives Login und .bashrc
für ein nicht interaktives Login verwendet. Wenn Ihre Anmeldeshell mit bash as sh
oder ash oder ksh aufgerufen wird , wird .profile
eine interaktive Anmeldung und eine nicht interaktive Anmeldung als Quelle verwendet .