加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell命令之用脚本判断源码包是否安装

发布时间:2020-12-15 16:37:30 所属栏目:安全 来源:网络整理
导读:因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类: 1、rpm包安装的 可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字” 。 [root @xia ~] rpm -qa | grep ru

因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:

1、rpm包安装的

可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”

[root@xia ~] rpm -qa | grep ruby

2、以deb包安装的

可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep “软件或者包的名字”

[root@xia~]dpkg-l|grepruby

3、yum方法安装的

可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”

[root@xia ~] yum list installed | grep ruby

4、以源码包自己编译安装的

例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,

上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在/sbin:/usr/bin目录下。

说明:其中rpm yum 是Redhat系linux的软件包管理命令,dpkg是debian系列的软件包管理命令

shell脚本怎么判断源码包是否安装

#!/bin/bash
read -p "input your rpm_packet'name:" i
x=`rpm -qa | grep $i`
if [ `rpm -qa | grep $i |wc -l` -ne 0 ];then
echo -e "yes,the packet_list: n$x"
else
echo "no"
fi

1、获取shell函数调用的返回值:

#!/bin/sh 
info()    
{    
   cat jlb.sh  
}    

res=`info`  
echo "state: "$?  
echo "res: "${res}

说明:

res=`info`

这一行为调用函数info,里面的符号`不是单引号,而是Esc按键下面的那个,另外$?返回的为上一条命令的执行状态,不是返回值;

2、获取shell命令的返回值,原理同上,例如:

#!/bin/sh 
info=`cat jlb.sh`  

echo "info: "${info}

说明:同1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读