$ pwd; pushd /tmp; pwd; popd; pwd
/home/users/foo
/tmp ~
/tmp
~
/home/users/foo
Bash will keep a history of the directories you visit, you just have to ask. Bash stores the history in a stack and uses the commands pushd and popd to manage the stack.
Se você não precisa de vários níveis de histórico de diretório, também pode fazer:
cd foo
# do your stuff in foo
cd -
Em comparação com pushd / popd , isso tem a desvantagem de que, se cd foo falhar, você acabará no diretório errado com cd - .
(Provavelmente cd - é mais útil fora dos scripts. "Vamos voltar onde eu estava")
Veja Use o pushd e o popd para manipular a pilha de diretórios para obter mais ajuda.