我有以下幾點:執行shell腳本
_shellScript = "../Dependency/test.sh"
exec 'sh #{_shellScript}'
但是,當我去執行它結束了我在外殼的Ruby腳本提示而不是執行位於變量_shellScript內的腳本。
任何想法,將不勝感激!
我有以下幾點:執行shell腳本
_shellScript = "../Dependency/test.sh"
exec 'sh #{_shellScript}'
但是,當我去執行它結束了我在外殼的Ruby腳本提示而不是執行位於變量_shellScript內的腳本。
任何想法,將不勝感激!
在Ruby中,exec
結束Ruby進程並將shell傳遞給指定的子進程。如果您需要將test.sh
的輸出全部提供給控制檯,則需要system("sh #{_shellScript}")
。如果您需要提供數據並通過stdin和stdout接收數據,請查看popen
。
我認爲你的評論可能更接近實際問題,''sh#{_ shellScript}'中的'#'將被視爲評論,所以它與'exec'sh''相同,並且有命令提示。 –
你可能會同時修復當前的錯誤(單一而不是雙引號)和下一個('exec'而不是'system')。 –
系統肯定有效。乾杯 – Danny
剛剛嘗試下面一行:
%x[#{_shellScript}]
您的代碼在'exec'字符串使用單引號。在單引號字符串中,Ruby不提供插值('#{}')。那也可能是錯誤。 – Linuxios