插件窝 干货文章 linux常用命令export是什么意思

linux常用命令export是什么意思

变量 export 环境 脚本 738    来源:    2025-04-05

export 是 Linux/Unix 系统中用于设置或导出 环境变量(Environment Variable) 的 Shell 命令。环境变量是系统中全局可用的键值对,可以被当前 Shell 及其子进程访问,常用于配置程序运行环境。


核心功能

  1. 将变量提升为环境变量
    默认定义的变量(如 VAR=value)仅对当前 Shell 有效,而 export 后变量会传递给子进程(如脚本、命令等)。

  2. 临时修改环境变量
    修改后的变量仅在当前 Shell 会话中有效,退出后失效(如需永久生效需写入配置文件如 ~/.bashrc/etc/profile)。


语法

export VAR=value      # 定义并导出变量
export VAR            # 将已定义的变量导出为环境变量
export -n VAR         # 取消导出(变量仍存在,但不再传递给子进程)
export -p             # 显示所有已导出的环境变量

常见用途示例

1. 设置环境变量供程序使用

export PATH=$PATH:/usr/local/bin  # 将 /usr/local/bin 添加到 PATH
export JAVA_HOME=/opt/jdk11       # 设置 Java 环境变量

2. 在脚本中传递变量

# 父脚本 parent.sh
export MY_VAR="Hello"
./child.sh  # 子脚本可以访问 MY_VAR

# 子脚本 child.sh
echo $MY_VAR  # 输出 "Hello"

3. 临时修改语言设置

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

注意事项

  • 变量名通常大写(如 PATHJAVA_HOME)。
  • 使用 export 修改的变量会覆盖父进程的同名变量。
  • 查看所有环境变量:envprintenv

通过灵活使用 export,可以高效管理 Linux 系统的运行时环境。