Em cd ~/z/ , você está usando Expansão de til para expandir ~ para seu diretório pessoal. Em BASE="~/z" , você não está porque você citou o caractere ~ , por isso não é expandido. É por isso que você recebe uma mensagem reclamando sobre um diretório ~ inexistente. A solução é não citá-lo, ou seja, BASE=~/z para permitir que a expansão ocorra.