Como verificar a existência de nomes de arquivos específicos e status de saída? (e se não tiver sucesso, faça um loop até ter sucesso)

Como verificar a existência de nomes de arquivos específicos e status de saída? (e se não tiver sucesso, faça um loop até ter sucesso)

Sou um novato em scripts bash e estou pesquisando esse cenário no Google há cerca de seis horas, sem sucesso. Encontrei segmentos do que preciso, mas nenhuma solução abrangente.

Aqui está o problema: preciso escrever um código que seja capaz de verificar se existem 3 arquivos ( file1.txt, file2.csve file3.log). Antes de prosseguir, porém, preciso confirmar se file3.loga gravação foi interrompida (isso é para confirmar se o script que cria os 3 arquivos foi concluído com êxito).

verificar a existência desses arquivos parece bastante fácil usando algo como:

if [ -f -e /path/to/file/file1.txt && /path/to/file/file2.csv && /path/to/file/file3.log]
then
# somehow check the exit status of file3.log
if [$? !=0]
#somehow loop (maybe every 5 minutes) until $?=0
done

OU

Eu também estava pensando: posso evitar tudo isso juntos e apenas verificar o status de saída do script inicial? mas eu não tinha certeza porque se houvesse algum tipo de falha e os arquivos não fossem criados, isso seria um problema sério, porque a próxima parte do processo de digitalização leva cerca de 2 dias...

Desculpe se isso pode parecer uma pergunta estúpida, estou tão envolvido no buraco do Google "se-até-sair-zero-senão..." que não tenho ideia do que fazer a partir daqui.

Responder1

Para verificar se um programa nomeado ou script foi concluído, use o comando:

wait $(pgrep program-name)

informação relacionada