首页 >> 鲜活信息 > 宝藏百科 >

linux 怎么设置环境变量 临时与永久配置详解

2026-11-08 22:47:01 来源:网易 用户: 

linux 怎么设置环境变量,核心分为临时生效和永久生效两大类,临时环境变量只对当前终端会话有效,关闭终端之后就失效,永久环境变量需要写入系统或者用户的配置文件,新开终端自动加载,环境变量本质是系统保存的键值对,最常用的就是 PATH 变量,它决定系统可以在哪些目录查找可执行命令,很多人自己编译安装软件之后执行命令提示 command not found,就是因为软件 bin 目录没有加入 PATH,也就是 linux 怎么设置环境变量最常见场景,除了 PATH,还可以自定义 JAVA_HOME NODE_HOME 这类变量,供程序读取,配置的时候要区分用户级和系统级,用户级只对当前登录用户生效,系统级对全部用户生效,修改配置文件之后,需要 source 命令重载,或者重新登录终端,变量才会加载,这是新手最容易遗漏的步骤,理解不同配置文件加载优先级,是 linux 怎么设置环境变量进阶重点,不同 shell 比如 bash zsh 读取的配置文件不一样,bash 是最常见默认 shell,配置文件是 bashrc profile 系列。

一 临时环境变量(当前终端生效)

语法

export 变量名 = 变量值

示例

export JAVA_HOME=/usr/local/jdk1.8

export PATH=$PATH:/usr/local/jdk1.8/bin

特点

只在当前打开的终端生效,关闭终端、新开终端变量就消失,适合临时测试,不适合长期使用

查看变量命令

echo $JAVA_HOME

echo $PATH

二 永久用户级环境变量

只针对当前用户,其他用户看不到这个变量

常用文件

~/.bashrc 每次新开 bash 终端都会加载,最推荐

~/.bash_profile 登录 shell 的时候加载

操作步骤

1 编辑文件

vim ~/.bashrc

2 在文件末尾追加

export JAVA_HOME=/usr/local/jdk1.8

export PATH=PATH:JAVA_HOME/bin

3 保存退出,执行重载

source ~/.bashrc

4 验证 echo $JAVA_HOME

三 永久系统级环境变量

对服务器所有用户生效,全局生效

推荐文件

/etc/profile

/etc/profile.d/ 目录下新建独立 sh 文件,这种方式更规范,不直接修改主 profile 文件

/etc/bashrc

示例 在 /etc/profile.d/ 新建 java.sh

vim /etc/profile.d/java.sh

写入 export 内容,保存之后 source 重载,所有用户新开终端自动加载

四 配置文件加载说明表格

文件作用范围加载时机推荐程度
export单终端临时当前会话临时测试
~/.bashrc单用户每次打开 bash 终端推荐
~/.bash_profile单用户登录 shell推荐
/etc/profile全部用户登录 shell全局配置
/etc/profile.d/*.sh全部用户登录 shell最优推荐,独立管理

五 深度重点知识点

1 PATH 变量追加写法,一定要写成 $PATH: 新路径,不能直接覆盖成新路径,如果写成 PATH=/xxx/bin,原来系统命令路径全部丢失,后续 ls cd 等命令会报错,这是高危错误

2 区分登录 shell 和非登录 shell,ssh 远程登录属于登录 shell,会读取 bash_profile,直接新开本地终端属于非登录 shell,读取 bashrc,这也是很多人疑惑为什么写在 bash_profile,新开终端变量不生效的原因

3 自定义环境变量名称一般大写,是行业惯例,变量值如果包含空格,需要用引号包裹

4 删除环境变量使用 unset 变量名,临时会话里面清除变量

5 查看全部环境变量可以执行 env 或者 printenv

六 常见报错排查

1 修改完文件变量还是不生效,没有执行 source 重载,或者新开终端测试

2 命令依然 command not found,PATH 路径写错,bin 目录路径不对

3 其他用户读取不到变量,是因为写在用户家目录的.bashrc,属于用户级变量,全局需要写 /etc/profile.d

4 修改之后系统命令异常,PATH 覆盖错误,把原有系统路径清空

【常见问题】

问题 1 linux 怎么设置环境变量之后为什么新开终端不生效

回答 1 linux 怎么设置环境变量之后新开终端不生效,一般是修改文件之后没有 source 重载,或者配置文件选错,登录 shell 和普通终端读取的配置文件不一样,linux 怎么设置环境变量推荐写入~/.bashrc,绝大多数场景都可以自动加载。

问题 2 linux 怎么设置环境变量全局生效

回答 1 linux 怎么设置环境变量想要全局生效,需要写入 /etc/profile 或者 /etc/profile.d 目录下的 sh 脚本,这个 linux 怎么设置环境变量方式对服务器全部用户生效,写入家目录.bashrc 只对单个用户生效。

问题 3 linux 怎么设置环境变量 PATH 的时候要注意什么

回答 3 linux 怎么设置环境变量修改 PATH 的时候,必须保留原有 $PATH,追加新路径,不能直接覆盖原有 PATH,linux 怎么设置环境变量如果直接覆盖,系统自带命令会丢失,出现 ls 等命令无法使用的故障。

【免责申明】

本文介绍 linux 怎么设置环境变量相关内容仅作为技术学习参考,错误修改全局环境变量尤其是 PATH,可能造成系统命令异常,修改前建议备份原配置文件,生产服务器变更前做好测试,操作风险由使用者自行承担。

 

相关阅读

最新文章