bash-cache
docopt.sh
Our great sponsors
bash-cache | docopt.sh | |
---|---|---|
6 | 5 | |
68 | 182 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | 10 months ago | |
Shell | Python | |
GNU 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-cache
-
Why is it that a command run from the terminal command line produces line break but the same command run within bash script has no line break/
This is usually what a caller expects, but it's definitely surprising when it isn't. I encountered this with my bash-cache library because simpler approaches to caching commands will use command substitutions which turns out to be lossy (because it drops any trailing newlines).
-
Passing a command with double quotes to a function
Is the goal of your cache function to cache a command if it's been run before? If so you might like to use my bash-cache library :) Even if it's not quite what you're looking for you can poke around the code for some inspiration, it implements a function decorator pattern and demonstrates some hairy uses of eval.
-
New release of bkt, a subprocess caching utility
For another pure-bash solution (though it writes to disk, not in-memory arrays) check out my bash-cache library :) it's an older project that motivated bkt but I still use both. There's some terrifying bash patterns in bash-cache as well!
-
Beautiful Scripts
I'm pretty proud of my bash-cache utility, which implements a decorator pattern in Bash. Define a function, pass it to bc::cache, and like magic the function is wrapped with a caching layer.
- Been meaning to share this bash memoization library for a while; it uses a decorator pattern to transparently add a caching layer to functions
- Been meaning to share this function memoization library for a while; it uses a decorator pattern to wrap functions with a transparent caching layer
docopt.sh
-
Docopt.sh – Command-Line Argument Parser for Bash 3.2, 4, and 5
I like that this generates readable output that could pass as hand-written code.
The docopt.sh output looks like it went through a JS minifier. Or is there a way to change that? If so I think it should default to that.
https://github.com/andsens/docopt.sh/blob/master/docs/naval_...
-
Programs are dead, and JavaScript has killed them
If you want to avoid having to write your own args parser everytime or think getopt is a pain, you should check out my little project:
https://github.com/andsens/docopt.sh
No dependencies, the code is directly inlined into your script, and you write the args parser by writing the help-text.
-
Beautiful Scripts
Honestly, I left it as a gist because even though it reduces boilerplate, getopts is still not a great flag parser (e.g. only supports single-letter flags, and no type safety or other validation aside from boolean / string). I use it in my shell environment since I have lots of shell functions and I don't care to pull in a "real" parser into my shell, but if I was writing any sort of more complex standalone script I probably wouldn't use it. Check out docopt if you haven't seen it, I've been meaning to give that a whirl at some point.
What are some alternatives?
fancy-git - That's a terminal prompt changer that shows a few cool git informations about your repository state. You can choose among different styles and enjoy all the aliases it provides you. Feel free for contributing, pull requests and issues are always welcome! ;)
docopt - This project is no longer maintained. Please see https://github.com/jazzband/docopt-ng
pure - Pretty, minimal and fast ZSH prompt
shrc - My bashrc/shrc that supports bash, zsh, busybox ash and even Dash. ( has: OS and shell detection )
mini-prompt - 🦊 Minimal and versatile bash prompt
bkt - a subprocess caching utility, available as a command line binary and a Rust library.
sbp - Simple Bash Prompt (SBP) is a bash prompt, which strives to be simple. But it isn't. But it looks kind of nice. I think.
spaceship-prompt - :rocket::star: Minimalistic, powerful and extremely customizable Zsh prompt
prompt.gem - A collection of shell scripts to customize your prompt, distributed as a ProfileGem gem.
ShellCheck - ShellCheck, a static analysis tool for shell scripts
ProfileGem - A shell configuration utility to compartmentalize and manage your terminal utilities and environment