51testing周末精品班学员,关注自动化测试、性能测试,开源测试工具。欢迎大家与我交流。

【Shell脚本】读取rpm软件包的信息并且判断是否可以被安装

上一篇 / 下一篇  2013-02-22 15:55:19 / 个人分类:Shell脚本

【脚本要求】
读取rpm软件包的详细信息、所包含的文件和目录、判断是否能够在本机安装。并将这些信息写入到一个文件中。
 
【基础知识】
rpm软件包是经过事先编码和打包好的软件安装包。这种软件包的优点是安装前不需要再次编译,软件的信息非常方便查询、升级和安装。
 
【脚本清单】
NORPMFILE=65
CANNOTINSTALL=66
SUCESS=0
if [ -z $1 ];then
    echo "Usage:`basename $0` rpm-file"
    exit $NORPMFILE
fi
{
rpm -qpi $1
echo
rpm -qpl $1
echo
rpm -i --test $1
echo
if [ $? -eq $SUCESS ];then
    echo "$1 can be installed"
else
    echo "$1 can not installed"
    exit $CANNOTINSTALL
fi
} >"$1.test"
echo "Result of rpm test in file $1.test"
exit 0
 
【知识点总结】
1、[ -z $1 ]中-z用来判断脚本的第一个参数是否存在。
2、rpm -qpi用来查询rpm软件包中的详细信息,例如开发商、软件版本等。
3、rpm -qpl用来查询rpm软件包中所包含的文件和目录列表。
4、rpm -i --test $1用来测试$1是否能够被安装到当前的Linux上。
5、{}用来将所有大括号中的输出信息保存到$1.test文件中。
=======================
希望大家看过后,能给提出意见、建议和疑问,相信通过交流我们提高的更快。

TAG:

smile033的个人空间 引用 删除 smile033   /   2013-02-26 10:20:46
此脚本有个问题,在rpm -i --test $1之后多写了一个echo,这将导致测试语句 $? -eq $SUCESS 永远为真。应该去掉这个echo
 

评分:0

我来说两句

smile033

smile033

3年软件测试经验,熟悉java开发,Linux操作系统、Shell脚本、Mysql数据库,QTP。

日历

« 2024-03-20  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 18453
  • 日志数: 11
  • 建立时间: 2011-01-27
  • 更新时间: 2013-02-26

RSS订阅

Open Toolbar