假定包所在的目录是:/media/server
#!/bin/bash
#6/16/11
function query()
{
LINE=0
PACKET=null
MAX=`ls $2/*.rpm | wc -l`
while true
do
LINE=`expr $LINE + 1`
if [ $MAX -lt $LINE ]
then
echo "Not find any package."
unset LINE PACKET MAX
return 1
fi
PACKET=`ls $2/*.rpm | sed -n ${LINE}p`
rpm -pql $PACKET 2>/dev/null | grep -v "warning:" 2>/dev/null | grep $1 &>/dev/null
if [ $? = 0 ]
then
echo $PACKET
unset LINE PACKET MAX
return 0
fi
done
}
if [ $# != 1 ]
then
echo "Must have a param