每次打开终端时,我都必须提供源代码.bash_profile
以启用$JAVA_HOME
或其他变量。
Answers:
是的,它叫做~/.zshenv
。
这是我$JAVA_HOME
设定的方式~/.zshenv
:
export JAVA_HOME="$(/usr/libexec/java_home)"
但是请记住,zsh不是bash,因此仅因为您.bash_profile
每次打开终端时都必须提供源代码并不意味着您必须使用zsh进行操作。使用zsh时,我只需要~/.zshenv
在对其进行更改时就重新获得我的资源,然后仅对于已经打开的终端即可:新的终端应该已经获得了我的new和改进的资源~/.zshenv
。
注意
在尝试确定应该使用哪些zsh启动文件时,我应该经常使用它来查阅zsh启动文件。
.zprofile
含义更接近.bash_profile
,因为两者仅由各自的登录shell的shell来提供。.zshenv
对的所有实例都执行zsh
,无论它们是否是登录shell。
.zshenv
是应在其中定义所有环境变量的位置。看到这里
.bash_profile
必须做bash
什么.zshenv
,.zprofile/.zlogin
一起做什么zsh
。该链接提供了应该去哪里的好信息。
我知道这是一个老问题,但是最近我将MacO升级到Catalina,这将默认shell从bash更改为zsh。
我最终这样做:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
要让zsh源我的原始.bash_profile。
echo source ~/.bash_profile > ~/.zshenv
echo
重要吗?那是做什么的?
X > Y
只能通过X输出。没有回声,则不会输出任何内容。
继续使用.bash_profile的其他简单替代方法是将此文件添加到.zshrc文件中:
通过这种简单的解决方案,如果您喜欢zhs,则可以继续添加.bash_prifile。