Wie kann ich das Verwendungsverhalten ermitteln, popd
ohne das letzte Verzeichnis vom Stapel zu entfernen? Mit anderen Worten, ich möchte zurück zum letzten Verzeichnis navigieren, mit dem ich festgelegt habe pushd
, aber ich möchte, dass es oben im Stapel popd
bleibt, damit das nächste Verzeichnis mich zu demselben Verzeichnis führt (das sich immer noch oben im Verzeichnis befindet) wieder stapeln).
command-line
bash
directory
navigation
Freedom_Ben
quelle
quelle
cd -
funktioniert, aber nur, wenn Siecd
nirgendwo anders sind, bis Sie dazu bereit sindpopd
. NormalerweiseAntworten:
Wie wäre es mit:
cd "$(dirs -l -p | sed -n '2{p;q}')"
quelle
peekd
(Art von C ++ STL-ish und einfach für mich zu erinnern), so kann ich nur geben ,peekd
das Verhalten zu bekommen.alias peekd='cd "$(dirs -l -p | sed -n '\''2{p;q}'\'')"'
cd "$(dirs +1)"
<my directory>
mit einer Tilde? In meinem obigen Kommentar fehlte die-l
Option, das vollständige Verzeichnis aufzulisten, anstatt die~
Abkürzung zu verwenden. Es sollte seincd "(dirs -l +1)"
pushd ohne Argumente tauscht die beiden obersten Einträge auf dem Stapel aus, sodass Sie effektiv zwischen ihnen hin- und herschalten können.
Wenn Sie in d1 beginnen, führen Sie pushd aus. D2 fügt d1 und d2 zum Stapel hinzu und belässt Sie in d2. Führen Sie pushd erneut ohne Argumente aus, und Sie befinden sich wieder in d1, wobei d1 und d2 auf dem Stapel umgekehrt sind.
quelle
Wenn ich es richtig verstanden habe, könnten Sie
pushd .
gleich danachpopd
daspop
ed-Verzeichnis wieder oben auf dem Stapel platzieren.quelle