iTerm/zsh not reading .bashrc OR .bash_profile

The answer is simple, almost evident in the question. Here's why:

The shell zsh is not bash, it is a different shell. zsh will not use the default files built for bash: .bashrc or .bash_profile. These two files are startup configuration files for bash. zsh has its own startup configuration files.

You can find out more about them here on the zsh intro page:

There are five startup files that zsh will read commands from:

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout

You had mentioned your aliases don't work, to fix this, apply your aliases here like so:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.

If you are using zsh then to force source .bash_profile

in ~/.zshrc add the line below

source ~/.bash_profile

P.S - I havent investigated whether this can cause any problem.


Copy the lines from ~/.bash_profile to ~/.zshrc

cat ~/.bash_profile >> ~/.zshrc

And open a new terminal tab/window or use source ~/.zshrc