-
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 foobarquzA instrução case produzirá "foobar não declarada".