我猜這部分有些東西是錯誤的。Cap任務本地獲取內容
check = %x(cat '/etc/apache2/ports.conf')
我想獲取從/etc/apache2/ports.conf的內容和檢查端口8581已經聽了,我的繼承人代碼,部署任務帽後的一個。
desc "Ports Updation"
task :portsUpdation do
# Editing /etc/apache2/ports.conf
ports_file = "/etc/apache2/ports.conf"
run "#{try_sudo} chmod -R 0777 #{ports_file}"
check = %x(cat '/etc/apache2/ports.conf')
puts check
unless /Listen 8581/.match check
run "#{try_sudo} sed -i '$ a\Listen 8581\n' #{ports_file}"
end
run "#{try_sudo} chmod -R 0644 #{ports_file}"
end
我跑這個帽任務和變量'檢查'總是打印在我的本地ports.conf。我想要的是來自服務器的內容。
當我跑這個帽任務時,我被問服務器密碼。我也嘗試帽部署。同樣的結果。什麼可能是pblm。
其實我需要變量check中的run()的輸出。幸運的是有一個方法capture()滿足了我的確切需求。不管怎麼說,還是要謝謝你。它看起來像一個簡單的問題,但沒有人給出正確的答案..城市 – Linda 2013-03-11 09:00:12
這是因爲你問錯了問題! – phoet 2013-03-11 12:44:12