我的代码
#!/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
已经完成)
答案 0 :(得分:0)
此错误的最可能原因是$major
没有值。也就是说,$major
是空白的。
你在那里有一个echo语句:它显示了什么?如果你没有看到任何东西,你可能想要加强它以显示任何不可思议的东西;
echo "major='$major'"
会产生类似
的东西major='213'
如果一切顺利的话,如果它像我怀疑那样工作,则显示空引号。