web-dev-qa-db-fra.com

Comment supprimer une variable d'environnement exportée?

Avant d'installer gnuplot, j'ai défini la variable d'environnement GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src. Pendant l'installation, quelque chose s'est mal passé.

Je veux supprimer la variable d'environnement GNUPLOT_DRIVER_DIR. Comment puis-je y arriver?

1382
A. K.

unset est la commande que vous recherchez.

unset GNUPLOT_DRIVER_DIR
2217
Peder Klingenberg

Procédure de création et de suppression d'une variable d'environnement dans bash:

Teste si la variable DUALCASE existe:

el@apollo:~$ env | grep DUALCASE
el@apollo:~$ 

Ce n'est pas le cas, créez donc la variable et exportez-la:

el@apollo:~$ DUALCASE=1
el@apollo:~$ export DUALCASE

Vérifiez si c'est là:

el@apollo:~$ env | grep DUALCASE
DUALCASE=1

Il est là. Alors, débarrassez-vous de lui:

el@apollo:~$ unset DUALCASE

Vérifiez si c'est toujours là:

el@apollo:~$ env | grep DUALCASE
el@apollo:~$ 

La variable d'environnement exportée DUALCASE est supprimée.

Commandes supplémentaires pour vous aider à effacer vos variables locales et d’environnement:

Remise à zéro de toutes les variables locales lors de la connexion:

el@apollo:~$ CAN="chuck norris"
el@apollo:~$ set | grep CAN
CAN='chuck norris'
el@apollo:~$ env | grep CAN
el@apollo:~$
el@apollo:~$ exec bash
el@apollo:~$ set | grep CAN
el@apollo:~$ env | grep CAN
el@apollo:~$

La commande exec bash a effacé toutes les variables locales mais pas les variables d'environnement.

Ré-initialiser toutes les variables d’environnement lors de la connexion:

el@apollo:~$ export DOGE="so wow"
el@apollo:~$ env | grep DOGE
DOGE=so wow
el@apollo:~$ env -i bash
el@apollo:~$ env | grep DOGE
el@apollo:~$

La commande env -i bash a effacé toutes les variables d'environnement et les a définies par défaut lors de la connexion.

158
Eric Leschinski

Parce que la question d'origine ne mentionne pas comment la variable a été définie, et parce que je suis allé à cette page à la recherche de cette réponse spécifique, j'ajoute ce qui suit:

Dans le shell C (csh/tcsh) , il existe deux façons de définir une variable d'environnement:

  1. set x = "something"
  2. setenv x "something"

La différence de comportement réside dans le fait que les variables définies avec la commande setenv sont automatiquement exportées vers le sous-shell alors que les variables définies avec set ​​ ne sont pas.

Pour annuler la définition d'un jeu de variables avec set ​​, utilisez

unset x

Pour annuler la définition d'un jeu de variables avec setenv, utilisez

unsetenv x

Note: Dans tout ce qui précède, je suppose que le nom de la variable est 'x'.

crédits:

https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-Shell-variable/https: //www.oreilly .com/bibliothèque/afficher/solaristm-7-reference/0130200484/0130200484_ch18lev1sec24.html

5
G Eitan

cela peut aussi marcher.

export GNUPLOT_DRIVER_DIR=
4
Nilesh K.