I am trying to get quotes around a variable to make is just like I typed it in the terminalto get this script to work. it shows  quotes around the varibale but still does not see it as quotes, as far as I can figure out because it does not work.    hs='#'echo ${hs}${hex}echo  \ #${hex} \echo  \#${hex}\#one way tryinghsetroot -solid \${hs}${hex}\#another way of tryinghsetroot -solid \${hs}${hex}\either way I put the  qoutes  around the variable, as you can see they both come up with quotes on both sides, and it still does not work. Yet if I type the #31064d into the terminal putting it where it needs to be then it works.output:#31064d #31064d #31064dBad color (#31064d) Bad color (#31064d)this works it is a good color codeuserx@bw2-crunchbang:~/testscript$ hsetroot -solid #31064dHOW do I format it in script so a program that needs the pram to be in quotes sees it in quotes?I tried writing it this way too.echo \#${hex}\hsetroot -solid \#${hex}\output:Bad color (#12eba5)you see the  quotes  are still added around the numbers and letters like typing it into the terminal yet I get a nope, not working.I've tried the ' ' and the  marks too, no go. 
how do I set quotes around a variable so that the programs sees them as quote marks
bash;shell script;quoting;string