mirror of
https://github.com/jorgebucaran/fisher
synced 2024-11-09 07:10:27 +00:00
146 lines
2.8 KiB
Groff
146 lines
2.8 KiB
Groff
|
.\" generated with Ronn/v0.7.3
|
||
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||
|
.
|
||
|
.TH "GETOPTS" "1" "January 2016" "" "fisherman"
|
||
|
.
|
||
|
.SH "NAME"
|
||
|
\fBgetopts\fR \- Parse CLI options
|
||
|
.
|
||
|
.SH "SYNOPSIS"
|
||
|
\fBgetopts\fR [\fIoptions\fR \.\.\.]
|
||
|
.
|
||
|
.br
|
||
|
\fBgetopts\fR [\fIoptions\fR \.\.\.] \fB|\fR \fBwhile\fR read \-l key value; \.\.\.; \fBend\fR
|
||
|
.
|
||
|
.br
|
||
|
.
|
||
|
.SH "DESCRIPTION"
|
||
|
getopts is a tool to help parsing command\-line arguments\. It is designed to process command line arguments that follow the POSIX Utility Syntax Guidelines\. If no arguments are given it returns \fB1\fR\.
|
||
|
.
|
||
|
.SH "USAGE"
|
||
|
In the following example:
|
||
|
.
|
||
|
.IP "" 4
|
||
|
.
|
||
|
.nf
|
||
|
|
||
|
getopts \-ab1 \-\-foo=bar baz
|
||
|
.
|
||
|
.fi
|
||
|
.
|
||
|
.IP "" 0
|
||
|
.
|
||
|
.P
|
||
|
And its output:
|
||
|
.
|
||
|
.IP "" 4
|
||
|
.
|
||
|
.nf
|
||
|
|
||
|
a
|
||
|
b 1
|
||
|
foo bar
|
||
|
_ baz
|
||
|
.
|
||
|
.fi
|
||
|
.
|
||
|
.IP "" 0
|
||
|
.
|
||
|
.P
|
||
|
The items on the left represent the option flags or \fIkeys\fR associated with the CLI\. The items on the right are the option \fIvalues\fR\. The underscore \fB_\fR character is the default \fIkey\fR for arguments without a key\.
|
||
|
.
|
||
|
.P
|
||
|
Use \fBread\fR(1) to process the generated stream and \fBswitch\fR(1) to match patterns:
|
||
|
.
|
||
|
.IP "" 4
|
||
|
.
|
||
|
.nf
|
||
|
|
||
|
getopts \-ab1 \-\-foo=bar baz | while read \-l key option
|
||
|
switch $key
|
||
|
case _
|
||
|
case a
|
||
|
case b
|
||
|
case foo
|
||
|
end
|
||
|
end
|
||
|
.
|
||
|
.fi
|
||
|
.
|
||
|
.IP "" 0
|
||
|
.
|
||
|
.SH "OPTIONS"
|
||
|
None\.
|
||
|
.
|
||
|
.SH "EXAMPLES"
|
||
|
The following is a mock of \fBfish\fR(1) CLI missing the implementation:
|
||
|
.
|
||
|
.IP "" 4
|
||
|
.
|
||
|
.nf
|
||
|
|
||
|
function fish
|
||
|
set \-l mode
|
||
|
set \-l flags
|
||
|
set \-l commands
|
||
|
set \-l debug_level
|
||
|
|
||
|
getopts $argv | while read \-l key value
|
||
|
switch $key
|
||
|
case c command
|
||
|
set commands $commands $value
|
||
|
|
||
|
case d debug\-level
|
||
|
set debug_level $value
|
||
|
|
||
|
case i interactive
|
||
|
set mode $value
|
||
|
|
||
|
case l login
|
||
|
set mode $value
|
||
|
|
||
|
case n no\-execute
|
||
|
set mode $value
|
||
|
|
||
|
case p profile
|
||
|
set flags $flags $value
|
||
|
|
||
|
case h help
|
||
|
printf "usage: $_ [OPTIONS] [\-c command] [FILE [ARGUMENTS\.\.\.]]\en"
|
||
|
return
|
||
|
|
||
|
case \e*
|
||
|
printf "$_: \'%s\' is not a valid option\.\en" $key
|
||
|
return 1
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Implementation
|
||
|
end
|
||
|
.
|
||
|
.fi
|
||
|
.
|
||
|
.IP "" 0
|
||
|
.
|
||
|
.SH "BUGS"
|
||
|
.
|
||
|
.IP "\(bu" 4
|
||
|
getopts does \fInot\fR read the standard input\. Use getopts to collect options and the standard input to process a stream of data relevant to your program\.
|
||
|
.
|
||
|
.IP "\(bu" 4
|
||
|
A double dash, \fB\-\-\fR, marks the end of options\. Arguments after this sequence are placed in the default underscore key, \fB_\fR\.
|
||
|
.
|
||
|
.IP "\(bu" 4
|
||
|
The getopts described in this document is \fInot\fR equivalent to the getopts \fIbuiltin\fR found in other shells\. This tool is only available for \fBfish\fR(1)\.
|
||
|
.
|
||
|
.IP "" 0
|
||
|
.
|
||
|
.SH "AUTHORS"
|
||
|
Jorge Bucaran \fIj@bucaran\.me\fR\.
|
||
|
.
|
||
|
.SH "SEE ALSO"
|
||
|
POSIX Utility Syntax Guidelines [goo\.gl/yrgQn9]
|
||
|
.
|
||
|
.br
|
||
|
|