Que sont les variables d'environnement ?
Les variables d'environnement contiennent des valeurs liées à l'environnement actuel, comme le système d'exploitation ou les sessions des utilisateurs.
Chemin d'accès
L'un des plus connus s'appelle PATH
sur Windows, Linux et Mac OS X. Il indique les répertoires dans lesquels se trouvent les programmes exécutables* sur la machine qui peuvent être lancés sans connaître et taper le chemin complet du fichier sur la ligne de commande. (Ou, sous Windows, le Exécuter dans le menu Démarrer ou <img src="https://i.stack.imgur.com/T0oPO.png" alt="Win"> + R ).
Sous Linux et Mac OS X, il contient généralement tous les éléments suivants bin
y sbin
les répertoires pertinents pour l'utilisateur actuel. Sous Windows, il contient au moins les répertoires C:\Windows
y C:\Windows\system32
les répertoires - c'est pourquoi vous pouvez exécuter calc.exe
ou notepad.exe
à partir de la ligne de commande ou Exécuter dialogue, mais pas firefox.exe
. (Firefox est situé dans C:\Program Files\Mozilla Firefox
. Pour plus d'informations sur la manière d'inclure Firefox, consultez aquí .)
Par exemple, en tapant calc
(le .exe
peut soit omis) dans la ligne de commande sous Windows lancera la calculatrice Windows.
* Vous pouvez ajouter le support pour les extensions de fichiers autres que .exe
par l'édition %PATHEXT%
.
Autre
D'autres variables peuvent indiquer aux programmes quel type de terminal est utilisé ( TERM
sur Linux/Mac OS X), ou, sur Windows, l'endroit où se trouve le dossier Windows (par ex, %WINDIR%
es C:\Windows
).
Création de nouvelles variables d'environnement
Sous Windows, Linux et Unix, il est possible de créer de nouvelles variables d'environnement, dont les valeurs sont ensuite mises à la disposition de tous les programmes lors de leur lancement.
Vous pouvez l'utiliser lorsque vous écrivez des scripts ou des programmes qui sont installés ou déployés sur plusieurs machines et qui doivent référencer des valeurs spécifiques à ces machines. Bien qu'un effet similaire puisse être obtenu en utilisant des paramètres de configuration spécifiques au programme, il est plus facile de le faire en utilisant une variable d'environnement si plusieurs programmes doivent accéder à la même valeur.
Windows
GUI
-
Ouvrir Control Panel » System » Advanced » Environment Variables
.
-
Type control sysdm.cpl,,3
dans la boîte de dialogue Exécuter ( <img src="https://i.stack.imgur.com/T0oPO.png" alt="Win"> + R ) et cliquez sur Environment Variables
.
Pour éditer les variables utilisateur, vous pouvez également taper
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
dans la boîte de dialogue Exécuter.
-
Cliquez avec le bouton droit de la souris sur (Mon) Ordinateur et cliquez sur Propriétés, ou appuyez simplement sur <img src="https://i.stack.imgur.com/T0oPO.png" alt="Win"> + Break .
- Dans XP, cliquez sur
Advanced » Environment Variables
.
- Dans Vista+, cliquez sur
Advanced system settings » Environment Variables
.
-
Il existe de nombreuses autres façons d'arriver au même endroit, par exemple en tapant "variables d'environnement" dans la boîte de recherche du menu Démarrer/Écran, etc.
Les variables d'environnement dans Windows sont séparées en valeurs spécifiques à l'utilisateur et à la machine/au système. Vous pouvez afficher et modifier leurs valeurs à cet endroit. Leurs valeurs actuelles au lancement sont mises à la disposition de tous les programmes.
Il existe également Éditeur d'environnement rapide qui permet de définir et de modifier les variables d'environnement dans Windows sans avoir à pénétrer dans les paramètres du système. Un autre programme open source pour Windows avec lequel l'environnement du chemin d'accès peut être édité très facilement est Éditeur de chemins .
Ligne de commande
Format
Les variables d'environnement dans Windows sont indiquées par des signes de pourcentage (%) entourant le nom :
%name%
echo
Pour afficher la valeur d'une variable d'environnement dans cmd.exe
, type echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
set
A créer/établir une variable, utilisez set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
A ajouter/supprimer une variable, utilisez set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Les variables d'environnement définies de cette manière sont disponibles pour (le reste de) la durée du processus de l'invite de commande dans lequel elles sont définies, et sont disponibles pour les processus lancés après que les variables ont été définies.
setx
A créer/établir une variable en permanence utiliser setx varname "value"
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
Contrairement à set
il n'y a pas de signe égal et la valeur doit être placée entre guillemets si elle contient des espaces. Notez que les variables peuvent se développer en une chaîne de caractères avec des espaces (par exemple, %PATH%
devient C:\Program Files
), il est donc préférable d'inclure des guillemets autour des valeurs qui contiennent des variables.
Vous devez ajouter manuellement setx
aux versions de Windows antérieures à Vista.
Outils d'assistance pour Windows XP Service Pack 2
Liste des variables d'environnement de Windows
Ici est une liste de variables d'environnement par défaut qui sont intégrés à Windows. En voici quelques exemples : %WINDIR%
, %SystemRoot%
, %USERPROFILE%
y %APPDATA%
. Comme la plupart des noms dans Windows, ils sont insensibles à la casse.
Dérivés Unix (FreeBSD, GNU / Linux, OS X)
Les variables d'environnement sous Linux sont préfixées par le signe dollar ($), comme $HOME ou $HOSTNAME. De nombreuses variables connues et standard sont écrites en majuscules pour le signifier. Gardez à l'esprit que les noms de variables sont sensibles à la casse, ce qui signifie que $User et $USER n'ont aucun rapport du point de vue du Shell.
Les dérivés d'Unix définissent des variables à l'échelle du système dans des Shell Shell situés pour la plupart dans le fichier /etc
mais des valeurs spécifiques à l'utilisateur peuvent être données à ces variables dans scripts situés dans le dossier personnel (par ex, /etc/profile
, $HOME/.bash_profile
). Le site .profile
dans le dossier personnel est un endroit courant pour définir des variables utilisateur.
Variables de réglage
Ces fichiers sont des Shell Shell réguliers et peuvent contenir plus que de simples déclarations de variables d'environnement. Pour définir une variable d'environnement, utilisez export
. Pour afficher vos variables d'environnement actuellement définies dans un terminal, exécutez env
.
Le site export
est un moyen standard de définir des variables. La syntaxe est très intuitive. Le résultat est identique pour ces deux lignes, mais la première alternative est préférable dans le cas où la portabilité vers le Bourne Shell pré-POSIX est nécessaire.
var=value; export var
export var=value
Le Shell de C et ses descendants utilisent une syntaxe complètement différente ; là, la commande est setenv
.
Voir le projet de documentation Linux, Chemin d'accès HOWTO pour une discussion plus approfondie sur ce sujet.
Contrairement à ce que l'on pourrait croire, OS X est plus "Unix" que Linux. En plus des fichiers déjà mentionnés, $PATH peut être modifié dans ces fichiers :
-
/etc/paths
contient tous les répertoires par défaut qui sont ajoutés au chemin, comme /bin
y /usr/sbin
.
- Tout fichier dans
/etc/paths.d
- couramment utilisé par les installateurs pour rendre les fichiers exécutables qu'ils fournissent disponibles à partir du Shell sans toucher aux fichiers de configuration du système ou de l'utilisateur. Ces fichiers contiennent simplement un chemin par ligne. Par exemple, /Programmes/Mozilla/Calendar/bin.
Liens externes :
Variables d'environnement dans XP
Outils d'assistance pour Windows XP Service Pack 2 (Comprend setx
)
Variables d'environnement dans Windows Vista et Windows 7
Ajout d'exécutables à la boîte de dialogue Exécuter
Astuces Mac OSX - Définition des variables d'environnement
TLDP : Guide du chemin