L_lib.sh¶
Labrador Bash library. Collection of functions and libraries that I deem usefull for writing other Bash scripts.
Kindly feel free to have converstations and ask questions on Github discussion and report bugs using Github issue.
Installation¶
The library is one file. Download the latest release from github and put in your PATH:
mkdir -vp ~/.local/bin/
curl -o ~/.local/bin/L_lib.sh https://raw.githubusercontent.com/Kamilcuk/L_lib/refs/heads/v0/bin/L_lib.sh
You can use the library with:
. L_lib.sh
Features¶
- supports all Bash versions from 3.2
- argument parsing library
- colored output
- logging library
- printing stacktrace on error
- multiple coprocesses library
- dictionary library for Bash before associative array
- and over 250 other functions with many many more
Documentation¶
Kindly visit https://kamilcuk.github.io/L_lib/ for the generated documentation.
Conventions¶
L_*
prefix for public symbols._L_*
prefix for private symbols, including local variables in functions taking a namereference.- Upper case used for global scope readonly variables.
- Lower case used for functions and user mutable variables
- Snake case for everything.
- The option
-v <var>
is used to store the result in a variable instead of printing it.- This follows the convention of
printf -v <var>
. - Without the
-v
option, the function outputs the elements on lines to stdout. - Associated function with
_v
suffix store the result in a hardcoded scratch variableL_v
.
- This follows the convention of
License¶
LGPL