programing

rm이 파일을 찾을 수 없음을 보고하지 않도록 하려면 어떻게 해야 합니까?

showcode 2023. 4. 15. 09:40
반응형

rm이 파일을 찾을 수 없음을 보고하지 않도록 하려면 어떻게 해야 합니까?

사용하고 있다rmBASH 스크립트 내에서 많은 파일을 삭제합니다.파일이 존재하지 않는 경우가 있기 때문에, 많은 에러가 보고됩니다.이 메시지는 필요 없습니다.man 페이지에서 명령어를 검색했습니다.rm조용하지만 내가 찾은 유일한 선택지는-f「존재하지 않는 파일을 무시해, 프롬프트를 표시하지 않는다」라고 하는 설명에서는 올바른 선택이라고 생각됩니다만, 이름이 맞지 않는 것 같기 때문에, 의도하지 않은 결과가 되지 않을까 염려됩니다.

  • 이요?-f침묵을 지키는 올바른 방법을 선택하다rm왜 이름이 없는 거죠?-q?
  • 이 옵션은 다른 기능을 합니까?

의 주요 용도-f삭제되지 않은 파일을 강제로 삭제하는 것입니다.rm(특별한 경우로서 존재하지 않는 파일을 「삭제」해, 에러 메세지가 표시되지 않게 됩니다.

에러 메시지를 리다이렉트 할 수도 있습니다.

$ rm file.txt 2> /dev/null

(또는 동등한 운영체제).값을 확인할 수 있습니다.$?전화한 직후에rm파일이 실제로 삭제되었는지 여부를 확인합니다.

네.-f이 경우 가장 적합한 옵션입니다.

-f는 올바른 플래그이지만 테스트 연산자의 경우 rm이 아닙니다.

[ -f "$THEFILE" ] && rm "$THEFILE"

그러면 파일이 존재하며 일반 파일(디렉토리, 디바이스 노드 등이 아님)이 됩니다.

\rm -f file를 찾을 수 없다고 보고하지 않습니다.

까지rm -f'다른 것'을 하면 강제(force)가 됩니다.-f의 줄임말이다--force)의 사일런트 제거가 필요한 경우rm그렇지 않으면 확인을 요구할 겁니다.예를 들어, 사용자가 쓸 수 없는 파일을 사용자가 쓸 수 있는 디렉토리에서 제거하려고 할 때.

cshell에도 같은 문제가 있었습니다.유일한 해결책은 스크립트의 "rm" 앞에 패턴과 일치하는 더미 파일을 만드는 것이었습니다.

언급URL : https://stackoverflow.com/questions/10247472/how-to-prevent-rm-from-reporting-that-a-file-was-not-found

반응형