Comment définir et unser les variables d'environnement locales, utilisateurs et système dans Linux

Comment définir et unser les variables d'environnement locales, utilisateurs et système dans Linux

Variables d'environnement sont des variables spéciales définies dans Shell et qui sont nécessaires par les programmes pendant l'exécution. Ils peuvent être définis par système ou défini par l'utilisateur. Les variables définies par le système sont celles qui sont définies par système et sont utilisées par des programmes au niveau du système.

Définir et unir les variables d'environnement Linux

Pour e.g. La commande PWD est une variable système très courante qui est utilisée pour stocker le répertoire de travail actuel. Les variables définies par l'utilisateur sont généralement définies par l'utilisateur, soit temporairement pour le shell actuel, soit en permanence. L'ensemble du concept de réglage et de variables d'environnement non fixés tourne autour d'un ensemble de fichiers et de quelques commandes et différents shells.

En termes plus larges, une variable d'environnement peut être en trois types:

1. Variable environnementale locale

Un défini pour la session en cours. Ces variables d'environnement ne durent que jusqu'à la session en cours, que ce soit la session de connexion à distance ou la session de terminal local. Ces variables ne sont spécifiées dans aucun fichier de configuration et sont créées, et supprimées en utilisant un ensemble spécial de commandes.

2. Variable d'environnement utilisateur

Ce sont les variables définies pour un utilisateur particulier et sont chargées chaque fois qu'un utilisateur se connecte à l'aide d'une session de terminal locale ou que l'utilisateur est connecté à l'utilisation de la session de connexion à distance. Ces variables sont généralement définies et chargées à partir des fichiers de configuration suivants: .bashrc, .bash_profile, .bash_login, .profil Fichiers qui sont présents dans le répertoire domestique de l'utilisateur.

3. Variables d'environnement à l'échelle du système

Ce sont les variables d'environnement qui sont disponibles à l'échelle du système, i.e. Pour tous les utilisateurs présents sur ce système. Ces variables sont présentes dans les fichiers de configuration à l'échelle du système présents dans les répertoires et fichiers suivants: / etc / environnement, / etc / profil, / etc / profil.d/, / etc / bash.bashrc. Ces variables sont chargées à chaque fois que le système est allumé et connecté localement ou à distance par tout utilisateur.

Comprendre les fichiers de configuration à l'échelle de l'utilisateur et à l'échelle du système

Ici, nous décrivons brièvement divers fichiers de configuration énumérés ci-dessus qui maintiennent les variables d'environnement, soit largement spécifique au système ou à l'utilisateur.

.bashrc

Ce fichier est un fichier spécifique à l'utilisateur qui est chargé à chaque fois que l'utilisateur crée une nouvelle session locale I.e. En termes simples, ouvre un nouveau terminal. Toutes les variables d'environnement créées dans ce fichier prendraient effet chaque fois qu'une nouvelle session locale est démarrée.

.bash_profile

Ce fichier est un fichier de connexion à distance spécifique à l'utilisateur. Les variables d'environnement répertoriées dans ce fichier sont invoquées chaque fois que l'utilisateur est connecté à distance I.e. Utilisation de la session SSH. Si ce fichier n'est pas présent, le système recherche non plus .bash_login ou .profil des dossiers.

/ etc / environnement

Ce fichier est un fichier large pour la création, la modification ou la suppression des variables d'environnement. Les variables d'environnement créées dans ce fichier sont accessibles tout au long du système, par chaque utilisateur, à la fois localement et à distance.

/ etc / bash.bashrc

Système large bashrc déposer. Ce fichier est chargé une fois pour chaque utilisateur, chaque fois que l'utilisateur ouvre une session de terminal locale. Les variables d'environnement créées dans ce fichier sont accessibles pour tous les utilisateurs, mais uniquement via la session de terminal local. Lorsqu'un utilisateur de cette machine est accessible à distance via une session de connexion à distance, ces variables ne seraient pas visibles.

/ etc / profil

Fichier de profil large du système. Toutes les variables créées dans ce fichier sont accessibles par chaque utilisateur du système, mais seulement si la session de cet utilisateur est invoquée à distance, je.e. via la connexion à distance. Toute variable de ce fichier ne sera pas accessible pour la session de connexion locale I.e. Lorsque l'utilisateur ouvre un nouveau terminal sur son système local.

