使用 gtar 将额外文件添加到现有存档时,循环会提前终止或挂起。它也会在创建初始 tar.gz 文件后终止。
但是,如果我从循环中删除 gtar 调用并将打印语句放在它们的位置,则循环将按预期执行。有人知道为什么是这样吗?下面是循环中包含的代码。
if (-e "flex_$yearA"."_"."$monthA.tar.gz")
{ print"accessing Flex tar \n";
exec "gtar --append --file=flex_$yearA"."_"."$monthA.tar.gz $FILE";
}
else
{ print "creating Flex Tar \n ";
exec "gtar -cvsf flex_$yearA"."_"."$monthA.tar.gz $FILE";
}