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ář?
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
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
.
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!