环境变量配置文件调用过程有两个方向:
-
用户正常登陆Linux系统时的环境变量配置文件加载方向
也就是登陆Linux系统的时候,输入账户密码,正常进行登陆。
/etc/profile
文件调用/etc/profile.d/*.sh
文件和~/.bash_profile
文件。
最终加载
/etc/sysc onfig/i18n
文件和看到命令提示符。
-
非登陆情况下的环境变量配置文件加载方向
什么是非登陆状态,比如说我是root用户,通过
su
命令切换成user1用户。这个时候是不需要输入用户密码的,直接就可以切换进去。
还有是在父Shell中开启一个子Shell,这种情况下,也不需要输入用户名密码,就可以直接进入子Shell中。
上面这两种情况都属于非登陆情况,user1用户和子Shell中的环境变量配置文件都是这种加载方向。
非登陆情况下环境变量配置文件加载方向是在
/etc/bashrc
文件开始加载,加载
/etc/profile.d/*.sh
文件,之后加载/etc/profile.d/lang.sh
,然后加载/etc/sysconfig/i18n
文件,最终显示命令提示符。
4、总结
-
这样这五个环境变量配置文件会被依次调用,那么如果是我们自己定义的环境变量应该放入哪个文件呢?
如果你的修改是打算对所有用户生效的,那么可以放入
/etc/profile
环境变量配置文件中;如果你的修改只是给自己使用的,那么可以放入
~/.bash_profile
或~/.bashrc
这两个配置文件中的任一个。 -
可是如果我们误删除了这些环境变量,比如删除了
/etc/bashrc
文件,或删除了~/.bashrc
文件,那么这些文件中配置就会失效。根据上边的环境变量配置文件加载流程,如果误删除了
/etc/bashrc
文件,那么命令提示符就无法正常定义和显示了,命令提示符就会显示成简单的bash版本的提示符了-bash-4.1#
。 -
/etc/
目录下的环境变量配置文件,我们一般很少动,但是家目录中的两个配置文件,我们会有很大的几率误删除。根据环境变量配置文件加载的顺序,最终都会导致
/etc/bashrc
文件无法正常加载。出现这种现象最直观的现象就是,你看到的命令提示符,变成了一个简易bash的提示符。
解决方式,找一个其他的系统把这两个文件拷贝回来即可。
网友评论