3

我的代码

#!/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已经完成)

4

1 回答 1

0

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

你有 echo 声明:它显示了什么?如果你什么都看不到,你可能想增强它以显示任何启发性的东西;

echo "major='$major'"

这将产生类似的东西

major='213'

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

于 2014-03-25T21:08:30.967 回答