*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> getopts (1)              


GETOPTS(1)							    GETOPTS(1)

NAME    [Toc]    [Back]

     getopts, getoptcvt	- parse	command	options

SYNOPSIS    [Toc]    [Back]

     getopts optstring name [arg ...]

     /usr/lib/getoptcvt	[-b] file

DESCRIPTION    [Toc]    [Back]

     getopts is	a built-in command to sh(1) used to parse positional
     parameters	and to check for legal options.	 It supports all applicable
     rules of the command syntax standard (see Rules 3-10, intro(1)).  It
     should be used in place of	the getopt(1) command.	See the	WARNINGS
     section below.

     optstring must contain the	option letters the command using getopts will
     recognize;	if a letter is followed	by a colon, the	option is expected to
     have an argument, or group	of arguments, which must be separated from it
     by	white space.

     Each time it is invoked, getopts will place the next option in the	shell
     variable name and the index of the	next argument to be processed in the
     shell variable OPTIND.  Whenever the shell	or a shell procedure is
     invoked, OPTIND is	initialized to 1.

     When an option requires an	option-argument, getopts places	it in the
     shell variable OPTARG.

     If	an illegal option is encountered, ? will be placed in name.

     When the end of options is	encountered, getopts exits with	a non-zero
     exit status.  The special option ``--'' may be used to delimit the	end of
     the options.

     By	default, getopts parses	the positional parameters.  If extra arguments
     (arg ...)	are given on the getopts command line, getopts will parse them

     /usr/lib/getoptcvt	reads the shell	script in file,	converts it to use
     getopts(1)	instead	of getopt(1), and writes the results on	the standard

     -b	  the results of running /usr/lib/getoptcvt will be portable to
	  earlier releases of the UNIX system.	/usr/lib/getoptcvt modifies
	  the shell script in file so that when	the resulting shell script is
	  executed, it determines at run time whether to invoke	getopts(1) or

     So	all new	commands will adhere to	the command syntax standard described
     in	intro(1), they should use getopts(1) or	getopt(3C) to parse positional
     parameters	and check for options that are legal for that command (see the
     WARNINGS section below).

									Page 1

GETOPTS(1)							    GETOPTS(1)

EXAMPLE    [Toc]    [Back]

     The following fragment of a shell program 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 option-argument:

	  while	getopts	abo: c
	       case $c in
	       a | b)	 FLAG=$c;;
	       o)	 OARG=$OPTARG;;
	       \?)	 echo $USAGE
			 exit 2;;
	  shift	`expr $OPTIND -	1`

     This code will accept any of the following	as equivalent:

	  cmd -a -b -o "xxx z yy" file
	  cmd -a -b -o "xxx z yy" -- file
	  cmd -ab -o xxx,z,yy file
	  cmd -ab -o "xxx z yy"	file
	  cmd -o xxx,z,yy -b -a	file

SEE ALSO    [Toc]    [Back]

     intro(1), sh(1), getopt(3C)

WARNINGS    [Toc]    [Back]

     Although the following command syntax rule	(see intro(1)) relaxations are
     permitted under the current implementation, they should not be used
     because they may not be supported in future releases of the system.  As
     in	the EXAMPLE section above, a and b are options,	and the	option o
     requires an option-argument:

	  cmd -aboxxx file  (Rule 5 violation:	options	with
		option-arguments must not be grouped with other	options)
	  cmd -ab -oxxx	file  (Rule 6 violation:  there	must be
		white space after an option that takes an option-argument)

     Changing the value	of the shell variable OPTIND or	parsing	different sets
     of	arguments may lead to unexpected results.

DIAGNOSTICS    [Toc]    [Back]

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

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
getopt Linux parse command options (enhanced)
getopt Linux Parse command line options
getopts HP-UX parse utility (command) options
getsubopt Tru64 Parse suboption arguments from a command line
grog NetBSD guess options for groff command
grog Linux guess options for groff command
grog FreeBSD guess options for groff command
grog OpenBSD guess options for groff command
parseargv IRIX process command-line options
rpccp_help HP-UX Displays a list of commands or the options of a specified command
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service