0
我使用Ruby和我有-ING SSH到路由器和運行一系列命令存儲在一個arrary下面的代碼:紅寶石:從PTY master_io閱讀掛
result = PTY.open do |masterIO, slaveFile|
r, w = IO.pipe
slaveFile.raw!
pid = spawn(sshCommand, :in=>r, :out=>slaveFile)
r.close; slaveFile.close;
output = ""
@commands.each do |subCommand|
w.puts subCommand
masterIO.each_line { |line| output += line }
end
next ouput
end
我的問題是masterIO.each_line { ... }
永遠掛起。在上面的代碼中,我認爲我需要關閉w
,但是我仍然不確定如何編寫它以使其行爲像我想要的那樣。
注意:您必須記住子命令不是即時的,所以我需要一些等待,直到第一個命令完成執行,然後再寫第二個命令。
編輯:
我想我可以只CONCAT所有 '& &' 每個之間的命令。這將允許我順序運行它們,但我仍然不確定如何使這些命令的輸出成功讀取
我不知道它存在,我不認爲看((: –