我正在使用Perl编写软件包安装程序脚本。我需要一个命令(可能是OS命令),如果安装了Ubuntu/Debian软件包,它将返回一个简单的0或1给调用者脚本。软件包管理器命令,在Ubuntu/Debian中返回0或1(如果安装了软件包)
我已经试过
dpkg -s
它总是返回0
dpkg -L
差不多的作品,但如果用户没有
apt-get --purge remove
包,某些文件被左,总是返回0
我不想grep文本 - 一个简单的真或假是我需要的。 任何想法?
@Andy:
aptitude remove unixodbc -y
dpkg-query -W unixodbc; echo $?
unixodbc 2.2.11-21
0
aptitude install unixodbc -y
dpkg-query -W unixodbc; echo $?
unixodbc 2.2.11-21
0
但'grep'确实返回一个简单的真或假。 – ikegami 2011-05-13 23:21:36
@ikegami必须有简单的包管理器命令返回0或1.如果我grep的文本发生变化,并且我的程序在世界中,我的所有程序都将失败 - 这不是一个选项。 – bitbucket 2011-05-13 23:27:39
包状态记录。如果他们改变了,那将违反他们的文件。 – ikegami 2011-05-13 23:31:58