Невозможно понять пользу автопушда Zsh
У меня в.zshrc
setopt autopushd
Это делает CD действует как pushd. Это означает, что у нас нет стека вообще. Когда я использовал его, я вообще не использовал стек, так как он удаляет стек из меня.
Я не уверен, в чем выгода autopushd.
В чем преимущество autopushd?
2 ответа
pushd похож на cd, но он также помещает ваш текущий каталог в стек. Возможно, вы находитесь в каталоге / some / deep /, а затем вам нужно немного покопаться в / var / www:
crb@server /some/deep/directory $ pushd /var/www/
/var/www /some/deep/directory
crb@server /var/www $ [do some stuff]
crb@server /var/www $ popd
/some/deep/directory
crb@server /some/deep/directory $
autopushd означает, что даже если вы наберете "cd", вы получите эффект от ввода "pushd", который вы не помните, что хотели использовать, пока не подумаете "чувак", я действительно хотел бы вернуться туда, где я был раньше ". Затем вы можете вернуться к истории каталогов.
Полезно знать, что вы всегда можете перейти в каталог, в котором вы находились до этого (в отличие от родительского каталога), набрав "cd -".
Вот еще одна хорошая рецензия.
Править Зачем использовать pushd, когда вы можете использовать cd -?
cd /foo/bar
cd /baz
cd /somewhere/else
cd - доставит вас только к /baz. pushd вернет вас туда, где вы были до того, как набрали 'cd / foo / bar'.
Стек каталогов особенно полезен в сценариях, где вы не можете просто просмотреть историю команд и распознать имя каталога, в котором вы находились:
pushd /var/foo
# run a command, which might well change your PWD at the end of its execution - especially if it fails
popd
Теперь вы гарантированно будете в / var / foo.
Опция AUTO_PUSHD позволяет вам использовать cd для возврата в любой каталог, в который вы когда-либо переходили по cd. Без этой опции вы сможете вернуться только в предыдущий каталог, в который вы перешли, но с этой опцией вы можете использовать что-то вродеcd -5
чтобы вернуться в пятый каталог, который вы посетили.