File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1414normalize_flags (){
1515 local fargs=" $1 "
1616 shift
17- for arg in $@ ; do
18- if [ " --" = ${arg: 0: 2} ]; then
17+ while [ $# -ne 0 ]; do
18+ arg=" $1 "
19+ shift
20+ if [ " --" = " $arg " ]; then
21+ echo " -- $@ "
22+ break
23+ elif [ " --" = ${arg: 0: 2} ]; then
1924 echo ${arg% =* }
2025 [[ " $arg " == * " =" * ]] && echo ${arg#* =}
2126 elif [ " -" = ${arg: 0: 1} ]; then
2227 local i=1
2328 while read -n1 flag; do
2429 (( i++ ))
25- [ -z " $flag " ] || echo " -$flag "
30+ [ -z " $flag " ] || printf " %s\n " " -$flag "
2631 if [[ " $fargs " == * " $flag " * ]]; then
2732 echo ${arg: $i }
2833 break
@@ -44,19 +49,26 @@ normalize_flags(){
4449
4550normalize_flags_first (){
4651 local fargs=" $1 "
47- local args=()
4852 shift
49- args=()
50- for arg in $( normalize_flags " $fargs " " $@ " ) ; do
51- if [ " -" = ${arg: 0: 1} ]; then
52- echo $arg
53+ set -- $( normalize_flags " $fargs " " $@ " )
54+ while [ $# -ne 0 ]; do
55+ arg=" $1 "
56+ shift
57+ if [ " --" = " $arg " ]; then
58+ for arg in ${args[@]} ; do
59+ printf " %s\n" " $arg "
60+ done
61+ echo " -- $@ "
62+ return
63+ elif [ " -" = ${arg: 0: 1} ]; then
64+ printf " %s\n" " $arg "
5365 else
5466 args+=( " $arg " )
5567 fi
5668 done
5769
5870 for arg in ${args[@]} ; do
59- echo $arg
71+ printf " %s\n " " $arg "
6072 done
6173}
6274
Original file line number Diff line number Diff line change @@ -15,7 +15,10 @@ main_run(){
1515 if [ $# -eq 0 ]; then
1616 display_help 2
1717 else
18- set -- $( normalize_flags " " " $@ " )
18+ echo $@
19+ set -- $( normalize_flags_first " " " $@ " )
20+ echo $@
21+ exit
1922 while [ $# -ne 0 ]; do
2023 case $1 in
2124 -b|--build) __build_flag=true ;;
You can’t perform that action at this time.
0 commit comments