2012-12-06 42 views
0

我在編寫shell腳本時經常遇到的令人討厭的問題是,echo語句的輸出在之後顯示之後的echo命令的輸出。如何序列化bash腳本中的echo'd和錯誤輸出

例如:

echo "step 1 -" 
./step1 

echo "step 2 -" 
./step2 

echo "step 3 -" 
./step3 

輸出看起來像這樣:

step1 output 
step2 output 
step3 output 
step 1 - 
step 2 - 
step 3 - 

這違背那些回波陳述的目的。有沒有任何合理的簡單/方便的方法來解決這個問題?

回答

1

將stderr從命令重定向到stdout,以便輸出序列化。

./step1 2>&1 
+0

有人提出了一個標題編輯,在近兩年後再次引起了我的注意。我很確定我沒有接受這個答案,因爲這些步驟的輸出不會變態,所有這些都是stdout。但是現在我不明白這可能是怎麼回事。我應該評論一下,併發布了一些我認爲以某種實際測試代碼及其輸出形式出現的證據。 – Shavais