Modifications pour le document Variables d’environnement
Modifié par john le 2026/09/20 20:04
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
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 ~ ~/.bashrc69 +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]]