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

2

Eu tenho uma configuração em que preciso usar 'find' para localizar 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 'localizar' enquanto ele omite erros quando nenhum arquivo corresponde ao padrão?

    
por Eli 21.08.2011 / 04:57

3 respostas

1

Como @grawity, o achado não deve relatar esses erros. De qualquer forma, se você quiser suprimir a saída de erro redirecionar stderr para / dev / null:

find  . HERE_YOUR_FIND_PARAMS 2&> /dev/null

Um caso típico em que o comando write to stderr acontece quando existe um diretório no sub-caminho de busca que não tem permissão para ser aberto.

    
por 21.08.2011 / 13:18
1

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

    
por 21.08.2011 / 07:22
0

A única solução de trabalho 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.

    
por 11.10.2017 / 14:49

Tags