#!/bin/bash
#!/bin/bash

# pretend this is something evil -- deleting your home directory or opening a reverse SSH connection
run_an_arbitrary_command() { echo "GOTCHA"; }

set -x

declare -A parms
parms[engine]=\"Sweave\"
parms[verbose]=FALSE
parms[tangle]=TRUE
parms["complex key"]="two words"

## builds $parmstring by concatenating key=value pairs
catarr() {
    eval keys=(\"\${!$1[@]}\")
    for k in "${keys[@]}"
    do
        eval val=\${$1[$k]}
        parmstring+=", $k=$val"
    done
}
parmstring=""
catarr parms
catarr 'foo[@]}"); run_an_arbitrary_command; # '

echo ${parmstring[*]}
