Bash Infinity is a standard library and a boilerplate framework for writing tools using bash. It's modular and lightweight while managing to implement some concepts from C#, Java or JavaScript into bash. The Infinity Framework is also plug & play: include it at the beginning of your existing script to import any of the individual features such as error handling, and start using other features gradually. The aim of Bash Infinity is to maximize the readability of bash scripts, minimize the amount of code repeat and create a central repository for a well-written, and a well-tested standard library for bash. Bash Infinity transforms the often obfuscated "bash syntax" to a cleaner, more modern syntax. Some components are more sturdy than others, and as-it-stands the framework lacks good test coverage (we need your help!).
Features
- Automatic error handling with exceptions and visual stack traces
- Named parameters in functions (instead of $1, $2...)
- Passing arrays and maps as parameters
- Try-catch implementation
- Throwing custom exceptions
- Import keyword for clever sourcing of scripts à la require-js