2

私はkshを使用しています

dummpy_fileは存在しません。tarの終了ステータスの検索

SUSE10/tarバージョンGNU1.15.1

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

SUSE11/tarバージョンGNU1.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

tarバージョンの違いによる動作の違いはありますか?助けてください

4

1 に答える 1

4

はい、tar1.19では次のバグが修正されました。

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."

パイプラインの開始時にgunzipプログラムがアンパックするはずのファイルを見つけることができない場合、プログラムは終了し、標準出力に 0 バイトを出力します。古いtarバージョンは、0 バイトが正しい tar アーカイブであるかのように動作したため、エラー メッセージは表示されませんでした。

于 2012-04-12T09:34:58.533 に答える