Comandos de Linux: env

Una guía rápida paraenvcomando, utilizado para ejecutar comandos e interactuar con variables de entorno

losenvEl comando se puede usar para pasar variables de entorno sin establecerlas en el entorno externo (el shell actual).

Suponga que desea ejecutar una aplicación Node.js y configurar elUSERvariable a ella.

Tu puedes correr

env USER=flavio node app.js

y elUSERLa variable de entorno será accesible desde la aplicación Node.js a través de Nodeprocess.envinterfaz.

También puede ejecutar el comando borrando todas las variables de entorno ya configuradas, utilizando el-iopción:

env -i node app.js

En este caso, obtendrá un error que diceenv: node: No such file or directoryporque elnodeel comando no es accesible, ya que elPATHLa variable utilizada por el shell para buscar comandos en las rutas comunes no está definida.

Entonces necesitas pasar el camino completo alnodeprograma:

env -i /usr/local/bin/node app.js

Prueba con un simpleapp.jsarchivo con este contenido:

console.log(process.env.NAME)
console.log(process.env.PATH)

Verá que la salida es

undefined
undefined

You can pass an env variable:

env -i NAME=flavio node app.js

and the output will be

flavio
undefined

Removing the -i option will make PATH available again inside the program:

The env command can also be used to print out all the environment variables, if ran with no options:

env

it will return a list of the environment variables set, for example:

HOME=/Users/flavio
LOGNAME=flavio
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
PWD=/Users/flavio
SHELL=/usr/local/bin/fish

You can also make a variable inaccessible inside the program you run, using the -u option, for example this code removes the HOME variable from the command environment:

env -u HOME node app.js

The env command works on Linux, macOS, WSL, and anywhere you have a UNIX environment

Download my free Linux Commands Handbook


More cli tutorials: