Is there anything in Zsh like .bash_profile?
Yes, it's called ~/.zshenv
.
Here's how I have $JAVA_HOME
set in ~/.zshenv
:
export JAVA_HOME="$(/usr/libexec/java_home)"
Keep in mind, however, that zsh is not bash, so just 'cause you have to source your .bash_profile
every time you open a terminal does not mean that you have to do that with zsh. With zsh, I only have to re-source my ~/.zshenv
when I make changes to it, and then only for terminals which are already open: new terminals should have already sourced my new and improved ~/.zshenv
.
NOTE
I often find it helpful, when trying to determine which of my zsh startup files I should place things in to consult zsh startup files.
A newer version of the documentation for startup files can be found here.
I know this is an old question, but I recently upgraded MacOs to Catalina which changed the default shell from bash to zsh.
I ended up doing this:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
To have zsh source my original .bash_profile.
Other simple alternative to continue using your .bash_profile is add this file to your .zshrc file:
- Open your .zhsrc file > vim ~/.zshrc
- Add this line to your .zshrc file > source ~/.bash_profile
with this simple solution you can continue adding your .bash_prifile if you like zhs.
Adding .bash_profile