it-swarm-eu.dev

Jaká je zkratka pro bash pro přechod na předchozí adresář?

Je smutné, že jsem se o tom dozvěděl teprve loni náhodným zakopnutím na internetu. Používám to tak zřídka, že vždy, když to znovu potřebuji, vždycky zapomenu, co to je.

Jak změníte předchozí adresář?

80
hobodave

Zkratka je -

Snaž se cd -

Pokud ji chcete použít ve svém řádku, musíte na ni odkazovat pomocí ~-.

Viz příklad:

[[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

Můžete se také podívat na pushd a popd, které vytvářejí hromadu adresářů, které si pamatují, kde jste byli.

Použít, pushd <directory> se změní na <directory> a uloží předchozí adresář. Chcete-li se vrátit zpět do tohoto uloženého adresáře, použijte popd.

22
Rich Homolka

Podle odpovědi @echox můžete opravdu použít cd - jako manuálová stránka pro bash vysvětluje:

Pokud je jako operand použit a, musí to být ekvivalentní příkazu:

                cd "$OLDPWD" && pwd

který se změní na předchozí pracovní adresář a poté zapíše jeho název.

Všimněte si, že změněný adresář je vydán inherentním pwd in cd -. Možná nebudete chtít, aby výstup ve skriptu. To je místo, kde se alternativa stane užitečnou - prostě ano

cd "$OLDPWD"

a máte hotovo!

3
starfry