Jump to content

Le $PATH


Arofarn

Recommended Posts

Salut,

Pour de nombreuse installation, configuration... il faut vérifier ou ajouter tel ou tel chemin dans le $PATH.

D'après ce que j'ai compris c'est une variable d'environnement (?) mais je ne sais pas du tout comment y accéder ni comment la modifier (ajout ou suppression de chemin).

En plus, les modification du PATH sont tellement fréquente qu'un recherche sur Google pour un tuto sur le sujet donne en réponse des centaine de tuto qui n'ont rien à voir (hormi le fait qu'il faut le modifier dans le cadre d'une config mais sans info sur le comment le faire)

Donc voilà, comment accède-t-on au PATH et comment peut-on le modifer ???

Merci d'avance

PS: en particulier sous MDK9.2 (ma distrib)

Link to post
Share on other sites

Le path....mon vieil ami le path.... ( the dark path... )

tu peux le consulter comme toute variable d'environnement avec echo :

echo $PATH

tu peux le modifier comme toute variable d'environnement avec export :

export PATH=$PATH:<nouveau_chemin>

Mais attention, ca c'est dangereux, car si tu te trompe et que tu supprime ton paths, si tu es en root, ca va etre chaud pour rattraper la faute, car ton systeme ne sera plus ou trouver ses executables ! Sur un utilisateur std, il faudra l'intervention de root. Ah oui, au passage, le path est propre a chaque utilisateur. Le pb, c'est donc que tu midifie le path en local avec export, donc c'est plus simple de le modifier pour de bon en general....

De plus, comme tout n'est que fichiers sous unix/linux, c'est ecrit qq part noir sur blanc ( ca depend de quel terminal tu te sers... ok, elle est pourrie, mais je sors pas tout de suite, j'ai encore qq trucs a t'apprendre... :keskidit: )² ce qu'il faut charger. Tu as donc une config par defaut dans /etc/profile, cette config est charge par chaque utilisateur par ton shell , on y ajoute ensuite ( a ce path de base, commun a tous le monde) ses propres chemin supplementaires, grace au fichier ~/.bash_profile; pour les utilisateur de bash par exemple . Cette manip permet de faire des modifications durables.

ce qu'il faut retenir :

- PATH est une variable d'environnment

- On peut la consulter avec echo $PATH

