this post was submitted on 14 Jun 2024
45 points (100.0% liked)

Programming

17418 readers
72 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

A note from earlier today says the HTML edition will be available soon. I assume that means it will show up here: https://pubs.opengroup.org/onlinepubs/9699919799/

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 3 points 5 months ago* (last edited 5 months ago) (1 children)

Shell scripts were a mistake.

I understand 1000% but I'm not sure I agree. With the peevishness of C and latent autism of assembly, something compiled or otherwise binary isn't always simple and straightforward. Sometimes, you have a task that only needs to be done three times, and just replaying the commands is sufficient.

sh, ash, and bash are all kinda dumb. Absolutely. But there are other shells that are significantly better. csh and zsh are both great. ksh has some history on it but is good too. But "shell scripts" don't have to be in your shell language. The hashbang line will let you make a command file and so long as you can describe the command line you can get most shells to run it. Be that language ~~line noise~~ perl or python or even go.

[โ€“] [email protected] 2 points 5 months ago* (last edited 5 months ago)

As a long time former ZSH user, I'll definitely include ZSH in shell languages to avoid for scripting.

The problem is simply the number of rules and incantations to slavishly include everywhere to make your script bail on error. set -e is not enough by far.

Python with plumbum or nushell are definitely better.