shell的初始化

    在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。比如我们添加一个java JDK的运行环境,我们就可以在/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一般用在启动系统服务时的登陆用户。
    要注意的是,在X window下启动的终端是属于non-login-shell的。

    其他一些相关配置文件:
        /etc/man.config:   man page时的查找目录文件。
      ~/.bash_history: 历史命令记录文件,一般为最新的2000条。
      ~/.bash_loginout: 注销bash后系统的操作或者一些提示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值