2017-10-18 28 views
0

您好,我是shell腳本編程新手,希望對某個短語「TEST_PASS」或「Test_Skip」或「Test_Failed」使用帶有while loopgrep的終端命令「在輸出中。使用grep在While循環中查找shell輸出中的短語

如果終端輸出中的短語「TEST_PASS」然後退出循環。

否則,如果短語「Test_Skip」或「Test_Failed」在輸出中,則再次嘗試重試命令。

我以爲它會去是這樣的:

while ! #Command# | grep -i "TEST_PASS" 

任何幫助將是巨大的。

非常感謝

回答

2

這個怎麼樣?

<your command goes here> | grep -q "TEST_PASS" 
retry=`echo $?` 
while [ $retry -ne 0 ] 
do 
    <your command goes here> | grep -q "TEST_PASS" 
    retry=`echo $?` 
done 
echo "Test Passed!" 
+1

我喜歡它,但是不能避免'output.txt'帶'yourcommand | grep -q'TEST_PASS'' ?.無論哪種方式,很好的答案。 –

+0

謝謝@ DavidC.Rankin!我也是腳本編程的新手,不知道'-q'選項!剛剛查過手冊頁,它會派上用場:) – mathB

+0

實際上不需要'echo',只是'retry =「$?」' –