Naming Bash scripts ( lemmy.dbzer0.com )

I’m crossposting this here

A) So I can see if I know how to cross post lol

B) To bring attention to the !linux4noobs community here, as it it woefully small and could use some publicity, especially to those who can help more than the noobs seeking it out

C) Hopefully get the answer I seek.

…did the crosspost work? (Ayy alright!)

GustavoM ,
@GustavoM@lemmy.world avatar

My script names are basically


<span style="color:#323232;">downloadallmystuffbackplease.sh
</span><span style="color:#323232;">
</span>

<span style="color:#323232;">bbutimnotonmyrpi4.sh
</span><span style="color:#323232;">
</span>

<span style="color:#323232;">aptthewholething.sh
</span><span style="color:#323232;">
</span>

jesusimfuckingdum.sh

palordrolap ,

which commandname will tell you if there's a command already by that name on your system without having to run anything.

This only finds things in places stored in the $PATH environment variable, though.

You could query your package manager to see what packages for your distribution might contain the command name, but 1) that will also turn up support files and the like and 2) Not all distros have the same commands, especially once you get beyond the core Unix/Linux command set.

e.g. on a system with apt, I can run apt contains commandname and get a list of everything containing "commandname"

Another user suggested prefixing with my_, but you might consider using your initials, a short form of your username or some other identifier instead. e.g. Everyone is "me/my" to themselves, but fewer people share your initials.

Also, a suffix might actually be a marginally better choice depending on your tab-completion preferences.

There's precedent for some actual "official" commands using a .suffix style, especially when multiple packages have their own version of a particular command, or a minor variant. On my computer I have things such as uncompress.real, vim.tiny, lzip.plzip and telnet.netkit, for example.

Something like scriptname.arcslime would fit right in, whether or not scriptname is a thing in its own right or not.

ArcaneSlime OP ,

I like the .suffix idea, I may run with that, thanks!

lvl ,

If you use them for your use only, or want them "cleanly" organized, consider prefixing it with something personal to you (or a generic one such as my_). For example, I'd prefix them with l_: my_rename_photos.sh, my_lightson.sh, etc.

If there's a lot of them, write a wrapper script which would call the individual scripts from a common location (/usr/share/my-scripts/). Then, you can only make sure your wrapper script is aliased/moved in the PATH. Example: my rename, my lightson, etc.

oldGregg ,

Hahaha when I click the link from /all it takes me to

zerobytes.monster/c/beautifulfemales

When I go to the comments first then click the link it goes to

lemmy.dbzer0.com/post/1464137

ArcaneSlime OP ,

Lmao yeah something is going on with linkage, the other day someone linked me to a lemmy comment but it would only show me a different comment, and others could load the right one correctly. No clue what that’s about.

eager_eagle ,
@eager_eagle@lemmy.world avatar

frankly if I already had the names, I would just search for " cli" or " bash" and see what comes up.

ArcaneSlime OP ,

Genius, now I just need to think of the names for one or two. No clue why I just didn’t think of that lol. Thanks!

I need to learn to bookmark shit like this [link I can’t find].

helpmeplease ,
@helpmeplease@infosec.pub avatar

Just name your script with your credit card numbers, so you’re pretty sure you won’t have any collisions… Don’t hesitate to let me know when you’ve done it :)

aperson ,

The thing I always forget to include is those pesky numbers on the back.

_HR_ ,

If you’re using a Debian based distro, you can search through contents of packages to see if there’s a conflict:

E.g. apt-file search /usr/bin/sh

garam , (edited )
@garam@lemmy.my.id avatar

This is the first time I see dnf provides par, let me check on ubuntu server…

EDIT: ugh, it isn’t a good as dnf version, but manageable… thanks… at least this ease the search of a file/lib/binary location…

Ninguem ,
@Ninguem@lemmy.pt avatar

Don’t know the site you’re looking for - might have never seen it. But I saw a tip a while back: name YOUR scripts something like “,script” (with a comma, or other confortable to type character as 1st character). It would be odd to ever find a colision.

I just don’t do that though! Too odd!

eager_eagle ,
@eager_eagle@lemmy.world avatar

related practice (and maybe less odd) - I prepend some function names to “group” them.

Before using topgrade I wrote some functions to automatically update package managers e.g. apt, cargo, flatpak. so I created uu_apt, uu_cargo, etc. Prepending plays well with the Tab autocomplete in the shell.

ArcaneSlime OP ,

This is basically what I’ve done so far, actually. I just want to polish it up just a hair enough that I can send it to friends or transfer it between distros, the name is terrible but descriptive (and long, but tab-complete so I said fuck it for the time being). Just need to rename it and change a few lines to “$USER” to make it a bit more polished.

For instance one I really need to rename is just a batch converter using ffmpeg, atm I just called it batchffmpeg but that is too long, might just call it bffmpeg and keep it rolling, short enough and likely not taken. The others I’m more worried about conflicts but I suppose as someone else pointed out the tried and true “band name” method (think of one and just search “google” to see if taken) should handle it. Never thought about that lol, one of those solutions that’s just too simple I missed it while looking higher.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • random
  • All magazines