#!/bin/sh # template.sh: A template for sh scripts # # Usage: template.sh [-ac] [-b OPTARG] FILE... scriptName="${0##*/}" usageMessage="Usage: ${scriptName} [-ac] [-b OPTARG] FILE..." error() { printf '%s error: %s\n' "$scriptName" "$*" >&2 } errorAndUsage() { printf '%s error: %s\n%s\n' "$scriptName" "$*" "$usageMessage" >&2 } # Process options while getopts 'ab:c' opt; do case $opt in 'a' ) echo a ;; 'b' ) echo b "$OPTARG" ;; 'c' ) echo c ;; '?' ) printf '%s\n' "$usageMessage" >&2 exit 1 esac done shift $((OPTIND - 1))