#!/bin/bash
# rpm-check.sh
# 这个脚本的目的是为了描述, 列表, 和确定是否可以安装一个rpm包.
# 在一个文件中保存输出.
#
# 这个脚本使用一个代码块来展示.
SUCCESS=0
E_NOARGS=65
if [ -z "$1" ]
then
echo "Usage: `basename $0` rpm-file"
exit $E_NOARGS
fi
{
echo
echo "Archive Description:"
rpm -qpi $1 # 查询说明.
echo
echo "Archive Listing:"
rpm -qpl $1 # 查询列表.
echo
rpm -i --test $1 # 查询rpm包是否可以被安装.
if [ "$?" -eq $SUCCESS ]
then
echo "$1 can be installed."
else
echo "$1 cannot be installed."
fi
echo
} > "$1.test" # 把代码块中的所有输出都重定向到文件中.
echo "Results of rpm test in file $1.test"
# 查看rpm的man页来查看rpm的选项.
exit 0
if [ -z "$1" ] //-z $1 什么意思?
exit 65 //什么意思?
请大虾们指点
prinse 于 2009-10-11 02:56:34发表:
呵呵,楼上的……NB
slayerzlvc 于 2009-10-09 18:40:16发表:
$1 是指第一个命令行参数,本例中应该是一个字符串。[ -z $1 ] 是测判 $1 是否是空串,也就是说命令行中有没有参数.
exit 65 是脚本返回给调用者的返回值。65 是字母 'A' 的 ASCII 编码,因此调用者可以通过字母 'A' 来测判错误状态是否是没有命令行参数。
Bydrugs 于 2009-10-09 00:11:15发表:
向楼上的学习
prinse 于 2009-10-08 22:13:40发表:
$1 是指第一个命令行参数,本例中应该是一个字符串。[ -z $1 ] 是测判 $1 是否是空串,也就是说命令行中有没有参数.
exit 65 是脚本返回给调用者的返回值。65 是字母 'A' 的 ASCII 编码,因此调用者可以通过字母 'A' 来测判错误状态是否是没有命令行参数。