bash-modules
mg.sh
bash-modules | mg.sh | |
---|---|---|
7 | 1 | |
122 | 0 | |
- | - | |
0.0 | 0.0 | |
about 2 years ago | 26 days ago | |
Shell | Shell | |
GNU Lesser General Public License v3.0 only | 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-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.
https://github.com/vlisivka/bash-modules
-
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
mg.sh
-
Shell Script Best Practices, from a decade of scripting things
I agree, getting to know where a script "comes from" can be complex though. You can `readlink -f` (or equivalent) in many cases, but when implementing a library this might not be entirely practical. I have had to rely on this ugly if-statement [1] for that purpose.
[1]: https://github.com/Mitigram/mg.sh/blob/cbeb206d67fe08be2107deee50acf877f990dbdf/bootstrap.sh#L6
What are some alternatives?
dotfiles - Bootstrap neovim/zsh/tmux environment for Ruby on Rails development
zx - A tool for writing better scripts
xit - A plain-text file format for todos and check lists
pip - The Python package installer
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
isort - A Python utility / library to sort imports.
ShellCheck - ShellCheck, a static analysis tool for shell scripts
jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
music-explorer - A music scraper, navigator, archiver, and cataloger for people looking for new sounds.
nushell - A new type of shell
ConsoleJournal
dmenu-scripts - Serious fun with dmenu