Как я могу получить поведение при использовании popd
, фактически не выталкивая последний каталог из стека? Другими словами, я хочу вернуться к последнему каталогу, который я установил с помощью pushd
, но я хочу, чтобы он оставался на вершине стека, поэтому следующий popd
перенесет меня в тот же каталог (который все равно снова на вершине стека).
Как насчет: cd "$(dirs -l -p | sed -n '2{p;q}')"
Если я правильно понял, вы можете pushd .
сразу после popd
, так что каталог pop
будет снова помещен в верхнюю часть стека.
pushd без аргументов меняет две верхние записи в стеке, что позволяет вам эффективно переходить между ними.
Начиная с d1, выполнение pushd d2 добавляет d1 и d2 в стек и оставляет вас в d2. Выполните pushd снова без аргументов, и вы вернетесь в d1 с d1 и d2, обращенными в стеке.