Antes de instalar gnuplot, configuré la variable de entorno GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
. Durante la instalación, algo salió mal.
Quiero eliminar la GNUPLOT_DRIVER_DIR
variable de entorno. ¿Cómo puedo lograrlo?
Antes de instalar gnuplot, configuré la variable de entorno GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
. Durante la instalación, algo salió mal.
Quiero eliminar la GNUPLOT_DRIVER_DIR
variable de entorno. ¿Cómo puedo lograrlo?
Respuestas:
unset
es el comando que estás buscando.
unset GNUPLOT_DRIVER_DIR
unexport
de hacerlo T="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
?
declare +x MYVAR
que elimine la exportación pero mantenga el valor en el shell actual.
export -n MYWAR
funciona en Bash.
Pruebe si existe la variable DUALCASE:
el@apollo:~$ env | grep DUALCASE
el@apollo:~$
No lo hace, así que cree la variable y expórtela:
el@apollo:~$ DUALCASE=1
el@apollo:~$ export DUALCASE
Comprueba si está allí:
el@apollo:~$ env | grep DUALCASE
DUALCASE=1
Está ahí. Así que deshazte de eso:
el@apollo:~$ unset DUALCASE
Comprueba si todavía está allí:
el@apollo:~$ env | grep DUALCASE
el@apollo:~$
La variable de entorno exportada DUALCASE se elimina.
Desarme todas las variables locales al valor predeterminado al iniciar sesión:
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:~$
exec bash
El comando borró todas las variables locales pero no las variables de entorno.
Desarme todas las variables de entorno al valor predeterminado al iniciar sesión:
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:~$
env -i bash
El comando borró todas las variables de entorno por defecto al iniciar sesión.
echo $VARIABLE
sea mejor que env | grep VARIABLE
, es más liviano ya que no necesita imprimir todas las variables y luego enviar su salida a otro proceso (grep). Además, env | VARIABLE
podría capturar más de una variable que coincida con el mismo patrón. Plus2, echo $VARIABLE
hace posible completar el nombre de la variable presionando <Tab> (si existe, eso también puede ser una pista de lo que quieres hacer).
echo $VARIABLE
no le dice si la VARIABLE es una variable de shell (aquí llamada "variable local") o una variable de entorno, que es el punto completo del tutorial.
env -i bash
parece estar creando una subshell (al menos en una Mac) que puede tener consecuencias no deseadas.
env | grep -e '^VARNAME='
.
Debido a que la pregunta original no menciona cómo se configuró la variable, y porque llegué a esta página buscando esta respuesta específica, estoy agregando lo siguiente:
En C shell (csh / tcsh) hay dos formas de establecer una variable de entorno:
set x = "something"
setenv x "something"
La diferencia en el comportamiento es que las variables establecidas con el comando setenv se exportan automáticamente a subshell mientras que las variables establecidas con set no.
Para desarmar un conjunto de variables con set , use
unset x
Para desarmar un conjunto de variables con setenv , use
unsetenv x
Nota: en todo lo anterior, supongo que el nombre de la variable es 'x'.
créditos:
https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- referencia / 0130200484 / 0130200484_ch18lev1sec24.html
Esto también puede funcionar.
export GNUPLOT_DRIVER_DIR=
env
comando. Es posible que la aplicación que utiliza la variable no distinga entre variables de entorno vacías y no existentes.
export PAGER=
, pero eso simplemente deshabilitó la paginación por completo: todas mis páginas de manual se volcaron directamente al terminal. unset PAGER
hizo el truco, volviéndolo al comportamiento predeterminado.
Como se mencionó en las respuestas anteriores, unset GNUPLOT_DRIVER_DIR
debería funcionar si ha utilizado export
para configurar la variable. Si lo ha configurado permanentemente ~/.bashrc
o ~/.zshrc
simplemente eliminarlo de allí funcionará.