GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de comandos env de Linux para principiantes (5 ejemplos)

Si su trabajo implica hacer cosas a través de la línea de comandos en Linux, lo más probable es que use el shell Bash. ¿Sabías que existe un entorno asociado a los procesos que se ejecutan a través del shell? Y, si lo desea, puede modificar este entorno específicamente para la tarea que está realizando. Bueno, en este artículo hablaremos de una herramienta de línea de comandos - env - que no solo le permite acceder al entorno de shell, sino que también le permite realizar cambios cuando sea necesario.

Pero antes de hacerlo, vale la pena mencionar que todos los comandos e instrucciones mencionados en este tutorial han sido probados en Bash Shell ejecutándose en Ubuntu 16.04LTS.

comando Linux env

Por definición, el comando env le permite ejecutar un programa en un entorno modificado. La siguiente es la sintaxis del comando, como se menciona en su página man:

env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]

Y esto es lo que dice la página man sobre env:

Set each NAME to VALUE in the environment and run COMMAND.

Los siguientes ejemplos con estilo de preguntas y respuestas le darán una mejor idea de cómo funciona este comando:

P1. ¿Cómo acceder a todas las variables de entorno usando el comando env?

El entorno Bash, como ya sabrá, consta de entradas VARNAME=VALUE. Para acceder a todas las variables de entorno, así como a los valores asociados con ellas, ejecute el comando env sin ninguna opción.

env

Aquí está el resultado del comando anterior en nuestro caso:

P2. ¿Cómo cambiar temporalmente el entorno usando env?

La característica clave que ofrece env es la capacidad de cambiar temporalmente el entorno de un proceso. Por ejemplo, creamos un pequeño ejecutable, denominado env, que muestra el valor de la variable de entorno USER al momento de la ejecución.

Aquí está el resultado en un escenario normal:

Ahora, lo que hicimos fue usar el comando env para cambiar temporalmente el valor de la variable de entorno USER de 'himanshu' a 'HTF' para el ejecutable/proceso. El siguiente es el comando que usamos en este caso:

env USER=HTF ./env

Y aquí está la salida producida en este caso:

Entonces puede ver que el ejecutable devolvió el nuevo valor.

Nota:como sugiere la sintaxis genérica de la herramienta, puede modificar los valores de múltiples variables de entorno y hacer que el proceso use estos nuevos valores.

P3. ¿Cómo hacer que un proceso ignore el entorno existente usando env?

Si lo desea, también puede hacer que un proceso ignore el entorno existente/heredado y comience con uno vacío en su lugar. Esto se puede hacer usando -i o --ignore-environment opción.

Por ejemplo:

P4. ¿Cómo hacer que env use NUL en lugar de un carácter de nueva línea en la salida?

En el primer ejemplo que discutimos anteriormente, las líneas de salida producidas por env están separadas por nueva línea. Sin embargo, si lo desea, puede hacer que env use el carácter NUL como separador. Se puede acceder a esta característica mediante --null opción de línea de comando.

env --null

A continuación se muestra una captura de pantalla de ejemplo;

P5. ¿Cómo saber el error basado en el estado de salida del comando env?

El comando env genera los siguientes códigos de salida:0, 125, 126 y 127. A continuación, se encuentran las descripciones de los errores asociados:

0   if no COMMAND is specified and the environment is output
125 if ‘env’ itself fails
126 if COMMAND is found but cannot be invoked
127 if COMMAND cannot be found

En caso de que obtenga un código de error diferente a los mencionados anteriormente, ese es el estado de salida devuelto por el proceso/comando que se ejecutó con el entorno modificado.

Conclusión

Si es un completo novato en la línea de comandos, es probable que no necesite esta herramienta a diario. Sin embargo, eso no quiere decir que no valga la pena conocerlo; de hecho, env es muy útil en muchas situaciones. Los ejemplos que hemos compartido en este tutorial deberían ser suficientes para darle una ventaja. Para obtener más información, diríjase a la página de manual del comando, o mejor, ejecute el siguiente comando:

info coreutils env invocation

Linux
  1. Tutorial de comando cd de Linux para principiantes (8 ejemplos)

  2. Tutorial de comandos de comunicación de Linux para principiantes (5 ejemplos)

  3. Tutorial de comando Linux df para principiantes (8 ejemplos)

  4. Tutorial de comando de fecha de Linux para principiantes (8 ejemplos)

  5. Tutorial de comando de nombre de host de Linux para principiantes (5 ejemplos)

Tutorial de comandos Linux nl para principiantes (7 ejemplos)

Tutorial del comando Linux lscpu para principiantes (5 ejemplos)

Tutorial de comandos de Linux nm para principiantes (10 ejemplos)

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)