如何知道命令在我的 Linux 发行版中是否可用

如何知道命令在我的 Linux 发行版中是否可用

我们正在为我们的 USB 产品提供一些适用于某些 Linux 的驱动程序。在我们的驱动程序代码中,为了使其与发行版无关,我们必须动态获取发行版名称,并在运行时查找每个目标发行版中是否有可用的库。

为此,我们需要运行一些命令,如 ldconfig、pkg-config 等。这个问题与这个。因此,根据答案,某些发行版可能有命令,在执行这些命令之前,最好先查明这些命令在发行版中是否可用。

那么问题来了,看看这些命令是否可用。我正在考虑检查可执行文件是否存在。举个例子,

if [ -f /usr/bin/pkg-config ] ; then

还有其他更好的方法来做到这一点吗?

答案1

我会这样做:

if type pkg-config >/dev/null 2>/dev/null; then …

但正如我对您之前的问题的评论,pkg-config即使在使用pkg-config.为什么您不想根据特定于发行版的标准打包您的驱动程序? Debian 和 RedHat 软件包都有要求安装特定库/版本的规定。

与您为制作设备驱动程序所做的工作相比,即使针对多个不同的发行版,打包也几乎不算什么。

相关内容