summaryrefslogtreecommitdiff
path: root/bos-args.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bos-args.sh')
-rw-r--r--bos-args.sh7
1 files changed, 4 insertions, 3 deletions
diff --git a/bos-args.sh b/bos-args.sh
index e0f0729..69c27d8 100644
--- a/bos-args.sh
+++ b/bos-args.sh
@@ -37,14 +37,15 @@ case \"\$1\" in
parser_result_var+="-${argname}) $argassign; shift 2 ;;
"
elif [[ "${argtype["$argname"]}" == assoc ]]; then
- argassign="${argassign//\$\{key/\$\{2}"
- argassign="${argassign//\$\{value/\$\{3}"
+ argassign="${argassign//\$\{key/\$\{__args_key}"
+ argassign="${argassign//\$\{value/\$\{__args_value}"
- parser_result_var+="-${argname}) $argassign; shift 3 ;;
+ parser_result_var+="-${argname}) IFS='=' read -s __args_key __args_value <<<\"\$2\"; $argassign; shift 2 ;;
"
fi
done
+ # ignore anything else!
parser_result_var+="*) shift ;;
esac
done