Hi! I’m developing an application, that needs to execute some ruby
files, and log the output in a txt file.
The problem that i have is that i can’t take this output.
Here is a piece of code:
filesToExec.each { |file|
system(“ruby “+scriptFolder+”/”+file) # I need this output
}
Thanks a lot!
You’re looking for something like
puts “ruby #{scriptFolder}/#{file}”
Chris D. wrote:
You’re looking for something like
puts “ruby #{scriptFolder}/#{file}”
Nono, the scripts that i’m running print in the screen “Testo Ok” or
“Test Fail”
i need to save these output in a TXT file.
Thanks!!
On Tue, Jul 14, 2009 at 1:23 PM, Agustin R.[email protected]
wrote:
Chris D. wrote:
You’re looking for something like
puts “ruby #{scriptFolder}/#{file}”
Nono, the scripts that i’m running print in the screen “Testo Ok” or
“Test Fail”
i need to save these output in a TXT file.
Thanks!!
If you only need to save a single line, you can do this:
results = ruby #{scriptFolder}/#{file}
If you need to be looking at multiple lines, you should check out
IO.popen
Lee Hinman wrote:
On Tue, Jul 14, 2009 at 1:23 PM, Agustin R.[email protected]
wrote:
Chris D. wrote:
You’re looking for something like
puts “ruby #{scriptFolder}/#{file}”
Nono, the scripts that i’m running print in the screen “Testo Ok” or
“Test Fail”
i need to save these output in a TXT file.
Thanks!!
If you only need to save a single line, you can do this:
results = ruby #{scriptFolder}/#{file}
If you need to be looking at multiple lines, you should check out
IO.popen
With this line results = ruby #{scriptFolder}/#{file}
i’m saving only
the file location string. It’s the same as
results = “ruby “+scriptFoler+”/”+file
You only change the concatantio symbol by printing variables into the
string.
I need to save the cmd output, the output of the script.
So
With this
filesToExec.each { |file|
system(“ruby “+scriptFolder+”/”+file) # I need this output
}
I’m running the scripts, that’s correct? or i have to do it in other
way?
NO, its a back tick, not a quote. Look carefully.
On Tue, Jul 14, 2009 at 1:50 PM, Agustin R.[email protected]
wrote:
I’m running the scripts, that’s correct? or i have to do it in other
way?
Using ` instead of " executes the command and returns a string of the
output.
Try this in irb:
r = echo "hi"
puts r
and r should equal “hi\n”
At 2009-07-14 03:55PM, “Lee Hinman” wrote:
On Tue, Jul 14, 2009 at 1:50 PM, Agustin R.[email protected] wrote:
[…]
system(“ruby “+scriptFolder+”/”+file) # I need this output
[…]
I’m running the scripts, that’s correct? or i have to do it in other
way?
Using ` instead of " executes the command and returns a string of the
output.
Or use %x{} to stand out visually:
output = %x{ruby #{scriptFolder}/#{file}}