Linux: Como posso obter um código de saída diferente do comando find se nenhum arquivo correspondente ao padrão que usei for encontrado?

Linux: Como posso obter um código de saída diferente do comando find se nenhum arquivo correspondente ao padrão que usei for encontrado?

Eu tenho um script que executa o próximo comando:

find /storage2/hpfiles_staging/ -name \*.gz -mmin +600

E então rsyncos arquivos são transferidos para um local remoto.

Às vezes, o findcomando não retorna nenhuma saída (pois não há arquivos chamados *.gz com idade de 10 minutos ou mais naquele local). Quando isso acontecer, quero escrever uma mensagem no log informando que não há arquivos lá.

Mas quando executo o findcomando, quer ele encontre arquivos para transferir ou não, o código de saída do findcomando é sempre "0" (a menos que haja um erro de sintaxe, é claro) e, portanto, não pode me dar indicação sobre arquivos encontrados naquele local ou não .

Existe alguma opção ou truque para obter um código de saída diferente de 0 se nenhum arquivo tiver sido encontrado pelo findcomando?

desde já, obrigado

Responder1

Não acho que você possa afetar o código de saída do find. Talvez você deva capturar a saída de find e usá-la para determinar se algum arquivo foi encontrado.

informação relacionada