linux设置环境变量的4种方法和简单比较

本文介绍了在Linux系统中配置环境变量的四种常见方法,包括在终端中临时设置、编辑.bashrc文件、编辑/etc/profile文件及编辑/etc/environment文件。每种方法的影响范围不同,适用于不同场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与windows不同,在linux上安装软件后通常需要配置环境变量。我在linux上安装软件的过程中发现,不同的软件的安装说明中要求配置的环境变量方法不尽相同,这让我有点“头晕”,不知道不同配置方法之间有什么不同。

经过一番折腾,现总结如下:

1.在终端中临时设置

在终端中输入:export PATH=$PATH:<your_path_1>:<your_path_2>:----------------:<your_path_n>

注意冒号为分隔符。

这种方法添加的PATH只会在此终端有效。重新打开终端,之前配置的PATH无效。

2.编辑用户目录下的.bashrc文件

用喜欢的编辑器打开用户目录下的.bashrc文件,在文件最后添加:export PATH=$PATH:<your_path>。保存退出。

这种方法设置的path只会在当前用户下生效,不影响其他用户。

3.编辑 /etc/profile 文件

同第二种方法相同,在 /etc/profile 文件最后添加:export PATH=$PATH:<your_path>。保存退出。

/etc/profile是设置所有用户的环境这种方法将影响所有用户。

4.编辑 /etc/environment文件

同第二种方法相同,在 /etc/environmen 文件最后添加:export PATH=$PATH:<your_path>。保存退出。

设置的是系统环境变量,与用户登录无关。这种方法也将影响所有用户。

### 如何在 Linux设置环境变量Linux 系统中,可以通过多种方式来设置环境变量。以下是几种常见的方法: #### 使用 `export` 命令临时设置环境变量 可以使用 `export` 命令在当前 Shell 会话中临时定义一个环境变量。这种方式仅适用于当前终端窗口,在关闭该终端后,所设的环境变量将会失效。 ```bash export VARIABLE_NAME=value ``` 例如,如果要设置名为 `MY_VAR` 的环境变量并赋值为 `hello`,可执行如下命令[^1]: ```bash export MY_VAR=hello ``` #### 编辑配置文件永久设置环境变量 为了使环境变量在整个系统范围内生效或者针对特定用户持久化保存,需要编辑相应的配置文件。对于 Bash Shell 用户来说,通常会在用户的家目录下的 `.bash_profile` 或者 `.bashrc` 文件里添加自定义的环境变量声明[^2]。 打开这些文件(如通过 nano 文本编辑器),然后加入下面这样的行: ```bash export VARIABLE_NAME=value ``` 保存更改之后,需重新加载配置文件才能让改动立即生效。这可通过以下种途径之一完成: - 登录/注销操作; - 执行 source 命令手动刷新配置文件内容,比如: ```bash source ~/.bashrc ``` #### 利用 `/etc/environment` 进行全局设定 另一种实现全系统范围内的默认环境变量方法是修改 `/etc/environment` 文件。此文件支持简单的键值对形式输入,不接受复杂的脚本逻辑或额外功能扩展。因此只需简单追加一行即可指定新的环境变量及其对应的初始值。注意的是,这种方法下新增加的内容不会即时反映到已存在的进程中去;只有新启动的应用才会继承更新后的状态。 关于为何选用 `environ` 而不是由 C/C++ main 函数传入参数列表中的 envp 参数作为获取环境变量的方式,这是因为前者代表了一个动态变化着的整体视图——即使是在应用程序调用了某些改变现有环境的操作之后仍然能够反映出最新情况;而后者则固定记录下了进程刚被创建那一刻的状态副本,无法感知后续可能发生的任何调整除非再次显式同步数据结构之间的差异[^3]。 ```c #include <stdio.h> extern char **environ; int main(){ int i; for(i =0; environ[i]!=NULL;i++) { printf("%s\n",environ[i]); } } ``` 以上代码展示了如何遍历整个 `environ` 数组打印所有的环境变量名与对应取值关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值