LINUX配置文件加载顺序

博客详细介绍了Linux Shell的启动方式,包括交互式登录、非交互式登录等,并解析了登录式和非登录式Shell的配置文件加载顺序,如/etc/profile、~/.bash_profile、~/.bash_login、~/.profile和~/.bashrc等,特别强调了在命令行与SSH登录以及图形界面登录时的不同加载规则。
摘要由CSDN通过智能技术生成

shell启动方式

启动类型

  • 交互式登录
    一个个地输入命令并及时查看它们的输出结果,整个过程都在跟 Shell 不停地互动。
  • 交互式非登录
    运行一个 Shell 脚本 文件,让所有命令批量化、一次性地执行。
  • 非交互式登录
    需要输入用户名和密码才能使用。
  • 非交互式非登录
    直接可以使用。

如何判断是否为交互式 Shell? 有两种方式

1、 查看特殊变量 - ,如果值包含 i,则是交互式,否则是非交互式

 $ echo $-

2、 查看变量 PS1 是否为空,如果不为空,则是交互式,否则为非交互式

$ echo $PS1

判断是否为登录式 Shell ?

取得 bash 是需要完整的登入流程,就称为 login shell,取得 bash 接口的方法不需要重复登入的操作就称为non-login shell。
执行命令

shopt login_shell

如果值为 on 表示登录式(login shell),为 off 表示非登录式(non-login shell)。

同时判断交互式和登录式

$ echo $PS1; shopt login_shell

配置文件启动

配置文件加载说明

对于登录式和非登录式,配置文件的加载顺序是不一样的。
与 Bash Shell 有关的配置文件主要有以下几种,不同的启动方式会加载不同的配置文件。

1: /etc/profile           #对所有用户的登录shell都有效(全局配置文件),最好不要修改这个文件
2: ~/.bash_profile        #为当前用户设置环境信息,仅对当前用户的登录shell有效(局部配置文件)
3: ~/.bash_login 
4: ~/.profile
5: ~/.bashrc             #bash_profile只被登录shell读取并执行一次,
                         #如果在命令行上键入bash启动一个新的shell,这个新shell读取的是.bashrc而不是.bash_profile,
                         #将登录shell和运行一个子shell所需的配置文件分开
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值