Você não precisa do comando test ao usar case e não precisa de case ao usar test :
case $1 in
("") echo "something" ;;
esac
e:
[[ -z $1 ]] && echo "something"
ou usando o teste antigo [...] para portabilidade:
[ -z "$1" ] && echo "something"