env
env
The env
command in Unix-like operating systems is used to manage the environment for processes. It can be used to display the current environment variables, set new environment variables, or run commands with a modified environment. Here's an overview of the env
command and its usage:
Overview of env
env
Purpose: The env
command is used to run a command in a modified environment or to display the current environment variables.
Basic Syntax
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
Common Uses and Examples
Display Environment Variables:
Running
env
without any arguments will list all the current environment variables and their values.env
Example output:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/home/user USER=user SHELL=/bin/bash
Run a Command with Modified Environment Variables:
You can use
env
to set environment variables for a single command execution without altering the global environment.env VAR=value command
For example, to run
echo $VAR
withVAR
set tohello
:env VAR=hello echo $VAR
Output:
hello
Remove All Environment Variables:
You can use the
-i
or--ignore-environment
option to clear all environment variables and run a command in a clean environment.env -i command
For example, to run a shell with no environment variables:
env -i /bin/bash --noprofile --norc
Unset an Environment Variable:
You can use
env
to run a command with specific environment variables unset.env -u VAR command
For example, to run
printenv
without theUSER
environment variable:env -u USER printenv
Practical Examples
Temporary PATH Modification:
Run a command with a modified
PATH
variable without changing the globalPATH
.env PATH=/custom/path:$PATH some_command
Debugging with a Clean Environment:
Run a script or command in a clean environment to debug issues caused by environment variables.
env -i /path/to/script.sh
Setting Multiple Variables:
You can set multiple environment variables for a command execution.
env VAR1=value1 VAR2=value2 command
For example:
env DB_HOST=localhost DB_USER=root /path/to/db_connect_script.sh
Environment Variables
Environment variables are key-value pairs that influence the behavior of processes and applications in the shell. Common environment variables include:
PATH
: Specifies the directories to search for executable files.HOME
: Indicates the home directory of the current user.USER
: Represents the name of the current user.SHELL
: Specifies the path to the current shell.
Conclusion
The env
command is a versatile tool for managing environment variables and running commands in customized environments. It's particularly useful for testing, debugging, and scripting, allowing precise control over the execution environment.
help
env [options] [variable=value]
Print or set environment variables.
Options:
-i, --ignore-environment Do not inherit environment variables from the parent shell.
-u, --unset Unset environment variable.
-l, --list List all environment variables.
-v, --verbose Print each variable and its value.
-P, --path Print the current $PATH.
-S, --secure Print environment variables in a secure way.
Examples:
env
env HOME=/home/user
env -i
env -u HOME
env -l
env -v
env -P
env -S
Last updated