udev $ attr变量返回空

时间:2019-03-22 17:38:41

标签: bash raspbian udev raspbian-stretch

因此,我使用蓝牙连接DS4控制器后尝试运行bash脚本。在该脚本中,我使用控制器的MAC地址来检查电池寿命。我运行下面的命令来获取设备信息:

Set

然后我得到了以下相关信息:

udevadm info --name=/dev/input/js0 --attribute-walk

然后,我创建了以下规则,尝试将 looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:70/0005:054C:05C4.0001/input/input0/js0': KERNEL=="js0" SUBSYSTEM=="input" DRIVER=="" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:70/0005:054C:05C4.0001/input/input0': KERNELS=="input0" SUBSYSTEMS=="input" DRIVERS=="" ATTRS{name}=="Wireless Controller" ATTRS{phys}=="00:1a:7d:da:71:13" ATTRS{properties}=="0" ATTRS{uniq}=="1c:66:6d:c7:b6:06" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:70/0005:054C:05C4.0001': KERNELS=="0005:054C:05C4.0001" SUBSYSTEMS=="hid" DRIVERS=="sony" ATTRS{bt_poll_interval}=="4" ATTRS{country}=="00" 作为参数传递给命令RUN:

ATTRS{uniq}

但是ACTION=="add", KERNEL=="js*", ATTRS{name}=="Wireless Controller" RUN+="/usr/local/bin/ds4improve '%p' 000a0a '$attr{uniq}'" 返回空。我还尝试了使用具有相同结果的值$attr{uniq}name。也尝试使用phys语法,总是像下面的例子一样返回空:

%s{uniq}

上面是udevadm测试输出的片段:

run: '/usr/local/bin/ds4improve '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0/hci0:70/0005:054C:05C4.0001/input/input0/js0' 000a0a '''

我不知道发生了什么。我搜索了很多内容,示例显示这是正确的,所以我认为我使用的变量不是错误的。我还在做错什么吗?

0 个答案:

没有答案