fork(1) download
  1. #!/usr/bin/env bash
  2. FOO="SYSCFG_lan_ifname='br1' SYSCFG_lan_ipaddr='10.0.0.1' SYSCFG_lan_netmask='255.255.255.0'"
  3.  
  4. while IFS= read -r -d ''; do
  5. [[ $REPLY = *=* ]] || {
  6. printf 'ERROR: Item %q is not in assignment form\n' "$REPLY" >&2
  7. continue
  8. }
  9. printf -v "foo_${REPLY%%=*}" '%s' "${REPLY#*=}"
  10. done < <(xargs printf '%s\0' <<<"$FOO")
  11.  
  12. # show what we parsed for demonstration purposes
  13.  
  14. for var in "${!foo_@}"; do
  15. echo "$var has value: ${!var}"
  16. done
  17.  
Success #stdin #stdout 0.01s 5508KB
stdin
Standard input is empty
stdout
foo_SYSCFG_lan_ifname has value: br1
foo_SYSCFG_lan_ipaddr has value: 10.0.0.1
foo_SYSCFG_lan_netmask has value: 255.255.255.0