我们正在为我们的 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 软件包都有要求安装特定库/版本的规定。
与您为制作设备驱动程序所做的工作相比,即使针对多个不同的发行版,打包也几乎不算什么。