6 ms·
Yes. 15+ year zsh user here. When dealing with bash, try to sneak in PackageKit-command-not-found and bash-completion. And when running a shell, do it like thi
by throwiforgtnlzy 2y ago
Yes. 15+ year zsh user here. When dealing with bash, try to sneak in PackageKit-command-not-found and bash-completion.
And when running a shell, do it like this:
docker run user/image:tag -it --rm bash -li
Also, zshdb, bashdb, and shellcheck are good stuff™ too.
My mantra is all programs and widely-used company tools should have current man pages and shell completions. The whole "Go look at a web page" for "help" is slow, distracting, and lazy.
- amluto 2y ago> PackageKit-command-not-found This one is so pathetically slow on Fedora that I find it counterproductive. Also, at least as of a year or two ago (I haven’t checked since then), PackageKit maintained its own, large, cache, thus wasting a surprising amount of space in /var.
- throwiforgtnlzy 2y agoIt depends. It's better than nothing that can be ^C'ed. Here's a naive, partial implementation that runs in <500 ms so long as there's an existing dnf cache: command_not_found_handle() { local pkgs readarray pkgs < <(dnf rq --whatprovides "$1" -C --qf '%{name}\n' 2>/dev/null | sed '/^$/d' | sort -uVr) if (( ! "${#pkgs[@]}" )); then echo >&2 'Command not found and no package provides it according to the dnf cache' return fi echo >&2 'Command not found, but offered via the following command(s):' pkgs=("${pkgs[@]/#/ dnf install }") echo >&2 " ${pkgs[@]}" }