From: Louis-Philippe Date: 2009-07-16T22:27:50+09:00 Subject: Re: problem executing bash script from ruby --000e0cd47ea44be7b7046ed2a332 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit An option would be to run the bash script inside a PTY... but that makes it simply to complex for something that could all be done from within ruby...Have you try calling rdoc straight from ruby instead of bash? 2009/7/15 Tom Cloyd > I have little experience with this sort of thing, but it looked fairly > straightforward. I'm in trouble, however. > > Details: > > From /home/tomc/Ruby-work/setnet/bin/ I launch "./setnet". This dir > contains: > mkrdoc.sh setnet > > "./setnet" contains these lines (among others), and works fine: > > manager = SN::DBManager.new() > manager.startup > > The "SN.rb" module is in "/home/tomc/Ruby-work/setnet/lib/setnet", and > contains a method with this code snippet - > > puts "\n=== generating new rdocs for SetNet ===" > system("ls") # to verify where I am in the filesystem > system("./mkrdoc.sh") > if $? != 0 > puts "*** command failed: status = #{$?.exitstatus}" > end > > This snippet executes by means of selection from a menu, with this result - > > === generating new rdocs for SetNet === > mkrdoc.sh setnet *** command failed: status = 127 > mkrdoc.sh contains: > > cd ../lib/setnet > echo "dir--" > ls > echo "rdoc executing --" > rdoc -N -x ./doc > > What I'm trying to do is acquire the functionality of generating new rdocs > for my program without having to manually go back to a command line. Every > attempt I made to make a single "system()" call from within ruby, to > generate the rdocs, have failed. In my experience, rdoc is excessively > quirky. I've spent most of today trying to get it to do some simple things, > and failing, even though I've very carefully following the documentation. I > do have something that works - that "rdoc -N -s ./doc" command, but only > when it's executed from within the right dir. > > Since - > * I'm allowed one command per "system()" call, and > * upon return from that call, the present working dir is reset to its prior > state... > > my only option appears to be to issue the commands I'd use in a manual > interaction with the CLI from within a script file, and that's what I'm > trying to do. > > My questions: > > 1. Is there some obvious reason by my attempt to execute mkrdoc.sh is > failing? > 2. How can I make use of the process status output I've captured? I've > searched Pickax 3rd ed., and with Google, and I'm not receiving much > enlightenment. What do the "big boys/girls" do with this status output? > > Thanks very much for any help anyone can offer. > > Tom > > -- > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist > Bellingham, Washington, U.S.A: (360) 920-1226 > << tc@tomcloyd.com >> (email) > << TomCloyd.com >> (website) << sleightmind.wordpress.com >> (mental > health weblog) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > --000e0cd47ea44be7b7046ed2a332--