Use unofficial bash strict mode while writing scripts. Bash has a few gotchas and this helps you to avoid that. For example:
#!/bin/bash
set -euo pipefail
echo "Hello"
Where,
-e Exit immediately if a command exits with a non-zero status.
-u Treat unset variables as an error when substituting.
-o pipefail The return value of a pipeline is the status of
the last command to exit with a non-zero status,
or zero if no command exited with a non-zero status.
References
The idea is a less radical version of this post1. I don’t recommend messing with the IFS without a valid reason.
— ⁂ —
Recent posts
- Deferred teardown closure in Go testing
- Three flavors of sorting Go slices
- Nil comparisons and Go interface
- Stacked middleware vs embedded delegation in Go
- Why does Go's io.Reader have such a weird signature?
- Go slice gotchas
- The domain knowledge dilemma
- Hierarchical rate limiting with Redis sorted sets
- Dynamic shell variables
- Link blog in a static site