2014-01-19 54 views
0

我想知道为什么tar不会退出mkdir错误。我正在测量多次解压Linux内核所需的时间,直到失败。我正在使用while循环条件语句中的tar命令。tar失败模式:写入失败时不退出

这里是我运行以下命令:

while sudo /usr/bin/X11/time -a -o out tar -xvf /home/USER_NAME/linux-3.12.tar -C /hdd3/; do sudo mv /hdd3/linux-3.12/ /hdd3/linux-3.12_`date +%s`; done 

这是一种错误,我得到:

tar: linux-3.12/net: Cannot mkdir: No space left on device 

我得到上述错误,多为类似的位置。

基本上,我试图让tar循环尽快退出,tar不能再将linux内核解压到/ hdd3目录。 while循环的主体改变了刚创建linux内核的目录名称。

我希望这个while循环在tar无法再写入时退出。

回答

0

您的焦油,时间或sudo必须有故障,不能返回正确的退出状态。我的焦油(GNU焦油1.27.1)最后说

tar: Exiting with failure status due to previous errors 
并退出状态2.

您可能检查tar,time和sudo的退出状态以找出罪魁祸首。