#!/bin/bash set -u set -e function usage { echo "Usage: $0 -f " } function lookup_function { local name="$1" echo "Looking up function $name" } opt_f= # Parse the arguments while getopts :f: opt ; do case ${opt} in f) opt_f="${OPTARG}" ;; \?) echo "Invalid option -${OPTARG}." exit 1 ;; :) echo "Missing parameter for -${OPTARG}." exit 1 ;; esac done if [ -n "${opt_f}" ]; then lookup_function "${opt_f}" else usage "$0" exit 1 fi