在Linux中设置环境变量的方法大体分为三种,一种是在shell脚本中使用export命令实现,其他两种是通过修改bashrc和profile文件实现(不同Linux操作系统中这两种文件的区别参见这里),下面就通过CentOs操作系统为例,对这三种方式的具体配置方法及区别进行说明。
首先,明确一下CentOs中的跟环境变量有关的配置文件:
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
接下来,再说具体配置方式。
1.通过Shell命令export修改Linux环境变量
使用shell命令export方式设置环境变量的示例如下:
export PATH=$PATH:/usr/local/hadoop/bin
需要注意的是:
使用 export 设置的变量,只对当前终端 Shell 有效,也就是说如果新打开一个终端,那这个 export 设置的变量在新终端中使无法读取到的。适合设置一些临时变量。
2.通过~/.bashrc或~/.bash_profile修改Linux环境变量
1) 修改~/.bash_profile
这种方式,只对单个用户生效,当用户登录时该文件仅执行一次,用户可使用该文件添加自己使用的 shell 变量信息。
此外,在不同的操作系统中,这个文件可能是不同的,可能是 ~/.bash_profile、 ~/.bash_login 、 ~/.profile中的一种,甚至是几种。比如在Ubuntu系统中,一般是~/.profile文件;如果存在多种的话,那么执行的顺序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。
2) 修改~/.bashrc
只对单个用户生效,当登录以及每次打开新的 shell 时,该文件被读取。
3.通过/etc/profile或/etc/bashrc修改Linux环境变量
1) 修改etc/profile
此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。
2) 修改/etc/bashrc
当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。
此外,在不同的操作系统中,这个文件可能是不同的,比如在Ubuntu系统中,一般是:/etc/bash.bashrc。
4.补充
修改 /etc/environment 这个文件也能实现环境变量的设置。/etc/environment 设置的也是全局变量,从文件本身的作用上来说, /etc/environment 设置的是整个系统的环境,而/etc/profile是设置所有用户的环境。
参考文章:
- http://www.powerxing.com/linux-environment-variable/ ;
- http://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html ;
最新评论
我的是ipv4网络,如何使用直播源啊!
我今天试了,不想啊,我的是新疆昌吉移动的网络。
收不到验证码电报
现在充值29起了