Overview
ebash is an open source project developed at NetApp/SolidFire as an open source project from 2011-2018 under the name bashutils
and the Apache 2.0 License. I forked bashutils
into ebash
upon my departure from NetApp/SolidFire to continue active
development and ensure it remained free and open source.
The primary goal of ebash is to significantly enhance bash code and make it more robust, feature rich and simple which greatly accelerates developer productivity.
Why bash
Bash is the ideal language of choice for writing low-level shell scripts and tools requiring direct shell access invoking simple shell commands on a system for a number of reasons:
- Prolific. Installed on every UNIX machine, minimizing dependencies, install complexity and size.
- Lightweight with low memory and CPU requirements suitable for appliances and embedded systems.
- Ideal for tasks running shell commands as it is native, and simpler than in higher level languages.
Why ebash
Because bash is a lower level language, it lacks some of the features and more advanced data structures typically found in higher level languages. ebash aims to be the answer to this problem. The most important and compelling feature of ebash is implicit error detection. This typically results in bash scripts being 75% shorter due to removal of explicit error handling and the ability to leverage extensive ebash modules.
- Implicit error detection
- Logging framework
- Debugging
- Data structures
- Option parsing
- Testing
- Mocking
- Linting
- Benchmarking
- Compatibility