checkopt "used_opts" "truthtable"
checkopt "used_opts"
"
This command is intended to be used to efficiently parse arguments in a script.
The order of the options provided in used_options is not significant.
The characters ._:;=+|- can be used to format the header content.
The used_options are checked against each row in the truthtable. If the used options match against a row, the checkopt command exits with exit code 0, if no row matches, the exit code is 1.
The characters ._:;=+|- can be used to format the row content.
Parsing of a command having the usage:
my_script
-h
|
-f file
[
-n
|
-v
]
#!/bin/sh : : parse_args(){ args=$* debug=False Patchfile="" Noexecute=False Verbose=False getopt xhf:n $* > /dev/null 2>&1 if [ $? -ne 0 ]; then usage fi opts="" while [ $# -ge 1 ]; do opts="$opts $1" case $1 in -x) debug=True ;; -f) Patchfile=`rel2abs $2` shift ;; -n) Noexecute=True ;; -v) Verbose=True ;; -h|*) usage ;; esac shift done checkopt "$opts" " fnv 100 101 110 " || usage } # parse_args main(){ parse_args $* : : } # main main $*
alternate use of checkopt. This usage is equal to example 1).
checkopt "$opts" " fnv YNN YNY YYN "
alternate use of checkopt. This usage is equal to example 1).
checkopt "$opts" " fnv TFF TFT TTF "
alternate use of checkopt. This usage is equal to example 1).
checkopt "$opts" " f-----n-----v---- True--False-False True--False-True True--True--False "
This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.