Linux下修改环境变量为全局变量的方法最全总结

在开始介绍正文之前,先来了解下什么是linux的环境变量?

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,这些参数会对系统行为产生影响。

比如常用的PATH环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到PATH中指定的路径去找。你可以在终端使用printenv PATH/echo $PATH查看当前PATH变量的值。

Linux系统下修改/自定义环境变量的方法通常分为两类:临时修改和永久性修改。下面分别介绍两种修改环境变量的方法。在这里以修改linux系统下的PATH环境变量(该环境变量保存了linux系统下所有可执行的程序的目录,linux系统执行某个可执行程序时,会以该环境变量的值(路径)去寻找可执行的程序名)为例进行举例。
PATH环境变量:该环境变量保存了linux系统下所有可执行的程序的目录,linux系统执行某个可执行程序时,会以该环境变量的值(路径)去寻找可执行的程序名,如果找到,则可以执行,如果找不到则会提示:无法找到××命令的错误。

1、临时修改/自定义环境变量

(1)临时自定义环境变量。

注意,系统默认的环境变量名称一般为大写,自定义的环境变量名称一般为小写,这样是为了避免命名上的冲突。
自定义临时环境变量时,有两种办法,一种是在terminal终端命令行直接定义,如下:

在这里插入图片描述
注意,此时自定义的my环境变量的作用范围仅限于当前shell(此时定义的my变量实际上是局部变量),在当前shell的子shell中无法寻找到该自定义变量。直接在其子shell中无法直接使用它。要想在其子shell中使用,必须用export命令来导出它为全局变量。

在这里插入图片描述
如上图所示,在定义my环境变量的子shell中无法识别到my环境变量。

当定义完my环境变量后,利用export命令将其转化为全局变量:

在这里插入图片描述
可以看到,使用export将my环境变量导出成全局变量后,在其子shell中也可以识别到。

**注意!!!!**使用export导出的my环境变量仅仅适用于当前的shell及其衍生shell中,退出当前shell后,my变量将不复存在。所以,这也是该方法被称为临时定义变量的原因。

自定义临时环境变量时,除了在terminal终端命令行直接定义外,还可以使用shell脚本的方法来事先定义好一个环境变量。并用source命令(或者 . 命令)(这么做是因为使用这两个命令是在当前shell中激活该脚本,不会产生子shell)在使用该变量的shell中激活该shell脚本即可。
例如,事先在test.sh脚本中定义好my环境变量,并导出为全局变量。在当前shell中激活test.sh脚本。

在这里插入图片描述
在要用到my自定义变量的shell中激活test.sh文件:

在这里插入图片描述
实际上,第二中方法是第一种方法的shell脚本表达。

(2)临时修改环境变量。

这里修改的是PATH环境变量,为该变量添加一个可执行的shell脚本的路径:/home/mc146/shell_p/for_test.sh。自己操作时换成自己的目录即可。for_test.sh脚本的内容如下:

在这里插入图片描述
在命令行修改PATH环境变量,修改方法:PATH=$PATH:待添加的可执行程序目录.

在这里插入图片描述
同自定义环境的转为全局环境变量一样,该修改操作仅限于当前shell及其衍生的子孙shell中。一旦退出当前shell(最顶层shell),PATH环境变量仍会维持原值不变。

下面使用shell脚本的方法来临时修改PATH环境变量,方法与使用shell脚本的方法来自定义全局变量相同。下面是修改PATH环境变量的脚本。名字为test.sh。位于/home/mc146/Desktop/test.sh。

在这里插入图片描述
在要执行for_test.sh这一脚本的shell中激活修改PATH环境变量的脚本即可:注意,在这里是使用.命令(source命令的别名)来激活test.sh文件。

在这里插入图片描述

同在命令行中修改PATH环境变量一样,该修改操作仅限于当前shell及其衍生的子孙shell中。一旦退出当前shell(最顶层shell),PATH环境变量仍会维持原值不变。

2、永久性修改/自定义环境变量。

Ubuntu系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。首先明确一点,永久性添加/修改的环境变量对所有的shell都有效,都是全局变量。想要永久性修改或定义环境变量,有以下两大类方法进行修改/添加环境变量:

(1)系统级修改/添加—对所有的用户都添加/修改。

系统级的环境变量的永久性修改以及添加可以通过一下几个文件或者目录进行操作即可:

  /etc/profile
  
   /etc/profile.d(它是文件夹),可通过在该目录下面新建一个shell脚本来添加自定义环境变量。
    
   /etc/bash.bashrc

/etc/profile和/etc/profile.d都是常用的设置环境的地方。其中/etc/profile.d文件夹来源于/etc/profile,在该目录下的*.sh,即以sh为后缀的文件在登录系统时都会被加载作用到整个shell环境中。因此,可以通过在/etc/profile.d目录下定义一个用来修改或添加新环境变量的shell脚本(类似于上文中的test脚本)来修改或添加自定义(永久性)环境变量。