- On peut modifier localement et temporairement (uniquement valable dans la console ou on l'a modifie) avec export PATH=$PATH:<nouveau_chemin>

- Un fichier /etc/profile genere un path commun a tout le monde, ne pas modifier, a moins d'etre un expert, car tres dangereux

- Un fichier ~/.bash_profile permet de personnaliser ce path en y ajoutant ses propres chemins supplementaires

- Pour tester, il vaut mieux commencer a modifier path dans une console, puis une fois qu'on est sur de soi modifier ~/.bash_profile

ps : J'espere que j'ai ete clair....Il a un look de topic epingle debian ce post....

Link to post
Share on other sites
De plus, comme tout n'est que fichiers sous unix/linux, c'est ecrit qq part noir sur blanc ( ca depend de quel terminal tu te sers... ok, elle est pourrie, mais je sors pas tout de suite, j'ai encore qq trucs a t'apprendre... :byebye: )

Elue vanne la + pourrie du jour !! :byebye:

Sinon, rien à ajouter sur les infos ... :keskidit:

Link to post
Share on other sites

Elue vanne la + pourrie du jour !!

Merci fab, meme on doit etre les seuls a comprendre le truc... lol Tu feras ptet mieux d'ici ce soir, je te fais confiance, tu "as une belle tete de vainqueur" ( Le diner de cons ). lol

:keskidit:

Link to post
Share on other sites

:keskidit:

Exactement le genre de réponse que je cherchais.

J'ai juste une question: avec export tu ajoute un chemin dasn le PATH, mais coment tu fais pour en supprimer un"localement et temporairement" ?

Perso mon terminal est écrit blanc sur noir :byebye:

:byebye:

Link to post
Share on other sites
export PATH=$PATH:<nouveau_chemin>

Tiens, c'est marrant dans le Guide de Survie c'est :

export PATH=/nouveauchemin:$PATH

C'est ce que j'ai utilisé pour Suse dans /etc/bash.bashrc.

Sous Mandrake, je n'ai jamais eu à changer les PATH user ou root....

Link to post
Share on other sites

faire : "export PATH=$PATH:<nouveau>" ou "export PATH=<nouveau>:$PATH" est identique...

tous les chemins contenus dans la variable $PATH, spéraés par des ";" (points virgules) sont lus...

à la limite, ça peut changer l'ordre dans lequel les fichiers sont sélectionnés.

Perso, je pense que le mieux, c'est de modifier cela (si on veut le garder entre 2 sessions) dans le ~/.bashrc ... comme ça, si on change de bash (zsh :D), il n'y a pas grand chose à modifier...

Link to post
Share on other sites

En fait, quand tu tapes une commande, il parcours le path dans l'ordre que tu as donne... donc, si tu veux que ton chemin perso soit prioritaire par rapport a celui du systeme, tu le mets avant $PATH, mais si tu veux qu'il ne soit pas prioritaire tu le mets apres.

Imaginez par exemple les gars, on a 2 mozilla :

un installe par defaut, dans /usr/bin/mozilla

un installe en local, une version de demo, installe dans /home/rem/mozilla/bin/mozilla

si on fait

export PATH= /home/rem/mozilla/bin/:$PATH

lorsque je lancerai mozilla, le premier rencontre sera celui de mon repertoire perso, donc c'est lui quui sera utilise.

si je fait

export PATH=$PATH: /home/rem/mozilla/bin

C'est celui par defaut qui sera rencontre en premier et donc execute... voila, c'etait le cours de la journee ! :D lol

J'ai juste une question: avec export tu ajoute un chemin dasn le PATH, mais coment tu fais pour en supprimer un"localement et temporairement" ?

export aussi : export PATH=""

Mais ta console est flinguee.... Car tu veux faire quoi sans path, vu que tu n'as rien ? ls ne marche pas, vi non plus, ni meme cd... plus rien, car tu n'as plus rien. Ne joues donc pas avec le feu, et plutot que de chercher a supprimer path, cherche plutot comment ne pas la supprimer !

Link to post
Share on other sites
En fait, quand tu tapes une commande, il parcours le path dans l'ordre que tu as donne... donc, si tu veux que ton chemin perso soit prioritaire par rapport a celui du systeme, tu le mets avant $PATH, mais si tu veux qu'il ne soit pas prioritaire tu le mets apres.

prems' :D

Link to post
Share on other sites

prems'

Bah, moi j'en suis sur, et j'ai donne un exemple, nah !!

Je me demandais bien ce que tu avais pu poster sur mon post conernant le path, je sais que tu postes bcp sur mes posts mais la je ne voyais pas ce qu'il y avait a ajouter..... "prems" j'aurais du y penser !

Link to post
Share on other sites
Je me demandais bien ce que tu avais pu poster sur mon post conernant le path, je sais que tu postes bcp sur mes posts mais la je ne voyais pas ce qu'il y avait a ajouter..... "prems" j'aurais du y penser !

lol

:inpactmaitrejedi:

Link to post
Share on other sites

Ah la la, pfff... ca marche meme pas : :dieulinux: lol

tant pis, a l'ancienne : :D

Au passage, pour rester dans le ton du topic, pour consulter les variables d'environnement, taper simplement [\b]export[/b]

Link to post
Share on other sites

export aussi :  export PATH=""

Mais ta console est flinguee.... Car tu veux faire quoi sans path, vu que tu n'as rien ? ls ne marche pas, vi non plus, ni meme cd... plus rien, car tu n'as plus rien. Ne joues donc pas avec le feu, et plutot que de chercher a supprimer path, cherche plutot comment ne pas la supprimer !

Avec export PATH="" tu enregistrer une chaine vide dans le PATH, mais ma questionétais de supprimer un seul chemin dans le PATH et non la totalité du PATH ce qui serais à peu près aussi con que de cassé une clef sa sa serrure...

Au fait je suppose (attention question stupide), que seul root a le droit de modifier le PATH ? :chinois:

PS: je suis sur le pC du boulot donc je peux pas expériementer au fur et a mesure :chinois:

Link to post
Share on other sites

Au fait je suppose (attention question stupide), que seul root a le droit de modifier le PATH ?

Evidemment non puisque le path est personnel..De plus, ce n'est jamais qu'une indication pour le systeme le path, une variable d'environnement quoi ! Tu peux ajouter par exemple le repertoire des outils systems reserves a root a ton path ( /sbin:/usr/sbin) , rien ne t'empeche. Par contre tu ne pourras pas les lire, donc pas executer de commandes ! :chinois:

PS: je suis sur le pC du boulot donc je peux pas expériementer au fur et a mesure

C'est mieux pour les admin systeme .... C'est ca de pas pouvoir etre root sur sa machine, pour ca moi ca va. ! :chinois:

Link to post
Share on other sites
Avec export PATH="" tu enregistrer une chaine vide dans le PATH, mais ma questionétais de supprimer un seul chemin dans le PATH et non la totalité du PATH ce qui serais à peu près aussi con que de cassé une clef sa sa serrure...

Ben il suffit de faire "echo $PATH", puis de recopier juste ce qu'il faut, et de faire "export PATH=<chaîne recopiée>"

Link to post
Share on other sites

Non tuxxx, pas que tu aies tort, mais lui il voudrait ne plus avoir sa variable d'environnement PATH :chinois:

C'est "unset" pour supprimer une variable d'envirnomment, mais je ne suis pas sur que ca passe sur PATH... De toute facons, faudrait qu'on m'explique l'interet de supprimer la variable d'environnement PATH, car j'avoue que la je seche...

Link to post
Share on other sites
Non tuxxx, pas que tu aies tort, mais lui il voudrait ne plus avoir sa variable d'environnement PATH :chinois: 

:chinois:

Lui, il veut enlever un répertoire de la liste (liste $PATH)...

Et je le prouve :

avec export tu ajoute un chemin dasn le PATH, mais coment tu fais pour en supprimer un"localement et temporairement" ?

voilà, il veut savoir comment faire l'inverse de "export PATH=$PATH:<chemin>" : enlever un chemin au lieu de le rajouter

Link to post
Share on other sites

oki.... C'est quoi l'interet de supprimer un path ? Ceux par defaut sont les repertoires du systeme. Il faut donc verifier ceux ajoutes pour l'utilisateur dans le fichier profile, mais bon.... Ca reste scabreux son truc.

Link to post
Share on other sites

Merci pour toute les info ;-) , je suppose que ces commande sont applicables aux autres variable d'environnement....

Au fait si je peux pas experimenter au boulot, c'est que toute les machines sont sous Windows NT ou 2kPro. et je suis pas admin, meme pas informaticien de base :chinois: . Chez moi, je peux être root, mais je me méfie, contrairement au windows que j'avais avant, avec log auto sous Administrateur :chinois:

Link to post
Share on other sites

c'est que toute les machines sont sous Windows NT ou 2kPro

:-D:chinois: :chinois:

je suppose que ces commande sont applicables aux autres variable d'environnement....

oeuf corse comme disent les rosbeefs !

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...