Une astuce propose d'utiliser les commandes pushd/popd, mais il y a à mon sens plus pratique encore : les variables shell prédefinies. Ainsi, pour sauvegarder l'emplacement courant :
$ export ICI=$PWD
ensuite on peut se déplacer comme on veut, et pour revenir à son point de départ :
$ cd $ICI
Quand on en n'a plus besoin :
$ export ICI=
Pratique lorsqu'on est dans une arborescence assez lourde, et qu'on a besoin de faire plusieurs allers-retours pour, par exemple installer les packages (à partir des sources) manquants à celui qu'on voulait installer initialement.
Si le nom du répertoire en cours contient des espaces, la commande export donnée ci dessus ne fonctionnera pas... Pas de problèmes :
$ export ICI="$PWD"
fonctionne tout aussi bien.
# pushd / popd
Posté par Christophe ROMAIN (site web personnel) . Évalué à 2.
[^] # Re: pushd / popd
Posté par Christophe ROMAIN (site web personnel) . Évalué à 2.
[^] # Re: pushd / popd
Posté par Gyro Gearllose . Évalué à 1.
# Encore plus simple
Posté par vic (site web personnel) . Évalué à 4.
# Et unset alors ?
Posté par ArBaDaCarBa . Évalué à 3.
$ unset ICI
Ceci dit, le couple pushd/popd est tout de même plus simple, non ?
[^] # Re: Et unset alors ?
Posté par Gyro Gearllose . Évalué à 1.
Si tu pars d'un point du système de fichier qui est assez profond dans l'arborescence,
- si c'est juste un aller-retour, "cd - " c'est parfais.
- si tu ne sais pas quand tu vas revenir (et surtout où tu pars), pushd/popd est adapté.
- si tu pars pour aller ailleurs, puis de là tu pars à nouveau avec l'intention d'y revenir, etc.... mon astuce est nickel.
Un exemple : je suis sous LFS/BLFS (cas de toutes mes machines).
Je veux installer un nouveau package appelé A.tar.bz2.
Comme je suis un peu organisé, je décompacte le machine dans /usr/src/packages/a.
Je lance le .configure du package, et là... il me dit qu'il manque le package C.tar.bz2. Je sauve le chemin où je suis, et je pars pour C.tar.bz2, etc..... Ca vient de m'arriver pour installer php-gtk qui voulait php et gtk, chacun ayant ses dépendances, etc....
Donc, dans ce cas, c'est pratique (en tout cas, c'est mon avis, et je voulais faire profiter tout le monde de la chose). Voilà, si c'est pas clair, ben je ne vois pas comment mieux expliquer ça...
[^] # Re: Et unset alors ?
Posté par CopainJack (site web personnel, Mastodon) . Évalué à 2.
C'est une bonne astuce certe mais pas aussi pratique que les autres solutions proposées. Et puis, c'est vachement long à ecrire a chaque fois 'export $ICI=$PWD ' , pas en terme de longeur de chaine, mais en manipulation sur le clavier ;-)
[^] # Re: Et unset alors ?
Posté par Gyro Gearllose . Évalué à 1.
Allez, export C1=$PWD à export Cn, ça devrait suffire, c'est pas trop long à taper....
Si vraiment tu as la flemme de taper ça, crées-toi un alias ou un shell.....
[^] # Re: Et unset alors ?
Posté par CopainJack (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: Et unset alors ?
Posté par Gyro Gearllose . Évalué à 1.
Avec mon système, tu peux aller de C17 à C2 sans virer C3, C4, C5, ... C16 de ton environnement, non ?
Ca te permet ensuite d'aller à C7, chose que tu ne peux pas faire avec pushd/popd (ou alors je n'ai vraiment rien compris au système, ce qui est possible, je n'ai pas la prétention de tout connaître, loin s'en faut !).....
[^] # Re: Et unset alors ?
Posté par CopainJack (site web personnel, Mastodon) . Évalué à 2.
Bah, de toute facon ton systeme est bien aussi, c'est une question d'habitude, si tu t'en sors bien avec les C1..C17, pourquoi changer ? (sauf peut etre pour essayer ;-) )
# pourquoi
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
"export FOO="
et pas
"unset FOO" ?
[^] # Re: pourquoi
Posté par Gyro Gearllose . Évalué à 1.
Après tout, les deux procurent le même résultat.... C'est juste une question de goût....
Et puis avec la complétion automatique sous vi, ça ne fait qu'une commande qui se répète lorsque tu rédiges un script-shell.....
# Et pour garder une trace écrite ...
Posté par Stéphane Téletchéa (site web personnel) . Évalué à 0.
[^] # Re: Et pour garder une trace écrite ...
Posté par Mildred (site web personnel) . Évalué à 2.
# .
Posté par couriousous . Évalué à 2.
bash
lorsque l'on veux revenire en arrière: ctrl-D
# Variante
Posté par Dolmen (site web personnel) . Évalué à 1.
Penser au problème des espace dans les noms de répertoires !
Pour que la commande de rappel soit encore plus courte, mettre 'cd' dedans.
> ICI="cd '$PWD'"
...
> $ICI
> unset ICI
Mais on peut faire la même chose avec des alias :
> alias ICI="cd '$PWD'"
...
> ICI
> unalias ICI
Et ça marche aussi avec ksh.
Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt
[^] # Re: Variante
Posté par Mildred (site web personnel) . Évalué à 2.
Il faudrait:
ICI=(cd "$PWD")
et pour revenir au point de départ:
"${ICI[@]}"
Finalement ce n'est peut être pas si simple.
# Encore mieux fait maison (pour les bashistes)
Posté par pcdv . Évalué à 1.
[^] # Re: Encore mieux fait maison (pour les bashistes)
Posté par 6Ber Yeti . Évalué à 1.
# un peu de zsh pour la route
Posté par 태 (site web personnel) . Évalué à 2.
hash -d zap=/data/temp/
Et ensuite, cd ~zap permet d'aller directement dans /data/temp/
J'en ai quelques uns comme ça dans on zshrc qui me permettent d'aller dans les répertoires à nom un peu long, et aussi quand je change de machine de ne pas avoir à me rappeler si c'est /Users/manu/Vrac/tmp/ ou /home/manu/temp le chemin de mon répertoire à la con.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.