[SGVLUG] Shell quoting
Matt Campbell
dvdmatt at gmail.com
Mon Apr 19 09:50:47 PDT 2010
Really sorry for all the typos, that's what I get for 2 hours of sleep. ;)
The correct command should have read:
'ssh -l<user> <isp shell host> \'mysql -u<database user> <database name> -p
<database password> -h <isp sql host> \\\'ALTER TABLE \\\`Layouts\\\` ORDER
BY \\\`Date\\\`;\\\'\' '
Matt
> -----Original Message-----
> From: Matt Campbell [mailto:dvdmatt at gmail.com]
> Sent: Monday, April 19, 2010 9:48 AM
> To: 'SGVLUG Discussion List.'
> Subject: RE: [SGVLUG] Shell quoting
>
> Hi Dan,
>
> Trying to run a SQL statement on my web server reqmotely. The SQL
> engine is protected to localhost only so I have to ssh to the host to
> run the SQL.
>
> I am trying to write a generic execute function for future project. I
> don't want to assume what the default shell is locally or remotely.
>
> The whole command that does not work is:
> 'ssh -l<user> \'<isp shell host> mysql -u<database user> <database
> name> -p <database password> -h <isp sql host> \\\'ALTER TABLE
> \\\`Layouts\\\` ORDER BY \\\`Date\\\`;\\\'\' '
>
> I have played with a couple dozen versions of quoting the quotes to no
> avail. I do not want to mix quotes (which works) as I need to be able
> to programmatically quote all types of quotes in the arbitrary command
> passed to this function.
>
> Thanks for looking at it!
>
> Matt
>
>
> > -----Original Message-----
> > From: sgvlug-bounces at sgvlug.net [mailto:sgvlug-bounces at sgvlug.net] On
> > Behalf Of Dan Kegel
> > Sent: Monday, April 19, 2010 9:38 AM
> > To: SGVLUG Discussion List.
> > Subject: Re: [SGVLUG] Shell quoting
> >
> > On Mon, Apr 19, 2010 at 9:29 AM, Matt Campbell <dvdmatt at gmail.com>
> > wrote:
> > > Wow. And I thought I knew my shell cold.
> > >
> > > Does anyone know the logic why this does not work?
> > >
> > > matt at scar:166% bash -c 'echo \'ALTER TABLE\' '
> > >
> > > Unmatched '.
> > >
> > > And how this is actually parsed?
> > >
> > > matt at scar:144% bash -c echo 'ALTER TABLE `Components`'
> > >
> > > (returns a blank line)
> >
> > What are you trying to do? i.e. what do you want to appear in the
> > final output?
> > I guess you're generating a shell script that will generate SQL?
> >
> > - Dan
More information about the SGVLUG
mailing list