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
- Hierarchical rate limiting with Redis sorted sets
- Dynamic shell variables
- Link blog in a static site
- Running only a single instance of a process
- Function types and single-method interfaces in Go
- SSH saga
- Injecting Pytest fixtures without cluttering test signatures
- Explicit method overriding with @typing.override
- Quicker startup with module-level __getattr__
- Docker mount revisited