Easiest way to migrate aliases from bash to zsh
I want to start using zsh
as recommended by Apple for Mac OS Catalina. How do I migrate my aliases that I have defined in the ~/.bash_profile
to the new shell?
Solution 1:
If until now you've been using ~/.bash_profile
for the loading the aliases, here are some of the ways you can migrate your aliases:
1. Copy the contents:
The most assiduous and obvious way is to copy the contents of your ~/.bash_profile
to ~/.zshrc
. It works particularly when you are moving on from bash
to zsh
for good.
2. Pull out aliases and then source them:
Another *way is:
- Create a new file that will contain the aliases (let's call it
~/.aliases
); - Copy the contents of
~/.bash_profile
to the new aliases file; - Modify the
~/.bash_profile
and~/.zshrc
to source the new file.
Put the following in ~/.bash_profile
:
if [ -f ~/.aliases ]; then
. ~/.aliases
fi
and put the following in ~/.zshrc
:
source $HOME/.aliases
This way the aliases will be available for both shells. More importantly, if you make changes to the aliases, the changes will cascade to both shells automatically.
* Taken from here