目前我有一个脚本,使用 GZIP
环境变量来设置压缩。
在使用 gzip 1.8 时,我会收到一个警告:
warning: GZIP environment variable is deprecated; use an alias or script
如何调用tar命令来设置压缩级别?
当前命令:
GZIP=-9 tar -zcf
... 需要压缩的文件 ...
目前我有一个脚本,使用 GZIP
环境变量来设置压缩。
在使用 gzip 1.8 时,我会收到一个警告:
warning: GZIP environment variable is deprecated; use an alias or script
如何调用tar命令来设置压缩级别?
当前命令:
GZIP=-9 tar -zcf
... 需要压缩的文件 ...
-I
/ --use-compress-program=COMMAND
指定压缩程序。
因此,原始命令:
GZIP=-9 tar -zcf
... 要压缩的文件 ...
变成:
tar -I 'gzip -9' -cf
... 要压缩的文件 ...
-I
在bsdtar中有不同的含义,但似乎--use-compress-program
应该可以工作。你试过了吗? - undefined取决于操作系统和附带的tar
版本。如果是BSD和/或macOS,你只需执行以下操作:
tar --options gzip:compression-level=9 -czf foo.tar.gz foo.txt
tar -cf - foo.txt | gzip -9 > foo.tar.gz
-I
选项来指定压缩命令。因此,旧版本不能与类似-I 'gzip -9'
的东西一起使用。
更加便携和可靠的解决方案是使用管道自己处理压缩,正如其他答案中提到的那样。