尝试使用shell创建设备驱动程序文件时出现mknod错误

时间:2014-03-22 01:41:19

标签: shell awk linux-kernel linux-device-driver mknod

我的代码

#!/bin/sh
major=$(awk '$2=="module_dev" {print $1}' /proc/devices)
echo $major
mknod /dev/module_dev c $major 0

我正在练习角色设备驱动程序,这就是其中一个例子。 上面的代码应该在 / dev / 创建一个设备驱动程序文件,但是出现了错误

mknod: missing operand after '0'(it could be wrong because it's just a translation)
for more information type 'mknod --help'

当我尝试创建设备驱动程序文件(sh ***.h)时显示此消息 我不知道问题是什么。 (insmod已经完成)

1 个答案:

答案 0 :(得分:0)

此错误的最可能原因是$major没有值。也就是说,$major是空白的。

你在那里有一个echo语句:它显示了什么?如果你没有看到任何东西,你可能想要加强它以显示任何不可思议的东西;

echo "major='$major'"

会产生类似

的东西
major='213'

如果一切顺利的话,如果它像我怀疑那样工作,则显示空引号。