默认情况下,对于许多类型的错误,都会tar
向 stderr 打印一条消息,然后继续前进——它称之为“可恢复”错误,通常是与单个文件或存档成员相关的错误,如权限问题。
有时这种行为真的很令人讨厌。例如,如果我正在解压缩存档并且磁盘已满,那么我可能会得到这样的信息:
tar: python-lib/PyML/classifiers/ext/_cgist.so: Wrote only 2048 of 10240 bytes
tar: python-lib/PyML/classifiers/ext/_csmo.so: Cannot write: No space left on device
tar: python-lib/PyML/classifiers/ext/_csvmodel.so: Cannot write: No space left on device
tar: python-lib/PyML/classifiers/ext/_knn.so: Cannot write: No space left on device
tar: python-lib/PyML/classifiers/ext/_libsvm.so: Cannot write: No space left on device
tar: python-lib/PyML/classifiers/ext/_mylibsvm.so: Cannot write: No space left on device
tar: python-lib/PyML/classifiers/ext/cgist.py: Cannot write: No space left on device
tar: python-lib/PyML/classifiers/ext/csmo.py: Cannot write: No space left on device
Run Code Online (Sandbox Code Playgroud)
这可以在一个大档案中持续数千行。如果这种情况发生在脚本中,我宁愿tar
立即退出,以便向用户提示错误。 …