2

У меня есть настройка, в которой мне нужно использовать «find», чтобы найти 0 или более файлов в определенном каталоге, однако «find» всегда выдает ошибку, когда нет файлов, которые соответствуют определенной проверке. Можно ли запустить 'find', не пропуская ошибки, если файлы не соответствуют шаблону?

3 ответа3

1

Например, @grawity сказал, что find не сообщает об этих ошибках. В любом случае, если вы хотите подавить вывод ошибок, перенаправьте stderr в /dev /null:

find  . HERE_YOUR_FIND_PARAMS 2&> /dev/null

Один типичный случай, когда find выполняет запись в stderr, происходит, когда в вашем подпапке поиска находится каталог, у которого нет разрешения на открытие.

1

Можете ли вы просто игнорировать ошибки? Или, более конкретно, перенаправить их в /dev/null?

0

Единственное рабочее решение, которое я нашел, было:

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

Это гарантирует, что окончательный код завершения равен нулю даже при отсутствии совпадений, а также скрывает ошибки stdout.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .