Ruby ssh 执行一个 ruby 文件没反应

kitt · August 22, 2013 · Last by kitt replied at August 23, 2013 · 4251 hits

在程序中,给服务器发送 ssh.exec! 命令执行 shell 命令, 引入 ssh 的 gem 包了

Net::SSH.start('192.168.1.141','pengweimin', :password => 'pengweimin') do |ssh|
  ssh.exec! "ruby /home/pengweimin/gx/blade/public/reports/1104/2013/06/le.rb"
end

远程执行其他的 shell 命令都可以,但是发送执行 ruby 文件的命令就是没反应,也不报错,在服务器本机执行同样的 shell 命令就可以,

ruby 加上绝对路径试一下

require 'net/ssh'
Net::SSH.start('192.168.1.141','pengweimin', :password => 'pengweimin') do |ssh|
  p ssh.exec! "ruby /home/pengweimin/gx/blade/public/reports/1104/2013/06/le.rb"
  p ssh.exec!('echo $?')       #<== 追加这行 看看结果 是不是找不到Ruby?
end

谢谢大家了,是路径问题,原来他遍历的不是文件所在路径,而是 ruby 的 irb 路径,

You need to Sign in before reply, if you don't have an account, please Sign up first.