|
|
getopt(1) General Commands Manual getopt(1) Name getopt - parse command options Syntax set - - getopt optstring $* Description The command breaks up options in command lines for easy parsing by Shell procedures and checks for legal options. The optstring option letters are recognized if a letter is followed by a colon, the option expects an argument which may or may not be separated from it by white space. For further information, see The special option, specified by two minus signs (- -), delimits the end of the options. If the delimiters are used explicitly, recognizes it; otherwise, generates it. In either case, places the delimiter at the end of the options. The positional parameters ($1 $2 ...) of the shell are reset so that each option is preceded by a single minus sign (-) and is in its own positional parameter; each option argument is also parsed into its own positional parameter. Examples The following code fragment shows how you can process the arguments for a command that can take the options a or b, as well as the option o, which requires an argument: #!/bin/sh5 set -- getopt abo: $* if [ $? != 0 ] then echo $USAGE exit 2 fi for i in $* do case $i in -a | -b) FLAG=$i; shift;; -o) OARG=$2; shift 2;; --) shift; break;; esac done This code accepts any of the following as equivalent: cmd -aoarg file file cmd -a -o arg file file cmd -oarg -a file file cmd -a -oarg -- file file Diagnostics The command prints an error message on the standard error when it encounters an option letter not included in optstring. See Also sh5(1), getopt(3) getopt(1)