Il existe une option shell cdable_vars
:
cdable_vars
Si cette option est définie, un argument à la commande cd
intégré qui n'est pas un répertoire est supposé être le nom d'une variable dont la valeur est le répertoire à modifier.
Vous pourriez ajouter ceci à votre .bashrc
:
shopt -s cdable_vars
export myFold=$HOME/Files/Scripts/Main
Remarquez que j'ai remplacé le tilde par $HOME
; les guillemets empêchent l'expansion du tilde et Bash se plaindrait qu'il n'y a pas de répertoire ~/Files/Scripts/Main
.
Vous pouvez maintenant l'utiliser comme suit :
cd myFold
Non $
requis. C'est là tout l'intérêt, en fait - comme le montrent d'autres réponses, cd "$myFold"
fonctionne sans l'option shell. cd myFold
fonctionne également si le chemin dans myFold
contient des espaces, pas de citation nécessaire.
En général, cela fonctionne même avec l'autocomplétion par tabulation, car l'option _cd
fonction dans bash_completion
vérifie si cdable_vars
est défini - mais toutes les implémentations ne le font pas de la même manière, donc vous devrez peut-être utiliser le code source bash_completion
à nouveau dans votre .bashrc
(ou éditer /etc/profile
pour définir l'option de l'interpréteur de commandes).
D'autres shells ont des options similaires, par exemple Zsh ( cdablevars
).