编写 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 控制器分配给座位。插入的所有设备都会自动分配到与控制器相同的座位。
不需要通配符。