Hello Everyone, I have a situation where i have to invoke command line tools like putty_sftp and OpenSSH from ruby script for automation, as out application handles sftp uploads through these tools. So the problem is i can single DOS command in ruby and store the output(using system( ),exec( )), but here were are talking abt multiple DOS commands to achieve the goal. Also i have to pick up values like user id and password from excel file(which i am doing using ruby).I have to know how to pass these value to DOS batch file from ruby. It would be a boon if i can all the DOS commands in my ruby program one by one, so it's easy to parametrize variables without much. Please help me in this regard.................Thanks
on 2010-09-02 13:39
on 2010-09-02 14:50
On Thu, Sep 2, 2010 at 1:35 PM, Srinidhi <srinidhi158@gmail.com> wrote: > It would be a boon if i can all the DOS commands in my ruby program > one by one, so it's easy to parametrize variables without much. What version of DOS are we talking about? Do current versions of Ruby run on DOS at all? In case you happen on a POSIX system you could use IO.popen to start a shell (say "/bin/sh"), issue commands and use Ruby's expect call to evaluate output / replies. You could as well create a script in memory and feed it to the shell in one go but then you cannot react on command outputs or have to generate the decision logic into the script. Kind regards robert
on 2010-09-02 17:41
On Thursday, September 02, 2010 06:35:33 am Srinidhi wrote: > I have a situation where i have to invoke command line tools like > putty_sftp and OpenSSH from ruby script for automation, as out > application handles sftp uploads through these tools. Would net-ssh work? http://net-ssh.rubyforge.org/ > So the problem is i can single DOS command in ruby No you can't. http://en.wikipedia.org/wiki/DOS You probably mean: http://en.wikipedia.org/wiki/Command_Prompt > here were are talking abt > multiple DOS commands to achieve the goal. So what's hard about that? system('command1', a, b, c) system('command2', d, e, f) > Also i have to pick up values like user id and password from excel > file(which i am doing using ruby).I have to know how to pass these > value to DOS batch file from ruby. This sounds like it's an NT batch question almost as much as a Ruby question. Since you're talking about id and password, I'd strongly recommend using environment variables. If Windows works the way Unix does here, you should be able to do something like: ENV['USER_ID'] = 'foo' ENV['PASSWORD'] = 'bar' Then, from your batch file, refer to them as: %USER_ID% %PASSWORD% This is much more secure than, for example, putting them in the commandline. But you want to make sure you clear those if you're going to be running other commands which don't need them. > It would be a boon if i can all the DOS commands in my ruby program > one by one, Sounds like you don't need to run them in parallel. What's the problem again?
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.