如何查询具有特定使用标志的已安装软件包?

Dav*_* S. 5 gentoo

我想查询一个已安装的包,它必须有指定的使用标志:

例如 eix -I curl:使用标志

目前我正在使用grep过滤输出。我想知道是否可以在一个命令行中完成。

bin*_*nki 7

如果你想使用eix,你可以使用它的--installed-with-use选项:

$ eix --installed-with-use ipv6 curl
Run Code Online (Sandbox Code Playgroud)

您可以省略最后一个参数来枚举具有特定 useflag 的任何已安装包的所有查询结果:

$ eix --installed-with-use ipv6
Run Code Online (Sandbox Code Playgroud)

如果您需要检查特定软件包是否安装了特定 useflag 并且可以使用eix,那么您可以执行以下操作:

#!/bin/sh
if ! eix -q --installed-with-use ipv6 net-misc/curl; then
    echo "Our distribution server only has an IPv6 address. Please reinstall net-misc/curl with USE=ipv6." >&2
    exit 1
fi
Run Code Online (Sandbox Code Playgroud)