From: Jo-Philipp Wich Date: Tue, 10 Dec 2013 17:30:15 +0000 (+0000) Subject: jshn: add ability to pass default values to json_get_var and json_get_vars X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e58fa88e1f69557203ddc616bed95b9817c4f7d0;p=oweals%2Flibubox.git jshn: add ability to pass default values to json_get_var and json_get_vars --- diff --git a/sh/jshn.sh b/sh/jshn.sh index 70b7976..85c4151 100644 --- a/sh/jshn.sh +++ b/sh/jshn.sh @@ -231,13 +231,17 @@ json_get_var() { _json_get_var __cur JSON_CUR local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}" - eval "export -- \"$__dest=\${$__var}\"; [ -n \"\${$__var+x}\" ]" + eval "export -- \"$__dest=\${$__var:-$3}\"; [ -n \"\${$__var+x}\${3+x}\" ]" } json_get_vars() { while [ "$#" -gt 0 ]; do local _var="$1"; shift - json_get_var "$_var" "$_var" + if [ "$_var" != "${_var#*:}" ]; then + json_get_var "${_var%%:*}" "${_var%%:*}" "${_var#*:}" + else + json_get_var "$_var" "$_var" + fi done }