为什么我的正则表达式捕获在 mdev.conf 中不起作用?
Why aren't my regex captures working in mdev.conf?
我正在使用带有 busybox 的 buildroot 构建的 Linux 映像,以及用于管理 USB 设备插入和移除的 mdev。
作为测试,我尝试将以下行添加到我的 /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 有关吗?
您需要在 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
.
我正在使用带有 busybox 的 buildroot 构建的 Linux 映像,以及用于管理 USB 设备插入和移除的 mdev。
作为测试,我尝试将以下行添加到我的 /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 有关吗?
您需要在 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
.