查找是否使用shell脚本安装库

Vir*_*ren 4 linux shell deb

我是shell脚本中的完整noob我想要的是shell脚本,它确定当前安装的库/包列表,如果没有用户权限就不安装它们

我想要的是确定当前是否在系统中安装库/包

我知道aptitude search命令,但我正在寻找更好的解决方案

例如,我已经定义(在shell脚本中)检查readline库/包现在如何从shell脚本(我想创建)内部知道当前安装了readline包.

任何想法或建议肯定会有所帮助

Ron*_*ony 9

我想要的是确定当前是否在系统中安装库/包

dpkg -s 不需要root权限,并显示包状态详细信息.

shell脚本示例:

#!/bin/sh

for P; do
    dpkg -s "$P" >/dev/null 2>&1 && {
        echo "$P is installed."
    } || {
        echo "$P is not installed."
    }
done
Run Code Online (Sandbox Code Playgroud)

用法是:

script.sh package1 package2 .... packageN

  • **小心**:如果`dpkg -s`返回'0`,则不一定意味着**已完全/正确**安装.如果软件包处于`half-configured`或`config-files`状态,那么`dpkg -s`也会返回`0`(我想也是'half-installed',但我没有检查过).有关更多"不完整"状态,请参阅[dpkg`的手册页](http://manpages.ubuntu.com/manpages/oneiric/man1/dpkg.1.html). (2认同)