bashrc和profile

交互式shell:shell等待你的输入,并且执行你提交的命令。
非交互式shell:读取存放在文件中的命令,执行它们。

bashrc 与 profile都用于保存用户的环境变量,都是交互式。但bashrc用于交互式non-loginshell,profile用于交互式login shell。

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置,
/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

看上面的信息都有点懵,只知道/etc/profile是登录就会执行,/etc/bashrc是每个用户运行bash shell时都会运行,~/.bashrc是登录用户使用bash shell时才会运行。

首先看下/etc/profile里都写着什么,除了PATH,变量设置,路径设置就是遍历/etc/profile.d下的shell脚本和导入/etc/bashrc

再看下/etc/bashrc,也是调用了/etc/profile.d目下的sh脚本

总结起来就是如下

看下~/.bash_profile,,可以知道调用了~/.bashrc

~/.bashrc里则是调用了/etc/bashrc

总结起来就是如下

其实启动一个ssh连接全部都有调用,如果单独运行bash shell就只是运行/etc/bashrc和~/.bashrc,要注意的是第二点会先去调用~/.bash_profile,如果有并且可读才会执行,否则去找~/.bash_login,如果还没有就找~/.profile,我的centos 8中并没有~/.profile,最后 login shell退出时读取并执行~/.bash_logout中的命令。

以上截图都是在centos 8中查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值