用Export命令可以设置环境变量,但是如果每回进入系统之后都要重新设置一遍环境变量就很烦人。Linux给大家提供了自动设置环境变量的方法,那就是更改 .bashrc 文件。 一般说来,有两个文件可以提供这种“进入系统时自动设置”的功能,一个是 /etc/bashrc,另一个是 ~/.bashrc。其中/etc/bashrc是被每个用户执行的,而~/.bashrc只被当前用户执行。所以/etc/bashrc只有root用户能更改,而~/.bashrc是各个用户私有的文件。 "~"指的是用户的home目录。
在建立用户时,Linux会为其分配一个目录以供该用户使用。比如对 "hjk41",该目录就是"/home/hjk41"。一般用户只能更改这个目录里的文件,这样各个用户之间不会互相干扰。因而 ~/.bashrc文件在这里就是 "/home/hjk41/.bashrc",如果有另外一名叫"hjk42"的用户,那么他的 .bashrc文件就是 "/home/hjk42/.bashrc"。
这样,各个用户有自己独立的".bashrc"文件,可以根据需要自行更改,而不会互相干扰。 /etc/bashrc文件则是共享的,整个Linux中只有一份。一般来说,用户的"~/.bashrc"开头都会调用/etc/bashrc,因此更改/etc/bashrc会影响到所有用户,这个文件一般是root用户管理的。
总之,Linux在用户登录时,会执行相应的.bashrc文件,比如我登录时,就会执行 /home/hjk41/.bashrc ,而这个文件先调用 /etc/bashrc。下面是一个简单的 .bashrc: if [ -f /etc/bashrc ]; then . /etc/bashrc fi export PATH=$PATH:/home/hjk41/bin 前面三行的意思是“如果/etc/bashrc这个文件存在,那么就执行它”,最后一行是我自己加的,用于修改PATH变量。这样每次登录时,环境变量 PATH都会自动修改为我需要的样子。 "env" 列出所有环境变量 "source ~/.bashrc" 在更改.bashrc文件后,执行条命令可以使更改立即生效(否则要等下次登录才能看到效果)。