Linux export 命令用于设置或显示环境变量。
在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。
export 命令的作用域:当前终端中直接输入的 export 的变量仅当前shell终端及其子shell可见,另起一个终端将无法访问。
举例:
终端 A 中先执行:
export WORD="hello" echo $WORD # 可以看到输出 hello env | grep WORD # 可以看到有WORD变量 sh -c "echo $WORD" # 子shell中执行,同样可以看到输出了 hello
然后另起一个新的终端 B,在 B 中执行:
echo $WORD # 输出为空 env | grep WORD # 没有显示WORD变量
可以看到,A 中 export 的变量只能在 A 及其子shell中可见,在新的终端 B 中是无效的。
关于什么命令是在当前shell执行,什么命令会导致另起子shell执行,请看这篇:Linux 执行脚本时 source 和 . 和 sh 和 ./ 的区别
因此,通常在 ~/.bashrc 或者 /etc/profile 中使用 export 命令配置全局的环境变量,然后source,这样在所有终端都可见了。