Linux Shell基础-环境变量配置文件
一 简介
环境变量配置文件中,主要是定义对系统的操作环境生效的系统默认环境变量,比如PATH,HISTSIZE,PS1,HOSTNAME等默认环境变量
主要是下面这个5种
我们之前设置的一些变量,都是临时生效,如果想要让变量重启后还生效,就需要写入这些配置文件中,写完之后,如果不想重启,立即生效用source 配置文件或者. 配置文件,说到这里,让我想起了编译Android系统时的一个配置文件,/build/envsetup.sh,每次我们新clone一份代码,不想全部编译,而是用mm编译其中一个模块时,都需要先source envsetup.sh,当时不太理解为什么,现在知道了,因为mm命令在这个配置文件中,需要让这个配置文件里面的环境变量或者Shell命令在当前系统中生效,需要用source的方式。
二 作用
这个流程有两个方向,上面横着走的是用户通过重新登录的流程,下面这个是不通过登录,直接切换用户会走的流程,这里有一个注意点,比如我一个变量在流程靠前的配置文件中定义了,在后面的文件又定义,以后面的为准,我们来分别看下:
首先看/etc/profile的作用
定义USER变量,LOGNAME变量,MAIL变量
定义PATH变量
定义HOSTNAME变量,HISTSIZE变量,umask
调用/etc/profile.d/*.sh文件
我们来看下这个目录下的sh文件
看下lang.sh
这里面主要定义LANG这个变量
~/.bash_profile
调用了~/.bashrc文件
在PATH变量后面加入了”:$HOME/bin”
~/.bashrc
定义了一些默认的别名
调用/etc/bashrc
/etc/bashrc
定义PS1变量
定义PATH变量,umask
调用/etc/profile.d/*.sh文件
三 其他配置文件和登录信息
1 注销时生效的环境变量配置文件
~/.bash_logout
我们可以看到这个文件目前还是空的,如果想在注销的时候做什么动作,可以在这里写,比如我把history清空
2 ~/.bash_history
这个之前已经说过了,历史命令
3 Shell登录信息
本地终端欢迎信息/etc/issue
远程终端欢迎信息/etc/issue.net
转义符在这个文件中没有作用,是否显示由/etc/ssh/sshd_config决定
加入”Banner /etc/issue.net” 才能显示,记得重启ssh服务
登录后欢迎信息/etc/motd
我们看到这里是空的,加一行Welcome!
不管是本地还是远程,都可以显示此欢迎信息
好了,环境变量配置文件就总结到这里,如有问题,欢迎指正,谢谢。