getopt is used to check and break up options in command lines for parsing by shell procedures. optstring is a string of recognized option letters (see ).getopt(S-osr5) If a letter is followed by a colon, the option is expected to have an argument which may or may not be separated from it by whitespace. The special option ``--'' is used to delimit the end of the options. getopt will place ``--'' in the arguments at the end of the options, or recognize it if used explicitly. The shell arguments ($1 $2 ... ) are reset so that each option is preceded by a dash (-) and in its own shell argument. Each option argument is also in its own shell argument.
set -- `getopt abo: $` if [ $? != 0 ] then echo "usage: $0 [-a | -b] [-o <arg>]" exit 2 fi for i in $ do case $i in -a | -b) shift; FLAG=$i;; -o) OARG=$3; shift; shift;; --) shift; break;; esac doneThis code will accept any of the following as equivalent:
cmd -aoarg cmd -a -o arg cmd -oarg -a cmd -a -oarg --