login shell和nologin shell

login shell和nologin shell

取得shell的时候需要输入账号密码(完整流程)就是login shell,剩下的就是non-login shell.
二者获得shell后读取的配置文件不同
所以在图形化界面直接打开终端是non-login,直接执行bash获得的终端也是。
先sudo init 3,然后登录shell,那绝对是login shell实锤。

non-login shell

先/etc/bash.bashrc后读取~/.bashrc

login shell

  • 先读取 /etc/profle
  • 在~中找 .bash_profile,然后找.bash_login,然后找.profile。
    这三个文件,就按照这个顺序找。找到一个之后就不往下找了。就是说这三个文件只有一个会被执行。
  • 但是这三个文件里面,一般都会再次调用~/.bashrc

场景分析

在我的ubuntu 22.04当中

登录shell

  1. /etc/bash.bashrc
  2. /etc/profile
  3. ~/.bashrc
  4. ~/.profile

non-login shell

  1. /etc/bash.bashrc
  2. ~/.bashrc

常见设置

  • 一般的使用情况不需要严格区分login shell和non-login shell
  • 给个人设置环境变量,在~/.bashr就够用
  • 设置全局环境变量,一般用/etc/environment 。
    注意了,environment不是shell脚本,只能定义,不具有执行功能,就是别引用变量扩展(刀了符号)和export关键字等

扩展

  • .bash_history 历史命令
  • .bash_logout 登出的时候执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值