Note: Variables d'environnement créées en utilisant à l'échelle du système ou à l'échelle de l'utilisateur Les fichiers de configuration peuvent être supprimés en les supprimant uniquement de ces fichiers. Juste qu'après chaque modification de ces fichiers, connectez-vous et connectez-vous à nouveau ou tapez simplement la commande suivante sur le terminal pour que les modifications prennent effet:

$ source  

Définir ou unser les variables d'environnement locales ou à l'échelle de la session dans Linux

Variables environnementales locales peut être créé à l'aide des commandes suivantes:

$ var = valeur ou $ export var = valeur 

Ces variables sont larges de session et ne sont valables que pour la session de terminal actuelle. Pour effacer ces variables d'environnement à l'échelle de la session, les commandes suivantes peuvent être utilisées:

1. En utilisant env

Par défaut, "Env" La commande répertorie toutes les variables d'environnement actuelles. Mais, s'il est utilisé avec '-je' Switch, il élimine temporairement toutes les variables d'environnement et permet à l'utilisateur d'exécuter une commande en session en cours en l'absence de toutes les variables d'environnement.

$ env -i [var = valeur]… Command args… 

Ici, var = valeur correspond à toute variable d'environnement locale que vous souhaitez utiliser avec cette commande uniquement.

$ env -i bash 

Donnera une coquille bash qui n'aurait temporairement aucune variable d'environnement. Mais, lorsque vous sortez de la coquille, toutes les variables seraient restaurées.

2. Utilisation d'un non-set

Une autre façon d'effacer la variable d'environnement locale est d'utiliser la commande unset. Pour un non-set temporaire de toute variable d'environnement locale,

$ unset  

Où, nom de var est le nom de la variable locale que vous souhaitez vous mettre en panne ou effacer.

3. Définissez le nom de la variable sur "

Un autre moyen moins courant serait de définir le nom de la variable que vous souhaitez effacer, pour " (Vide). Cela effacerait la valeur de la variable locale pour la session actuelle pour laquelle il est actif.

NOTE - Vous pouvez même jouer avec et modifier les valeurs des variables du système ou de l'environnement utilisateur, mais les changements refléteraient uniquement la session du terminal actuel et ne seraient pas permanents.

Apprenez à créer des variables d'environnement à l'échelle de l'utilisateur et à l'échelle du système dans Linux

Dans la section, nous allons apprendre à définir ou à défaire les variables locales, à l'échelle des utilisateurs et du système dans Linux avec des exemples ci-dessous:

1. Définir et unser les variables locales dans Linux

un.) Ici, nous créons une variable locale Var1 et le régler sur n'importe quelle valeur. Ensuite, nous utilisons unset pour supprimer cette variable locale, et à la fin cette variable est supprimée.

$ Var1 = "Tecmint est le meilleur site pour les articles Linux" $ echo $ var1 $ unset var1 $ echo $ var1 
Définir les variables environnementales locales

b.) Une autre façon de créer une variable locale est d'utiliser exporter commande. La variable locale créée sera disponible pour la session en cours. Pour un défaut, la variable définit simplement la valeur de la variable ".

$ export var = "Tecmint est le meilleur site pour les articles Linux" $ echo $ var $ var = $ echo $ var 
Exporter les variables d'environnement locales dans Linux

c.) Ici, nous avons créé une variable locale Var2 et le régler sur une valeur. Ensuite, en ordre pour exécuter une commande effacer temporairement toutes les variables d'environnement locales et autres, nous avons exécuté 'Env -i' commande. Cette commande ici a exécuté Bash Shell en éliminant toutes les autres variables d'environnement. Après être entré 'sortie' Sur la coquille de bash invoquée, toutes les variables seraient restaurées.

$ Var2 = "Tecmint est le meilleur site pour les articles Linux" $ echo $ var2 $ env -i bash $ echo $ var2 
Utiliser la commande env pour les variables inférieures

2. Définir et non les variables d'environnement à l'échelle de l'utilisateur dans Linux

un.) Modifier .bashrc fichier dans votre répertoire domestique pour exporter ou définir la variable d'environnement que vous devez ajouter. Après cela source le fichier, pour rendre les modifications prennent effet. Alors vous verriez la variable ('CD' Dans mon cas), prenant effet. Cette variable sera disponible chaque fois que vous ouvrez un nouveau terminal pour cet utilisateur, mais pas pour les séances de connexion à distance.

$ vi .bashrc 

Ajouter la ligne suivante à .bashrc fichier en bas.

Export CD = "Ceci est Tecmint à domicile" 

