再現方法
こんなコードを書いたとする
dest="~/Documents/hello"
echo 'hoge' > $dest
一見良さそうだけど、zsh: no such file or directory: ~/Documents/helloというエラーに叱られる
解決策1
dest="/Users/payashi/Documents/hello" # 絶対パスにする
echo 'hoge' > $dest
cat $dest # `hoge`と出力される
解決策2
dest=~/Documents/hello # クオーテーションで囲まない
echo 'hoge' > $dest
cat $dest # `hoge`と出力される
原因
クオーテーションで囲ってしまうと相対パスから絶対パスに変換できなくなる