Variables d'environnement sont des variables spéciales définies dans le shell et nécessaires aux programmes lors de l'exécution. Ils peuvent être définis par le système ou définis par l'utilisateur. Les variables définies par le système sont celles qui sont définies par le système et utilisées par les programmes au niveau du système.
Par ex. PH La commande 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 de manière permanente. L'ensemble du concept de définition et de désactivation de variables d'environnement tourne autour d'un ensemble de fichiers et de quelques commandes et de différents shells.
En termes plus généraux, une variable d'environnement peut être de trois types :
Un défini pour la session en cours. Ces variables d'environnement ne durent que jusqu'à la session en cours, qu'il s'agisse d'une session de connexion à distance ou d'une session de terminal local. Ces variables ne sont spécifiées dans aucun fichier de configuration et sont créées et supprimées à l'aide d'un ensemble spécial de commandes.
Ce sont les variables qui sont définies pour un utilisateur particulier et sont chargées chaque fois qu'un utilisateur se connecte à l'aide d'une session de terminal local ou que cet utilisateur est connecté à l'aide d'une 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 personnel de l'utilisateur.
Ce sont les variables d'environnement qui sont disponibles à l'échelle du système, c'est-à-dire 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/environment
, /etc/profile
, /etc/profile.d/
, /etc/bash.bashrc
. Ces variables sont chargées chaque fois que le système est mis sous tension et connecté localement ou à distance par n'importe quel utilisateur.
Ici, nous décrivons brièvement divers fichiers de configuration répertoriés ci-dessus qui contiennent des variables d'environnement, soit à l'échelle du système, soit spécifiques à l'utilisateur.
Ce fichier est un fichier spécifique à l'utilisateur qui est chargé chaque fois que l'utilisateur crée une nouvelle session locale, c'est-à-dire en termes simples, ouvre un nouveau terminal. Toutes les variables d'environnement créées dans ce fichier prendraient effet à chaque démarrage d'une nouvelle session locale.
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, c'est-à-dire à l'aide d'une session ssh. Si ce fichier n'est pas présent, le système recherche soit .bash_login
ou alors .profil
des dossiers.
Ce fichier est un fichier à l'échelle du système pour créer, modifier ou supprimer des variables d'environnement. Les variables d'environnement créées dans ce fichier sont accessibles dans tout le système, par chaque utilisateur, à la fois localement et à distance.
À l'échelle du système bashrc
fichier. Ce fichier est chargé une fois pour chaque utilisateur, chaque fois que cet utilisateur ouvre une session de terminal local. Les variables d'environnement créées dans ce fichier sont accessibles à tous les utilisateurs mais uniquement via une session de terminal local. Lorsqu'un utilisateur sur cette machine est accédé à distance via une session de connexion à distance, ces variables ne seraient pas visibles.
Fichier de profil à l'échelle du système. Toutes les variables créées dans ce fichier sont accessibles par chaque utilisateur du système, mais uniquement si la session de cet utilisateur est appelée à distance, c'est-à-dire via une connexion à distance. Aucune variable de ce fichier ne sera accessible pour la session de connexion locale, c'est-à-dire lorsque l'utilisateur ouvre un nouveau terminal sur son système local.
Noter: Variables d'environnement créées à l'aide à l'échelle du système ou alors à 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, déconnectez-vous et reconnectez-vous ou tapez simplement la commande suivante sur le terminal pour que les modifications prennent effet :
$ source
Variables d'environnement locales peut être créé à l'aide des commandes suivantes :
$ var=valeur OU. $ export var=valeur.
Ces variables s'appliquent à l'ensemble de la session et ne sont valides que pour la session de terminal en cours. Pour effacer ces variables d'environnement à l'échelle de la session, les commandes suivantes peuvent être utilisées :
Par défaut, "env"
La commande répertorie toutes les variables d'environnement actuelles. Mais, s'il est utilisé avec '-je'
switch, il efface temporairement toutes les variables d'environnement et permet à l'utilisateur d'exécuter une commande dans la session en cours en l'absence de toutes les variables d'environnement.
$ env –i [Var=Valeur]… args de commande…
Ici, var=valeur
correspond à toute variable d'environnement local que vous souhaitez utiliser avec cette commande uniquement.
$ env –i bash.
Donnera un shell bash qui n'aurait temporairement aucune variable d'environnement. Mais, lorsque vous quittez le shell, toutes les variables sont restaurées.
Une autre façon d'effacer la variable d'environnement local consiste à utiliser la commande unset. Pour désactiver temporairement une variable d'environnement local,
$ non défini
Où, nom-var
est le nom de la variable locale que vous souhaitez supprimer ou effacer.
Un autre moyen moins courant serait de définir le nom de la variable que vous souhaitez effacer, à ''
(Vider). Cela effacerait la valeur de la variable locale pour la session en cours pour laquelle elle est active.
REMARQUE – VOUS POUVEZ MÊME JOUER AVEC ET MODIFIER LES VALEURS DES VARIABLES D'ENVIRONNEMENT DU SYSTÈME OU DE L'UTILISATEUR, MAIS LES CHANGEMENTS SE REFLÈTERONT UNIQUEMENT DANS LA SESSION DE TERMINAL ACTUELLE ET NE SERONT PAS PERMANENTS.
Dans la section, nous allons apprendre à définir ou à désactiver les variables d'environnement locales, utilisateur et système sous Linux avec les exemples ci-dessous :
une.) Ici, nous créons une variable locale VAR1
et définissez-le 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. $ non défini VAR1. $ echo $VAR1.
b.) Une autre façon de créer une variable locale est d'utiliser exportation
commander. La variable locale créée sera disponible pour la session en cours. Pour désactiver la variable, définissez simplement la valeur de la variable sur ''
.
$ export VAR='TecMint est le meilleur site pour les articles Linux' $ echo $VAR. $ VAR= $ echo $VAR.
c.) Ici, nous avons créé une variable locale VAR2
et définissez-le sur une valeur. Ensuite, afin d'exécuter une commande effaçant temporairement toutes les variables d'environnement locales et autres, nous avons exécuté 'env –i'
commander. Cette commande a exécuté ici le shell bash en effaçant toutes les autres variables d'environnement. Après être entré 'sortir'
sur le shell bash invoqué, toutes les variables seraient restaurées.
$ VAR2='TecMint est le meilleur site pour les articles Linux' $ echo $VAR2. $ env -i bash. $ echo $VAR2
une.) Modifier .bashrc
dans votre répertoire personnel pour exporter ou définir la variable d'environnement que vous devez ajouter. Après ça la source le fichier, pour que les modifications prennent effet. Ensuite, vous verriez la variable ('CD'
dans mon cas), prenant effet. Cette variable sera disponible chaque fois que vous ouvrirez un nouveau terminal pour cet utilisateur, mais pas pour les sessions de connexion à distance.
$ vi .bashrc.
Ajoutez la ligne suivante à .bashrc
fichier en bas.
export CD='Ceci est TecMint Home'
Exécutez maintenant la commande suivante pour prendre de nouvelles modifications et les tester.
$ source .bashrc $ echo $CD.
Pour supprimer cette variable, supprimez simplement la ligne suivante dans .bashrc fichier et re-sourcez-le :
b.) Pour ajouter une variable qui sera disponible pour les sessions de connexion à distance (c'est-à-dire lorsque vous ssh à l'utilisateur à partir du système distant), modifiez .bash_profile
fichier.
$ vi .bash_profile.
Ajoutez la ligne suivante à .bash_profile
fichier en bas.
export VAR2='Ceci est TecMint Home'
Lors du sourçage de ce fichier, la variable sera disponible lorsque vous ssh à cet utilisateur, mais pas à l'ouverture d'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 [email protégé]
$ echo $VAR2.
Pour supprimer cette variable, supprimez simplement la ligne dans .bash_profile
fichier que vous avez ajouté, et re-sourcez le fichier.
REMARQUE: Ces variables seront disponibles à chaque fois que vous vous connecterez à l'utilisateur actuel, mais pas pour les autres utilisateurs.
une.) Pour ajouter une variable de non-connexion à l'échelle du système (c'est-à-dire une variable disponible pour tous les utilisateurs lorsque l'un d'entre eux ouvre un nouveau terminal mais pas lorsqu'un utilisateur de la machine est accessible à distance), ajoutez la variable à /etc/bash.bashrc
fichier.
export VAR='Ceci est une variable à l'échelle du système'
Après cela, sourcez le fichier.
$ source /etc/bash.bashrc
Désormais, cette variable sera disponible pour chaque utilisateur lorsqu'il ouvrira un nouveau terminal.
$ echo $VAR. $ sudo su. $ echo $VAR. $ su - $ echo $VAR.
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 à l'ouverture d'un nouveau terminal sur la machine locale, vous devez alors modifier le fichier - '/etc/profil'
.
export VAR1='Il s'agit d'une variable à l'échelle du système pour les sessions distantes uniquement'
Après avoir ajouté la variable, re-sourcez simplement le fichier. La variable serait alors disponible.
$ source /etc/profil. $ echo $VAR1.
Pour supprimer cette variable, supprimez la ligne de /etc/profile
fichier et re-sourcez-le.
c.) Cependant, si vous souhaitez ajouter un environnement que vous souhaitez rendre disponible dans tout le système, sur les deux sessions de connexion ainsi que les sessions locales (c'est-à-dire l'ouverture d'une nouvelle fenêtre de terminal) pour tous les utilisateurs, exportez simplement la variable dans /etc/environment fichier.
export VAR12='Je suis disponible partout'
Après cela, il suffit de sourcer le fichier et les modifications prendraient effet.
$ source /etc/environnement. $ echo $VAR12. $ sudo su. $ echo $VAR12. $ sortie. $ ssh localhost. $ echo $VAR12.
Ici, comme nous le voyons, la variable d'environnement est disponible pour l'utilisateur normal, l'utilisateur root, 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/environment et re-sourcez-le ou connectez-vous à nouveau.
REMARQUE: les modifications prennent effet lorsque vous sourcez le fichier. Mais si ce n'est pas le cas, vous devrez peut-être vous déconnecter et vous reconnecter.
Ainsi, ce sont quelques façons dont nous pouvons modifier les variables d'environnement. Si vous trouvez des astuces nouvelles et intéressantes pour la même chose, mentionnez-les dans vos commentaires.