gpt4 book ai didi

perl - 如果软件包已安装或未安装,则在 Ubuntu/Debian 中返回 0 或 1 的软件包管理器命令

转载 作者:行者123 更新时间:2023-12-04 18:28:39 25 4
gpt4 key购买 nike

我正在用 Perl 编写包安装程序脚本。如果安装了 Ubuntu/Debian 软件包,我需要一个命令(可能是操作系统命令),它向调用者脚本返回一个简单的 0 或 1。

我试过了

      dpkg -s

它总是返回 0。
      dpkg -L 

几乎可以工作,但如果用户没有
      apt-get --purge remove 

包,一些文件被留下并且总是返回 0

我不想 grep 文本 - 我需要一个简单的真或假。
有任何想法吗?

@安迪:
   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

最佳答案

也许不理想,但这有效:

dpkg -s "$package" | grep '^Status:' | grep -q ' installed'

要不就
dpkg -s "$package" | grep -q '^Status:.* installed'

关于perl - 如果软件包已安装或未安装,则在 Ubuntu/Debian 中返回 0 或 1 的软件包管理器命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com