2014-10-03 52 views
0
until commandThatProducesOutput | grep -m 1 "Done" 
do 
     ??? 
     sleep 5 
done 

雖然這個腳本運行時,我想管道將commandThatProducesOutput產生屏幕,但似乎無法得到正確的語法輸出。顯示輸出,直到循環

+0

(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – jm666 2014-10-03 22:15:08

+2

好像'命令。 .. | tee/dev/tty | grep ...'應該做你想做的事情。請參閱[如何在屏幕上保留輸出文件但不輸出文件](http://stackoverflow.com/questions/5677201/how-to-pipe -stdout-而保管-IT-屏幕上,和沒有到一個輸出文件)。 – 2014-10-03 22:20:31

回答

1

如何:?XY-問題]

output=$(commandThatProducesOutput) 

until echo "$output" | grep -m 1 "Done" 
do 
    echo "$output" 
    output=$(commandThatProducesOutput) 
done 
+1

'echo「$ output」',請。 – rici 2014-10-03 22:40:24