shell的初始化

来源:互联网 发布:java开发人事管理系统 编辑:程序博客网 时间:2024/06/08 03:04
   在linux系统中,shell分为两种,一种是login-shell,一种是non-login-shell。我们知道一个编程环境启动是肯定要初始化一些设置。初始化有命令提示符(PS1),命令查找路径(PATH)等。
   在linux中,login-shell的初始化使用到文件为/etc/profile,这个文件除了设置一些基本设置之外还会调用/etc/profile.d/目录下的以.sh结尾的文件。这个文件或目录中的初始化设置是对所有用户生效的,因为每个用户登录都会从读取/etc/profile开始。所以,如果我们要设置一个新的环境变量对所有用户生效,不防    在/etc/profile中添加,或者在/etc/profile.d/目录下添加一个文件,后缀为.sh。比如我们添加一个javaJDK的运行环境,我们就可以在/etc/profile.d/java.s写入JAVA_HOME等信息。
   login-shell最后还会调用~/.bash_profile这个文件的设置。这个文件文件也会读到~/.bashrc里面的设置。这是个人的环境设置。
   读取流程:
  ---->> /etc/profile --------------------->>~/.bash_profile--------------->>开始操作bash                                 
               ----->>/etc/inputrc                     ----->>~/.bashrc
               ----->>/etc/profile.d/*sh                            ------>>/etc/bashrc
                               ----->>/etc/sysconfig/i18n                          ------>>/etc/profile.d/*.sh
   而non-login-shell只会调用~/.bashrc这个文件的设置。
   
   这两个shell分别用在什么时候呢?login-shell使用在机器启动完,等待用户输入用户名,密码之后。而non-login-shell一般用在启动系统服务时的登陆用户。
    要注意的是,在Xwindow下启动的终端是属于non-login-shell的。

   其他一些相关配置文件:
      /etc/man.config:  manpage时的查找目录文件。
     ~/.bash_history: 历史命令记录文件,一般为最新的2000条。
     ~/.bash_loginout: 注销bash后系统的操作或者一些提示。
0 0
原创粉丝点击