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