Les guillemets empêchent l'expansion de ~.
Utiliser :
CLIENT_BUILD_DIR=~/Desktop/TempDir/
if [ ! -d "$CLIENT_BUILD_DIR" ]
then mkdir "$CLIENT_BUILD_DIR"
fi
Le ~
le caractère n'est pas réinterprété lorsqu'il est utilisé dans une variable.
Vous pouvez utiliser CLIENT_BUILD_DIR="$HOME/Desktop/TempDir/"
à la place.
mkdir ${CLIENT_BUILD_DIR}
ça ira. Aucun répertoire ne sera créé s'il existe déjà.