linux - usuario - variables de entorno en red hat
Establecer variables de entorno en Linux usando Bash (5)
Establecer una variable local y de entorno usando Bash en Linux
Compruebe si hay variables locales o de entorno para una variable llamada LOL en Bash:
el@server /home/el $ set | grep LOL
el@server /home/el $
el@server /home/el $ env | grep LOL
el@server /home/el $
Verificación de integridad, ninguna variable local o de entorno llamada LOL.
Establezca una variable local llamada LOL en local, pero no en el entorno. Así que configúralo
el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL=''so wow much code''
el@server /home/el $ env | grep LOL
el@server /home/el $
La variable ''LOL'' existe en variables locales, pero no en variables de entorno. LOL desaparecerá si reinicia el terminal, cierra sesión / inicia sesión o ejecuta exec bash
.
Establezca una variable local y luego borre todas las variables locales en Bash
el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL=''so wow much code''
el@server /home/el $ exec bash
el@server /home/el $ set | grep LOL
el@server /home/el $
También podría simplemente deshacer la única variable:
el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL=''so wow much code''
el@server /home/el $ unset LOL
el@server /home/el $ set | grep LOL
el@server /home/el $
La variable local LOL se ha ido.
Promover una variable local a una variable de entorno:
el@server /home/el $ DOGE="such variable"
el@server /home/el $ export DOGE
el@server /home/el $ set | grep DOGE
DOGE=''such variable''
el@server /home/el $ env | grep DOGE
DOGE=such variable
Tenga en cuenta que exportar lo hace aparecer como una variable local y una variable de entorno.
La variable exportada DOGE anterior sobrevive a un restablecimiento de Bash:
el@server /home/el $ exec bash
el@server /home/el $ env | grep DOGE
DOGE=such variable
el@server /home/el $ set | grep DOGE
DOGE=''such variable''
Desactivar todas las variables de entorno:
Tienes que sacar una lata de Chuck Norris para restablecer todas las variables de entorno sin un logout / login:
el@server /home/el $ export CAN="chuck norris"
el@server /home/el $ env | grep CAN
CAN=chuck norris
el@server /home/el $ set | grep CAN
CAN=''chuck norris''
el@server /home/el $ env -i bash
el@server /home/el $ set | grep CAN
el@server /home/el $ env | grep CAN
Creó una variable de entorno y luego restableció la terminal para deshacerse de ellos.
O puede establecer y desarmar una variable de entorno manualmente de esta manera:
el@server /home/el $ export FOO="bar"
el@server /home/el $ env | grep FOO
FOO=bar
el@server /home/el $ unset FOO
el@server /home/el $ env | grep FOO
el@server /home/el $
En tcsh
, tengo el siguiente script funcionando:
#!/bin/tcsh
setenv X_ROOT /some/specified/path
setenv XDB ${X_ROOT}/db
setenv PATH ${X_ROOT}/bin:${PATH}
xrun -d xdb1 -i $1 > $2
¿Cuál es el equivalente a la función tcsh setenv
en Bash?
¿Hay un análogo directo? Las variables de entorno son para ubicar el ejecutable.
Creo que estás buscando export
, aunque podría estar equivocado. Nunca antes había jugado con tcsh. Use la siguiente sintaxis:
export VARIABLE=value
La razón por la cual la gente a menudo sugiere escribir
VAR=value
export VAR
en lugar de la más corta
export VAR=value
es que la forma más larga funciona en conchas más diferentes que la forma corta. Si sabes que estás lidiando con bash
, o bien funciona bien, por supuesto.
VAR=value
establece VAR en valor.
Después de eso, export VAR
a los procesos hijos.
export VAR=value
es una taquigrafía que hace ambas cosas.
export VAR=value
establecerá VAR en value. Adjúntelo en comillas simples si desea espacios, como export VAR=''my val''
. Si desea que la variable sea interpolada, use comillas dobles, como export VAR="$MY_OTHER_VAR"
.