GNU find: Отключить ошибку, когда «find» не находит совпадений

GNU find: Отключить ошибку, когда «find» не находит совпадений

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

решение1

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

find  . HERE_YOUR_FIND_PARAMS 2&> /dev/null

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

решение2

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

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

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

решение3

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

Связанный контент