您.profile
应该在登录时加载,而不是在每个终端中加载。它的目的是为整个会话定义环境变量和其他设置(包括您的窗口管理器和您从它启动的任何程序,例如 Emacs)。~/.profile
启动终端时不读取是正常的:那时很少需要定义环境变量。您的 shell 有一个初始化文件(.bashrc
或.zshrc
类似的文件),通常用于定义函数和别名以及设置 shell 选项。
在.profile
,它的表亲以及它们是如何加载的,阅读这个答案和我链接到的答案。所有系统都有一种在您登录时设置环境变量的方法,但是在方式方面存在一些差异(许多环境读取.profile
,但有些像您这样的环境没有)。