Vim 런타임 커밋 3d37231437fc0f761664a7cabc8f7b927b468767파일 이름에 경고, 오류, 부적절하거나 인식할 수 없는 단어가 포함되어 있지 않다는 가정을 제거하여 tar 편집 플러그인을 수정해보세요. 플러그인에는 메시지가 인쇄되지만 종료 코드가 0인 경우 오류를 감지하는 이 코드가 포함되어 있습니다.
커밋에서 볼 수 있듯이,
그러나 전체 if 조건이 약간 수상쩍은 것 같습니다. 오류가 발생하면 tar 프로그램의 반환 코드를 확인하기 때문에 이전 if 문에서 오류가 발견되었을 수 있습니다.
그러나 어떤 종류의 오류에 대한 종료 코드를 설정하지 않지만 오류 메시지를 인쇄하는 tar 구현이 있을 수 있습니까? 하지만 지금은 이 검사를 그대로 유지하자. 지금까지 이 동작을 알아차린 사람이 많지 않았기 때문에 어쨌든 꽤 잘 작동하는 것 같습니다.
그리고
" FIXME:is this actually necessary? In case of an error, we should probably
" have noticed in the if statement above since tar should have exited
" with a non-zero exit code.
따라서 내 제목 질문은 오류가 발생하더라도 0으로 종료되는 tar 구현이 있습니까?
나는 2명 이상이 사용할 가능성이 있는 구현만 중요하다고 생각합니다. 특히 구현이 출판된 논문의 산물이 아니어서 실용적으로 사용될 수 없다면 학생들이 연습으로 작성한 구현과 같은 예제는 제거하겠습니다. .
답변1
귀하의 경우 GNU tar 및 BSD tar에는 Windows, Linux 및 Mac OS를 효과적으로 포괄하는 의미 있는 종료 상태가 있습니다. 의미 있는 종료 상태를 보고하지 않는 잘못된 tar 구현에 대해 걱정하지 않습니다.