SSH-Anmeldung: Automatisch zum zuletzt besuchten Verzeichnis gehen?

SSH-Anmeldung: Automatisch zum zuletzt besuchten Verzeichnis gehen?

Während meiner Multitasking-Tage werde ich manchmal aus dem einen oder anderen Grund (Leerlauf-Timeouts usw.) aus einer SSH-Sitzung gebootet, während ich an einer anderen Aufgabe arbeite. Wenn ich zum Terminal zurückkehre, befinde ich mich wieder auf dem lokalen Host und muss per SSH eine Verbindung zum Server herstellen. Sobald ich wieder auf dem Server bin, befinde ich mich ~standardmäßig immer in meinem Home-Verzeichnis und muss zurück zu dem Verzeichnis navigieren, in dem ich zuletzt war (wenn ich mich daran erinnern kann), um weiterarbeiten zu können.

Ist es möglich, beim Anmelden automatisch zum letzten Verzeichnis zurückzukehren, in dem ich gearbeitet habe?

Ich dachte, eine Homebrew-Lösung würde ein Aliasing cdzum Ändern von Verzeichnissen sein, aber auch das Speichern dieses Verzeichnisses in einer Umgebungsvariablen und dann das Wechseln zu diesem Verzeichnis in meinem .bash_profile.

Aber gibt es eine derartige Funktionalität bereits in Linux?

Antwort1

Anstatt das cdPersistenzproblem zu lösen, sollten Sie Lösungen zum Fortsetzen Ihrer Shell-Sitzung in Betracht ziehen.

  • tmux
    • Führen Sie es in SSH aus, tmuxum eine neue Sitzung zu starten
    • Wenn die Verbindung getrennt ist, melden Sie sich erneut per SSH an und führen Sie den Befehl aus, tmux attachum die Sitzung fortzusetzen
    • Innerhalb einer tmuxSitzung können Sie drücken CtrlBund dann Dtrennen
  • screen
    • Führen Sie es in SSH aus, screenum eine neue Sitzung zu starten
    • Wenn die Verbindung getrennt ist, melden Sie sich erneut per SSH an und führen Sie den Befehl aus, screen -rum die Sitzung fortzusetzen
    • Innerhalb einer screenSitzung können Sie drücken CtrlAund dann Dtrennen
  • mosh
    • moshist ein SSH-Ersatz, der über UDP läuft und resistent gegenüber Netzwerkstörungen ist

Antwort2

Sie brauchen keine Drittanbieter-Software oder -Apps, nutzen Sie einfach das integrierte Linux

  1. Weisen Sie beim Abmelden $PWD (letztes Verzeichnis) vor dem Abmelden einer temporären Variable zu:

echo $PWD >~/letztesVerzeichnis

  1. Führen Sie beim Anmelden einen CD-Wechsler für das Verzeichnis unter ~/.bash_profile aus:

cd $(<~/letztesVerzeichnis)

Antwort3

  1. Kann die folgende Anweisung an ~/.bash_logout anhängen

    echo `pwd` >~/.lastdir
    
  2. (wie @isaac-Zhao vorgeschlagen hat) fügen Sie Folgendes zu ~/.bash_profile hinzu

    cd $(<~/.lastdir)
    

verwandte Informationen