
У меня есть настройка, в которой мне нужно использовать '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
?