revenir à l'emplacement précédent après la commande 'cd'?
4 réponses
, Vous pouvez simplement faire
cd -
qui vous ramènera à votre emplacement précédent.
certains shells vous permettent d'utiliser les commandes pushdir/popdir, consultez ce site . Vous pouvez également trouver ce ainsi question utile.
si vous exécutez dans un script, vous pouvez également exécuter une partie du script dans un sous-processus, qui aura une valeur privée de $PWD.
# do some work in the base directory, eg. echoing $PWD
echo $PWD
# Run some other command inside subshell
( cd ./new_directory; echo $PWD )
# You are back in the original directory here:
echo $PWD
cela a ses avantages et inconvénients... il isole bien le répertoire, mais les sous-processus de reproduction peuvent être coûteux si vous le faites souvent. (EDIT: comme @Norman Gray le souligne ci - dessous, la pénalité de performance du frai du sous-processus n'est probablement pas très chère par rapport à tout le reste est qui se passe dans le reste du script )
pour des raisons de maintenabilité, j'utilise généralement cette approche à moins que je puisse prouver que le script tourne lentement à cause de cela.
vous pouvez echo PWD dans une variable et le cd retour à cette variable. Il peut être plus calme.
une Autre alternative est un petit ensemble de fonctions que vous pouvez ajouter à votre .bashrc qui vous permettent d'aller dans les répertoires nommés:
# cd /some/horribly/long/path
# save spud
# cd /some/other/horrible/path
# save green
...
# go spud
/some/horribly/long/path
ceci est documenté à un outil de productivité de navigation de répertoire , mais implique essentiellement l'économie de la sortie de "pwd" dans le mnemonics nommé ("spud "et" vert") dans le cas ci-dessus, puis cd'ING au contenu des fichiers.