exportation des chemins bash avec le même nom de variable


0

Je regarde mon profil bash et ne comprends pas vraiment ce que je vois. Je pense que je vois une variable (PATH) en train d'être redéclarée - bien que cela ne puisse pas être vrai car tous mes programmes semblent fonctionner. Pouvez-vous m'aider en me parlant de ce qui se passe?

Voici une partie de mon bash_profile:

export PATH="$HOME/.phpenv/bin:$PATH"
eval "$(phpenv init -)"

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

#Added for mysql installation by me
export PATH="/usr/local/mysql/bin:$PATH"

Réponses:


0

Les commandes sont exécutées séquentiellement, chacune ajoutant la valeur précédente de $PATH à la fin de la nouvelle partie du chemin. Par exemple, si la valeur de $PATH juste avant la ligne 5 est

"~/.phpenv/bin:/usr/bin:/bin"

puis le côté droit de la ligne 5, il sera étendu à

"/usr/local/heroku/bin:~/.phpenv/bin:/usr/bin:/bin"

et $PATH sera écrasé par cette nouvelle valeur.


Merci. Je ne sais toujours pas comment cela fonctionne. que fait le côlon?
Zach Smith

@ ZachSmith: Cela ne fait rien; cela fait simplement partie de la valeur. (La syntaxe d'un $PATH valeur est une liste de répertoires délimités par des deux-points.)
grawity

OK merci. alors alors c'est une liste de chemins? alors je suppose que j'ai une autre question: p. comment les applications savent-elles quelle valeur de chemin utiliser ou font-elles simplement un tour pour les trouver jusqu'à ce qu'elles trouvent celle qui fonctionne?
Zach Smith

1
Oui, votre shell commence au début de la liste et exécute le premier fichier exécutable trouvé avec le nom de la commande que vous avez tapée.
Vortico
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.