it-swarm.it

Qual è il collegamento bash per passare alla directory precedente?

Purtroppo, ho appreso questo ultimo anno inciampando su di esso in modo casuale su Internet. Lo uso così raramente che dimentico sempre di cosa si tratta quando ne ho ancora bisogno.

Come si passa alla directory precedente?

80
hobodave

Il collegamento è -

Provare cd -

Se vuoi usarlo nel tuo Prompt, devi fare riferimento ad esso con ~-.

Vedi l'esempio:

[[email protected] ~]$ cd /tmp
[[email protected] tmp]$ ls
cron.iddS32  serverauth.CfIgeXuvka
[[email protected] tmp]$ cd -
/home/echox
[[email protected] ~]$ ls ~-
cron.iddS32  serverauth.CfIgeXuvka
110
echox

Potresti anche voler guardare pushd e popd, che creano una pila di directory per ricordare dove ti trovavi.

Usare, pushd <directory> cambia in <directory> e salva la directory precedente. Per tornare a questa directory salvata, utilizzare popd.

22
Rich Homolka

Secondo la risposta di @echox, puoi effettivamente utilizzare cd - come pagina man per bash spiega:

Quando a viene usato come operando, questo deve essere equivalente al comando:

                cd "$OLDPWD" && pwd

che passa alla directory di lavoro precedente e quindi scrive il suo nome.

Notare che la directory modificata in viene emessa dal pwd intrinseco in cd -. Potresti non volere quell'output in uno script. Ecco dove l'alternativa diventa utile: basta farlo

cd "$OLDPWD"

e hai finito!

3
starfry