我必須在後臺運行一個命令,但我希望能有適當的轉義,它的參數。執行shell命令用正確的參數逃避
system("rake send_mails subject='#{params[:subject]}' 2> /dev/null 1> /dev/null &");
如果我寫system("rake", "send_mails", params[:subject])
然後我沒有「到位」爲重定向和&
標誌。如果我不這樣做,我不會爲subject
參數轉義。
我怎樣才能解決這個問題?
我不知道,但你嘗試拼圖'system'電話?例如:'system(system(「rake」,「send_mails」,params [:subject]),「/ dev/null 1>/dev/null&」) – fl00r 2011-05-10 11:11:26
然後執行內部system()外'系統()'失敗,不執行任何操作:'類型錯誤:不能轉換成真正String' – Notinlist 2011-05-10 11:24:50