shell-getopt(3)
| shell-getopt(3) | Library Functions Manual | shell-getopt(3) |
NAME
getopt, getoptex, getopts, getsubopt - parses command options (enhanced)
SYNOPSIS
DESCRIPTION
Collection of functions to parse commend line options.
getopt
This function is used to parse command line options and to check for legal options. Shell implementation of getopt (1) utility from the util-linux package. This function is written to be as compatible as possible with getopt (1) utility. Usually you can just replace getopt (1) without any modifications by this function.
Example:
TEMP=`getopt -n "$PROG" -o "v:,V,h" -l "verbose:,version,help" -- "$@"` || show_usage eval set -- "$TEMP" while :; do
case "$1" in
-h|--help) show_help
;;
-v|--verbose) shift; verbose="$1"
;;
-V|--version) print_version "$PROG"
;;
*) fatal "Unrecognized option: $1"
;;
esac
shift done
getsubopt
Function parses suboption arguments from a string. This is a shell-implementation of getsubopt (3).
Example:
while getsubopt 'rw mode: path: dev:' 'rw,mode=755,path="/zzz xxx",dev=/dev/zzz'; do
echo "Option <$OPTOPT> ${OPTARG:+has an arg <$OPTARG>}" done
getopts
Shell implementation of getopts (1) utility. It's a built-in utility in some shells.
Example:
echo "Using getopt to parse arguments:" while getopts "abcd:e." "$@"; do
echo "Option <$OPTOPT> ${OPTARG:+has an arg <$OPTARG>}" done shift $(($OPTIND-1)) set -- $@ ${OPTUKN-} for arg in "$@"; do
echo "Non option argument <$arg>" done
getoptex
This function is the same as getopts, but supports long options.
Example:
echo Using getoptex to parse arguments: while getoptex "a; b; c; d: e. opt1 opt2 opt3 opt4: opt5." "$@"; do
echo "Option <$OPTOPT> ${OPTARG:+has an arg <$OPTARG>}" done shift $(($OPTIND-1)) set -- $@ ${OPTUKN-} for arg in "$@"; do
echo "Non option argument <$arg>" done
ENVIRONMENT
GETOPT_ALLOW_UNKNOWN - Ignore unknown options.
GETOPT_ALLOW_ABBREV - Long options may be abbreviated, as long as the abbreviation is not ambiguous.
GETOPT_ALLOW_ALTERNATIVE - Allow long options to start with a single `-'. See (getopt -a).
GETOPT_POSIXLY_CORRECT - If the is set, all remaining parameters are interpreted as non-option parameters as soon as the first non-option parameter is found.
AUTHOR
Authors and contributors of the programs included in the libshell package are listed in the COPYING file.
BUGS
Report bugs to the authors.
| 2024-02-08 |
