GNU find: Desative o erro quando 'find' não encontrar correspondências

GNU find: Desative o erro quando 'find' não encontrar correspondências

Eu tenho uma configuração onde preciso usar 'find' para encontrar 0 ou mais arquivos em um determinado diretório, no entanto, 'find' sempre produz um erro quando não há arquivos que correspondam a uma determinada verificação. É possível executar 'find' enquanto omite erros quando nenhum arquivo corresponde ao padrão?

Responder1

Como @grawity disse, não se espera que find relate esses erros. De qualquer forma, se você deseja suprimir a saída de erro, redirecione stderr para/dev/null:

find  . HERE_YOUR_FIND_PARAMS 2&> /dev/null

Um caso típico em que find write to stderr acontece quando há um diretório em seu subcaminho de pesquisa find que não tem permissão para ser aberto.

Responder2

A única solução funcional que encontrei até agora foi:

find something 2&> /dev/null || true

Isso garante que o código de saída final seja zero mesmo quando não há correspondências e também oculta os erros de stdout.

Responder3

Você pode simplesmente ignorar os erros? Ou, mais especificamente, redirecioná-los para /dev/null?

informação relacionada