2061143db99f8441cc11c9bf9f461a6d8d964179
bash-tui-toolkit
Toolkit to create simple Terminal UIs using plain bash builtins
Goals
- provide a simple and clear default set of elements to use creating an interactive terminal UI
- be clean and minimalistic
- zero dependencies to be installed
- parts can be used separately
Install
- Download the bundle (entire lib) or single compoennt from releases
- Source the bundle in your script or embed
Documentation
For a list of available modules and their documentation please check the docs/modules folder
Tested with
Since there are some weird combinations/side effects based on the platform you might use there are different side effects that might occur
If you use it on a different platform successfully please create a PR to add a item here :)
| OS | Version of OS | Terminal emulator | Bash Major Version | Works |
|---|---|---|---|---|
| Ubuntu | 20 | Tilix | 4 | ✔️ |
| Ubuntu | 20 | xterm | 4 | ✔️ |
| Ubuntu | 22 | Tilix | 5 | ✔️ |
| Alpine | 3 | n/a | 5 | ✔️ |
| MacOS | Monterey | iTerm | 3 | ✔️ |
| MacOS | Monterey | iTerm2 | 3 | ✔️ |
| Windows | 10 | Windows Terminal | 4 | ✔️ |
| Windows | 10 | Git Bash | 4 | ✔️ |
| Windows | 10 | Hyper | 4 | ✔️ |
Development
Requirements
- bash 3+
- docker 19+
- GNU make
Generate documentation
To update the module documentation you just need to run
make generate-docs
This builds the documentation inside a docker container and updates the repo locally. Afterwards just commit the docs with your code changes
Build
To combine the script(s) you just need to run
make build
The combined artifacts can be found in dist/
Alternatives
- kahkhang/Inquirer.sh - List, Checkbox and Text Input with more advanced validation
Description
Languages
Shell
90.1%
Makefile
7%
Dockerfile
2.9%