.profile 和 .bashrc 在我的 Mac 上不起作用

.profile 和 .bashrc 在我的 Mac 上不起作用

这个问题我困扰了很久。运行终端后,.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)已经对其进行了修改。如果有更好的解决方案,我会很高兴听到它!

相关内容