编写 udev 规则 - 通配符?

编写 udev 规则 - 通配符?

编写 udev 规则时是否可以使用通配符?我有多个座位,我想将连接到某个 USB 集线器(或者更好的是 PC 前面的特定端口)的每个设备(键盘、鼠标等)分配给 Seat1。每次我交换东西或者不记得每个设备连接在哪个 USB 插槽时都必须重做新规则,这有点麻烦。

仅使用简单的 udev 规则,如“loginctl Attach”命令生成的:

TAG==“座位”,ENV{ID_FOR_SEAT}==“usb-pci-0000_00_14_0-usb-0_5_3”,ENV{ID_SEAT}="seat1"

答案1

可以在 udev 规则中使用通配符;这记录在udev(7)手册页:

大多数字段支持 shell 全局模式匹配和替代模式。支持以下特殊字符:

“*”匹配零个或多个字符。

“?”匹配任何单个字符。

“[]”匹配括号内指定的任何单个字符。例如,模式字符串“tty[SR]”将匹配“ttyS”或“ttyR”。还通过“-”字符支持范围。例如,为了匹配所有数字的范围,可以使用模式“[0-9]”。如果“[”后面的第一个字符是“!”,则匹配任何未括起来的字符。

“|”分隔替代模式。例如,模式字符串“abc|x*”将匹配“abc”或“x*”。

您可以看到一些示例规则这里

相关内容