fork download
  1. #!/bin/bash
  2.  
  3. str='-e ENV_PASSWORD="foo" -e ENV_USER="bar -e sd" -e ENV_DB_NAME="mysite_staging" '
  4.  
  5. re_pattern='-e[[:space:]]*([^[:space:].=]*)="([^"]*)"'
  6.  
  7. while [[ $str =~ $re_pattern ]]; do
  8. echo "variable: ${BASH_REMATCH[1]}"
  9. echo "value: ${BASH_REMATCH[2]}"
  10. str=${str#*${BASH_REMATCH[1]}=\"${BASH_REMATCH[2]}\"}
  11. done
Success #stdin #stdout 0.01s 5436KB
stdin
Standard input is empty
stdout
variable: ENV_PASSWORD
value: foo
variable: ENV_USER
value: bar -e sd
variable: ENV_DB_NAME
value: mysite_staging