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 souhaite supprimer la GNUPLOT_DRIVER_DIR
variable d'environnement. Comment puis-je y parvenir?
Réponses:
unset
est la commande que vous recherchez.la source
unexport
le faireT="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
?declare +x MYVAR
de supprimer l'exportation mais de conserver la valeur dans le shell actuel.export -n MYWAR
fonctionne également dans Bash.Procédure pas à pas pour créer et supprimer une variable d'environnement dans bash:
Testez si la variable DUALCASE existe:
Ce n'est pas le cas, alors créez la variable et exportez-la:
Vérifiez s'il est là:
C'est là. Alors débarrassez-vous-en:
Vérifiez s'il est toujours là:
La variable d'environnement exportée DUALCASE est supprimée.
Commandes supplémentaires pour effacer vos variables locales et d'environnement:
Réinitialisez toutes les variables locales par défaut lors de la connexion:
exec bash
La commande a effacé toutes les variables locales mais pas les variables d'environnement.Réinitialisez toutes les variables d'environnement par défaut lors de la connexion:
env -i bash
La commande a effacé toutes les variables d'environnement par défaut lors de la connexion.la source
echo $VARIABLE
est peut - être mieux queenv | grep VARIABLE
, il est plus léger car il n'a pas besoin d'imprimer toutes les variables, puis d'envoyer sa sortie à un autre processus (grep). De plus,env | VARIABLE
pourrait attraper plus d'une variable qui correspond au même modèle. Plus2,echo $VARIABLE
permet de compléter le nom de la variable en appuyant sur <Tab> (s'il existe, cela peut également être un indice de ce que vous voulez faire).echo $VARIABLE
ne vous dit pas si la VARIABLE est une variable shell (ici appelée "variable locale") ou une variable d'environnement, qui est tout l'intérêt de la procédure pas à pas.env -i bash
semble créer un sous-shell (au moins sur un Mac) qui peut avoir des conséquences inattendues.env | grep -e '^VARNAME='
.Parce que la question d'origine ne mentionne pas comment la variable a été définie, et parce que je suis arrivé sur 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:
set x = "something"
setenv x "something"
La différence de comportement est que les variables définies avec commande setenv sont automatiquement exportées vers le sous-shell tandis que les variables définies avec l' ensemble ne le sont pas.
Pour désactiver un jeu de variables avec set , utilisez
Pour désactiver un jeu de variables avec setenv , utilisez
Remarque: 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/library/view/solaristm-7- référence / 0130200484 / 0130200484_ch18lev1sec24.html
la source
cela peut également fonctionner.
la source
env
commande. Il se peut que l'application qui utilise la variable ne fasse pas de distinction entre une variable d'environnement inexistante et vide.export PAGER=
, mais cela a complètement désactivé la pagination - toutes mes pages de manuel ont été transférées directement sur le terminal.unset PAGER
a fait l'affaire, le ramenant au comportement par défaut.Comme mentionné dans les réponses ci-dessus, cela
unset GNUPLOT_DRIVER_DIR
devrait fonctionner si vous avez utiliséexport
pour définir la variable. Si vous l'avez installé de façon permanente~/.bashrc
ou~/.zshrc
simplement en le supprimant, cela fonctionnera.la source