this post was submitted on 05 Mar 2025
55 points (92.3% liked)

Linux

50864 readers
770 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] BeardedGingerWonder@feddit.uk 5 points 18 hours ago (2 children)

I use aliases for renaming commands and making bash scripts look like real commands to the rest of my team.

[–] commander@lemmings.world 1 points 2 hours ago (1 children)

That's an anti-pattern if I've ever heard of one.

[–] BeardedGingerWonder@feddit.uk 2 points 2 hours ago (1 children)
[–] commander@lemmings.world 2 points 2 hours ago (1 children)

Using aliases to rename commands.

[–] BeardedGingerWonder@feddit.uk 3 points 1 hour ago

Yeah, I can see how that could go wrong, in practice it's used to alias a python version python2 to python and impacts about 10 build scripts. (Which should be rewritten, but no-one is going to prioritise that work)

[–] thedeadwalking4242@lemmy.world 3 points 17 hours ago (1 children)

Why not make them executable and stick them in bin

[–] BeardedGingerWonder@feddit.uk 5 points 17 hours ago (1 children)

Mostly because there's a profile everyone sources that's relatively straightforward to that's straightforward to get access to. Whereas I'd never get root level access.

[–] Ferk@lemmy.ml 2 points 7 hours ago* (last edited 7 hours ago) (1 children)

You don't need root level access though. What I usually do is stick a PATH="$PATH:$HOME/.local/bin and then place all the scripts in there.

[–] BeardedGingerWonder@feddit.uk 4 points 5 hours ago (1 children)

Wouldn't that require me to have access to everyone's home directory and need to dump the scripts in everyone's?

Potentially I could set up an alt bin directory everyone has access to and configure that in the shared profile, the only drawback there is it might be less obvious whats going on if something breaks and someone else needs to take a look at it.

[–] Ferk@lemmy.ml 1 points 5 hours ago* (last edited 4 hours ago)

It was just an example of what I'm doing for my particular situation where I don't have root access and I want some personal scripts for myself, I'm not saying you should choose the same location. If everyone is already sourcing the same file, I expect there's already a shared storage you are maintaining that everyone has access to.

About something breaking, I guess it's up to you and your team if you prefer functions, but it also means not everyone will need to be annoyed when someone else's code has a small syntax error. And also I expect the only errors you are able to get feedback about right now would be only structural syntax errors for the function declaration (I expect you don't have unit tests or anything like that for your bash functions..) so technically a function could still be broken and you wouldn't know until you use it.

Scripts also give the advantage of being able to use other languages beyond bash, if perl/python or others are available.

Anyway, you are free to have your reasons, I was just saying that root access is not necessarily needed.