-
Parece que você precisa declarar a variável com um valor (pode ser nulo):
unset foobar; declare foobar=
A instrução case produzirá "foobar declarado".
-
você usa aspas e espaços para que o
*" foobar "*
possa detectar o nome da variável específica fora da lista de nomes de variáveis retornados por${!foobar*}
:$ unset foobar; foobarbaz=1; foobarquz=2 $ echo " ${!foobar*} " foobarbaz foobarquz
A instrução case produzirá "foobar não declarada".