检查软件是否被安装的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
aaadddzxc
帖子: 149
注册时间: 2011-04-30 23:10

检查软件是否被安装的问题

#1

帖子 aaadddzxc » 2019-03-29 9:50

代码: 全选

m_Apt=lsb libudt0v5 libpcap0.8
for i in $m_Apt
			do
				echo -e "\033[45;37m开始检查:$i 是否已经被安装\033[0m"
				if test -z `dpkg -s $i`
				then					
					sudo apt-get install $i -y
					echo -e "\033[41;33mdeb包$i 安装完毕\033[0m"
				else
					echo -e "\033[41;37mdeb包$i 已经安装\033[0m"
				fi
			done
如果有一个包已经装过了.
执行到这句话 if test -z `dpkg -s $i` 就会报错 ./install.sh: 第 142 行: test: 参数太多
请问怎么解决
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 检查软件是否被安装的问题

#2

帖子 astolia » 2019-03-29 17:16

把``部分用双引号包住,使其结果作为单个字符串,而不是用空格分隔的多个字符串
aaadddzxc
帖子: 149
注册时间: 2011-04-30 23:10

Re: 检查软件是否被安装的问题

#3

帖子 aaadddzxc » 2019-03-30 17:38

谢了
回复