0
system("ruby #{File.dirname(__FILE__) + '/Test')}")
但這
`ruby #{File.dirname(__FILE__) + '/Test'}`
不運行腳本測試
這:
system("ruby #{File.dirname(__FILE__) + '/Test #{arg}'")
不走ARG值。
我在做什麼錯?
system("ruby #{File.dirname(__FILE__) + '/Test')}")
但這
`ruby #{File.dirname(__FILE__) + '/Test'}`
不運行腳本測試
這:
system("ruby #{File.dirname(__FILE__) + '/Test #{arg}'")
不走ARG值。
我在做什麼錯?
第二不起作用,因爲有一個不平衡的結尾雙引號("
)和右括號()
)這可能是提高和錯誤,但你沒有看到它,因爲背蜱忽略STDERR:
`ruby #{File.dirname(__FILE__) + '/Test'")}`
因爲你想給一個變量插值到用單引號一個固定的字符串,也缺少第三個不工作一結束}
:
system("ruby #{File.dirname(__FILE__) + '/Test #{arg}'")
你會看到這個站出來,如果你沒有嵌入在您的字符串插值字符串計算:
cmd_file = File.dirname(__FILE__) + '/Test #{arg}'
system("ruby #{ cmd_file }")
固定的報價和使用內部File.join
的正確性:
cmd_file = File.join(File.dirname(__FILE__), "Test #{arg}")
system("ruby #{ cmd_file }")
做什麼反引號意味着你正在使用的外殼。你沒有指出shell。 (第二行)。變量'arg'的值是什麼? – vgoff
http://www.ruby-doc.org/core-2.0.0/Kernel.html#method-i-60。我正試圖通過ruby文件運行unix命令。 'arg'是我將通過命令行通過的一個詞。 'system(「echo#{arg}」)'給出arg的正確值。 – Ava
爲了清晰起見並減少出現錯誤的可能性,請將路徑指定給變量,然後將該變量用於字符串中的插值。不要在插值中進行計算;這是瘋狂。 –