whiptail
Terminal dialog boxes for shell scripts
TLDR
Display a simple message box
SYNOPSIS
whiptail [--title title] [--backtitle backtitle] box-type [box-options] height width
DESCRIPTION
whiptail displays text-based dialog boxes from shell scripts, providing a user-friendly interface for input and selection. It creates ncurses-based dialogs that work in terminal environments, supporting various dialog types including messages, input boxes, menus, and progress bars.
Output from input dialogs goes to stderr, requiring file descriptor redirection (3>&1 1>&2 2>&3) to capture in shell variables. Exit codes indicate user choices (0 for OK/Yes, 1 for Cancel/No).
PARAMETERS
--title title
Dialog title--backtitle text
Background title--msgbox text height width
Display message with OK button--yesno text height width
Display yes/no dialog--inputbox text height width [init]
Text input dialog--passwordbox text height width
Password input (hidden text)--menu text height width menu-height [tag item]...
Selection menu--checklist text height width list-height [tag item status]...
Multiple choice checklist--radiolist text height width list-height [tag item status]...
Radio button list--gauge text height width percent
Progress bar--yes-button text
Custom yes button label--no-button text
Custom no button label
CAVEATS
Dialog dimensions must be specified in characters and should fit the terminal. Results go to stderr, requiring fd redirection for capture. A lightweight alternative to dialog with fewer features but smaller dependencies.
HISTORY
Created as a lightweight, newt-based reimplementation of the dialog utility. Part of the newt library developed by Red Hat. Commonly used in Debian installer and system configuration scripts due to its small footprint.
