临时环境变量仅在当前终端会话有效,用export设置(如export VAR=value),或前置命令使用(如VAR=val cmd),通过echo $VAR或env验证,生命周期限于当前shell及其子进程。

在 Linux 中临时设置环境变量,就是让变量只在当前终端会话或当前 shell 进程中生效,关闭终端或新开一个终端后就失效。这种方式适合测试、调试或单次运行命令时使用,不需要修改配置文件。
用 export 命令设置变量
这是最常用的方法,适用于 Bash、Zsh 等主流 shell:
- 设置新变量:
export VAR_NAME=value(注意等号两边不能有空格) - 追加到已有变量(如 PATH):
export PATH="$PATH:/new/path" - 导出已存在的普通 shell 变量:
VAR=abc; export VAR
设置变量并仅对单条命令生效
如果只想让某个变量在一条命令中起作用,不用 export,直接在命令前写:
-
MY_VAR=hello ./script.sh—— MY_VAR 仅在 script.sh 运行期间有效 -
PATH="/tmp/mybin:$PATH" command_name—— 临时替换 PATH 执行 command_name
查看和验证是否设置成功
设置后可以用以下方式确认:
- 查单个变量:
echo $VAR_NAME - 查所有环境变量:
env | grep VAR_NAME或printenv VAR_NAME - 注意:
set命令显示的是所有 shell 变量(含非导出的),而env只显示已导出的环境变量
临时变量的生命周期说明
这类变量只存在于当前 shell 及其子进程,不传递给父进程或其它终端:
- 新开一个终端窗口或标签页 → 变量丢失
- 执行
exec bash或source /dev/null类操作 → 当前 shell 被替换,变量清空 - 子进程(如脚本、grep、python)能继承这些变量;但子 shell(如
(echo $VAR))也能继承,前提是已 export











