Ubantu 为例 Lixnu 开机后,会读取以下文件: /etc/profile 开机读取一次 /etc/bash.bashrc 每次启动终端读取一次 ~/.bash_profile ~/.profile开机读取一次 ~/.bashrc 每次启动终端读取一次
先在家目录创建一个空白文件:
touch sort我们可以在这四个文件的第一行分别写上如下的代码:
# /etc/profile echo "im etc profile" >> ~/sort # ~/.bash_profile echo "im bash_profile" >> ~/sort # ~/.profile echo "im profile" >> ~/sort # ~/.bashrc echo "im bashrc" >> ~/sortecho 命令 : 输出后面的字符串 >> 命令 : 将前面命令的输出写入到后面文件的最后端
先退出所有终端,通过文件管理器打开sort文件,清空里面的内容后,保存退出。 注销系统,登陆后,不要开启终端,再通过文件管理器打开sort文件,看里面的输出结果,就是文件的启动顺序 顺序是 /etc/profile > ~/.profile > ~/.bashec
为啥~/.bash_profile 没有被读取,因为前面的文件里面没有写
if [ -f "~/.bash_profile" ]; then . ~/.bash_profile fi方法一样,这里就不赘述了,直接上图
这里的 im bb 是 /etc/bash.bashrc 文件
开机出现前三行,im etc_profile, profile, bashrc
开启两次终端后,分别写入了两次 im bb, im bashrc
可见,每启动一次终端,会先读取一次/etc/bash.bashrc, 后读取一次 bashrc
Linxu 小白,只能用这个笨办法获取启动顺序,欢迎大佬指点。
