-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlib-options.sh
More file actions
54 lines (44 loc) · 792 Bytes
/
Copy pathlib-options.sh
File metadata and controls
54 lines (44 loc) · 792 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/false
LIB_OPTIONS_STATUS='loading'
if [[ -z "${BIN}" ]]
then
BIN="$(cd "$(dirname "$0")" ; pwd)"
fi
source "${BIN}/lib-require.sh"
require verbose usage
: ${NARGS:=0}
function consume-arguments() {
NARGS=$((${NARGS} + $1))
}
function consume-argument() {
consume-arguments 1
}
function get-options() {
while [[ ".${1#-}" != ".$1" ]]
do
OPT="$1" ; shift
consume-argument
trace "OPT=[${OPT}]"
if [[ ".${OPT}" = '.--' ]]
then
break;
fi
get-option "${OPT}" "$@"
if [[ ".${NARGS}" = '.ERROR' ]]
then
return 1
fi
done
}
function unknown-option() {
info "Unknown option: '$1'"
NARGS='ERROR'
usage --rc 1
}
function end-options() {
if [ ".$1" = '.--' ]
then
shift
fi
}
LIB_OPTIONS_STATUS='loaded'