[英]Ruby Net::SSH will not give result of executed command
這是我的代碼
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!
這是怎么回事??
我想刪除文件,您應該使用rm命令。 像那樣
ch.exec("rm filename.mp4") do |tk, success|
在這種情況下,成功意味着命令正在執行,而不是命令已經完成,...
我想知道您是否成功,因為它成功發送了一個請求,而Net :: SSH不在乎該請求是否完成。 它做到了,所以成功了。
channel.on_data do |ch, data|
puts "what am i really getting back: #{data.inspect}"
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.