修改shell环境变量的方法大致分为两种,一种是使用export命令,一种是修改配置文件。
1.export命令,该方式只对该次登陆shell有效,退出shell再次进入后修改的内容丢失:
例如将/home/xxxx/bin添加到PATH中,可以使用命令:
export PATH=$PATH:/home/xxxx/bin。
这条命令可以直接在shell中执行,也可以放在脚本中,但放在脚本中需要使用source命令来执行脚本。
修改后可以使用命令:
export 或者 echo $PATH
查看是否修改成功。如果输出的PATH中含有/home/xxxx/bin则表明修改成功。
2.修改配置文件,具体见下,修改后通常需要注销后重新登入生效:
设置环境变量也可以通过修改如下5个文件来实现:
/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 、~/.bash_logout
区别如下:
/etc/profile:
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件.
注意:
1./etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
2.~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。
参考文章:
http://blog.sina.com.cn/s/blog_5ddb672b0100e3pr.html
http://hi.baidu.com/kissky2009/blog/item/d7b4595d5b79cc4afbf2c08f.html