我有一個ruby腳本執行一個shell腳本。我如何將shell腳本數據傳回給ruby腳本。如何將shell腳本變量傳回給ruby?
desc "Runs all the tests"
lane :test do
sh "../somescript.sh"
print variables_inside_my_script // i want to access my script data here.
end
我能夠使用從ruby到shell腳本的環境變量來做相反的場景。
desc "Runs all the tests"
lane :test do
puts ENV["test"]
sh "../somescript.sh" // access test using $test
end
感謝
不可能。子進程繼承父級環境的副本;他們不能影響父母的環境。如果您想將數據從shell腳本傳遞到調用進程,最簡單的方法就是通過它的輸出。 – Amadan