Uhm, yes. I noted exactly that as well.
Also bash is not always at /bin/bash :-)
Uhm, yes. I noted exactly that as well.
Also bash is not always at /bin/bash :-)
Let me just drop my materials for a talk i’ve given about basically this topic: https://codeberg.org/flart/you_suck_at_shell_scripting/src/branch/main/you_suck.md
Mainly because: The linked article is all nice and dandy, but it completely ignores the topic of double brackets and why they’re nice.
And also, and this is my very strong opinion: if you end up thinking about exception handling (like the mentioned traps) in shell scripts, you should stop immediately and switch to a proper programming language.
Shell scripts are great, i love them. But they have an area they’re good for and a lot of areas where they aren’t.


Oh it will definitely tell you something. It will be complete bullshit, but it’s something.


Of course not. But the shareholder value!


They also apparently didn’t do any input validation. This is why a faulty config was able to even trigger all of that.


Some nice ideas in there.
Only the “markdownquote” thing is kinda pointless, especially since they mention it’s mainly used in vim. Because vim can do exactly that already without the need of an external script. Do ctrl+v, mark the lines you want, press “I” (capital i), insert the desired thing, press esc and voila… all the selected lines are now prepended with the desired thing.
edited to make my comment sound less harsh: Nothing wrong with building your own solution if that feels better to oneself though :-)


Fun fact: Kodak had some issues with gelatine that contained too much sulfur back in the 1920s, which ruined a lot of the material they were producing. Happened because the cows have eaten a different type of grass.
This led to Kodak becoming a large cattle farming company too, so they had control over that part.
Side effect of this was the development of faster film.
Film science is completely bonkers.


Ousterhouts book was very much an eye opener for me when i stumbled over it some years ago.
All those recommendations from the “clean code” corner always felt a tad off to me, but i couldn’t put the finger on it. Then i read this small and nicely written book an suddenly the fog cleared up.


Oh wow, people like that really do exist.
Well, that won’t work on openbsd (and probably freebsd), because non-default.stuff lands in /usr/local/bin.
For Linux you should be fine though.