类似地,不推荐使用/etc/bash.bashrc,因为在图形界面环境下启动程序时,不会加载它里边的环境变量设置。

在这里,本文将要添加的/修改的环境变量操作放到:**/etc/profile文件**中。
本文中仍以添加my自定义变量和修改PATH环境变量(添加for_test.sh这一shell脚本的路径)为例。具体如下:
在这里插入图片描述
注意,要想使该操作完全生效,必须重启系统。如果单单是在某个shell中source 该文件的话,则该操作会退化为临时添加或者修改环境变量。

**重启后验证以下两个变量是否添加成功,结果有点意外,修改环境变量成功了,但是添加西自定义变量失败。。。。。:**如下图所示:

在这里插入图片描述

不知道什么原因,自定义的my环境变量并没有通过/etc/profile文件添加成功。(本文所使用的系统为ubunt18.04LTS,不知道是不是系统的原因,各位大佬有类似成功的还望在评论区交流哈。在此谢过了。)

(2)用户级修改/添加—仅对当前用户添加/修改环境变量。

用户环境变量可存储在以下文件中:

 ~/.profile
 ~/.bashrc
 ~/.bash_profile
 ~/.bash_login

推荐将环境变量保存在~/.profile中,因为无论是通过控制台还是图形界面启动程序时,都会自动执行该文件。 而~/.bashrc, ~/.bash_profile,~/.bash_login这些文件,当通过shell启动程序时,它们也会被加载;但当通过图形界面环境启动程序时,这些文件中的环境变量设置便不可用了。

在这里,本文将要添加的/修改的环境变量操作放到:~/.bashrc文件中。
本文中仍以添加my自定义变量和修改PATH环境变量(添加for_test.sh这一shell脚本的路径)为例。具体如下:
在这里插入图片描述
重启系统后,验证一下添加的my 自定义环境变量和修改的PATH环境变量的效果。

在这里插入图片描述
可以看到,对my自定义环境变量以及PATH环境变量的修改都成功了。
写在最后,本文在书写过程中,参考了一下两位大佬的博客,在此贴出来,以示尊敬:

1、如何给Ubuntu正确地设置永久环境变量并立即生效
2、Ubuntu系统环境变量详解(这篇博客强烈推荐大家看一下,写得很棒!)

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Linux修改环境变量方法有多种,以下是其中一种常用的方法: 1. 打开终端,输入命令:vi ~/.bashrc,打开bashrc文件。 2. 在文件末尾添加需要修改环境变量,例如:export PATH=$PATH:/usr/local/mysql/bin。 3. 保存文件并退出vi编辑器。 4. 输入命令:source ~/.bashrc,使修改环境变量生效。 5. 可以使用echo $PATH命令查看修改后的环境变量是否生效。 注意:修改环境变量需要谨慎,不当的修改可能会影响系统的正常运行。建议在修改前备份相关文件。 ### 回答2: 要修改Linux环境变量,可以按照以下步骤进行: 1. 打开终端:可以使用Ctrl+Alt+T快捷键打开终端。 2. 输入命令:在终端中输入以下命令打开环境变量配置文件:nano ~/.bashrc 3. 编辑文件:使用箭头键找到需要修改环境变量,并进行编辑。例如,要添加一个新的变量,可以在文件末尾添加一行类似于export变量名=变量值的代码。如果要修改现有的变量,可以找到该变量并修改其值。 4. 保存文件:按下Ctrl+O保存文件,然后按下Ctrl+X退出nano编辑器。 5. 使更改生效:在终端中运行以下命令使更改立即生效:source ~/.bashrc 请注意,以上步骤仅针对单个用户环境变量情况。如果要修改系统范围内的环境变量,可以编辑/etc/environment文件。 ### 回答3: 要修改Linux环境变量,可以按照以下步骤进行操作: 1. 打开终端窗口(命令行界面)。 2. 输入命令 `vi ~/.bashrc` 来编辑当前用户的bash环境变量文件。 3. 使用vi编辑器,按下 `i` 进入插入模式,可以开始修改文件内容。 4. 在文件的末尾或者已有的环境变量声明之后,添加一行新的环境变量声明,格式为 `export 变量名=值`。例如,若要将`/usr/local/bin`添加到`PATH`环境变量中,可添加如下声明:`export PATH=$PATH:/usr/local/bin`。 5. 按下 `ESC` 键退出插入模式。 6. 输入命令 `:wq` 保存文件并退出vi编辑器。 7. 输入命令 `source ~/.bashrc` 来立即加载修改后的环境变量(source命令重新加载bashrc文件)。 8. 修改完成,可以通过 `echo $变量名` 命令来确认新的环境变量是否已成功添加并生效,例如 `echo $PATH`。 值得注意的是,通过上述方法修改环境变量只会影响当前用户的会话,在其他用户的会话中不会生效。如果需要对所有用户生效,可以编辑系统级别的环境变量文件,如`/etc/profile`或`/etc/environment`。此外,在特定的程序运行时也可以通过临时设置环境变量来覆盖全局设置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值