zenity
não escreve o resultado de sua escolha para std-out. Experimente você mesmo, executando-o na linha de comando:
$ zenity --question
$
Como você pode ver, nada é mostrado, e é por isso que suas variáveis TEST
estão vazias.
Em vez disso, zenity
retorna o valor de --question
como seu status de saída. Isso pode ser visualizado (no bash) com a variável interna $?
.
$ zenity --question
Selecione o botão "Não":
$ echo $?
$ 1
Como explicado na man page, 0 significa 'Sim', 1 significa 'Não' e 5 significa que o comando expirou.
Seu comando deve ser:
$ zenity --question; echo test=$?
$ test=1
Observe que diferentes comandos zenity
têm comportamentos diferentes. Como a página man explica, o comando --entry
envia sua saída para std-out:
$ zenity --entry
$ Test 1..2..3..
Portanto, seus testes funcionariam com esse comando específico.