Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
variables_d_environnement [Le 06/02/2013, 11:36]
62.64.35.10
variables_d_environnement [Le 13/01/2024, 09:54] (Version actuelle)
160.178.162.239 [Principe de fonctionnement des variables d'environnement]
Ligne 1: Ligne 1:
-{{tag>variables ​script}}+{{tag>​script}}
 ---- ----
  
Ligne 16: Ligne 16:
 ===== Manipuler les variables d'​environnement ===== ===== Manipuler les variables d'​environnement =====
  
-Bien que quelques applications de configuration en mode graphique manipulent en réalité des variables d'​environnement,​ la ligne de commande offre un maximum de flexibilité pour créer et modifier ces variables. ​+Bien que quelques applications de configuration en mode graphique manipulent en réalité des variables d'​environnement,​ la ligne de commande offre un maximum de flexibilité pour créer et modifier ces variables.
  
 <​note>​Les techniques expliquées ci-dessous s'​appliquent à la famille d'​interpréteurs de commandes « Bourne Shell », c'est à dire **sh**, **ksh**, et **bash**. Ce dernier est l'​interpréteur de commande par défaut d'​Ubuntu. Si vous utilisez un autre interpréteur de commande, comme **csh**, les commandes indiquées pourraient être différentes.</​note>​ <​note>​Les techniques expliquées ci-dessous s'​appliquent à la famille d'​interpréteurs de commandes « Bourne Shell », c'est à dire **sh**, **ksh**, et **bash**. Ce dernier est l'​interpréteur de commande par défaut d'​Ubuntu. Si vous utilisez un autre interpréteur de commande, comme **csh**, les commandes indiquées pourraient être différentes.</​note>​
Ligne 45: Ligne 45:
  
 ===== Examiner les valeurs des variables d'​environnement ===== ===== Examiner les valeurs des variables d'​environnement =====
-La commande **printenv** ​affichent ​les noms et les valeurs de toutes les variables d'​environnement définies :+La commande **printenv** ​affiche ​les noms et les valeurs de toutes les variables d'​environnement définies :
  
 <​code>​ <​code>​
Ligne 86: Ligne 86:
  
 <​code>​ <​code>​
-unset LC_ALL+unset LCALL
 </​code>​ </​code>​
  
Ligne 97: Ligne 97:
 ===== Principe de fonctionnement des variables d'​environnement ===== ===== Principe de fonctionnement des variables d'​environnement =====
  
-Le fonctionnement et l'​effet des variables d'​environnement sont gouvernés par quelques principes simples.+Le fonctionnement et l'​effet des variables d'​environnement sont gouvernés par quelques principes simples ​et globales ​.
  
 ==== Portée des variables ==== ==== Portée des variables ====
Ligne 109: Ligne 109:
 En conséquence,​ si nous définissons la valeur de la variable d'​environnement « LANG » dans un terminal, et que nous lançons depuis le même terminal **gedit**, celui-ci héritera de la nouvelle valeur de la variable LANG, et s'​affichera donc dans une langue différente du reste des applications du système. En conséquence,​ si nous définissons la valeur de la variable d'​environnement « LANG » dans un terminal, et que nous lançons depuis le même terminal **gedit**, celui-ci héritera de la nouvelle valeur de la variable LANG, et s'​affichera donc dans une langue différente du reste des applications du système.
  
-Notez bien que du fait de la portée des variables, expliquée plus haut, une fois le processus **gedit** lancé, les modifications de variables dans le processus parent ne seront répercutées sur le processus enfant et vice-versa.+Notez bien que du fait de la portée des variables, expliquée plus haut, une fois le processus **gedit** lancé, les modifications de variables dans le processus parent ne seront ​pas répercutées sur le processus enfant et vice-versa.
  
 <​note>​ <​note>​
Ligne 124: Ligne 124:
 ===== Affectation rapide et héritage avec Bash ===== ===== Affectation rapide et héritage avec Bash =====
  
-L'​interpréteur de commandes **bash** nous permet de définir une ou plusieurs variables d'​environnement et de lancer un processsus ​enfant en une seule commande. Par exemple, pour définir les variables « LANG » et « FOO », puis lancer **gedit**, nous pouvons utiliser la commande :+L'​interpréteur de commandes **bash** nous permet de définir une ou plusieurs variables d'​environnement et de lancer un processus ​enfant en une seule commande. Par exemple, pour définir les variables « LANG » et « FOO », puis lancer **gedit**, nous pouvons utiliser la commande :
  
 <​code>​ <​code>​
Ligne 136: Ligne 136:
 ===== Variables d'​environnement persistantes ===== ===== Variables d'​environnement persistantes =====
  
-Jusqu'​à présent nous avons vu comment définir ou modifier une variable d'​environnement temporairement,​ jusqu'​à ce que la session ​(le terminal) dans laquelle elle a été modifiée soit ferméeVous vous demandez certainement s'il y a un moyen de définir de manière permanente la valeur d'une variable d'​environnement.  +Jusqu'​à présent nous avons vu comment définir ou modifier une variable d'​environnement ​**temporairement**, jusqu'​à ce que la session ​se ferme.
- +
-Pour cela, il faut placer une commande définissant une variable d'​environnement dans l'un des fichiers de script qui est exécuté automatiquement lors d'une des étapes de démarrage du système et de la session utilisateur. D'​après le principe d'​héritage,​ cela permet d'​être sûr que cette valeur est utilisée par toutes les applications chargées après cette étape. +
- +
 ==== Variables d'​environnement au niveau session utilisateur === ==== Variables d'​environnement au niveau session utilisateur ===
  
Ligne 150: Ligne 146:
  
   * **~/​.bashrc** - Du fait de la manière dont Ubuntu configure par défaut les divers fichiers de scripts, c'est sans doute l'​endroit le plus facile pour définir des variables. La configuration par défaut garantit a peu près que ce fichier sera exécuté à chaque invocation de *bash* ainsi que lors de la connexion à l'​environnement graphique. Cependant du point de vue des performances,​ ce n'est pas l'​idéal car les variables seront inutilement redéfinies à chaque fois. (NdT : à chaque fois que vous ouvrez un terminal par exemple?)   * **~/​.bashrc** - Du fait de la manière dont Ubuntu configure par défaut les divers fichiers de scripts, c'est sans doute l'​endroit le plus facile pour définir des variables. La configuration par défaut garantit a peu près que ce fichier sera exécuté à chaque invocation de *bash* ainsi que lors de la connexion à l'​environnement graphique. Cependant du point de vue des performances,​ ce n'est pas l'​idéal car les variables seront inutilement redéfinies à chaque fois. (NdT : à chaque fois que vous ouvrez un terminal par exemple?)
- 
  
 ==== Variables d'​environnement au niveau système==== ==== Variables d'​environnement au niveau système====
Ligne 260: Ligne 255:
  
 ^ Variable ^ Exemple de valeur ^ Rôle ^ ^ Variable ^ Exemple de valeur ^ Rôle ^
-|NAUTILUS_SCRIPT_SELECTED_FILE_PATHS|/​home/​ifireball/​about.html|Cette variable d'​environnement est définie par **nautilus**,​ le gestionnaire de fichiers de GNOME, lorsqu'​un script est appelé à l'aide d'un clic droit. Elle consiste en une liste, ligne par ligne, des fichiers actuellement sélectionnés. Cette variables ​ne sera définie que s'il s'agit de fichiers locaux, ne provenant pas d'un partage réseau ou d'une connexion ssh.| +|NAUTILUS_SCRIPT_SELECTED_FILE_PATHS|/​home/​ifireball/​about.html|Cette variable d'​environnement est définie par **nautilus**,​ le gestionnaire de fichiers de GNOME, lorsqu'​un script est appelé à l'aide d'un clic droit. Elle consiste en une liste, ligne par ligne, des fichiers actuellement sélectionnés. Cette variable ​ne sera définie que s'il s'agit de fichiers locaux, ne provenant pas d'un partage réseau ou d'une connexion ssh.| 
-|NAUTILUS_SCRIPT_SELECTED_URIS|file:/​home/​ifireball/​about.html|Cette variable d'​environnement est définie par **nautilus**,​ le gestionnaire de fichiers de GNOME, ​lorsque ​un script est appelé à l'aide d'un clic droit. Elle consiste en une liste, ligne par ligne, des adresses (URI) des fichiers actuellement sélectionnés.| +|NAUTILUS_SCRIPT_SELECTED_URIS|file:/​home/​ifireball/​about.html|Cette variable d'​environnement est définie par **nautilus**,​ le gestionnaire de fichiers de GNOME, ​lorsqu'​un script est appelé à l'aide d'un clic droit. Elle consiste en une liste, ligne par ligne, des adresses (URI) des fichiers actuellement sélectionnés.| 
-|NAUTILUS_SCRIPT_CURRENT_URI|file:/​home/​ifireball|Cette variable d'​envirtonnement ​contient l'adress ​(URI) de l'​emplacement actuellement affiché dans la fenêtre de **nautilus** ​lorsque ​un script est appelé à l'aide d'un clic droit| +|NAUTILUS_SCRIPT_CURRENT_URI|file:/​home/​ifireball|Cette variable d’environnement ​contient l'adresse ​(URI) de l'​emplacement actuellement affiché dans la fenêtre de **nautilus** ​lorsqu'​un script est appelé à l'aide d'un clic droit.
-|NAUTILUS_SCRIPT_WINDOW_GEOMETRY|828x511+251+342|Cette variable d'​environnement contient la position à l'​écran de la fenêtre de **nautilus** ​lorsque ​un script est appelé à l'aide d'un clic droit|+|NAUTILUS_SCRIPT_WINDOW_GEOMETRY|828x511+251+342|Cette variable d'​environnement contient la position à l'​écran de la fenêtre de **nautilus** ​lorsqu'​un script est appelé à l'aide d'un clic droit.|
  
 ==== Variables d'​exécution de programmes ==== ==== Variables d'​exécution de programmes ====
Ligne 280: Ligne 275:
 |CC| gcc | Le nom du compilateur C à utiliser | |CC| gcc | Le nom du compilateur C à utiliser |
 |CFLAGS| -o out.o | Une liste d'​arguments de débogage / optimisation à passer au compilateur C | |CFLAGS| -o out.o | Une liste d'​arguments de débogage / optimisation à passer au compilateur C |
-|CXXFLAGS| -Wall |  Une liste d'​arguments de débogage / optimisation à passer au compilateur C++ |+|CXXFLAGS| -Wall | Une liste d'​arguments de débogage / optimisation à passer au compilateur C++ |
 |CPPFLAGS| -DDEBUG | Une liste d'​arguments à passer au préprocesseur / compilateur C/C++ | |CPPFLAGS| -DDEBUG | Une liste d'​arguments à passer au préprocesseur / compilateur C/C++ |
 |LIBRARY_PATH| /​usr/​lib/​firefox |Une liste de dossiers (séparés par deux-points) où chercher les fichiers de bibliothèques | |LIBRARY_PATH| /​usr/​lib/​firefox |Une liste de dossiers (séparés par deux-points) où chercher les fichiers de bibliothèques |
Ligne 293: Ligne 288:
  
  
-==== Autres variables d'​environnement ====+==== Autres variables d'​environnement====
  
 ^ Variable ^ Exemple de valeur ^ Rôle ^ ^ Variable ^ Exemple de valeur ^ Rôle ^
-|USERNAME|nom_utilisateur| Le nom de l'​utilisateur actuellement connecté. Cette variable est définie par le système.Vous ne devriez certainement pas changer sa valeur manuellement.| +|USERNAME|nom_utilisateur| Le nom de l'​utilisateur actuellement connecté. Cette variable est définie par le système. Vous ne devriez certainement pas changer sa valeur manuellement.| 
-|LOGNAME|nom_utilisateur|Similaire à **USER**, certains programmes utilisent celle-ci de préférence à **USER**|+|LOGNAME|nom_utilisateur|Similaire à **USER**, certains programmes utilisent celle-ci de préférence à **USER** ​.|
 |HOME|/​home/​utilisateur|Emplacement du répertoire personnel de l'​utilisateur actuellement connecté.| |HOME|/​home/​utilisateur|Emplacement du répertoire personnel de l'​utilisateur actuellement connecté.|
 |PWD|/​home/​utilisateur/​Desktop|Le répertoire de travail courant de l'​interpréteur de commande.| |PWD|/​home/​utilisateur/​Desktop|Le répertoire de travail courant de l'​interpréteur de commande.|
-|SHELL|/​bin/​bash|L'​interpréteur de commande préféré de l'​utilisateur tel qu'il est défini dans le fichier ​ « /etc/passwd »|+|SHELL|/​bin/​bash|L'​interpréteur de commande préféré de l'​utilisateur tel qu'il est défini dans le fichier ​ « /​etc/​passwd » ​.|
 |POSIXLY_CORRECT|s.o.|L'​existence même de cette variable d'​environnement,​ indépendamment de sa valeur, oblige quelques utilitaires à se comporter de manière plus conforme au standard POSIX. Cela peut provoquer le dysfonctionnement de divers outils GNU qui facilitent la vie, mais c'est peut être justement ce qui est recherché pour faire fonctionner correctement de vieux scripts UNIX.| |POSIXLY_CORRECT|s.o.|L'​existence même de cette variable d'​environnement,​ indépendamment de sa valeur, oblige quelques utilitaires à se comporter de manière plus conforme au standard POSIX. Cela peut provoquer le dysfonctionnement de divers outils GNU qui facilitent la vie, mais c'est peut être justement ce qui est recherché pour faire fonctionner correctement de vieux scripts UNIX.|
 |HOSTALIASES|/​etc/​host.aliases|Le nom du fichier contenant les alias des noms d'​hôtes pour utiliser avec divers logiciels réseau.| |HOSTALIASES|/​etc/​host.aliases|Le nom du fichier contenant les alias des noms d'​hôtes pour utiliser avec divers logiciels réseau.|
-|TZDIR|/​usr/​share/​zoneinfo|Le chemin du dossier contenant les fichiers d'​informations sur les fuseaux horaires (TimeZoneDIRectory).Il est généralement inutile de la définir manuellement car les systèmes cherchent de tels fichiers dans /​usr/​share/​zoneinfo,​ par défaut.| +|TZDIR|/​usr/​share/​zoneinfo|Le chemin du dossier contenant les fichiers d'​informations sur les fuseaux horaires (TimeZoneDIRectory). Il est généralement inutile de la définir manuellement car les systèmes cherchent de tels fichiers dans /​usr/​share/​zoneinfo,​ par défaut.| 
-|TZ|IST-2 \\ :Japan | Cette variable était utilisée par les anciens systèmes Unix pour spécifier le fuseau horaire du système. Cependant, Ubuntu et la plupart des systèmes récents utilisent pour cela le fichier /​etc/​localtime. Elle peut néamoins ​être utilisée afin qu'une session utilisateur particulière affiche l'​heure pour un fuseau horaire différent de celui du système. La valeur de cette variable peut être soit le nom et le décalage d'un fuseau horaire (premier exemple), soit le nom d'un fichier de zone situé dans /​usr/​share/​zoneinfo (second exemple).| +|TZ|IST-2 \\ :Japan | Cette variable était utilisée par les anciens systèmes Unix pour spécifier le fuseau horaire du système. Cependant, Ubuntu et la plupart des systèmes récents utilisent pour cela le fichier /​etc/​localtime. Elle peut néanmoins ​être utilisée afin qu'une session utilisateur particulière affiche l'​heure pour un fuseau horaire différent de celui du système. La valeur de cette variable peut être soit le nom et le décalage d'un fuseau horaire (premier exemple), soit le nom d'un fichier de zone situé dans /​usr/​share/​zoneinfo (second exemple).| 
-|TERM|xterm|Le nom d'​un ​fichiers ​d'​informations sur le terminal situé dans /​lib/​terminfo,​ ce fichier indique au programme en mode console comment effectuer certaines tâches telles que l'​affichage des couleurs. Il peut être utile de jouer avec cette variable si vous essayez d'​utiliser un programme d'​émulation de terminal inhabituel, ou si vous essayez de connecter un émulateur de terminal matériel par le port série et que vous n'​obtenez pas les résultats escomptés.|+|TERM|xterm|Le nom d'​un ​fichier ​d'​informations sur le terminal situé dans /​lib/​terminfo,​ ce fichier indique au programme en mode console comment effectuer certaines tâches telles que l'​affichage des couleurs. Il peut être utile de jouer avec cette variable si vous essayez d'​utiliser un programme d'​émulation de terminal inhabituel, ou si vous essayez de connecter un émulateur de terminal matériel par le port série et que vous n'​obtenez pas les résultats escomptés.|
 |TERMCAP| |Cette variable peut être utilisée à la place de "​TERM"​ pour spécifier les informations sur le terminal manuellement,​ plutôt que d'​avoir recours à un fichier.| |TERMCAP| |Cette variable peut être utilisée à la place de "​TERM"​ pour spécifier les informations sur le terminal manuellement,​ plutôt que d'​avoir recours à un fichier.|
-|COLUMNS|80|Le nombre de colonnes sur la fenêtre de console. ​Try adjusting this variable if lines don't seem to wrap properly in the console.|+|COLUMNS|80|Le nombre de colonnes sur la fenêtre de console. ​Essayez d'ajuster cette variable si les lignes semblent ne pas être coupées correctement sur la console.|
 |LINES|25|Le nombre de lignes sur la fenêtre de console. Essayez d'​ajuster cette variable si vous obtenez des résultats étranges lorsque vous faites défiler le texte.| |LINES|25|Le nombre de lignes sur la fenêtre de console. Essayez d'​ajuster cette variable si vous obtenez des résultats étranges lorsque vous faites défiler le texte.|
-|http_proxy|http://​user:​passwd@proxy:​port/​|La variable pour utiliser un proxy, marche aussi avec HTTP_PROXY, ftp_proxy et FTP_proxy|+|http_proxy|http://​user:​passwd@proxy:​port/​|La variable pour utiliser un proxy, marche aussi avec HTTP_PROXY, ftp_proxy et FTP_proxy ​.|
  
 ---- ----
 Cette page est une adaptation en français de la page https://​help.ubuntu.com/​community/​EnvironmentVariables Cette page est une adaptation en français de la page https://​help.ubuntu.com/​community/​EnvironmentVariables
-,n,n 
  • variables_d_environnement.1360146964.txt.gz
  • Dernière modification: Le 06/02/2013, 11:36
  • par 62.64.35.10