C’est du brut ! (extrait de mon .bash_aliases)
je tacherais de faire mieux une prochaine fois (l’année prochaine, sans doute
:
[quote]#
NAVIGUER AVEC HISTORIQUE DES RÉPERTOIRES (pushd dirs et popd)
Liste l’historique des répertoires avec son N°
alias dir=‘dirs -v’
Ajoute le répertoire courant à l’historique
ou va au répertoire désigné par son N° (visible par dirs -v)
alias pu+='dirs -v ; pushd’
alias pu+?=‘echo -e “Affiche la pile (dirs) et lance pushd \n pushd /un/chemin/ ajoute ce chemin à la pile et y va\n\t (raccourci: pu+ ) \n pushd +N° va à cette adresse\n\t ( raccourci interactif: pu )\n”’
pushd pour fainéant = dirs préalable puis pushd avec un nombre sans “+” ou un chemin!
limite 1 : les autres options de pushd nécessitent pushd…
limite 2 : on perd l’autocomplétion bien utile dans la recherche de répertoire et l’expansion du tilde ~
limite 3 : inadapté pour ajouter un répertoire !
l’opération let permet de différencier un nombre ; 2>/dev/null nettoie l’affichage d’erreur résultant dans le cas contraire
alias pu='dirs -v && read -p “>” && echo $REPLY && let n=$REPLY+0 2>/dev/null && pushd +$REPLY || pushd $REPLY’
alias pu?='echo “Affiche la pile et prend un numéro (sans signe +) ou un chemin (même sans guillemet), et va dans le répertoire correspondant.”'
alias pushd?='echo “pushd” && echo "pushd /un/nouveau/chemin/ ajoute ce répertoire à la pile et y va " && echo “pushd -n /nouveau/chemin/ ajoute ce répertoire à la pile sans changer le répertoire courant” && echo "pushd +X va à l adresse n°X " ’
popd ( = enlève le répertoire )
alias po=‘popd -n’
popd pour fainéant: affiche dirs puis prend un numéro (ou “+” pour sortir)
alias po='dirs -v && echo " + pour annuler" && read -p “Ôter>” && popd +$REPLY 2>/dev/null || if [[ ! $REPLY == + ]] ; then echo “donnez un nombre valide ou [+] pour annuler” ;fi '
alias po?=‘echo “Facilite po=popd -n) po est interactif ( -n = ne change pas le répertoire courant, sauf si c est le même)” && echo “popd +0 enlève le 1er” && echo “popd -0 enlève le dernier”’[/quote]
EN RÉSUMÉ
pu+ /un/chemin ajoute un chemin à la liste, et bénéficie de l’autocomplétion de bash,
[i]pu[/i] affiche la liste et demande un N° pour t’y conduire,
po sert à nettoyer une liste trop longue,
et les commandes suivies d’un « ? » affichent leur syntaxe résumée ( vite inutile !)