(Isso não é necessariamente uma resposta, mas eu postei como tal devido à quantidade de código. Não tenho experiência prática com whiptail
. Excluirá isso mais tarde se um usuário whiptail
postar uma solução testada sobre isso. )
Como Bash Shell Scripting / Whiptail escreve:
From its README: whiptail is designed to be drop-in compatible with
dialog(1), but has less features: some dialog boxes are not
implemented, such as tailbox, timebox, calendarbox, etc.
Isso significa que você não precisa necessariamente decidir por um ou outro. Basta detectar qual deles está disponível e deixar o script usá-lo:
# check whether whiptail or dialog is installed
# (choosing the first command found)
read dialog <<< "$(which whiptail dialog 2> /dev/null)"
# exit if none found
[[ "$dialog" ]] || {
echo 'neither whiptail nor dialog found' >&2
exit 1
}
# just use whichever was found
"$dialog" --msgbox "Message displayed with $dialog" 0 0
(Sim, a detecção acima falhará em ferramentas instaladas dentro de diretórios com nome contendo caracteres de nova linha. Simplesmente continuei simples.)