Что такое ярлык bash для перехода в предыдущий каталог?

76

К сожалению, я узнал об этом только в прошлом году, случайно наткнувшись на него в Интернете. Я использую его так редко, что всегда забываю, что это такое, когда мне снова это нужно.

Как вы переходите на свой предыдущий каталог?

hobodave
источник

Ответы:

105

Ярлык -

Пытаться cd -

Если вы хотите использовать это в своем приглашении, вы должны обратиться к нему с помощью ~-.

Смотрите пример:

[echox@kaffeesatz ~]$ cd /tmp
[echox@kaffeesatz tmp]$ ls
cron.iddS32  serverauth.CfIgeXuvka
[echox@kaffeesatz tmp]$ cd -
/home/echox
[echox@kaffeesatz ~]$ ls ~-
cron.iddS32  serverauth.CfIgeXuvka
echox
источник
19

Вы также можете захотеть взглянуть на pushdи popd, которые создают стек каталогов, чтобы запомнить, где вы были.

Чтобы использовать, pushd <directory>изменяет <directory>и сохраняет предыдущий каталог. Чтобы вернуться в этот сохраненный каталог, используйте popd.

Рич Гомолка
источник
2

Согласно ответу @echox, вы действительно можете использовать в cd -качестве справочной страницы для bashобъяснения:

Когда a используется в качестве операнда, это должно быть эквивалентно команде:

                cd "$OLDPWD" && pwd

который изменяется на предыдущий рабочий каталог, а затем записывает его имя.

Обратите внимание, что измененный каталог выводится встроенным pwdв cd -. Вы можете не захотеть этот вывод в сценарии. Вот где альтернатива становится полезной - просто сделай

cd "$OLDPWD"

и вы сделали!

starfry
источник