为什么gzip试图压缩自己

时间:2015-01-14 13:50:27

标签: gzip ksh aix

尝试从命令提示符运行gzip以压缩任何文件返回

gzip: /usr/bin/gzip is not a directory or a regular file - ignored   

作为第一行输出。

以下是我能想到的分享内容可能会有所启发:

oslevel  
7.1.0.0

echo $SHELL  
/usr/bin/ksh  

gzip -V
gzip 1.2.4 (18 Aug 93)
Compilation options:
DIRENT UTIME STDC_HEADERS HAVE_UNISTD_H

要产生错误,我所要做的就是尝试用gzip压缩任何文件(即gzip test.out)。从命令提示符运行以及从cron运行时发生错误。

有关为何发生这种情况的任何想法?

其他可靠信息:

gzip -h  
gzip 1.2.4 (18 Aug 93)  
usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]  
 -c --stdout      write on standard output, keep original files unchanged  
 -d --decompress  decompress  
 -f --force       force overwrite of output file and compress links  
 -h --help        give this help  
 -l --list        list compressed file contents  
 -L --license     display software license  
 -n --no-name     do not save or restore the original name and time stamp  
 -N --name        save or restore the original name and time stamp  
 -q --quiet       suppress all warnings  
 -r --recursive   operate recursively on directories  
 -S .suf  --suffix .suf     use suffix .suf on compressed files  
 -t --test        test compressed file integrity  
 -v --verbose     verbose mode  
 -V --version     display version number  
 -1 --fast        compress faster  
 -9 --best        compress better  
 file...          files to (de)compress. If none given, use standard input.  

file /usr/bin/gzip  
/usr/bin/gzip: executable (RISC System/6000) or object module

gzip *.out
gzip: /usr/bin/gzip is not a directory or a regular file - ignored  

gzip -d *.gz
gzip: /usr/bin/gzip is not a directory or a regular file - ignored

1 个答案:

答案 0 :(得分:0)

发现问题:
我们有一个环境文件,我们在其中加载公共环境变量。文件中的一行是

export GZIP="/usr/bin/gzip"  

根据gzip文档,GZIP环境变量用于指定选项。因此,它可能将其作为命令行的一部分。并且,由于它不是一个真正的选项,它将该值解释为文件名,它可以通过gzip进行gzip,因为它实际上是一个符号链接。通过取消设置变量,错误就会消失。