Linux的打印rpm包的详细信息的shell脚本
#!/bin/bash # list a content summary of a number of RPM packages # USAGE: showrpm rpmfile1 rpmfile2 ... # EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm for rpmpackage in "$@"; do if [ -r "$rpmpackage" ];then echo "=============== $rpmpackage ==============" rpm -qi -p $rpmpackage else echo "ERROR: cannot read file $rpmpackage" fi done
./showrpm.sh a2ps-4.14-10.1.el6.i686.rpm abrt-addon-vmcore-2.0.8-15.el6.centos.x86_64.rpm a2ps-4.14-10.1.el6.x86_64.rpm
运行结果:
这里出现了第二个特殊变量$@,该变量包含有输入的所有命令行参数值。如果你运行showrpm openssh.rpm w3m.rpm webgrep.rpm,那么 "$@"(有引号) 就包含有 3 个字符串,即openssh.rpm, w3m.rpm和 webgrep.rpm。 $*的意思是差不多的。但是只有一个字串。如果不加引号,带空格的参数会被截断。