这是我的代码
Net::SSH.start("XXX.upload.akamai.com", "sshacs", :keys=>["#{ENV['AKAMAI_SSH_KEY']}"]) do |mk|
channel = mk.open_channel do |ch|
ch.exec("rm filename.mp4") do |tk, success|
if success
puts "++++++++++++ Deleted: #{success.class}"
else
puts "------------ NOT deleted: #{success.class}"
end
end
end
end
success
总是为True,即使我要删除的文件甚至不存在!发生了什么事?
答案 0 :(得分:0)
我想删除文件你应该使用rm命令。像那样
ch.exec("rm filename.mp4") do |tk, success|
答案 1 :(得分:0)
来自Net::SSH docs for Channel#exec
在这种情况下,成功意味着正在执行命令,而不是它已经完成,......
我想知道你是否因为成功发送请求而获得成功,而Net :: SSH并不关心该请求是否完整。它做了它的工作,所以它取得了成功。
将其与以下内容结合使用:on data
channel.on_data do |ch, data|
puts "what am i really getting back: #{data.inspect}"
end