Les variables d'environnement sont des paires de valeurs de clé où la clé représente le nom de la variable et une valeur. Vous pouvez personnaliser les valeurs des variables d'environnement, les modifications réfléchies globalement sur toutes les applications lancées à partir du shell.
Ce guide discutera de la façon d'interagir avec les variables environnementales, de lecture et de définition des variables d'environnement à l'aide du shell Zsh.
Comment fonctionnent les variables de l'environnement
Prenons un moment pour comprendre comment fonctionnent les variables de l'environnement.
Dans Linux et d'autres systèmes basés sur UNIX, chaque fois que nous lançons une nouvelle session Shell, il initialise un processus pour recueillir les informations qui devraient être disponibles dans cette session Shell et tous ses processus enfants. Ces informations sont collectées à partir de fichiers de configuration tels que .zshrc, .zlogin, etc.
Le but des variables d'environnement est de fournir un support simple où le shell peut récupérer ou définir des paramètres liés au système.
Les variables d'environnement prennent le format suivant:
Clé = valeur
Clé = valeur 1: valeur2
Si la variable d'environnement contient plusieurs valeurs, chaque valeur est séparée par un côlon (:). Un exemple célèbre d'une telle variable d'environnement est le $ Path.
De même, si la valeur de la variable d'environnement contient des espaces, la valeur est enfermée dans une paire de guillemets comme:
Key = "valeur avec espaces"
Les variables d'environnement sont sensibles à la casse. Il est recommandé d'utiliser des noms majuscules pour les variables d'environnement pour les distinguer dans d'autres contextes.
Vous ne devez pas inclure d'espaces autour du signe égal (=).
Il existe deux principaux types de variables:
Variables d'environnement
Les variables d'environnement sont des variables globales héritées par tous les obus et leurs processus enfants correspondants.
Variables de coquille
D'un autre côté, des variables de coquille sont disponibles dans la coquille dans laquelle ils sont définis ou définis. Ils sont couramment utilisés pour stocker des données temporaires et sont automatiquement détruits une fois la session de coquille terminée.
Chaque obus comme Bash, Zsh, Fish et d'autres contiennent leur propre ensemble de variables de coquille.
Comment imprimer des variables d'environnement
Diverses coques Linux gardent une trace de leurs variables de coquille et d'environnement prédéfinies. Nous pouvons afficher ces variables en utilisant diverses commandes.
La commande la plus courante pour afficher les variables d'environnement est la commande primitenv. Si vous exécutez cette commande sans arguments, il imprime toutes les variables d'environnement comme indiqué dans l'exemple ci-dessous:
imprimer
La commande ci-dessus doit imprimer toutes les variables d'environnement comme indiqué:
Shell = / bin / zsh
Session_manager = local / debian10.local: @ / tmp /.GLACE-
Unix / 964, Unix / Debian10.local: / tmp /.Ice-Unix / 964
Qt_accessibility = 1
Colorterm = TrueColor
Xdg_menu_prefix = gnome-
Gnome_desktop_session_id =
Ssh_auth_sock = / run / user / 1000 / keyring / ssh
Desktop_Session = gnome
GTK_Modules = Gail: ATK-Bridge
Xdg_seat = siège0
Pwd = / home / debian
Xdg_session_desktop = gnome
Logname = Debian
Xdg_session_type = wayland
Gjs_debug_topics = erreur js; journal js
Gdm_lang = en_us.UTF-8
Accueil = / Home / Debian
Nom d'utilisateur = Debian
---------Sortie tronquée-------------------------------------
À l'aide de la commande printenv, vous pouvez imprimer une variable individuelle en la faisant passer comme argument. Par exemple, pour afficher la valeur du chemin $, vous pouvez utiliser la commande:
Path Printenv
La commande doit renvoyer la valeur de la variable de chemin comme:
/ usr / local / bin: / usr / bin: / bin: / usr / local / jeux: / usr / jeux
Vous pouvez également transmettre plusieurs variables à la commande PRINTENV en tant que:
$ PRIMENV PATH Name d'utilisateur
/ usr / local / bin: / usr / bin: / bin: / usr / local / jeux: / usr / jeux
/ Home / Debian
Debian
La commande doit imprimer les valeurs des variables d'environnement passées chacune en une seule ligne.
CONSEIL: Vous pouvez également utiliser la commande env pour imprimer ou définir les valeurs des variables d'environnement.
Variables d'environnement populaires
Voici quelques variables d'environnement standard.
Comment imprimer des variables de coquille
Les commandes Printenv et Env ne montreront que les variables d'environnement. Utilisez la commande set pour afficher toutes les variables, y compris les variables, les variables, fonctions et variables de l'environnement locales.
Si vous exécutez la commande set sans paramètres, il imprimera toutes les variables comme:
ensemble
Voici un exemple de sortie:
'!'= 0
'#' = 0
'$' = 2801
'*' = ()
-= 569jnrxzghiklms
0 = Zsh
'?'= 0
@ = ()
Argc = 0
Bg
Cdpath = "
Colorterm = TrueColor
Colonnes = 211
Cputype = x86_64
Dbus_session_bus_address = 'unix: path = / run / user / 1000 / bus'
Desktop_Session = gnome
Affichage =: 0
Egid = 1000
Épochréal
Époques
Euid = 1000
FG
Fignore = "
Fpath = / home / debian /.oh-my-zsh / plugins / git: / home / debian /.Oh mon-
zsh / fonctions: / home / debian /.Oh-my-zsh / complétions
---Sortie tronquée----------------------------------------
Les valeurs imprimées à partir de la commande set sont généralement une liste massive d'éléments que vous pouvez filtrer en tuysant la sortie sur des commandes telles que Grep.
Variables de coquille populaires
Bien que les variables de coquille varieront en fonction de la coquille que vous utilisez; Les éléments suivants sont communs dans la coque Zsh.
Comment définir des variables d'environnement dans Zsh
Pour définir des variables d'environnement, nous utilisons la commande d'exportation. La syntaxe est:
Key d'exportation = valeur
Par exemple, pour créer une variable http_proxy et le définir sur une URL, nous pouvons faire:
exporter http_proxy = "http: // 127.0.0.1: 8080 "
Pour vérifier la création de la variable, nous pouvons utiliser la commande Printenv comme:
printenv http_proxy
http: // 127.0.0.1: 8080
Une fois que vous avez défini une variable d'environnement, vous pouvez y accéder à partir de tous les processus enfants. Par exemple:
zsh -c 'echo $ http_proxy'
Cependant, les variables d'environnement créées dans la méthode discutée ci-dessus ne sont disponibles que dans la session de coquille actuelle. Une fois fermées, toutes les variables d'environnement sont détruites.
Comment créer des variables d'environnement permanentes
Si vous souhaitez créer une variable d'environnement qui peut persister dans les séances de shell, vous pouvez utiliser les fichiers de configuration de Shell.
En zsh, vous pouvez définir les variables d'environnement dans le .fichier zshrc.
De même, vous devez utiliser la commande d'exportation comme:
vim ~ /.zshrc
exporter http_proxy- "http: // 127.0.0.1: 8080 "
Fermer et enregistrer le fichier.
Pour charger les variables d'environnement dans la session de shell actuelle, utilisez la commande source comme:
source ~ /.zshrc
Conclusion
Dans ce guide, nous avons discuté de la façon de travailler avec l'environnement et les variables de coquille dans les systèmes Linux. Nous avons également appris à définir des variables d'environnement et à appliquer la persistance entre les séances de coquille.
Merci pour la lecture.