getopt(1)getopt(1)Namegetopt - 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 Alsosh5(1), getopt(3)getopt(1)