Las comillas impiden la expansión de ~.
Usar:
CLIENT_BUILD_DIR=~/Desktop/TempDir/
if [ ! -d "$CLIENT_BUILD_DIR" ]
then mkdir "$CLIENT_BUILD_DIR"
fi
El ~
el carácter no se reinterpreta cuando se usa en una variable.
Puedes usar CLIENT_BUILD_DIR="$HOME/Desktop/TempDir/"
en su lugar.
mkdir ${CLIENT_BUILD_DIR}
servirá. No se creará ningún directorio si ya existe.