编写 udev 规则-通配符?

编写 udev 规则-通配符?

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

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

TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-0000_00_14_0-usb-0_5_3", ENV{ID_SEAT}="seat1"

答案1

编写 udev 规则时可以使用通配符吗?

是的,根据man udev

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

   "*"
       Matches zero or more characters.

   "?"
       Matches any single character.

   "[]"
       Matches any single character specified within the brackets. For example, the pattern
       string "tty[SR]" would match either "ttyS" or "ttyR". Ranges are also supported via
       the "-" character. For example, to match on the range of all digits, the pattern
       "[0-9]" could be used. If the first character following the "[" is a "!", any
       characters not enclosed are matched.

   "|"
       Separates alternative patterns. For example, the pattern string "abc|x*" would match
       either "abc" or "x*".

答案2

我有多席,我想分配连接到特定 USB 集线器的每个设备(键盘、鼠标等)

您可以将 USB 控制器分配给座位。插入的所有设备都会自动分配到与控制器相同的座位。

不需要通配符。

相关内容