Da ist pushd
und popd
Bash führt eine Historie der von Ihnen besuchten Verzeichnisse, Sie müssen nur danach fragen. Bash speichert die Historie in einem Stack und verwendet die Befehle pushd und popd, um den Stack zu verwalten.
Mehr zu lesen
Beispiel:
$ pwd; pushd /tmp; pwd; popd; pwd
/home/me
/tmp ~
/tmp
~
/home/me
Anruf bash
startet eine neue Unterschale, die ihre eigene Eingabe hat; Keiner der anderen Befehle wird ausgeführt, bis er beendet wird. Wenn Sie die auszuführenden Befehle in Klammern setzen, wird auch eine neue Subshell gestartet, aber die darin enthaltenen Befehle werden ausgeführt.
( cd dir ; ./dostuff )
Wenn Sie nicht mehrere Ebenen des Verzeichnisverlaufs benötigen, können Sie auch Folgendes tun:
cd foo
# do your stuff in foo
cd -
Im Vergleich zu pushd
/popd
, hat dies den Nachteil, dass wenn cd foo
fehlschlägt, landen Sie im falschen Verzeichnis mit cd -
.
(Wahrscheinlich cd -
ist praktischer außerhalb von Skripten. "Lass uns dorthin zurückkehren, wo ich gerade war.")