tar的退出代码是什么意思?我正在使用命令
system("tar xzf DirName/tarFile.tar DirNameInsideTar/FileName")
从perl脚本解压缩。我试图解开大约1000个tar文件,但是在解压缩后,有时100个或者有时500个tar文件系统命令失败并返回-1。我检查了代码的内存使用情况和可用的磁盘空间,两者似乎都很好。有谁知道错误是什么?
答案 0 :(得分:4)
当system
返回-1
时,$!
包含错误消息。
system("tar xzf DirName/tarFile.tar DirNameInsideTar/FileName");
die("Can't execute command: $!\n") if $? == -1;
die("Child killed by signal ".($? & 0x7F)."\n") if $? & 0x7F;
die("Child exited with error ".($? >> 8)."\n") if $? >> 8;
(system
返回的值也可用$?
。)