An opinionated set of thumb rules that Shrikant Sharat Kandula follows after a decade of writing shell scripts. His starter template looks nice as well:

```

!/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 "$@"

```

Discuss on Changelog News