为什么我的正则表达式捕获在mdev.conf中工作?

时间:2016-07-10 04:49:20

标签: embedded embedded-linux busybox buildroot

我使用带有busybox的buildroot构建的Linux映像,而mdev用于管理USB设备的插入和删除。

作为测试,我尝试将以下行添加到我的/etc/mdev.conf文件中:

sd([a-z])([0-9]+)   root:root 660  =drive%1%2

据我了解,%1%2应该捕获与正则表达式匹配的带括号的标记,并替换它们。但是,这不会发生什么。

但是,当我插入USB存储设备时,我会在我的设备中出现一个名为/dev/drive%1%2字面文件,而不是/dev/drivea1

我做错了什么,这可能与Buildroot如何配置busybox配置有关吗?

1 个答案:

答案 0 :(得分:4)

您需要在busybox配置中启用CONFIG_FEATURE_MDEV_RENAME_REGEXP,该配置已在default busybox configuration bundled with Buildroot中禁用。

要启用它,请启动make busybox-menuconfig并转到Linux System Utilities - > mdev - > Support /etc/mdev.conf - > Support subdirs/symlinks - > Support regular expressions substitutions when renaming device