Assigne command ouput to a variable

  • Thread starter Dragoescu Daniel
  • Start date
D

Dragoescu Daniel

Note: parts of this message were removed by the gateway to make it a legal Usenet post.

Hello guys!

I am a newbie in ruby and i have a question. I run a system command and i
want that the ouput of that command to be assigne to a variable, something
like this:

var1 = system("du -s /mnt/hdd/ | cut -f1") puts var1 or

var1 = exec("du -s /mnt/hdd/ | cut -f1") puts var1

but system return 0 or 1 if command is failed or succesful, and exec don't
assigne the output to variable var1.

Can you help me? Thanks in advance.
 
S

Stefano Crocco

Alle mercoled=EC 7 novembre 2007, Dragoescu Daniel ha scritto:
Hello guys!

I am a newbie in ruby and i have a question. I run a system command and i
want that the ouput of that command to be assigne to a variable, something
like this:

var1 =3D system("du -s /mnt/hdd/ | cut -f1") puts var1 or

var1 =3D exec("du -s /mnt/hdd/ | cut -f1") puts var1

but system return 0 or 1 if command is failed or succesful, and exec don't
assigne the output to variable var1.

Can you help me? Thanks in advance.

You can use backticks instead of system:
 
S

Stefano Crocco

Alle mercoled=EC 7 novembre 2007, Stefano Crocco ha scritto:
Alle mercoled=EC 7 novembre 2007, Dragoescu Daniel ha scritto:

You can use backticks instead of system:

Sorry, I hit the send button by mistake.

You can use backticks instead of system:

var1 =3D `"du -s /mnt/hdd/ | cut -f1"`
puts var1

I hope this helps

Stefano
 
D

Dragoescu Daniel

Hello!

It seems to work with:
----
var1 =3D `du -s /mnt/hdd/ | cut -f1`
puts var1
----
Thank you for the answare!

-----Original Message-----
From: Stefano Crocco [mailto:[email protected]]=20
Sent: Wednesday, November 07, 2007 11:17 AM
To: ruby-talk ML
Subject: Re: Assigne command ouput to a variable

Alle mercoled=EC 7 novembre 2007, Stefano Crocco ha scritto:
Alle mercoled=EC 7 novembre 2007, Dragoescu Daniel ha scritto:

You can use backticks instead of system:

Sorry, I hit the send button by mistake.

You can use backticks instead of system:

var1 =3D `"du -s /mnt/hdd/ | cut -f1"`
puts var1

I hope this helps

Stefano
 
E

elof

Hi

You can get both the output from the command and its return value:

var1 = `du -s /mnt/hdd/ | cut -f1`
puts $?.exitstatus
puts var1

Kristian


Hello!

It seems to work with:
----
var1 = `du -s /mnt/hdd/ | cut -f1`
puts var1
----
Thank you for the answare!

-----Original Message-----
From: Stefano Crocco [mailto:[email protected]]
Sent: Wednesday, November 07, 2007 11:17 AM
To: ruby-talk ML
Subject: Re: Assigne command ouput to a variable

Alle mercoledì 7 novembre 2007, Stefano Crocco ha scritto:
Alle mercoledì 7 novembre 2007, Dragoescu Daniel ha scritto:

You can use backticks instead of system:

Sorry, I hit the send button by mistake.

You can use backticks instead of system:

var1 = `"du -s /mnt/hdd/ | cut -f1"`
puts var1

I hope this helps

Stefano
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,981
Messages
2,570,188
Members
46,731
Latest member
MarcyGipso

Latest Threads

Top