打开 gnome 终端的新选项卡和新窗口时将读取哪些初始化文件?

打开 gnome 终端的新选项卡和新窗口时将读取哪些初始化文件?

如果我没记错的话,我记得在基因组终端中打开一个新标签将运行.bashrc,并且打开一个新的 gnome 终端窗口也会运行。

这两者是否读取相同的 bash init 文件?

例如 ~/.bashrc,而不是 ~/.bash_profile?

谢谢。

答案1

是的。打开新选项卡或新终端的作用完全相同:它会$SHELL以交互、非登录模式启动您的新实例(默认情况下为 bash)。这意味着将读取以下文件:

/etc/bash.bashrc
~/.bashrc

如果你启动登录 shell,bash 将读取/etc/profile,它找到的第一个是:/.bash_profile~/.bash_login~/.profile。这一切都在 的调用部分中解释man bash

当 bash 作为交互式登录 shell 或使用 --login 选项作为非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的文件中读取并执行命令。启动 shell 时可以使用 --noprofile 选项来禁止此行为。

[...]

当启动非登录 shell 的交互式 shell 时,bash 会从 /etc/bash.bashrc 和 ~/.bashrc 读取并执行命令(如果这些文件存在)。

有关在不同条件下获取或执行的各种文件的更多详细信息,请参阅我的回答这里

相关内容