美文网首页shell
【现学现忘&Shell基础】— 23.环境变量配置文件调用过程

【现学现忘&Shell基础】— 23.环境变量配置文件调用过程

作者: 繁华似锦Fighting | 来源:发表于2020-09-28 00:07 被阅读0次

    环境变量配置文件调用过程有两个方向:

    • 用户正常登陆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文件,最终显示命令提示符。

    image.png

    4、总结

    • 这样这五个环境变量配置文件会被依次调用,那么如果是我们自己定义的环境变量应该放入哪个文件呢?

      如果你的修改是打算对所有用户生效的,那么可以放入/etc/profile环境变量配置文件中;

      如果你的修改只是给自己使用的,那么可以放入~/.bash_profile~/.bashrc这两个配置文件中的任一个。

    • 可是如果我们误删除了这些环境变量,比如删除了/etc/bashrc文件,或删除了~/.bashrc文件,那么这些文件中配置就会失效。

      根据上边的环境变量配置文件加载流程,如果误删除了/etc/bashrc文件,那么命令提示符就无法正常定义和显示了,命令提示符就会显示成简单的bash版本的提示符了-bash-4.1#

    • /etc/目录下的环境变量配置文件,我们一般很少动,但是家目录中的两个配置文件,我们会有很大的几率误删除。

      根据环境变量配置文件加载的顺序,最终都会导致/etc/bashrc文件无法正常加载。

      出现这种现象最直观的现象就是,你看到的命令提示符,变成了一个简易bash的提示符。

      解决方式,找一个其他的系统把这两个文件拷贝回来即可。

    相关文章

      网友评论

        本文标题:【现学现忘&Shell基础】— 23.环境变量配置文件调用过程

        本文链接:https://www.haomeiwen.com/subject/ebzluktx.html