this post was submitted on 03 Apr 2024
32 points (100.0% liked)

Shell Scripting

1359 readers
1 users here now

From Ash, Bash and Csh to Xonsh, Ysh and Zsh; all shell languages are welcome here!

Rules:
  1. Follow Lemmy rules!
  2. Posts must relate to shell scripting. (See bottom of sidebar for more information.)
  3. Only make helpful replies to questions. This is not the place for low effort joke answers.
  4. No discussion about piracy or hacking.
  5. If you find a solution to your problem by other means, please take your time to write down the steps you used to solve your problem in the original post. You can potentially help others having the same problem!
  6. These rules will change as the community grows.

Keep posts about shell scripting! Here are some guidelines to help:


In general, if your submission text is primarily shell code, then it is welcome here!

founded 1 year ago
MODERATORS
top 8 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 7 months ago* (last edited 7 months ago)

i’ve been daily driving nushell for about 6 months and it’s been great for the most part. the downsides are 90% regular breaking changes (big breaking changes just dropped today that i’ll have to migrate) and 10% translating scripts or commands from bash.

it can really make you feel like a wizard the first time you bang out a pipeline to change some data in a JSON file.

the only thing i might mildly disagree with is the sentiment that we need community buy-in. sure it would be nice if the project had more eyes on it, but i’m not trying to convince my company to adopt nushell. unlike TypeScript or Rust i don’t have to inconvenience anyone by introducing nushell to my workflow. you can just start using it. and i’d recommend it to basically anyone who isn’t brand new to shells. but it doesn’t hurt my feelings one bit if my coworkers don’t see the appeal

[–] [email protected] 7 points 7 months ago

This was an interesting read for me.
So far, I've been exposed to bash as the default shell, I then switched to zsh because I wanted the oh-my-zsh experience and recently I discovered fish because it is ships with my current gaming distro (Garuda).
I never really gave it much thought, I do too little shell-scripting to really remember syntax and open a search engine any time I want to write another script.

The part that speaks the most to me is towards the end: it's ok to have nice things, and writing scripts should be fun. The first programming language I used was Ruby, and to this day I never really found the same syntactic niceness in another language (C, Java, Rust, JS).
Mainly for this reason, this article makes me want to try Nushell.

[–] KindaABigDyl 2 points 7 months ago (1 children)

Seems really difficult to learn/switch to

[–] [email protected] 3 points 7 months ago

depends on how entrenched you are in bash/POSIX, but it’s a fairly simple language to learn.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago)

Yes, really. fi and esac are a joke that never found their end. No one would design a language that did that with a straight face these days.

Well, I thought that was genius when learning Bash.

[–] [email protected] 1 points 7 months ago (1 children)

As much as I want to champion nushell, the problem is that it isn't available on every machine like traditional shells.

That means my whole organisation need to have nushell installed on every machine, and even then, any scripts using nushell is effectively useless outside the organisation.

[–] [email protected] 1 points 7 months ago (1 children)

How many scripts get re-used outside of the org, though?

[–] [email protected] 2 points 7 months ago

There are tons av resources (scripts, guides, examples) that make up the backbone of a lot of IT departments.

If you're setting a new organisation, you can chose to go with nushell, but then you have to accept that you either need to write all scripts from scratch, or you need to convert an existing script to nushell. If you put nushell into an existing department/organisation, then you face the same problem.

Before there are substantial resources to solve common sysadmin tasks in nushell, organisational adoption is unlikely due to the cost.