Wie schiebt man bei Verwendung von popd das aktuelle Verzeichnis auf den Stapel?

Wie schiebt man bei Verwendung von popd das aktuelle Verzeichnis auf den Stapel?

popdWie schiebt man bei Verwendung das aktuelle Verzeichnis auf den Stapel?

Antwort1

$ pwd; pushd /tmp; pwd; popd; pwd
/home/users/foo
/tmp ~
/tmp
~
/home/users/foo

Bash speichert einen Verlauf der von Ihnen besuchten Verzeichnisse. Sie müssen nur danach fragen. Bash speichert den Verlauf in einem Stapel und verwendet die Befehle pushd und popd, um den Stapel zu verwalten.

Wenn Sie nicht mehrere Ebenen des Verzeichnisverlaufs benötigen, können Sie auch Folgendes tun:

cd foo
# do your stuff in foo
cd -

Dies hat gegenüber pushd/ popdden Nachteil cd foo, dass man im Fehlerfall mit im falschen Verzeichnis landet cd -.

(Ist außerhalb von Skripten wahrscheinlich cd -praktischer. „Lass uns dorthin zurückgehen, wo ich gerade war.“)

SehenVerwenden Sie pushd und popd, um den Verzeichnisstapel zu bearbeitenfür weitere Hilfe.

Antwort2

Es sollte nur

[$]> pushd .

NEIN?

Antwort3

pushd -n $(pwd)

fügt das aktuelle Verzeichnis $(pwd)zum Stapel hinzu, ohne das Verzeichnis zu ändern.

Aus help pushdBash:

Optionen:

-n Unterdrückt den normalen Verzeichniswechsel beim Hinzufügen von Verzeichnissen zum Stapel, sodass nur der Stapel manipuliert wird.

verwandte Informationen