今天才发现的问题,我用 find 查找一个 文件包是否存在 然后 查看返回值都是 0 这样子就没有办法准确的查找,而且自己写的shell 只是固定找到前一个包才能找后一个包,不能一起找,然后把没有的包显示,
我想知道的是 我该如何查找一台未知电脑中的这些个安装包,并且判断哪些包不在,并显示出来这些不在的包是什么,求教,谢谢
以下是我自己写的shell,感觉很麻烦而且还不能从根本上结局问题
#!/bin/bash
#寻找源码安装包
httpd=httpd-2.2.17.tar.gz
cmake=cmake-2.8.6.tar.gz
mysql=mysql-5.5.22.tar.gz
libmcrypt=libmcrypt-2.5.8.tar.gz
mhash=mhash-0.9.9.9.tar.gz
mcrypt=mcrypt-2.6.8.tar.gz
php=php-5.3.28.tar.gz
zend=ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
phpadmin=phpMyAdmin-4.2.5-all-languages.tar.gz
find / -name "$httpd"
if [ ! $(echo $?) -z ];then
find / -name "$cmake"
if [ $(echo $? ) -eq 0 ];then
find / -name "$mysql"
if [ $(echo $? ) -eq 0 ];then
find / -name "$libmcrypt"
if [ $(echo $? ) -eq 0 ];then
find / -name "$mhash"
if [ $(echo $? ) -eq 0 ];then
find / -name "$mcrypt"
if [ $(echo $? ) -eq 0 ];then
find / -name "$php"
if [ $(echo $? ) -eq 0 ];then
find / -name "$zend"
if [ $(echo $? ) -eq 0 ];then
find / -name "$$phpadmin"
if [ $(echo $? ) -eq 0 ];then
echo "安装包齐全"
else
echo "$phpadmin not find"
fi
else
echo "$zend not find"
fi
else
echo "$php not find"
fi
else
echo "$mcrypt not find"
fi
else
echo "$mhash not find"
fi
else
echo "$libmcrypt not find"
fi
else
echo "$mysql not find"
fi
else
echo "$cmake not find"
fi
else
echo "$httpd not find"
fi