PATH
Un article de Wikipédia, l'encyclopédie libre.
- Pour une définition du mot « path », voir l'article path du Wiktionnaire.
PATH est une variable d'environnement des systèmes Unix/Linux/Mac OS X/Windows.
Cette variable désigne un/des répertoire(s) dans lesquels vont être recherchés les fichiers exécutables.
Sommaire |
[modifier] Exemple
Vous placez un fichier exécutable fichier_ex dans /opt/toto/bin.
Vous vous placez dans un répertoire quelconque de votre système (via la commande cd).
Si vous tentez de taper fichier_ex dans la console (ou le terminal) il ne sera pas exécuté car /opt/toto/bin n'est pas dans le PATH.
Par contre si vous tapez /opt/toto/bin/fichier_ex cela fonctionnera, mais c'est plutôt long à écrire.
Il est donc nécessaire d'ajuster la variable d'environnement PATH.
[modifier] Sous Unix/Linux
[modifier] Visualiser le PATH
echo $PATH
on peut aussi utiliser la commande
printenv PATH
[modifier] Séparateur
Le séparateur est le deux point(:)
[modifier] Modifier temporairement le PATH
Avec le shell bash
export PATH=$PATH:/opt/toto/bin
Cette modification n'est que temporaire (pour la session en cours).
[modifier] Modifier le PATH de manière permanente
Il faut donc rendre permanente la modification du PATH en mettant la ligne suivante dans le fichier ~/.bashrc.
export PATH=$PATH:/opt/toto/bin
[modifier] Le piège du répertoire courant
Sous Unix, pour exécuter un fichier qui est dans le répertoire courant, on est en général obligé de préfixer la commande par "./", ce qui permet d'indiquer que le fichier est dans le répertoire courant.
Cette particularité étonne les utilisateurs qui ont l'habitude de Windows (ou de l'ancien MS-DOS) où on peut appeler directement un programme qui est dans le répertoire courant.
Cependant, il s'agit là d'une mesure de sécurité : à titre d'exemple, si un intrus malveillant parvient à placer un programme néfaste nommé ls dans le répertoire courant, ce programme sera exécuté dès que vous souhaiterez lister le répertoire (au lieu de la commande ls se trouvant normalement dans le répertoire /bin/, qui lui se trouve dans le PATH, mais qui n'est modifiable que par l'administrateur du système).
Si malgré tout l'utilisateur souhaite retrouver cette "ergonomie" de Microsoft, il faut qu'il rajoute le chemin "./" dans son PATH :
PATH=$PATH:./
[modifier] Le $PATH de base dans le profil
La valeur de base de $PATH, pour tous les login, est défini dans le profil : fichier Shell /etc/profile.
[modifier] Sous Mac OS X
[modifier] Visualiser le PATH
(En Bourne shell)
echo $PATH
[modifier] Séparateur
Le séparateur est le deux point (:)
[modifier] Modifier temporairement le PATH
export PATH="$PATH:/opt/toto/bin"
Cette modification n'est que temporaire (pour la session en cours).
[modifier] Modifier le PATH de manière permanente
Il faut rendre permanente la modification du PATH en rajoutant la ligne suivante dans le Profil utilisateur (c'est-à-dire le shell ~/.profile ou ~/.bash_profile selon le type de terminal vous utilisez).
export PATH="$PATH:/opt/toto/bin"
Il est aussi possible de modifier directement le PATH du fichier /etc/profile (il faut utiliser sudo ou être en root).
[modifier] Sous Windows
[modifier] Visualiser le PATH
Dans une invite de commande, lancez la commande :
set path.
ou
echo %PATH%
[modifier] Séparateur
Le séparateur est le caractère point-virgule: ";".
[modifier] Modifier temporairement le PATH
Dans une invite de commande, utilisez
set PATH=%PATH%;c:\opt\toto\bin
Cette modification n'est que temporaire (pour l'invite de commande en cours).
[modifier] Modifier le PATH de manière permanente
Deux manières sont possibles :
1- Il faut utiliser la modification de la variable d'environnement PATH dans l'onglet 'avancé' des propriétés du poste de travail.
2- Utiliser une commande MS-DOS (qui est plus pratique pour une utilisation dans un script). Voici un exemple d'utilisation :
-> Le but étant d'ajouter C:\Lotus\Notes à la variable d'environement PATH de manière permanente.
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /d "%PATH%;C:\Lotus\Notes" /f
Options de REG ADD[1]
- /f (force) permet d'éviter que le système vous demande si vous être sûr de votre modification.
- /v (value) : indique la clé
- /d (data) : indique la valeur de la clé
NB : Il est nécessaire de redémarrer la machine pour le système prenne en compte la modification.
NB2 : Si vous exécutez à nouveau cette commande, alors après le redémarrage, vous aurez deux fois ";C:\Lotus\Notes" dans votre path!
[modifier] Base de registre
La variable %PATH% est définie dans la base de registre, avec d'autres variables d'environnement définies par le SMSS.exe (gestionnaire de session), très exactement c'est la valeur PATH dans
HKEY_Local_Machine\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
[modifier] Voir aussi
[modifier] Articles connexes
- Pour Windows, voir %SystemRoot%
- (en) Environment variable