

Fuck them, glad I switched to Jellyfin years ago.
Software developer interested into security and sustainability.


Fuck them, glad I switched to Jellyfin years ago.


E8XIB¹⁹
It all makes sense when you think about the way it will be parsed. I prefer to use newlines instead of semicolons to show the blocks more clearly.
for file in *.txt
do
cat "$file"
done
The do and done serve as the loop block delimiters. Such as { and } in many other languages. The shell parser couldn’t know where stuff starts/ends.
Edit:
I agree that the then/fi, do/done case/esac are very inconsistent.
Also to fail early and raise errors on uninitialized variables, I recommend to add this to the beginning of your bash scripts:
set -euo pipefail
Or only this for regular sh scripts:
set -eu
-e: Exit on error
-u: Error on access to undefined variable
-o pipefail: Abort pipeline early if any part of it fails.
There is also -x that can be very useful for debugging as it shows a trace of every command and result as it is executed.
https://garagehq.deuxfleurs.fr/