2012-04-12 8 views
1

ksh를 사용 중입니다.타르 혼란의 출구 상태

dummpy_file이 존재하지 않습니다.

SUSE10/타르 버전 GNU 1.15.1

>gunzip -d dummpy_file | tar xvf - 
gunzip : dummpy_file: No such file or directory 
>echo $? 
>0 

SUSE11/타르 버전 GNU 1.20

>gunzip -d dummpy_file | tar xvf - 
gunzip : dummpy_file No such file or directory 
tar : This does not look tar archive 
tar: Error exit delayed from previous errors 
>echo $? 
>2 

는 다른 타르 버전으로 인해 행동의 차이인가 타르

의 종료 상태를 찾기?

+0

ksh 및 gunzip의 버전은 무엇입니까? – choroba

답변

1

예, 도와주세요 tar 1.19 fixed 다음 버그 : 파이프 라인의 시작에 gunzip 프로그램이 압축 해제하기로했다 파일을 찾을 수 없습니다 때

Recognition of broken archives. 
When supplied an archive smaller than 512 bytes in reading mode (-x, -t), previous tar 
versions silently ignored it, exiting with code 0. It is fixed. Tar now issues the 
following diagnostic message: This does not look like a tar archive, and exits with code 2." 

, 그것은 종료 및 0 바이트를 방출의 stdout. 이전 tar 버전은 0 바이트가 올바른 tar 아카이브 인 것처럼 동작하므로 오류 메시지가 표시되지 않습니다.

+0

동일한 테스트를 시도했는데, 존재하지 않는 파일 대신에 1MB 정도의 텍스트 파일을 사용하고 abc.tar.gz로 이름을 변경하여 압축 해제에 실패합니다. 지금도 gunzip -d abc.tar.gz | tar xvf - gunzip : abc.tar.gz : gzip 형식이 아닙니다> echo $? 타르 버전 1.15에서 0을 제공합니다. 이 버그가 1.19에서 수정되었는지 알려주세요. –

+0

예, 똑같습니다. 중요한 것은 첫 번째 프로그램이 표준 출력에 아무 것도 출력하지 않는다는 것입니다 (오류 메시지는 별도의 표준 오류 스트림으로 전달됩니다). –