我需要在我的bash腳本中捕獲命令的輸出和錯誤,並知道命令是否成功。bash變量分別捕獲標準錯誤和stdout或獲取退出值
此刻,我喜歡這個拍攝兩個:
output=$(mycommand 2>&1)
然後我需要檢查mycommand的出口值。如果失敗了,我需要用輸出做一些事情,如果命令成功了,我不需要觸摸輸出。
由於我捕獲輸出,檢查$?總是一個0,因爲bash成功地將輸出捕獲到變量中。
這是一個非常時間敏感的劇本,所以我們試圖避免像輸出到文件並重新閱讀它在任何速度較慢的解決方案。
如果我能標準輸出捕獲到一個變量和標準錯誤到另一個,這將解決我的問題,因爲我可以檢查錯誤變量是否爲空。
謝謝。
見[BashFAQ/002](http://mywiki.wooledge.org/BashFAQ/002)和[BashFAQ/047](http://mywiki.wooledge.org/BashFAQ/047)。 – 2010-09-03 03:29:24