On Tue, Feb 26, 2008 at 10:11 AM, Benjamin Smith <lists@benjamindsmith.com> wrote:
In bash, given a string assignment as follows, how do I "add slashes"
automagically, so that it can be safely passed to another program? Notice
that the assignment contains spaces, single-quotes and double-quotes, maybe
god-only-knows-what-else. It's untrusted data.

Yet I need to pass it all *safely*.

The appropriate function in PHP is addslashes(); but what is the bash
equivalent? EG:


short answer:  single quotes will handle all characters, except single quotes.

long answer:  man bash
 the section called QUOTING may help you figure a solution.




#! /bin/sh
A="This isn't a \"parameter\"";

B=`/path/to/somecommand.sh $A`;
exit 0;


Thanks,

-Ben

HTH,
-Bob