usage() { echo "Usage: `basename $0` [-v] filename" >&2 echo "-v verbose mode" >&2 exit 1 } trace=false verbose=false while getopts f:hxv OPTION; do case ${OPTION} in h) sed '1d;s/^# *//;/^$/q' $0; usage;; x) set -x; trace=true;; v) verbose=true;; f) file="${OPTARG}";; ?) usage;; esac done _XPG=1 shift $((${OPTIND} - 1)) test $# -eq 0 && usage