POSIXly (até mesmo Bournely):
set -- somedir-[*] somedir-*
case $#-$1-$2 in
'2-somedir-[*]-somedir-*') echo 0 match;;
2-*) echo 1 match;;
*) echo more than one match;;
esac
O somedir-[*] somedir-* é para desambiguar os casos em que:
- Não há correspondência (a expansão seria
somedir-[*]somedir-*) - Existe uma correspondência, mas é um literal
somedir-*(a expansão seriasomedir-*somedir-*.
Com bash , você pode fazer:
(shopt -s nullglob
set -- somedir-*
[ "$#" -eq 1 ])
ksh93 , zsh , yash tem um recurso semelhante (o recurso vem de zsh ), mas com uma sintaxe diferente.