![Udev RUN 规则运行 touch 没有效果](https://linux22.com/image/55758/Udev%20RUN%20%E8%A7%84%E5%88%99%E8%BF%90%E8%A1%8C%20touch%20%E6%B2%A1%E6%9C%89%E6%95%88%E6%9E%9C.png)
我创建了以下文件
$ cat /etc/udev/rules.d/10-tuned.rules
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Charging", RUN+="touch /home/fx/charg"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Discharging", RUN+="touch /home/fx/disc"
但如果我连接或断开电源线,则不会创建任何文件。创建这个文件后我执行了
sudo udevadm control --reload-rules
用于规则重新加载。我做错了什么?
答案1
我更改touch
为/usr/bin/touch
并且有效。该指令需要可执行文件的完整路径RUN
(否则可执行文件必须位于/lib/udev
):
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Charging", RUN+="/usr/bin/touch /home/fx/charg"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Discharging", RUN+="/usr/bin/touch /home/fx/disc"