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à.