weird ZSH issue (resolving environment variable) using ZSH mac latest. In .zshrc I have:
export ZSH=&quot;~/.oh-my-zsh&quot;

that directory exists:
cd ~/.oh-my-zsh
me@Imac-Retina-2 .oh-my-zsh % ls
CODE_OF_CONDUCT.md  README.md           lib/                oh-my-zsh.sh-SAVED  themes/
CONTRIBUTING.md     cache/              log/                plugins/            tools/
LICENSE.txt         custom/             oh-my-zsh.sh        templates/

but trying to resolve $ZSH fails:
cd ~
ls $ZSH
ls: ~/.oh-my-zsh: No such file or directory
cd $ZSH
cd: no such file or directory: ~/.oh-my-zsh

it's not related to the particular $ZSH variable. For example, I can define export PDQ=&quot;~/Downloads&quot; and cd $PDQ fails (no such file or directory), but cd ~/Downloads works just fine.
I have NO CLUE...anyone? ‍♂️
This seems to be only related to the filesystem, other environment vars work and resolve just fine in apps, etc...
As explained in https://stackoverflow.com/questions/56951712/why-is-zsh-not-able-to-read-tilde-from-a-path-in-a-script zsh doesn't expand ~ within double quotes. So you can do one of
export ZSH=~&quot;/.oh-my-zsh&quot;
export ZSH=&quot;$HOME/.oh-my-zsh&quot;

(where the second option also works if there are space characters in your home path), or set
set -o magicequalsubst

to have zsh expand ~ in such cases.