检查当前内核以进行自动驱动程序编译

时间:2018-10-20 12:37:49

标签: linux bash if-statement kernel

我刚买了一个新笔记本,并用Arch Linux进行了设置。 设置完成后,我注意到Linux不支持Wi-Fi芯片。 (还)

但是我找到了它所需的驱动程序。

问题是,每当发布内核更新时,我都必须再次编译驱动程序。 现在,我想自动执行此操作。

我的目标是编写一个脚本,该脚本可以在每次安装引导程序时进行测试,如果安装了新内核,我现在编写以下内容。

#!/bin/bash
// Ignore the point please

CURRENTKERNEL="$(uname -r)"
INSTALLEDKERNEL="$(ls -l /lib/modules | grep $CURRENTKERNEL)"

if [[ $CURRENTKERNEL != $INSTALLEDKERNEL ]]; then   
    echo "Kernel is not the same"
else
    echo "Kernel is the same"
fi

此代码的问题在于,他检查内核版本,并且该版本始终为true,因为uname -r打印出当前安装的内核,并且在/lib/modules中,具有完全相同名称的文件夹为礼物。

我在网上搜索,甚至在StackOverflow上搜索,但没有发现任何帮助。

我将不胜感激。

0 个答案:

没有答案