I’ve done something similiar to this over the years for organization purposes and not having to change much between shells except add a path. You can also add cases that check your shell and do something slightly different if needed.
I’ve done something similiar to this over the years for organization purposes and not having to change much between shells except add a path. You can also add cases that check your shell and do something slightly different if needed.
It still limits where / how you use them.
For example, it’s easier / more efficient to call a shell script from sway (or whichever other software that might be running without a bash login session behind) than to try and force it to load a whole shell login session that includes those functions (which might also slow down the startup of the program and make it need a bit more ram without much of a benefit).
Scripts can reliably be run from everywhere (specially if placed somewhere in
$PATH
), functions require some preloading for every single new shell process and making sure the program invoking the shell (be it a terminal emulator or something else) is actually loading it. So as someone who likes to automate everything and often assigns hotkeys to particular commandline oneliners, scripts are much better… even a symlink might be more reliable than an alias.