bkt
bash-cache
bkt | bash-cache | |
---|---|---|
14 | 6 | |
213 | 68 | |
- | - | |
7.3 | 0.0 | |
3 months ago | over 1 year ago | |
Rust | Shell | |
MIT License | GNU 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.
bkt
-
Tip: slow fzf --preview commands can be cached using bkt to make the preview more responsive
Hi, author of bkt here. I use fzf all the time and combine it with bkt to make --preview faster. I hope you find this pattern useful!
-
Passing a command with double quotes to a function
Alternatively, check out bkt (also mine), which is like bash-cache but for subprocesses instead of shell functions.
-
New release of bkt, a subprocess caching utility
Instead, using bkt ensures each request is only sent once and all subsequent calls return locally cached results:
Enjoy! If you find it useful please let me know how you're using it!
-
Escaping (?)
Honestly, any reasonably complex bash script uses (or should be using!) arrays, so just poke around and you'll probably see them. Here's a fairly straightforward script of mine with several arrays: https://github.com/dimo414/bkt/blob/master/benchmark.sh
- Bkt: A subprocess caching utility written in Rust
-
bkt: easily cache the output of command line programs
Glad to hear it! I hope you find it helpful :) If you have a few minutes please share how you're using bkt, it'll help me and others!
- My first Rust project: a caching utility for subprocesses - would appreciate any feedback
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
What are some alternatives?
comemo - Incremental computation through constrained memoization.
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! ;)
cached - Rust cache structures and easy function memoization
pure - Pretty, minimal and fast ZSH prompt
zoxide - A smarter cd command. Supports all major shells.
mini-prompt - 🦊 Minimal and versatile bash prompt
navi - An interactive cheatsheet tool for the command-line
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.
ctrlg - A command line context switcher, written in Rust :crab:
spaceship-prompt - :rocket::star: Minimalistic, powerful and extremely customizable Zsh prompt
ShellCheck - ShellCheck, a static analysis tool for shell scripts
prompt.gem - A collection of shell scripts to customize your prompt, distributed as a ProfileGem gem.