getopt

Parse positional parameters.
Break up the options in a command line (for easy parsing by shell procedure), and check for legal options.

Syntax
 args=`getopt optstring $*` ; errcode=$?; set -- $args
Options
 Optstring A string of recognized option letters 
 either individual characters or characters followed by a colon 
 to indicate an argument is to follow.
 e.g. an option string x recognizes an option "-x",
 and an option string x: recognizes an option and argument "-x argument".
 It does not matter if the argument has leading white space.
 -- This 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. 
(1ドル 2ドル ...) The shell arguments are reset so that each
 option is preceded by a '-' and in its own shell argument; 
 each option argument is also in its own shell argument.

Examples

The following code fragment shows how one might process the arguments for a command that can take the options -a and -b, and the option -o, which requires an argument.

 args=`getopt abo: $*`
 # you should not use `getopt abo: "$@"` since that would parse
 # the arguments differently from what the set command below does.
 if [ $? != 0 ]
 then
 echo 'Usage: ...'
 exit 2
 fi
 set -- $args
 # You cannot use the set command with a backquoted getopt directly,
 # since the exit code from getopt would be shadowed by those of set,
 # which is zero by definition.
 for i
 do
 case "$i"
 in
 -a|-b)
 echo flag $i set; sflags="${i#-}$sflags";
 shift;;
 -o)
 echo oarg is "'"2ドル"'"; oarg="2ドル"; shift;
 shift;;
 --)
 shift; break;;
 esac
 done
 echo single-char flags: "'"$sflags"'"
 echo oarg is "'"$oarg"'"
 This code will accept 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

"You spend a good piece of your life gripping a baseball and in the end it turns out that it was the other way around all the time" ~ Jim Bouton

Related macOS commands

Local man page: getopts - Command line help page on your local machine.
getopts - Parse positional parameters.

(追記) (追記ここまで)
Copyright © 1999-2026 SS64.com
Some rights reserved

AltStyle によって変換されたページ (->オリジナル) /