每当我打开终端时,我都必须使用.bash_profile来启用$ JAVA_HOME或其他变量。
答案 0 :(得分:36)
我知道这是一个老问题,但是我最近将MacO升级到了Catalina,从而将默认shell从bash更改为zsh。
我最终这样做了:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
要让zsh源我的原始.bash_profile。
答案 1 :(得分:3)
是的,它被称为~/.zshenv
。
以下是我在$JAVA_HOME
中设置~/.zshenv
的方式:
export JAVA_HOME="$(/usr/libexec/java_home)"
但请注意,zsh 不 bash,因此只是因为每次打开终端时都必须来源.bash_profile
not not 意味着您必须使用zsh执行此操作。使用zsh,我只需要对我的~/.zshenv
进行更改,然后仅用于已经打开的终端:新终端应该已经有了来源我的新~/.zshenv
。
注意强>
我经常发现它有用,在尝试确定我应该将哪些zsh启动文件放入咨询zsh startup files时。
答案 2 :(得分:3)
最近从Mac升级到Catalina OS,默认情况下它更改为运行Z Shell,该Z Shell使用zshrc文件作为Z-shell资源,我们通常在用户主目录中包含bash_profile,解决方案是简单地
打开一个新的终端窗口并运行以前的别名的/脚本应该可以正常运行
答案 3 :(得分:2)
要继续使用.bash_profile的其他简单替代方法是将此文件添加到.zshrc文件中:
通过这种简单的解决方案,如果您喜欢zhs,则可以继续添加.bash_prifile。
答案 4 :(得分:0)
在Mac Catalina中,终端使用zsh。最好不要拥有.bash_profile,而要拥有.zshenv并在那里编写脚本。
下次每次打开终端时,.zshenv中的脚本都会执行。
答案 5 :(得分:0)
我遇到了这个问题,我遵循了 Zack 和 Luke Schoen 的回答,但我的 $PATH
与我在 bash 中的看起来不一样。
这篇文章解释了不同的配置文件的作用: https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout
我发现将我的 .bash_profile
路径导出拆分为 .zprofile
并将我的别名拆分为 .zshrc
最适合我想要的。
我发现了为什么 Zack 和 Luke Schoen 的回答对我不起作用:
我在 .zshenv
中列出的路径导出先执行,然后执行 /usr/libexec/path_helper
,
将 /etc/paths
中列出的路径放在前面。
答案 6 :(得分:0)
我在 /etc/zprofile
位置找到了配置文件。这将用于 zsh