Maintenant, exécutez la commande suivante pour prendre de nouvelles modifications et la tester.

$ source .bashrc $ echo $ cd 
Définir les variables d'environnement à l'échelle de l'utilisateur dans Linux

Pour supprimer cette variable, supprimez simplement la ligne suivante dans .bashrc Fixez et remets-le:

b.) Pour ajouter une variable qui sera disponible pour les séances de connexion à distance (i.e. Lorsque vous SSH à l'utilisateur du système distant), modifiez .bash_profile déposer.

$ vi .bash_profile 

Ajouter la ligne suivante à .bash_profile fichier en bas.

Export var2 = "c'est Tecmint à domicile" 

Lors de l'approvisionnement de ce fichier, la variable sera disponible lorsque vous SSH à cet utilisateur, mais pas à ouvrir un nouveau terminal local.

$ source .bash_profile $ echo $ var2 

Ici, Var2 n'est pas initialement disponible mais, en faisant SSH à l'utilisateur sur localhost, la variable devient disponible.

$ ssh [e-mail protégé] $ echo $ var2 
Exporter des variables larges de l'utilisateur dans le profil bash

Pour supprimer cette variable, supprimez simplement la ligne dans .bash_profile Fichier que vous avez ajouté et redémarrez le fichier.

NOTE: Ces variables seront disponibles chaque fois que vous êtes connecté à l'utilisateur actuel mais pas pour d'autres utilisateurs.

3. Définir et non les variables d'environnement à l'échelle du système dans Linux

un.) Pour ajouter une variable sans logine large (i.e. celui qui est disponible pour tous les utilisateurs lorsque l'un d'eux ouvre un nouveau terminal mais pas lorsqu'un utilisateur de machine est accessible à distance) ajouter la variable à / etc / bash.bashrc déposer.

Export var = "Ceci est à l'échelle du système" 
Ajouter des variables d'environnement à l'échelle du système

Après cela, achetez le fichier.

$ source / etc / bash.bashrc 

Maintenant, cette variable sera disponible pour chaque utilisateur lorsqu'il ouvrira un nouveau terminal.

$ echo $ var $ sudo su $ echo $ var $ su - $ echo $ var 
Vérifiez les variables larges du système

Ici, la même variable est disponible pour racine utilisateur ainsi que l'utilisateur normal. Vous pouvez le vérifier en vous connectant à un autre utilisateur.

b.) Si vous souhaitez qu'une variable d'environnement soit disponible lorsque l'un des utilisateurs de votre machine est connecté à distance, mais pas lors de l'ouverture d'un nouveau terminal sur la machine locale, vous devez modifier le fichier - '/ etc / profil'.

Export var1 = "Ceci est une variable à l'échelle du système pour les sessions distantes uniquement" 
Ajouter des variables larges du système de profil

Après avoir ajouté la variable, il suffit de refaire le fichier. Alors la variable serait disponible.

$ source / etc / profil $ echo $ var1 

Pour supprimer cette variable, retirez la ligne de / etc / profil Fixez et remets-le.

c.) Cependant, si vous souhaitez ajouter n'importe quel environnement que vous souhaitez être disponible dans tout le système, sur les sessions de connexion à distance ainsi que sur les sessions locales (I.e. ouvrant une nouvelle fenêtre de terminal) pour tous les utilisateurs, exportez simplement la variable dans / etc / environnement déposer.

Exporter var12 = "Je suis disponible partout" 
Ajouter une variable système dans le fichier d'environnement

Après cela, il suffit de trouver le fichier et les modifications prendraient effet.

$ source / etc / environnement $ echo $ var12 $ sudo su $ echo $ var12 $ exit $ ssh localhost $ echo $ var12 
Vérifiez la variable d'environnement pour tous les utilisateurs

Ici, comme nous le voyons, la variable d'environnement est disponible pour l'utilisateur normal, l'utilisateur racine, ainsi que sur la session de connexion à distance (ici, pour hôte local).

Pour effacer cette variable, supprimez simplement l'entrée dans le / etc / environnement le fichier et le re-le-de-vis ou la connexion à nouveau.

NOTE: Les modifications prennent effet lorsque vous vous approchez du fichier. Mais, sinon, vous devrez peut-être vous connecter et vous reconnecter.

Conclusion

Ainsi, ce sont quelques façons de modifier les variables d'environnement. Si vous trouvez de nouvelles astuces intéressantes pour la même chose, faites-vous mentionner dans vos commentaires.