這是我的代碼。我想抓住p的值,並在匹配1時將其插入到文件changed.txt中。但它沒有做我想做的事,似乎它不知道什麼是{{p}是如何將ruby變量傳遞給Shell中的sed命令?
Net::SSH.start("192.168.2.1", "root", :password => "password") do |ssh|
p = ssh.exec! "java -cp /var/lib/sonar/dev-tools.jar au.com.Tool test"
# puts #{p}
ssh.exec! "sed 's/1/#{p}/g' changed.txt"
end
你能分享它實際上做了什麼嗎?你的'puts'調試語句應該是'puts'#{p}「'。你在'sed'正則表達式中得到了什麼?#{p}'?我運行了一個類似於此的測試用例,它工作正常。 – lurker
我想用p的值替換1; changed.txt裏面只包含1個。但是對於當前的代碼,changed.txt仍然有1,根本沒有任何變化.. – gugo