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:
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
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.
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....
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.
···
On Sun, Aug 24, 2008 at 3:58 PM, Thomas Luedeke <thomas.luedeke@areva.com>wrote:
Dave Bass wrote:
> 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....
--
Posted via http://www.ruby-forum.com/\.