I agree with @glad_cat@lemmy.sdf.org, all of these are just different ways to skin the cat. Whatever gets the files in the proper directories. Once you pick one (even arbitrarily, to a degree), you’ll very likely find no reason to push you toward another solution. I myself use symlinks with GNU cp -s
If we’re talking specifically about executable scripts, here is #bash’s (libera.chat) factoid on the matter:
It’s for these reasons that I keep my executable scripts named without extensions (e.g.
install
).I sometimes have non-executable scripts: they’re
chmod -x
, they don’t have a shebang, and they’re explicitly made forsource
-ing (e.g. library functions). For these, I give them an extension depending on what shell I wrote them for (and thus, what shell you need to use tosource
them), e.g.library.bash
orlibrary.zsh
.