在Mac终端中,.profile文件无法工作

28

我之前有一个 .profile 文件,我可以在终端中读取并使用别名。但是某个时刻这些别名突然停止工作了(其他命令仍能正常使用)。

为了快速修复问题,我删除(rm)了我的用户目录下的 .profile 文件,并重新创建了一个同名的文件。至少在该目录下,没有找到其他已存在的 bash_profiles 或其他文件。

新的 .profile 文件仍然不起作用。我尝试重启了终端和电脑,但仍不行。

现在,原来 .profile 文件中可以使用的命令仍在运行,但我无法找到原来的文件;而新的 .profile 文件则显示了:

No such file or directory(某个文件名的后半部分) and: command not found 信息

.profile 文件只包含路径更新、别名以及需要引用的其他文件。直接尝试引用 .profile 文件也会出现以上的错误信息。

然而,将 .profile 文件中的路径更新、别名以及需要引用的其他文件直接复制到终端中输入,则可正常使用。

请问怎么解决这个问题?


你检查过别名了吗? - Andrew
1
我基本上有同样的问题。然而,我绝对没有任何.bash_profile.bash-login(或.login)文件。此外,如果我在终端中手动执行source ~/.profile,那么在~/.profile中定义的别名确实会生效。 - murray
6个回答

39

5
对我来说,确实是因为我最近安装的一个SDK(实际上是为Google Cloud而安装的)创建了它自己的 .bash_profile 文件,覆盖了我的 .profile 文件。因此,我将我的 .profile 文件内容移到了 .bash_profile 文件中。 - David Notik
1
和我一样,但这次是SenchaCmd安装程序(6.0.0.x),它也创建了一个~/.bash_profile文件,而没有询问我或者甚至查看是否已经存在另一个文件,比如.profile... 叹气 - matthias
参见:https://dev59.com/2GMl5IYBdhLWcg3wAC2h - Davy

6

试试这个

echo "source ~/.profile" >> .bash_profile

4

我今天在同事的电脑上遇到了这个问题,我通过创建一个符号链接来解决我的.profile

ln -s ~/.profile ~/.zprofile

2
我正在使用Bash,因此我必须执行与ln -s ~/.profile ~/.bash_profile相同的操作。 - Damien C

4

对我来说,也没有.bash_profile或.bash-login文件。我发现的问题是OZH。 OZH使用.zshrc,在该文件中添加“source ~/.profile”解决了我的问题。


1
我安装了Android Studio和一些开发工具,它在我的主目录中添加了一个空的.bash_profile文件。使用rm ~/.bash_profile解决了问题,只需确保其中没有任何需要的内容即可。
.bash_profile是一个隐藏文件,因此尝试运行它,它会告诉你它是否存在。

如果您不希望使用特定于bash的命令,则最干净的解决方案。 - Cesar Castro

1
对我来说,没有.bash_profile.bash-login文件,但.profile仍然没有被加载。问题的原因是.profile的所有者是root,而不是当前本地用户。使用chown解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接