Add an example on how to use getopts, stolen from the getopt manual page :-)
This commit is contained in:
parent
5a22e57dc3
commit
fb16d6d0ec
32
bin/sh/sh.1
32
bin/sh/sh.1
@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: sh.1,v 1.38 2000/09/21 21:04:56 phil Exp $
|
.\" $NetBSD: sh.1,v 1.39 2000/11/20 16:59:56 christos Exp $
|
||||||
.\" Copyright (c) 1991, 1993
|
.\" Copyright (c) 1991, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
.\"
|
.\"
|
||||||
@ -1237,6 +1237,36 @@ otherwise, it will set
|
|||||||
.Va var
|
.Va var
|
||||||
to
|
to
|
||||||
.Dq ? .
|
.Dq ? .
|
||||||
|
.Pp
|
||||||
|
The following code fragment shows how one might process the arguments
|
||||||
|
for a command that can take the options
|
||||||
|
.Op a
|
||||||
|
and
|
||||||
|
.Op b ,
|
||||||
|
and the option
|
||||||
|
.Op c ,
|
||||||
|
which requires an argument.
|
||||||
|
.Pp
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
while getopts abo: c
|
||||||
|
do
|
||||||
|
case $c in
|
||||||
|
a | b) flag=$c;;
|
||||||
|
c) carg=$OPTARG;;
|
||||||
|
\\?) echo $USAGE; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift `expr $OPTIND - 1`
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
This code will accept any of the following as equivalent:
|
||||||
|
.Pp
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
cmd \-acarg file file
|
||||||
|
cmd \-a \-c arg file file
|
||||||
|
cmd \-carg -a file file
|
||||||
|
cmd \-a \-carg \-\- file file
|
||||||
|
.Ed
|
||||||
.It hash Fl rv Ar command...
|
.It hash Fl rv Ar command...
|
||||||
The shell maintains a hash table which remembers the
|
The shell maintains a hash table which remembers the
|
||||||
locations of commands. With no arguments whatsoever,
|
locations of commands. With no arguments whatsoever,
|
||||||
|
Loading…
Reference in New Issue
Block a user