Running an executable local file with a Ruby script??

T

Thomas Luedeke

I'm having a lot of problems just running an executable local file with
a Ruby script. I go to the directory with the file (call the executable
file 'mkplots'), then try to run that file.

I've tried all sorts of system and back-quoted commands, and nothing
works. If I go to the UNIX command line and simply type the file name,
it runs fine.

What am I doing wrong?? Why doesn't the following command work:

system( "mkplots" )

--- or ---

`mkplots`
 
J

Joost Diepenmaat

Thomas Luedeke said:
I'm having a lot of problems just running an executable local file with
a Ruby script. I go to the directory with the file (call the executable
file 'mkplots'), then try to run that file.

I've tried all sorts of system and back-quoted commands, and nothing
works. If I go to the UNIX command line and simply type the file name,
it runs fine.

What am I doing wrong?? Why doesn't the following command work:

system( "mkplots" )

Is the current path in your PATH environment variable? If not, use

system( "./mkplots" )
 
T

Thomas Luedeke

Joost said:
Is the current path in your PATH environment variable? If not, use

system( "./mkplots" )


I've tried that. I don't get any errors, but it also doesn't produce
any output (like it does if I use the command line).
 
D

Dave Bass

Replace ./mkplots with a very simple executable (or script) which does
something like writing to a file, including any error messages sent to
stderr. Temporarily (!) give it maximal permissions, before reducing it
to the same permissions as mkplots.

This will allow you to see whether the executable is actually being
executed or not and whether any errors are being generated. In my
experience there are often problems with permissions, especially if the
script is being run by a web server.
 
T

Thomas Luedeke

Dave said:
Replace ./mkplots with a very simple executable (or script) which does
something like writing to a file, including any error messages sent to
stderr. Temporarily (!) give it maximal permissions, before reducing it
to the same permissions as mkplots.

This will allow you to see whether the executable is actually being
executed or not and whether any errors are being generated. In my
experience there are often problems with permissions, especially if the
script is being run by a web server.


This is kind of dumb (and certainly not 'The Ruby Way', but I got it to
work with this workaround.

(1) Create a little Korn shell file (save as make_plots.sh, change
permissions with a `chmod +x make_plots.sg` ):

<i>#! /bin/ksh</i>
<i>mkplots</i>

(2) Run it with the following command in Ruby

system( "make_plots.sh" )



However, this really offends me to have to do this, so any further ideas
are welcome....
 
V

Victor H. Goff III

[Note: parts of this message were removed to make it a legal post.]

I am not familiar enough with calls in Ruby to system in Linux at this
moment, but in Windows, I was recently doing this, and had to use something
like this: system"call command"

If I simply did system"command" it did not operate like I expected.
 

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,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top