#!/usr/bin/ bash

usage()
{
    echo "Usage: $0 -c -d -e -a foo -b baz";
    exit 1;
}

if [ $# -lt 1 ] ; then
    usage;
fi

# ":" decides which options require an argument
# In the example below options "a" and "b" will require a value to be passed along
while getopts a:b:cde opt; do
    case "$opt" in
        a) echo "hello $OPTARG";;
        b) echo "hello $OPTARG";;
        c) echo "c is selected";;
        d) echo "d is selected";;
        e) echo "e is selected";;
        \?) usage;;
    esac
done