GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo establecer una variable de entorno en la línea de comandos y hacer que aparezca en los comandos?

Si corro

export TEST=foo
echo $TEST

Emite foo.

Si corro

TEST=foo echo $TEST

No es asi. ¿Cómo puedo obtener esta funcionalidad sin utilizar la exportación o un script?

Respuesta aceptada:

Esto se debe a que el shell expande la variable en la línea de comando antes en realidad ejecuta el comando y en ese momento la variable no existe. Si usas

TEST=foo; echo $TEST

funcionará.

export hará que la variable aparezca en el entorno de los comandos ejecutados posteriormente (para saber cómo funciona esto en bash, consulte help export ). Si solo necesita que la variable aparezca en el entorno de un comando, use lo que ha probado, es decir:

TEST=foo your-application

La sintaxis de shell describe esto como funcionalmente equivalente a:

export TEST=foo
your-application
unset TEST

Consulte las especificaciones para obtener más detalles.

La parte interesante es que export El comando cambia el indicador de exportación para la variable nombre . Por lo tanto, si lo hace:

unset TEST
export TEST
TEST="foo"

TEST se exportará aunque no se definió en el momento en que se exportó. Sin embargo, más unset debería quitarle el atributo de exportación.


Linux
  1. Consejos/trucos de navegación de la línea de comandos de Linux 3:la variable de entorno CDPATH

  2. Consejos de navegación de la línea de comandos de Linux:los conceptos básicos de los comandos pushd y popd

  3. BlueZ:Cómo configurar un servidor GATT desde la línea de comandos

  4. ¿Cómo configurar la variable de entorno dentro de GDB usando el comando de shell?

  5. ¿Cuál es la mejor manera de establecer una variable de entorno en .bashrc?

Cómo establecer y enumerar variables de entorno en Linux

Cómo agregar comandos de Linux a la cola y ejecutarlos uno por uno

Cómo configurar y desactivar variables de entorno en Linux

Cómo establecer la variable de entorno en Bash

¿Cómo configurar el navegador predeterminado desde la línea de comandos?

MySQL la línea de comando y buscapersonas