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"