2017-05-10 25 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