E.g. to permanently add `~/.cargo/bin/` to your PATH just do
set fish_user_paths $fish_user_paths ~/.cargo/bin
once from an interactive shell, and you’re done!I'd like a way to get all the benefits without the cost or any extra required effort for the user.
Some painless master shell program. No epiphanies yet though.
Do you know what I do?
I use zsh. Let's say I need bash. "bash<Enter>". I'm in bash :-) I need cmd (yup, that can happen). "cmd<Enter>".
I need to run just one command with bash: "bash command<Enter>".
I need to run just one command with cmd: "cmd /c command<Enter>".
These problems are trivially solvable :-)
Aliases and macros are fish script though.
zsh does have the emulate builtin available to help with some basic things, but it is still easy to produce scripts littered with zsh'isms.
However, I do use zsh for personal scripts. In fact, I go so heavy on zsh'isms I know I'd need to rewrite things to share them if non-zsh users are an issue. It is easier to keep track of things that way, instead of tripping over the little easily forgotten quirks.