qq_43866786
大怪!
2018-11-29 11:19

请问我在shell中该如何判断这些源码包是否存在?

  • shell
  • 源码

今天才发现的问题,我用 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

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐

换一换