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