#!/usr/bin/env bash
FOO="SYSCFG_lan_ifname='br1' SYSCFG_lan_ipaddr='10.0.0.1' SYSCFG_lan_netmask='255.255.255.0'"
while IFS= read -r -d ''; do
[[ $REPLY = *=* ]] || {
printf 'ERROR: Item %q is not in assignment form\n' "$REPLY" >&2
continue
}
printf -v "foo_${REPLY%%=*}" '%s' "${REPLY#*=}"
done < <(xargs printf '%s\0' <<<"$FOO")
# show what we parsed for demonstration purposes
for var in "${!foo_@}"; do
echo "$var has value: ${!var}"
done
IyEvdXNyL2Jpbi9lbnYgYmFzaApGT089IlNZU0NGR19sYW5faWZuYW1lPSdicjEnIFNZU0NGR19sYW5faXBhZGRyPScxMC4wLjAuMScgU1lTQ0ZHX2xhbl9uZXRtYXNrPScyNTUuMjU1LjI1NS4wJyIKCndoaWxlIElGUz0gcmVhZCAtciAtZCAnJzsgZG8KICBbWyAkUkVQTFkgPSAqPSogXV0gfHwgewogICAgcHJpbnRmICdFUlJPUjogSXRlbSAlcSBpcyBub3QgaW4gYXNzaWdubWVudCBmb3JtXG4nICIkUkVQTFkiID4mMgogICAgY29udGludWUKICB9CiAgcHJpbnRmIC12ICJmb29fJHtSRVBMWSUlPSp9IiAnJXMnICIke1JFUExZIyo9fSIKZG9uZSA8IDwoeGFyZ3MgcHJpbnRmICclc1wwJyA8PDwiJEZPTyIpCgojIHNob3cgd2hhdCB3ZSBwYXJzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMKCmZvciB2YXIgaW4gIiR7IWZvb19AfSI7IGRvCiAgZWNobyAiJHZhciBoYXMgdmFsdWU6ICR7IXZhcn0iCmRvbmUK