• shell启动时读取的配置文件


    bash shell具体可以分为3种类型,这3种类型为:

    1 login shell

    就是需要输入用户名和密码才能登陆的shell

    2 可交互的非login shell

    就是不用登陆的,但是可以同用户进行交互的shell,比如在父shell当中执行bash命令产生的子shell就是一个可交互的非login shell

    3 不可交互的非login shell

    这类shell通常都是系统自己使用

    对于第三类不可交互的非login shell,如果想要让shell启动之前读取相应配置文件,可以通过设置BASH_ENV环境变量来实现。当把要执行的配置文件赋给这个变量时,那么不可交互的非login shell就可以通过BASH_ENV的值来执行相关的配置文件

    对于第一类的login shell和第二类可交互的非login shell,涉及到的配置文件分别位于/etc和$HOME目录下,如下图所示:

    /etc目录下面包含profile,bashrc文件和profile.d目录(其中包含各种自顶一个的.sh文件);

    $HOME目录下包含.bash_profile|.bash_login|.profile(shell的搜索顺序按照这个顺序进行,找到一个就不会在找下一个。如果想知道自己的shell到底使用哪个配置文件,也可以通过man bash查看)和.bashrc。

    当logins shell执行时,配置文件读取额流程如下图所示:

    login shell首先读取/etc/profile文件,/etc/profile会调用执行/etc/profile.d目录下的.sh文件,然后shell读取$HOME目录下的.bash_profile|.bash_login|.profile,然后.bash_profile|.bash_login|.profile会调用.bashrc,.bashrc会调用/etc/bashrc,/etc/bashrc会调用执行/etc/profile.d目录下的.sh文件

    当可交互的非login shell执行时,配置文件的读取流程如下图所示:

    可交互的非login shell首先读取.bashrc,同上面一样,.bashrc调用/etc/bashrc,/etc/bashrc调用执行/etc/profile.d目录下面的.sh文件。

  • 相关阅读:
    DRF项目创建流程(1)
    RESTful API规范
    超哥笔记--shell 基本命令(4)
    转:django模板标签{% for %}的使用(含forloop用法)
    自定django登录跳转限制
    jquery Ajax应用
    js重定向跳转页面
    django项目mysql中文编码问题
    python进阶(六) 虚拟环境git clone报错解决办法
    Linux基础(六) Vim之vundle插件
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5658014.html
Copyright © 2020-2023  润新知