Tui prompts
tui_input¶
Prompt the user for a line of text, with an optional default.
Example¶
name=$(tui_input "Your name" "Alice")
Arguments¶
- $1 (string): Prompt text
- $2 (string): Default value (shown in brackets; used if input is empty)
Exit codes¶
- 0: Always
Output on stdout¶
- User's input (or default)
tui_confirm¶
Prompt the user for a yes/no confirmation. Returns 0 for yes, 1 for no. Default is shown in brackets.
Example¶
if tui_confirm "Proceed?" y; then
do_the_thing
fi
Arguments¶
- $1 (string): Question text
- $2 (string): Default: "y" or "n" (default: "n")
Exit codes¶
- 0: Yes; 1 No
tui_list¶
Present a numbered list and prompt the user to choose one item.
Example¶
colour=$(tui_list "Pick a colour" red green blue)
Arguments¶
- $1 (string): Prompt text
- ... (string): List items (all arguments after $1)
Exit codes¶
- 0: Valid choice made; 1 No items provided
Output on stdout¶
- The chosen item
tui_checkbox¶
Present a checkbox list; user space-toggles items, Enter confirms. Returns space-separated selected items on stdout.
Example¶
IFS=' ' read -r -a chosen <<< "$(tui_checkbox "Select features" auth logging metrics)"
Arguments¶
- $1 (string): Prompt text
- ... (string): List items
Exit codes¶
- 0: Always (empty string if nothing selected)
Output on stdout¶
- Space-separated selected items
tui_password¶
Prompt for a password (input hidden).
Arguments¶
- $1 (string): Prompt text (default: "Password")
Exit codes¶
- 0: Always
Output on stdout¶
- The entered password
tui_range¶
Prompt for an integer within a range.
Example¶
timeout=$(tui_range "Timeout seconds" 1 300 30)
Arguments¶
- $1 (string): Prompt text
- $2 (int): Minimum value (default: 0)
- $3 (int): Maximum value (default: 100)
- $4 (int): Default value (default: minimum)
Exit codes¶
- 0: Always
Output on stdout¶
- Chosen integer