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"
Zach Smith
la source

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.

Vortico
la source
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