No zsh, há uma opção auto_pushd
. Essa opção faz com que cd
se comporte como pushd
. Então você pode usar apenas popd
para voltar aos diretórios anteriores.
~ $ setopt auto_pushd
~ $ cd /
/ $ cd /var
/var $ cd /usr
/usr $ dirs
/usr /var / ~
/usr $ popd
/var $ popd
/ $ popd
~ $
No Bash, você pode alias cd
to pushd
.
alias cd=pushd
A única desvantagem disso é que você perderá três bandeiras de cd
. Na entrada de ajuda cd
:
-L force symbolic links to be followed
-P use the physical directory structure without following symbolic links
-e if the -P option is supplied, and the current working directory cannot be determined successfully, exit with a non-zero status
Se você tiver que usar o cd
embutido real em vez do alias, você pode usar um destes:
-
'cd'
- Citando o comando faz com que o shell não resolva o alias e use o comando cd normal. -
\cd
- barras invertidas entre aspas. Se você citar um caractere de uma palavra, o shell trata toda a palavra como citada. -
builtin cd
- Isso diz diretamente ao shell para usar o builtin em vez do alias.