
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
?