Bash 스크립트 실행 중 오류 메시지를 방지하는 방법은 무엇입니까?

Bash 스크립트 실행 중 오류 메시지를 방지하는 방법은 무엇입니까?

string.h내 컴퓨터에서 같은 이름의 모든 파일을 찾아 특정 폴더에 복사하는 bash 스크립트를 작성해야 합니다 . 내 코드는 다음과 같습니다.

#!/bin/bash
sudo find / -type f -name "string.h" -exec cp {} $HOME/MyDocuments

그러나 스크립트를 실행하는 동안 콘솔 터미널에 "Permission Denied" 오류 메시지가 표시됩니다. 이 메시지를 받지 않으려면 어떻게 해야 합니까? 콘솔 터미널은 깨끗해야 합니다.

답변1

사용자에게 읽기 권한이 없는 디렉토리로 이동을 시도하거나 액세스 권한이 없는 디렉토리에 쓰기를 시도하는 경우 cp"권한 거부" 오류는 "정상"입니다 . stderr을 리디렉션하여 이를 억제할 수 있습니다.

#!/bin/bash
sudo find / -type f -name "string.h" -exec cp {} $HOME/MyDocuments \; 2>/dev/null

이 모드는 2>/dev/null표준 오류 대신 모든 오류를 "아무데도"로 보내는 것을 의미합니다.

그러나 오류 메시지를 보내 /dev/null도 명령에 읽기 또는 쓰기 권한이 없다는 오류가 해결되지 않습니다.

관련 정보