Toolkit to create interactive and shiny terminal UIs using plain bash builtins
- clean and standardized API
- provide a simple and clear default set of elements to use creating an interactive terminal UI
- clean and minimalistic design
- zero dependencies to be installed
- parts can be used modular
- Download the bundle (entire lib) or single compoennt from releases
- Source the bundle in your script or embed, e.g.
or simply copy it into your script.
source ./lib/bundle.bash
Note that this is not a recommended approach and only intended for quick testing or trying out another version.
- Choose the bundle in the version you want to use from the available releases on the gh-pages branch.
- Source it to your script on runtime:
- Using
wget
source <(wget -qO- https://bash-tui-toolkit.timo-reymann.de/latest/bundle.bash)
- Using
curl
source <(curl -qsS https://bash-tui-toolkit.timo-reymann.de/latest/bundle.bash)
- Using
For a list of available modules and their documentation please check the docs/modules folder
For a complete playground demo check test.sh.
Providing a clean bash UI sometimes becomes a mess and interactivity is hard to achieve especially when it should be portable.
The target is to provide a simple-to-use toolkit that can be dropped into any bash script and is compatible no matter the target system.
- Modules - Modules available and their usage
- Compability table - Known combinations of OS/Bash Version/Terminal emulators that work guaranteed
I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the configuration
- Submitting a fix
- Proposing new features
- Becoming a maintainer
To get started please read the Contribution Guidelines.
make build
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
- Logo
- Bash logo from pngegg
- Toolbox logo from IconExperience.com
- kahkhang/Inquirer.sh - List, Checkbox and Text Input with more advanced validation