我有一個ruby腳本,通過反引號執行另一個ruby腳本。就像這樣:紅寶石backtick'd代碼退出136?
output = `#{name}/#{sccript} --list`
在某些情況下(我在一個二進制包的編譯時間運行這一點,並有相同的腳本運行的多個實例),這將失敗。
輸出爲0 lenght和$?
設置爲136
任何想法會導致什麼呢?
我有一個ruby腳本,通過反引號執行另一個ruby腳本。就像這樣:紅寶石backtick'd代碼退出136?
output = `#{name}/#{sccript} --list`
在某些情況下(我在一個二進制包的編譯時間運行這一點,並有相同的腳本運行的多個實例),這將失敗。
輸出爲0 lenght和$?
設置爲136
任何想法會導致什麼呢?
反引號總是返回任何呼叫的標準輸出將是,如果你只是想真的還是假的,使用的系統:
ruby-1.9.2-p0 :009 > \`echo "hello"\`
=> "hello\n"
ruby-1.9.2-p0 :010 > system("echo 'hello'")
hello
=> true
所以,回答你的問題「136」是無論你的腳本返回
你給出了一個關於文本輸出的答案,但他報告說退出代碼('$?`)是136. – 2011-01-07 16:16:16
是的,無關。 – rasjani 2011-01-08 01:29:21