Quando você instala um novo software no terminal, muitas vezes você pode ver as caixas de diálogo informativas aparecendo. O tipo de caixas de diálogo varia de simples sim/não , caixa de senha, lista, menu, e assim por diante. A vantagem de usar essas caixas de diálogo user-friendly é que elas podem orientá-lo para inserir as informações necessárias de uma forma intuitiva.
Pré-instalado em todas as distribuições Linux modernas, um programa chamado whiptail pode agilizar o processo de criação de diálogos baseados em terminais e caixas de mensagem dentro de um shell script, semelhante à forma como os códigos Zenity ou xdialog uma interface gráfica para scripts.
whiptail --title "" --msgbox ""
Exemplo:
whiptail --title "" --yesno ""
Exemplo:
#!/bin/bash
if (whiptail --title "Caixa teste de sim/nao" --yesno "Escolha Sim ou Não." 10 60) then
echo "Você escolheu Sim. Saída com status $?."
else
echo "Você escolheu Não. Saída com status $?."
fi
#!/bin/bash
if (whiptail --title "Caixa teste de sim/nao" --yes-button "Vim" --no-button "Emacs" --yesno "Qual desses dois são melhores?" 10 60) then
echo "Você escolheu Vim. Saída com status $?."
else
echo "Você escolheu Emacs. Saída com status $?."
fi
whiptail --title "" --inputbox ""
Exemplo:
whiptail --title "" --passwordbox ""
Exemplo:
#!/bin/bash
PASSWORD=$(whiptail --title "Test caixa de senha" --passwordbox "Insira sua senha." 10 60 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Sua senha é:" $PASSWORD
else
echo "Você cancelou."
fi
whiptail --title "" --menu "" [ ] . . .
Exemplo:
whiptail --title "" --radiolist "" [ ] . . .
#!/bin/bash
DISTROS=$(whiptail --title "Teste Checklist Dialogo" --radiolist \
"Qual sua distro preferida?" 15 60 4 \
"debian" "Debian" ON \
"ubuntu" "Ubuntu" OFF \
"centos" "CentOS" OFF \
"mint" "Mint" OFF 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Sua distro é:" $DISTROS
else
echo "Você cancelou."
fi
whiptail --gauge ""
man whiptail