2017-05-10 22 views
0

我正在研究Jenkins中的shell腳本,它必須每2分鐘檢查一次文件,直到它在遠程服務器上生成爲止。一旦找到該文件,該作業必須成功。但在我的情況下,我遇到了我的腳本問題,該腳本每2分鐘保持一次睡眠狀態,而沒有找到匹配的文件。我知道這個問題是通配符。但是有沒有其他方法可以解決這個問題?我的腳本:睡眠和檢查匹配文件(Bash)直到它被創建

while [ ! -f ${DONE_DIR}/issxxx*.xml ]; 
do 
    sleep 120; 
done; 
sleep 120; 
cat ${DONE_DIR}/isxxx*.xml; 
+0

詹金斯允許調度,所以我不知道爲什麼你不只是如果調度工作,每2分鐘的陳述和一個出口狀態表示工作是否成功? –

回答

0

你可以嘗試這樣的,

while true;                  
do                    
     if [[ $(find ${DONE_DIR} -iname "issxxx*.xml") ]]; then       
       break               
     else                  
       sleep 120               
     fi                  
done;                   
sleep 120;                   
cat ${DONE_DIR}/issxxx*.xml