Bash下每个用户都可以配置两个初始文件:.bash_profile和.bashrc
~/.bash_profile --------------The personal initialization file, executed for login shells
~/.bashrc --------------The individual per-interactive-shell startup file
每次bash作为login shell启动时会执行.bash_profile。
主要有有以下几种情形:
每次登录到服务器时默认启动的shell
“su -l [USER]”时进入的shell l(link)
“bash --login”进入的shell
每次bash作为普通的交互shell(interactive shell)启动时会执行.bashrc
常见的有:
“su [USER]”进入的shell
直接运行“bash”命令进入的shell。
注意
在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的 bash不是interactive shell。
bash作为login shell(login bash)启动时并不执行.bashrc。虽然该shell也是interactive shell,但它不是普通的shell。
一般.bash_profile里都会调用.bashrc
尽管login bash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
打开配置文件:
vim ~/.bashrc
在文件的末尾,添加如下
export 变量名=变量
如:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:~/mybin
注销并重新登录,新的环境变量就生效了。
=============================================
在Ubuntu中有如下几个文件可以设置环境变量
/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置文件的环境变量。
~/.profile:在登录时用到的第三个文件.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
来源:oschina
链接:https://my.oschina.net/u/2338362/blog/393893