如何给Ubuntu正确地设置永久环境变量并立即生效

时间:2024-03-24 21:52:14

本文内容如下:

  • 什么是环境变量?

  • 哪些文件下可以设置环境变量,它们有什么区别?

  • 正确设置永久环境变量并立即生效

1. 什么是环境变量

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

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

2. 用户环境变量和系统环境变量

Ubuntu系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。

用户环境变量可存储在以下文件中:
  • ~/.profile
  • ~/.bashrc, ~/.bash_profile, ~/.bash_login

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

系统环境变量可存储在以下文件中:
  • /etc/profile

  • /etc/profile.d(它是文件夹)

  • /etc/bash.bashrc

/etc/profile/etc/profile.d都是常用的设置环境的地方。其中/etc/profile.d文件夹来源于/etc/profile,在该目录下的*.sh,即以sh为后缀的文件都会被加载。
类似地,不推荐使用/etc/bash.bashrc,因为在图形界面环境下启动程序时,不会加载它里边的环境变量设置。

3. 设置永久环境变量实例(以/etc/profile为例)

gedit /etc/profile
#vim也行

如何给Ubuntu正确地设置永久环境变量并立即生效
在文件末尾处添加如下,保存并退出:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0
export PATH=$PATH:$JAVA_HOME/bin

其中,

export命令:使得变量真正输出成为环境变量。

等号=左边为变量名,右边为变量实际值。export后,可以通过$variable_name的形式访问变量,如$JAVA_HOME,即可替换为JAVA_HOME=/usr/lib/jvm/jdk1.7.0

PATH变量中通常有多个指定路径,中间用冒号隔开。拼接上$PATH变量,则不影响原先的路径设置。

环境变量更改后,在用户下次登陆时生效。如果想立刻生效,则执行下面的语句

source /etc/profile

注意:请在使用时将路径替换为你电脑下的实际路径。
如果只是测试,直接复制上面的命令也行,只不过最后会提示“No such file or directory”。

4. 查看环境变量是否已经生效

在控制台下输入

$JAVA_HOME
$PATH

可以看到,环境变量已经生效了!