![.profile 和 .bashrc 在我的 Mac 上不起作用](https://linux22.com/image/1247457/.profile%20%E5%92%8C%20.bashrc%20%E5%9C%A8%E6%88%91%E7%9A%84%20Mac%20%E4%B8%8A%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
这个问题我困扰了很久。运行终端后,.profile 和 .bashrc 文件不起作用(未执行)。您能指出我应该在哪里查找问题根源吗?
答案1
我也有类似的问题.profile
没有被运行。结果(如解释的那样这个 Apple StackExchange 答案) 如果您有.bash_profile
或.bash_login
文件,那么您的.profile
将被 bash 忽略。
答案2
我想这个问答应该交给超级用户,但无论如何:
根据手册页,
/etc/profile
并被~/.profile
交互式登录 shell 读取,并且~/.bashrc
为交互式非登录 shell 读取。
如果您的其他 UNIX 计算机~/.bashrc
甚至自动读取交互式登录 shell,那是因为系统范围内/etc/ profile
有一行内容为~/.bashrc
。OS X 的系统范围内/etc/profile
没有这样的行。
因此,如果你想运行~/.bashrc
交互式登录 shell,你需要包含一行
. ~/.bashrc
在你的~/.profile
。
答案3
尝试“手动”获取它们:
source ~/.profile
看看会发生什么。请注意,正如其他人指出的那样,.profile 来自登录 shell,而 .bashrc 来自非登录 shell;因此请尝试其中一个,而不要同时尝试两者。
答案4
上面的信息很有用,但我想分享一些我遇到的问题和我找到的解决方案的具体信息。
需求:在 OSX 10.8(ML)上将目录添加到 PATH。
问题:指导通常是“修改主目录中的 .profile”。这有点令人困惑,因为默认情况下,此文件在 OSX 上不存在。更令人困惑的是,一旦您添加导出语句以将新目录附加到现有 PATH 中... 它就不起作用了。上面已介绍过。
解决方案:我将导出语句添加到我的 .bash_profile 中(也在主目录中)。
我确信有很多方法可以解决这个问题。这个方法对我有用。有点鼓舞人心:.bash_profile 已经存在,我可以看到其他已安装的软件(例如 Ruby)已经对其进行了修改。如果有更好的解决方案,我会很高兴听到它!