#!/bin/bash set -- -h -c foo x y z FLAG_h=0 FLAG_c='' while getopts "hc:" opt do echo "status $?" echo "OPT $opt" case $opt in h) FLAG_h=1 ;; c) FLAG_c="$OPTARG" ;; ?) echo ERROR; break ;; esac done shift $(( OPTIND - 1 )) echo h=$FLAG_h c=$FLAG_c optind=$OPTIND argv=$@