这是我的代码。我想抓住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