You can use `${VarName:-Default}` to have a default string/fallback expression. If `$VarName` is undeclared or empty, then `Default` is used. `Default` can be an expression like `${VarName2:-${VarName3}}`, too.
I am not sure if that is POSIX, but the plain Bourne shell and BASH support it.