-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy path_extract_flags.sh
51 lines (44 loc) · 1.03 KB
/
_extract_flags.sh
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
#!/bin/bash
unset SILENT_PARAMS
unset SILENT_AT
unset SILENT_FLAGS
unset SILENT_FLAGS_NO_J
POSITIONAL=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-p)
SILENT_PARAMS="$SILENT_PARAMS -extra_res_fa $2"
SILENT_FLAGS="$SILENT_FLAGS -p $2"
SILENT_FLAGS_NO_J="$SILENT_FLAGS_NO_J -p $2"
shift # past argument
shift # past value
;;
-j)
SILENT_J="$2"
SILENT_FLAGS="$SILENT_FLAGS -j$2"
shift # past argument
shift # past value
;;
-j*)
SILENT_J="${1:2:${#1}-2}"
SILENT_FLAGS="$SILENT_FLAGS $1"
shift # past value
;;
@*)
SILENT_AT="$SILENT_AT $1"
SILENT_FLAGS="$SILENT_FLAGS $1"
SILENT_FLAGS_NO_J="$SILENT_FLAGS_NO_J $1"
shift # past value
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
export SILENT_PARAMS
export SILENT_AT
export SILENT_FLAGS
export SILENT_FLAGS_NO_J
set -- "${POSITIONAL[@]}" # restore positional parameters