Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
getopt(1)			 User Commands			     getopt(1)

NAME
       getopt -	parse command options

SYNOPSIS
       set -- `	getopt optstring $ * `

DESCRIPTION
       The  getopts command supersedes getopt. For more	information, see NOTES
       below.

       getopt is used to break up options in command lines for easy parsing by
       shell  procedures and to	check for legal	options. optstring is a	string
       of recognized option letters; see getopt(3C). 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 white space. The	special	 option	 -  is
       used  to	 delimit  the  end  of	the options. If	it is used explicitly,
       getopt recognizes it; otherwise,	getopt generates it; in	 either	 case,
       getopt  places  it at the end of	the options. The positional parameters
       ($1 $2 ...) of the shell	are reset so that each option is preceded by a
       -  and is in its	own positional parameter; each option argument is also
       parsed into its own positional parameter.

EXAMPLES
       Example 1: Processing the arguments for a command

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

       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 filename1 filename2
       cmd -a -o arg filename1 filename2
       cmd -oarg -a filename1 filename2
       cmd -a -oarg -- filename1 filename2

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |enabled			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       intro(1),   getopts(1),	 getoptcvt(1),	  sh(1),    shell_builtins(1),
       getopt(3C), attributes(5)

DIAGNOSTICS
       getopt prints an	error message on the standard error when it encounters
       an option letter	not included in	optstring.

NOTES
       getopt will not be supported in the next	major release.	For  this  re-
       lease  a	conversion tool	has been provided, namely, getoptcvt. For more
       information, see	getopts(1) and getoptcvt(1).

       Reset optind to 1 when rescanning the options.

       getopt does not support the part	of Rule	8 of the command syntax	 stan-
       dard  (see  intro(1)) that permits groups of option-arguments following
       an option to be separated by white space	and quoted. For	example,

       cmd -a -b -o "xxx z yy" filename

       is not handled correctly. To correct this deficiency, use  the  getopts
       command in place	of getopt.

       If  an option that takes	an option-argument is followed by a value that
       is the same as one of the options listed	in optstring (referring	to the
       earlier EXAMPLES	section, but using the following command line:

       cmd -o -a filename

       getopt  always  treats  it as an	option-argument	to -o; it never	recog-
       nizes -a	as an option. For this case,  the  for	loop  in  the  example
       shifts past the filename	argument.

SunOS 5.10			  7 Jan	2000			     getopt(1)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO | DIAGNOSTICS | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=getopt&sektion=1&manpath=SunOS+5.10>

home | help