环境变量作用:切换文件夹,查找执行文件等等
-
查看环境变量 env 和 set 命令,区别set查找的变量包括自定义变量和bash接口
-
export 将自定义变量转化为环境变量,环境变量可以被继承
malan@malan-Lenovo-G470 ~ $ name=Bell
malan@malan-Lenovo-G470 ~ $ echo $name
Bell
malan@malan-Lenovo-G470 ~ $ bash
malan@malan-Lenovo-G470 ~ $ echo $name
malan@malan-Lenovo-G470 ~ $ exit
exit
malan@malan-Lenovo-G470 ~ $ export name
malan@malan-Lenovo-G470 ~ $ bash
malan@malan-Lenovo-G470 ~ $ echo $name
Bell
malan@malan-Lenovo-G470 ~ $
注:bash表示开启一个新的bash进程 exit表示退出当前bash
-
环境变量是从一些环境变量的配置文件里读取出来的,那我门上面通过export设置的环境变量在shell一旦重启后就没有了.
-
要想永久的改变环境变量,那就要在配置文件中来设置环境变量
-
环境变量配置文件修改后必须要重启shell后才会重新读取,而source命令可以使配置文件立即生效
malan@malan-Lenovo-G470 ~ $ source 配置文件
配置文件详解
#先区别login shell 和non-login shell
| login shell |
non-login shell |
| 需要登录 |
不需要登录 |
| /etc/profile 系统整体配置 |
~/.bashrc |
| ~/.bash_profile ~/.bash_login ~/.profile <用户个人文件> |
|
| 以上三个文件只读取一个,从前到后的优先级 |
|
所以综上所属:以后在用户个人文件中来更改环境变量,然后使用source立即生效即可使用,对于login shell 和non-login shell注意配置文件的不同
malan@malan-Lenovo-G470 ~ $ cat .bashrc
malan@malan-Lenovo-G470 ~ $ echo $name
malan@malan-Lenovo-G470 ~ $ echo "export name=Bell" > .bashrc
malan@malan-Lenovo-G470 ~ $ source .bashrc
malan@malan-Lenovo-G470 ~ $ echo $name
Bell
重启终端,依旧生效