0 Votes

Modifications pour le document Variables d’environnement

Modifié par john le 2026/09/20 20:04

Depuis la version 3.1
modifié par john
sur 2026/09/20 19:51
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 1.1
modifié par john
sur 2025/05/24 23:47
Commentaire de modification : Imported from XAR

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -1,50 +1,47 @@
1 += Les variables d’environnement sous Linux =
2 +
1 1  {{toc/}}
2 2  
3 3  == Présentation ==
4 -
5 -Les **variables d’environnement** sont des paires ##nom=valeur## utilisées par le shell et les applications.
6 +Les **variables d’environnement** sont des paires `nom=valeur` utilisées par le shell et les applications.
6 6  Elles stockent des **informations de configuration**, comme la langue, le nom d’utilisateur, le chemin de recherche des commandes, etc.
7 7  
8 8  Elles sont visibles et modifiables par l’utilisateur courant, et peuvent être temporaires ou permanentes.
9 9  
10 -----
11 +---
11 11  
12 12  == Quelques variables courantes ==
14 +|= Variable |= Description |
15 +| `$USER` | Nom de l’utilisateur connecté |
16 +| `$HOME` | Répertoire personnel |
17 +| `$PATH` | Liste des dossiers contenant les commandes |
18 +| `$LANG` | Langue et encodage utilisés |
19 +| `$SHELL` | Shell utilisé (souvent `/bin/bash`) |
13 13  
14 -|=Variable|=Description
15 -|##$USER##|Nom de l’utilisateur connecté
16 -|##$HOME##|Répertoire personnel
17 -|##$PATH##|Liste des dossiers contenant les commandes
18 -|##$LANG##|Langue et encodage utilisés
19 -|##$SHELL##|Shell utilisé (souvent ##/bin/bash##)
21 +---
20 20  
21 -----
22 -
23 23  == Afficher les variables existantes ==
24 -
25 25  {{code language="bash"}}
26 26  printenv
27 27  # ou
28 28  env
29 29  # ou pour une variable spécifique :
30 -echo "$HOME"
29 +echo $HOME
31 31  {{/code}}
32 32  
33 -----
32 +---
34 34  
35 35  == Définir une variable temporaire ==
36 -
37 37  {{code language="bash"}}
38 38  NOM=John
39 -echo "$NOM"
37 +echo $NOM
40 40  {{/code}}
41 41  
42 42  Cela ne sera valable **que pour le shell courant**.
43 43  
44 -----
42 +---
45 45  
46 46  == Rendre une variable accessible à un script ou un sous-processus ==
47 -
48 48  Il faut l’**exporter** :
49 49  
50 50  {{code language="bash"}}
... ... @@ -52,34 +52,29 @@
52 52  ./mon_script.sh
53 53  {{/code}}
54 54  
55 -Le script pourra utiliser ##$NOM##.
52 +Le script pourra utiliser `$NOM`.
56 56  
57 -----
54 +---
58 58  
59 59  == Définir une variable de façon permanente ==
57 +Ajoute la ligne dans l’un de ces fichiers :
58 +* `~/.bashrc` → pour les shells interactifs
59 +* `~/.profile` ou `~/.bash_profile` → à la connexion
60 60  
61 -Ajouter la ligne dans l’un de ces fichiers :
62 -
63 -* ##~~/.bashrc## → pour les shells interactifs
64 -* ##~~/.profile## ou ##~~/.bash_profile## → à la connexion
65 -
66 66  Exemple :
67 -
68 68  {{code language="bash"}}
69 69  export EDITOR=nano
70 -export PATH="$PATH:$HOME/bin"
64 +export PATH=$PATH:$HOME/bin
71 71  {{/code}}
72 72  
73 -Puis recharger avec :
74 -
67 +Puis recharge avec :
75 75  {{code language="bash"}}
76 -source ~~/.bashrc
69 +source ~/.bashrc
77 77  {{/code}}
78 78  
79 -----
72 +---
80 80  
81 81  == Astuce : tester si une variable existe ==
82 -
83 83  {{code language="bash"}}
84 84  if [ -z "$MON_VAR" ]; then
85 85   echo "MON_VAR n'est pas définie"
... ... @@ -86,24 +86,15 @@
86 86  fi
87 87  {{/code}}
88 88  
89 -En mode strict (##set -u##), une variable non définie interrompt le script. Prévoir une valeur par défaut :
81 +---
90 90  
91 -{{code language="bash"}}
92 -echo "${MON_VAR:-valeur_par_defaut}"
93 -{{/code}}
94 -
95 -----
96 -
97 97  == Bonnes pratiques ==
98 -
99 99  * Utiliser **des majuscules** pour les noms (convention POSIX)
100 -* Éviter les noms trop courts (##T##, ##X##, ##D##) qui pourraient entrer en conflit
101 -* Toujours entourer les variables de **guillemets** (##"$VAR"##) dans les scripts pour éviter les bugs avec des espaces
102 -* Ne jamais mettre de mot de passe ni de jeton dans une variable exportée : elle est lisible par tous les processus de la session. Préférer un fichier réservé à root, chargé avec ##.## au moment voulu
85 +* Éviter les noms de variables trop courts (`T`, `X`, `D`) qui pourraient entrer en conflit
86 +* Toujours entourer les variables entre **guillemets** (`"$VAR"`) dans les scripts pour éviter les bugs avec des espaces
103 103  
104 -----
88 +---
105 105  
106 106  == Liens internes ==
91 +* [[Retour à la section Tutos Linux>>Wiki Batcave John.TutosLinux]]
107 107  
108 -* [[Retour à la section Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]]
109 -* [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]]