在 CentOS(以及其他 Linux 发行版)里,env 通常有两种理解,下面分情况说明:
env
或
printenv
echo $PATH
echo $HOME
或
printenv PATH
#!/bin/bash
echo "当前用户目录是:$HOME"
echo "PATH 是:$PATH"
if [ -z "$MY_VAR" ]; then
echo "MY_VAR 未设置"
else
echo "MY_VAR = $MY_VAR"
fi
env 命令结果中读取(解析输出)如果你是指程序或脚本解析 env 的输出:
env | grep PATH
或在脚本中:
path_val=$(env | grep '^PATH=' | cut -d= -f2)
echo "$path_val"
MY_VAR=hello env
只在该 env 进程中生效。
vi ~/.bashrc
添加:
export MY_VAR=hello
生效:
source ~/.bashrc
vi /etc/profile
或
vi /etc/environment
[Service]
Environment=MY_VAR=hello
或
EnvironmentFile=/etc/sysconfig/myapp
如果你指的是 C / Python / Java 程序里怎么读 env,或者 docker / crontab 里怎么读,可以告诉我具体场景。