A text terminal-based user interface shell for creating dialog boxes, menus, progress bars and more
Whiptail is a lightweight user interface shell originally designed for shell scripts. It provides a suite of dialog tools to display simple text user interfaces even when a graphical environment is not available, like in a Linux text console or terminal.
Some of the common user interface components whiptail can generate include:
Since it runs in a text terminal, whiptail is very lightweight and doesn't require an X server or window manager to run. All the UI is rendered using ASCII characters. This makes it well-suited for use in shell scripts to interact with users.
Whiptail is highly customizable - the look and feel, dimensions, colors etc can be changed by passing arguments. It can also run unattended in a script without user interaction. The return output can be checked by the script to take decisions.
Some common uses of whiptail include installing software to gather user preferences, configuration wizards in Linux admin scripts, as a general menuing system for text UIs and more.