我是红宝石的新手。我用net / ftp来访问远程文件。我需要执行命令并从远程机器获取结果。我怎么能这样做?
我尝试过以下方式,
#!/usr/bin/ruby
require 'rubygems'
require 'net/ftp'
require 'fileutils'
URL = 'ip'
username = 'name'
passwd = "pass"
directory = 'path'
filename = 'file'
ftp=Net::FTP.new
ftp.connect(URL,21)
ftp.login(username,passwd)
ftp.chdir(directory)
ftp.sendcmd("fuser filename")
ftp.close
It throw the following error,
/usr/lib/ruby/1.8/net/ftp.rb:243:in `getresp': 500 Unknown command. (Net::FTPPermError)
from /usr/lib/ruby/1.8/net/ftp.rb:264:in `sendcmd'
from /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from /usr/lib/ruby/1.8/net/ftp.rb:262:in `sendcmd'
from connection.rb:20
我该如何解决这个错误?请对此提出一些建议..
答案 0 :(得分:0)
在我找到你的问题后,我刚刚找到你问题的答案:
要发出特定于站点的命令,请在命令前添加“站点”:
ftp.sendcmd("SITE fuser #{filename}")