udevルールを書く - ワイルドカード?

udevルールを書く - ワイルドカード?

udevルールを作成するときにワイルドカードを使用できますか?複数の座席があり、特定のUSBハブ(またはPCの前面の特定のポート)に接続されている各デバイス(キーボード、マウスなど)をSeat1に割り当てたいと思います。オブジェクトを変更するたびに新しいルールを再実行する必要がある場合、または各デバイスがどのUSBスロットに接続されているかを覚えていないのは少し面倒です。

"loginctl Attach"コマンドで生成された単純なudevルールを使用してください。

TAG=="座席",ENV{ID_FOR_SEAT}=="usb-pci-0000_00_14_0-usb-0_5_3",ENV{ID_SEAT}="座席1"

ベストアンサー1

udevルールでワイルドカードを使用できます。udev(7)マニュアルページ:

ほとんどのフィールドは、シェルのグローバルパターンマッチングと代替パターンをサポートします。次の特殊文字がサポートされています。

「*」はゼロ個以上の文字と一致します。

「?」はすべての単一文字に一致します。

「[]」は、括弧内に指定された単一文字と一致します。たとえば、パターン文字列「tty [SR]」は「ttyS」または「ttyR」と一致します。範囲は「-」文字を介してもサポートされます。たとえば、すべての数値範囲を一致させるには、「[0-9]」パターンを使用できます。 「[」の後の最初の文字が「!」の場合、引用符のないすべての文字が一致します。

「|」は代替パターンを区別します。たとえば、パターン文字列「abc | x *」は「abc」または「x *」と一致します。

いくつかの例のルールを見ることができます。ここ

おすすめ記事