I’ve not been doing much bash scripting recently. So, when the need arose to create some simple scripts, I did some quick refresh on some things that make scripting better/faster/easier.
A nice resource I found had some opinionated advice on bash and a really nice template that I’m going to use as a starting point for my scripts. It looks like this:
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
if [[ "${TRACE-0}" == "1" ]]; then
set -o xtrace
fi
if [[ "${1-}" =~ ^-*h(elp)?$ ]]; then
echo 'Usage: ./script.sh arg-one arg-two
This is an awesome bash script to make your life better.
'
exit
fi
cd "$(dirname "$0")"
main() {
echo do awesome stuff
}
main "$@"