Wie hier beschrieben können Sie
verwendenssh -t [email protected] bash --noprofile
Tatsächlich brauchen Sie, wie @JoL vorschlägt, nicht einmal den --noprofile
, denn wenn ssh bash nur als einen weiteren Befehl ausführt, wird es nicht als Login-Shell betrachtet. Ausführen von ssh -t [email protected] bash
liest nur die RC-Dateien; und Ausführen von ssh -t [email protected] bash --norc
werden nicht einmal die lesen.
Versuchen Sie es mit SSH und führen Sie sh
aus statt bash
, z. B.
ssh [email protected] sh
Dann umbenennen (mv
) oder bearbeiten Sie die defekte Datei (ex/vi
).
Führen Sie ssh -t host vi .bash_profile
aus (oder den Editor Ihrer Wahl anstelle von vi
) und reparieren Sie Ihr .bash_profile
.
(Die -t
Option ist möglicherweise nicht erforderlich, je nachdem, welchen Editor Sie wählen.)
Wenn Sie genau wissen, was behoben werden muss, können Sie es möglicherweise nicht interaktiv beheben. Zum Beispiel so etwas wie
printf 's/exec foo/. foo/\nwq\n' ssh host ed .bash_profile