bash-commons
bash3boilerplate
bash-commons | bash3boilerplate | |
---|---|---|
3 | 4 | |
729 | 2,076 | |
1.4% | - | |
2.1 | 7.1 | |
5 days ago | 9 months ago | |
Shell | Shell | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bash-commons
- Bashkit V1
- BashLib a helpful source file for any script
-
How to structure library?
I think I phrased what I said poorly and unintentially communicated that I want to have all my code in one file. that' the opposite of what I'm wanting. To clarify, and I know this is splitting hairs but it illustrates my point. I think this log shell file is a good example of what I want to NOT do with my library. instead of having one file with 5 functions, I think it should be 5 files with no functions. that's to say the new file "log_info" would contain this text:
bash3boilerplate
-
Being a bash developer in the 21st century
I'm a fan of Bash3 Boilerplate (https://github.com/kvz/bash3boilerplate) and use a modified version of it for my shell scripts now. I like the code style and the logging, although I've amended the logging slightly to add a pipe input for long running processes that you want to see the output from before it finishes.
I prefer having a stop-on-unexpected script as it makes errors far more explicit and it's not too onerous to work round the peculiarities of return codes.
Greg's wiki (https://mywiki.wooledge.org/) is my go to resource for looking up snippets and learning to avoid the footguns - that and shellcheck are the key to "robust" bash scripts.
- Bashkit V1
- BashLib a helpful source file for any script
-
How do you add logs in your bash scripts?
Inspired from https://github.com/kvz/bash3boilerplate/blob/master/main.sh
What are some alternatives?
bashkit - Official bashkit repository
bash-oo-framework - Bash Infinity is a modern standard library / framework / boilerplate for Bash
basher - A package manager for shell scripts.
argbash - Bash argument parsing code generator
balls - Bash on Balls
awesome-shell - A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.
awesome-bash - A curated list of delightful Bash scripts and resources.
bpkg - Lightweight bash package manager