J'ai souvent une disposition de répertoire de projet comme celle-ci
project
`-- component-a
| `-- files...
`-- component-b
| `-- files...
`-- component-c
`-- files...
Je travaille généralement dans l'un des component
répertoires, car c'est là que se trouvent les fichiers. Lorsque je reviens ensuite au shell, je dois souvent simplement passer à un répertoire frère, en particulier lorsque j'ai besoin d'apporter quelques modifications non scriptables à chaque composant. Dans ces cas, je ne me soucierai même pas du répertoire frère précédent sur lequel je vais travailler, ou du répertoire frère suivant.
Puis-je définir une commande prev
ou next
qui va simplement cd
me dans le répertoire précédent, ou le répertoire suivant (par alphabet ou autre)? Parce que taper cd ../com<TAB><Arrow keys>
tout le temps devient un peu vieux.
[[ -n $foundcwd ]]
votre réponse fonctionne également sous bash et zsh. Très bien, et merci d'avoir écrit ceci.La fonction suivante permet de passer aux répertoires frères (fonction bash)
Un exemple d'utilisation:
la source
J'ai trouvé une astuce sur commandlinefu.com . Je le republie ici pour le rendre plus trouvable, avec une explication et une
next
commande ajoutées pendant que j'y suis.La magie est dans le bloc `$ (...). Il envoie quelques commandes les unes dans les autres comme suit:
la source
"$foo"
,"$(foo)"
). En outre, l' analyse de la sortie dels
n'est pas fiable , elle peut échouer avec des noms de fichiers contenant des caractères non imprimables.