为什么 .bashrc 和 .profile 中导出的变量的生命周期不同?

为什么 .bashrc 和 .profile 中导出的变量的生命周期不同?

如果从 .profile 导出变量,则它会出现在我登录后打开的所有终端中,即使该变量在登录时仅导出一次。如果从 .bashrc 导出变量(每次打开新终端时都会获取该变量),我可以使用它,但如果从 .bashrc 删除变量导出,然后打开新终端,则该变量将不再存在。那么为什么从 .profile 导出的变量(在登录时读取一次)是永久的,而从 .bashrc 导出的变量却不是?

根据我的理解,通过 .bashrc 导出就像在每个终端会话中手动键入它一样。通过 .profile 导出实际上会记住整个登录会话中的变量还是实际发生了什么,因此变量会永久存在?

相关内容