for i in wget gcc
do
if [ ! `rpm -qa | grep ^$i-[0-9].` ] ; then
yum install -y $i
[ $? -ne 0 ] && echo 'yum cannot install '$i && yum_right=3
fi
done
[ $yum_right ] && exit 3
上边代码,是执行判断某安装包是否安装执行成功,如果未安装成功则打印'yum cannot install '
其if的高端用法在于yum_right变量,[]内的yum_right如果在做了声明,不管赋值为多少,结果均为真,相反未声明为假。
这种写法不等同于[ $yum_right -eq 3 ],前者做是否声明判断真假,后者变量关系判断真假。