shell的登录方式分为以下两种
以登录方式启动bash
bash -l
以用户方式登录bash
bash
读取脚本文件的分析
分别在增加如下内容
/etc/profile中的最后增加如下内容
echo "/etc/profile is loaded!"
.bashrc中增加如下内容
echo ".bashrc is loaded!"
.profile中增加如下内容
echo ".profile is loaded!"
以两种方式登录bash
以登录方式登录bash
以用户方式登录bash
查看.profile脚本,会发现如下内容
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
其实是.profile脚本帮助启动执行了.bashrc脚本。
将.profile中该文件内的相关内容修改下,再次以以上两种方式登录bash。
从以上可以看出,确实如上面所说,以登录方式启动bash时,是.profile里面的脚本帮助执行了.bashrc。
而且因为需要先执行.bashrc后才会继续执行.profile,所以打印信息应该是永远是.bashrc先于.profile执行。