From e58fa88e1f69557203ddc616bed95b9817c4f7d0 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 10 Dec 2013 17:30:15 +0000 Subject: [PATCH] jshn: add ability to pass default values to json_get_var and json_get_vars --- sh/jshn.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 }