From 11ee354df339d02a2940cfc91701836798bfe83a Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Wed, 26 Jul 2023 14:01:38 +0100 Subject: simpler syntax for assoc assginments --- bos-args.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bos-args.sh') 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 -- cgit v1.2.3