In können ~/.ssh/config
Sie die LocalCommand
Anweisung verwenden, um einen lokalen Befehl auszuführen, wenn Sie über SSH eine Verbindung zu einem Remotecomputer herstellen. Aber wie führe ich einen Befehl , wenn ich verlassen eine SSH - Verbindung? Es scheint, dass * .bashrc / .bash_profile * -Dateien nicht bezogen werden, wenn die Verbindung beendet oder geschlossen wird.
9
Antworten:
In der Frage wird nicht angegeben, ob dies auf dem lokalen oder Remote-Computer ausgeführt werden soll. Es ist auch nicht angegeben, welche Shell auf beiden Computern vorhanden ist, daher gehe ich von
bash
beiden aus.Wenn Sie es auf dem Remotecomputer ausführen möchten, sehen Sie sich an
~/.bash_logout
, was ausgeführt wird, wenn sich eine Anmeldeshell ordnungsgemäß abmeldet. Vonman bash
:Sie können einen Test durchführen
~/.bash_logout
, um zu überprüfen, ob es sich bei der abgemeldeten Shell um eine SSH-Sitzung handelt. Folgendes sollte funktionieren:Wenn Sie es auf dem lokalen Computer ausführen möchten, erstellen Sie einen Funktionsumbruch
ssh
. So etwas sollte funktionieren:Das mag für Ihre Bedürfnisse zu einfach sein, aber Sie haben die Idee.
quelle
Du bist auf dem richtigen Weg. Wenn es sich bei der
ssh
Sitzung um eine Anmeldeshell handelt (anstelle eines Remote-Befehls),bash
wird die Quelle erstellt/etc/bash.logout
und~/.bash_logout
wenn Sie die Shell verlassen.Wenn Sie einen Remote-Befehl ausführen möchten, können Sie
bash
eine Anmeldeshell erzwingen . DasLocalCommand
könnte ähnlich sein:Von
man 1 bash
quelle