
특정 디렉토리에서 0개 이상의 파일을 찾기 위해 'find'를 사용해야 하는 설정이 있습니다. 그러나 'find'는 특정 검사와 일치하는 파일이 없을 때 항상 오류를 생성합니다. 패턴과 일치하는 파일이 없을 때 오류를 생략하면서 '찾기'를 실행할 수 있습니까?
답변1
@grawity가 말했듯이 find는 이러한 오류를 보고하지 않을 것으로 예상됩니다. 어쨌든 오류 출력을 억제하려면 stderr을 /dev/null로 리디렉션하십시오.
find . HERE_YOUR_FIND_PARAMS 2&> /dev/null
찾기 검색 하위 경로에 열 수 있는 권한이 없는 디렉터리가 있을 때 stderr에 대한 찾기 쓰기가 발생하는 일반적인 사례 중 하나입니다.
답변2
지금까지 내가 찾은 유일한 작동 솔루션은 다음과 같습니다.
find something 2&> /dev/null || true
이렇게 하면 일치하는 항목이 없더라도 최종 종료 코드가 0이 되며 stdout 오류도 숨겨집니다.
답변3
오류를 그냥 무시할 수 있나요? 아니면 더 구체적으로 /dev/null
?