mdl.sh
bash-modules
Our great sponsors
mdl.sh | bash-modules | |
---|---|---|
2 | 7 | |
1 | 118 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | almost 2 years ago | |
Shell | Shell | |
- | GNU Lesser General Public License v3.0 only |
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.
mdl.sh
-
Bash function names can be almost anything
One difference between the projects is that you are targeting Bash and I am targeting POSIX. Therefore, using the 'unofficial strict mode' is not an option for me. However, good tests can compensate a lot and are necessary anyway.
Yes, there are certainly some modules which lack comments. On the other hand, there is at least one module which has its own readme to explain the code:
https://github.com/arendtio/mdl.sh/tree/master/development/d...
Regarding the security: As said, I am targeting POSIX and as far as I know, the only checksum tool available is cksum. This is borderline insecure but catches transmission errors at least. However, if you do not have such strict requirements you can easily use something like sha256sum. In fact, my module allows to use alternative checksum tools but uses cksum if nothing else is specified (because it is better than nothing and always available).
bash-modules
-
Write Posix Shell
Bash is turing-complete, so it's possible to write automated test cases in bash. Example: https://github.com/vlisivka/bash-modules/blob/master/bash-mo...
-
Shell Script Best Practices, from a decade of scripting things
Template in article is awful. It's better to use this one, which is a real CLI tool: https://github.com/vlisivka/bash-modules/blob/master/bash-mo...
-
Show HN: A plain-text file format for todos and check lists
IMHO, you are mixing TODO lists and task management/planning software. No, I don't know a good task manager or business process manager for command line. Instead, I created a simpler TODO list manager, called `td`[0], which supports flat TODO lists only, and use directories and command-line generators to manage todo's. `td` prints top item only, by default, leaving little room for procrastination. I'm keeping one `TODO.md` file per project instead of one large TODO file for all todo's.
[0]: https://github.com/vlisivka/bash-modules/blob/master/bash-mo...
-
bash-modules 4.0.1
Documentation: http://vlisivka.github.io/bash-modules/ Project home page: https://github.com/vlisivka/bash-modules
- Bash-Modules 4.0
-
Bash function names can be almost anything
I'm preparing to release bash-modules 4.0 [0]. Can you give me feedback, please? I'm a non-native English speaker, so I need someone to help fix spelling mistakes, at least.
-
Clojure REPL vs. CLI: IDE Wars
It works in my shell. :-/ It looks like you forgot to insert `false` command.
You are pointing to the problem with -e not working in subshell/deep functions, because of POSIX. Right? It's described in bash documentation: http://www.gnu.org/software/bash/manual/html_node/The-Set-Bu...
> I think just defining a die() function and using it after any command that must succeed is more verbose, but less error prone:
Yep. It's the style I developed 12 years ago, when working at Bazaarvoice, when I was lead of devops team. I created the whole library for bash, to use this pattern consistently. See https://github.com/vlisivka/bash-modules#error-handling
What are some alternatives?
dotfiles - Bootstrap neovim/zsh/tmux environment for Ruby on Rails development
mg.sh - Mitigram's shell library of reusable script snippets
xit - A plain-text file format for todos and check lists
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
ShellCheck - ShellCheck, a static analysis tool for shell scripts
music-explorer - A music scraper, navigator, archiver, and cataloger for people looking for new sounds.
ConsoleJournal
grit - Multitree-based personal task manager
GitJournal - Mobile first Note Taking integrated with Git