diff --git a/apps/simon/0.3.5/scripts/init.sh b/apps/simon/0.3.5/scripts/init.sh index 2b0ea5cf1..d0bc05f5e 100755 --- a/apps/simon/0.3.5/scripts/init.sh +++ b/apps/simon/0.3.5/scripts/init.sh @@ -9,10 +9,8 @@ fail() { exit 1 } -read_env_value() { - local key="$1" - local value="" - value="$(sed -n "s/^${key}=//p" "$ENV_FILE" | tail -n 1)" +unquote_value() { + local value="$1" case "$value" in \"*\") value="${value#\"}"; value="${value%\"}" ;; \'*\') value="${value#\'}"; value="${value%\'}" ;; @@ -20,10 +18,21 @@ read_env_value() { printf '%s\n' "$value" } +read_env_value() { + local key="$1" + local value="" + value="$(sed -n "s/^${key}=//p" "$ENV_FILE" | tail -n 1)" + unquote_value "$value" +} + effective_value() { local key="$1" + local value="" if [[ -v "$key" ]]; then - printf '%s\n' "${!key}" + value="${!key}" + fi + if [[ -n "$value" ]]; then + unquote_value "$value" else read_env_value "$key" fi