[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

quoting problem with %x

Will Parsons

1/23/2009 12:58:00 AM

I'm having a problem invoking external programs from ruby that are passed
arguments containing spaces. I have a program that I would invoke outside
of ruby like:

progname -o 'something with spaces'

How do I get the output from this within ruby? If I run:

%x[progname -o 'something with spaces']

the single quotes get lost and the result is as if
"progname -o something with spaces" had been invoked.

Attempting to escape the quotes like:

%x[progname -o \'something with spaces\']

doesn't help. Can someone enlighten me on how this can be done?

--
Will
2 Answers

Sandor Szücs

1/23/2009 4:15:00 PM

0


On 23.01.2009, at 01:58, Will Parsons wrote:

> How do I get the output from this within ruby? If I run:
>
> %x[progname -o 'something with spaces']
>
> the single quotes get lost and the result is as if
> "progname -o something with spaces" had been invoked.
>
> Attempting to escape the quotes like:
>
> %x[progname -o \'something with spaces\']
>
> doesn't help. Can someone enlighten me on how this can be done?

>> %x[echo \'bla\']
=3D> "bla\n"
>> %x[echo \\'bla\\']
=3D> "'bla'\n"

Try it in irb and you will see what you get.

Regards, Sandor Sz=FCcs
--


t3ch.dude

2/2/2009 6:32:00 PM

0

On Jan 22, 7:57 pm, Will Parsons <oud...@nodomain.invalid> wrote:
> I'm having aprobleminvoking external programs from ruby that are passed
> arguments containing spaces.  I have a program that I would invoke outside
> of ruby like:
>
>   progname -o 'something with spaces'
>
> How do I get the output from this within ruby?  If I run:

Have you tried:

system("progname", "-o", "'something with spaces'")

or something similar?

-t3ch.dude