$ 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.