Este exemplo, usaremos o recurso para questionar o usuário. O usuário poderá escolher entre SIM e NÃO. É possível capturar a escolha do usuário através do script.
Você pode testar direto na linha de comando, ou usar um script.
Faça você mesmo.
Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:
#!/bin/bash
##########################################################
# Scripts de Exemplo de Uso de Shell Script com Dialog #
# Obs: Nao esqueca que para funcionar o pacote dialog #
# tem que estar instalado no seu S.O. #
# #
# Autor: Dailson Fernandes - contato@dailson.com.br #
# Licenca: GNU/GPL #
##########################################################
# Exibe uma mensagem simples para o usuario.
# E espera que ele pressione enter.
dialog --msgbox "Questionando o Usuario..." 6 30
# Obs: A barra invertida quebra a linha esteticamente,
# Porem nao ha quebra no comando.
dialog --yesno "Voce e feliz?" 0 0
dialog --msgbox "Descobrindo que botao \no usuario pressionou...." 6 30
# Primeira maneira de saber qual botao o usuario pressionou.
dialog --yesno "Voce e Bonito?" 0 0 \
&& dialog --msgbox "O Usuario Pressionou YES" 6 30 \
||dialog --msgbox "O Usuario Pressionou NO" 6 30
dialog --msgbox "Pressiona o outro Botao agora \n So pra testar :)" 6 40
# Primeira maneira de saber qual botao o usuario pressionou.
dialog --yesno "Voce e Feio?" 0 0 \
&& dialog --msgbox "O Usuario Pressionou YES" 6 30 \
||dialog --msgbox "O Usuario Pressionou NO" 6 30
# Segunda maneira de saber que botao o usuario pressionou.
# Atraves do retorno da variavel $?
# Se o retorno for 0 - O Usuario pressionou YES.
# Se o retorno for 1 - O Usuario pressionou NO.
dialog --msgbox "Descobrindo o Botao que o usuario pressionou \n
Atraves do Retorno da Variavel \$? \n
Se O usuario pressionou YES \$?=0 \n
Se O usuario pressionou NO \$?=1" 8 50
# Primeira maneira de saber qual botao o usuario pressionou.
dialog --yesno "Voce e Simpatico?" 0 0
if [ "$?" = "0" ]
then
dialog --msgbox "O Usuario Pressionou YES" 6 30
else
dialog --msgbox "O Usuario Pressionou NO" 6 30
fi
clear