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".)