Shell命令之用脚本判断源码包是否安装
2017-07-28 09:44
996 查看
因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:
上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在
说明:其中
说明:
这一行为调用函数info,里面的符号`不是单引号,而是Esc按键下面的那个,另外$?返回的为上一条命令的执行状态,不是返回值;
说明:同1
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
相关文章推荐
- 如何在shell脚本中,判断一个基本命令执行是否成功?
- [Linux]定时执行命令的shell脚本,删除脚本自身,判断输出是否为空
- 如何在shell脚本中,判断一个基本命令执行是否成功?
- shell脚本中判断上一个命令是否执行成功
- linux学习笔记(20) - shell脚本编写常用判断命令
- Shell脚本源码编译安装MySQL5.1.73
- Neo4j安装及使用shell脚本执行命令
- BASH命令和SHELL脚本总结(7)判断篇
- Shell脚本中判断文件,目录是否存在或者具有权限 (原创)
- HBASE 安装、shell脚本命令进…
- Shell脚本中判断输入变量或者参数是否为空的方法
- shell中如何判断某一命令是否存在
- Shell脚本:判断用户和用户组是否已经存在/创建用户和用户组
- shell脚本判断设备节点是否存在
- shell脚本判断进程是否存在,并重新启动
- Shell脚本判断Apache进程是否存在
- Linux系统shell脚本判断变量文件目录:权限、是否存在、空值、相等
- 判断IP是否正确的shell 脚本
- shell脚本添加和删除apahce虚拟主机并判断是否正常
- Linux系统shell脚本判断变量文件目录:权限、是否存在、空值、相等