本文内容如下:
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也行
在文件末尾处添加如下,保存并退出:
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
可以看到,环境变量已经生效了!