我想在bash提示符下運行以下命令時捕獲bash shell上的輸出。如何在bash shell中捕獲rails runner「MyCloud :: Deployment.checkuser」的輸出
rails runner "MyCloud::Deployment.checkuser"
基本上checkuser()
返回1或0的值,其欲在該推出「軌道亞軍」命令外殼捕捉。
根據shell的寫入值,我想執行一些其他的命令。這個checkuser()
連接到雲端,訪問SQL服務器並返回值,所以我需要加載rails env。
我在hudson「execute shell」窗口中運行這個命令。我如何去完成這項任務? 耙子能幫助我嗎?
編輯:
#to keep things simple: module MyCloud class Deployment def self.checkuser return 20 end end end I am running the command from ubuntu box: [email protected]:~/work/co/RoR$ res="$(rails runner "MyCloud::Deployment.checkuser")" [email protected]:~/work/co/RoR$ echo $res [email protected]:~/work/co/RoR$
我要拍攝是從check_user()返回在bash shell的一個變量的值。
你嘗試無論如何保存呢? – tinySandy 2014-11-21 15:48:21
不清楚你在問什麼。你是在談論返回的值「0」或「1」還是退出代碼?如果「執行shell」步驟不返回0,哈德森不會自動中止運行嗎? – arco444 2014-11-21 15:48:26
checkUser()根據用戶是否存在返回1或0;我不是指退出狀態。我從bash命令提示符啓動rails runner命令,並且我喜歡在bash shell中捕獲它的輸出。 – Sreeni 2014-11-21 16:10:02