睡眠并检查匹配的文件(Bash),直到它被创建

时间:2017-05-10 05:36:15

标签: bash jenkins wildcard sleep

我正在使用Jenkins的shell脚本,必须每2分钟检查一次文件,直到它在远程服务器上生成。找到文件后,作业必须成功。但在我的情况下,我遇到了我的脚本问题,它每2分钟就会继续睡眠而没有找到匹配的文件。我知道问题在于通配符。但有没有其他方法来解决这个问题?我的剧本:

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

1 个答案:

答案 0 :(得分: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