No shell POSIX, você pode usar set -u :
#!/bin/sh
set -u
: "${UNSET_VAR}"
ou usando a Expansão do parâmetro :
: "${UNSET_VAR?Unset variable}"
No seu caso, você deve usar :? em vez de ? para também falhar em variáveis definidas, mas vazias:
rm -rf -- "${PROJECT_HOME:?PROJECT_HOME empty or unset}"/*