Hay pushd y popd
Bash mantendrá un historial de los directorios que visite, solo tiene que pedírselo. Bash almacena el historial en una pila y usa los comandos pushd y popd para administrar la pila.
Más para leer
Ejemplo:
$ pwd; pushd /tmp; pwd; popd; pwd
/home/me
/tmp ~
/tmp
~
/home/me
Llamando a bash inicia una nueva subcapa, que tiene su propia entrada; ninguno de los otros comandos se ejecutará hasta que salga. Rodear los comandos que se ejecutarán con paréntesis también iniciará una nueva subcapa, pero ejecutará los comandos dentro de ella.
( cd dir ; ./dostuff )
Si no necesita múltiples niveles de historial de directorios, también puede hacer:
cd foo
# do your stuff in foo
cd -
Comparado con pushd /popd , esto tiene la desventaja de que si cd foo falla, terminas en el directorio equivocado con cd - .
(Probablemente cd - es más útil fuera de los scripts. "Volvamos a donde estaba".)