Ubuntu添加删除环境变量

本文详细介绍了环境变量的概念及其在操作系统中的作用,包括临时文件夹和系统文件夹位置等参数的设定。通过修改不同配置文件,如/etc/environment、/etc/profile、/etc/bashrc和~/.profile,可实现环境变量的全局或用户级设置。文章还提供了具体的设置方法及如何查看和删除已设置的环境变量。

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

什么是环境变量
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等[1]。因为一些参数可以被当做系统默认的设置,如此以来,在运行某个程序的时候就不需要再指定这些参数了。比如你总是使用某个程序,在命令行中使用时,每次运行这个程序你都要进入程序所在的目录启动程序。如果你将程序所在的目录加入环境变量后,运行程序时你只需要输入程序的名称,系统就会自动搜索到你程序的位置,而不会再出现command not found这样的问题了。

如何设置环境变量

首先要认识几个和环境变量有关的文件[2]:
1. /etc/profile —— 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;
2. /etc/environment —— 在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量;
3. /etc/bashrc —— 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;
4. ~/.profile —— 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,执行用户的.bashrc文件;
5. ~/.bashrc —— 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;
认识以上5个文件之后,我们设置环境变量的方法也就有了。

方法一:直接修改/etc/enviroment文件,这种方法的作用域是全局的,永久性的。

打开/etc/environment文件,其内容如下:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

在环境变量PATH中添加你要添加的路径即可。

方法二:修改/etc/profile文件,这种方法的作用域是全局的,永久性的。

这个文件不是保存环境变量信息的文件,在登录时,系统只是根据它的内容对环境变量进行设置。

export PATH=$PATH:[your path1]:[your path2]:[...]  
export PATH=[your path1]:[your path2]:[...]:$PATH  

其中,各个PATH之间用冒号分隔,$PATH指代添加your path前的环境变量。我感觉这是计算机中一个特有的定义方式,就像 i = i + 1一样。

方法三:修改/etc/bashrc或者~/.bashrc文件.

这两个文件同样不是为了保存环境变量,只是在使用bash shell时进行设置而已,所以设置方法和二中一样:

export PATH=$PATH:[your path1]:[your path2]:[...]  
export PATH=[your path1]:[your path2]:[...]:$PATH  

对于/etc/bashrc文件,修改的作用于所有用户,但对于~/.bashrc文件,修改的仅仅作用于当前用户。这种修改的作用也是永久性的。 

另外,有一个疑问,我也不是很清楚:这两个文件只是对bash shell的环境变量的设置,我感觉脱离bash shell,不使用命令行了,这样的修改就没有意义了。这种想法到底对不对我也不是很清楚,我对bash shell的认识还很浅,这个地方就当存疑,以后对系统更了解再解决。

方法四:修改~/.profile文件.
这种方法和修改/etc/profile本质上是一样的,这种之不过是仅仅修改了当前用户自己的配置文件。所以作用仅限于当前用户,但同样也是永久性的。

法五:在Terminal中使用shell命令.

export PATH=$PATH:[your path1]:[your path2]:[...]  
export PATH=[your path1]:[your path2]:[...]:$PATH  

这种方法是暂时的, 关闭终端这个设置也就失效了,而且作用仅仅限于当前终端,其他终端中这个设置不会起作用。
在设置成功后,可以使用命令查看设置的环境变量。 

env //打印所有的环境变量
printenv //打印所有的环境变量
echo $PATH //打印PATH环境变量  

这时我们就可以在PATH变量后看到相关的修改了。在以上前四种方法中,修改后不会设置立即生效(大家思考一下原因),需要重启或者重新登录(哪个需要重启,哪个需要重新登录?),当然使用source命令也可以。使用方法为:

source [file name]  //不要忘记路径,或者执行时要在文件路径下  

如何删除对环境变量的修改

将以上方法中对配置文件的修改还原回去即可。另外,由于第五种方法由于是临时性质的且局部的,只需要关闭这个Terminal就好了.

参考:

1. https://blog.youkuaiyun.com/u012803067/article/details/78581415

### 如何在 Ubuntu 中设置或添加环境变量 #### 添加全局环境变量 可以通过编辑 `/etc/environment` 文件来添加全局环境变量。此文件仅包含系统范围内的环境变量定义,不支持复杂的脚本逻辑。以下是具体的操作方式: 1. 使用 `sudo` 权限打开 `/etc/environment` 文件: ```bash sudo nano /etc/environment ``` 2. 在文件中添加新的环境变量及其值,例如: ``` PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/myapp" MY_VAR="my_value" ``` 3. 保存并关闭文件。 4. 让更改生效可以重启计算机或者重新加载配置文件: ```bash source /etc/environment echo $MY_VAR # 验证新变量是否已成功添加[^1] #### 用户级环境变量的设置 对于特定用户的环境变量,可以在用户主目录下的 `.profile` 或者 `.bashrc` 文件中进行设置。 1. 编辑 `.profile` 文件: ```bash nano ~/.profile ``` 2. 在文件末尾追加所需的环境变量声明,例如: ```bash export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin ``` 3. 应用更改: ```bash source ~/.profile echo $JAVA_HOME # 测试变量是否正确设置[^3] #### 设置临时环境变量 如果只需要在一个 shell 会话期间有效,则可以直接通过命令行设置环境变量而不需修改任何配置文件。 ```bash export TEMP_VAR="temporary value" echo $TEMP_VAR # 输出 temporary value ``` 当关闭该终端窗口时,这个变量就会消失[^4]。 #### 修改已有错误环境变量的情况处理 假如因为误操作导致设置了错误的环境变量致使无法正常登录图形界面,可通过以下方式进行修复: 1. 启动到恢复模式或者按住 Ctrl+Alt+F1 到 F6 键切换至 TTY 终端。 2. 执行下列指令进入 `/etc/profile` 文件修正问题: ```bash sudo vi /etc/profile ``` 3. 删除有问题的环境变量条目后保存退出(vi 模式下先按 Esc 键再输入`:wq`回车)[^2]。 ```python print("Environment variable set successfully.") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值