export
是 Linux/Unix 系统中用于设置或导出 环境变量(Environment Variable) 的 Shell 命令。环境变量是系统中全局可用的键值对,可以被当前 Shell 及其子进程访问,常用于配置程序运行环境。
将变量提升为环境变量
默认定义的变量(如 VAR=value
)仅对当前 Shell 有效,而 export
后变量会传递给子进程(如脚本、命令等)。
临时修改环境变量
修改后的变量仅在当前 Shell 会话中有效,退出后失效(如需永久生效需写入配置文件如 ~/.bashrc
或 /etc/profile
)。
export VAR=value # 定义并导出变量
export VAR # 将已定义的变量导出为环境变量
export -n VAR # 取消导出(变量仍存在,但不再传递给子进程)
export -p # 显示所有已导出的环境变量
export PATH=$PATH:/usr/local/bin # 将 /usr/local/bin 添加到 PATH
export JAVA_HOME=/opt/jdk11 # 设置 Java 环境变量
# 父脚本 parent.sh
export MY_VAR="Hello"
./child.sh # 子脚本可以访问 MY_VAR
# 子脚本 child.sh
echo $MY_VAR # 输出 "Hello"
export LANG=en_US.UTF-8 # 临时切换为英文环境
操作 | 普通变量 (VAR=value ) |
环境变量 (export VAR=value ) |
---|---|---|
当前 Shell 可用 | ✅ | ✅ |
子进程(脚本/命令) | ❌ | ✅ |
若需持久化环境变量,需将 export
命令写入 Shell 配置文件:
# 对当前用户生效
echo 'export VAR=value' >> ~/.bashrc # Bash
source ~/.bashrc # 立即加载
# 对所有用户生效(需管理员权限)
echo 'export VAR=value' >> /etc/profile
PATH
、JAVA_HOME
)。export
修改的变量会覆盖父进程的同名变量。env
或 printenv
。通过灵活使用 export
,可以高效管理 Linux 系统的运行时环境。