udev 运行命令未运行

And*_*edd 7 udev

当我通过 USB 连接手机时,我正在尝试创建一个 udev 规则来解锁我的计算机。我找不到那个规则正在运行,所以我尝试了一个更简单的规则。这是规则(匿名):

KERNEL=="sd?1", ATTRS{idVendor}=="****", ATTRS{idProduct}=="****", SYMLINK+="phone", RUN+="touch /home/user/udev.touch"
Run Code Online (Sandbox Code Playgroud)

我知道规则正在运行,因为phone -> sdc1正在创建链接但没有创建文件。我是否必须启用安全设置才能使文件运行外部程序?

arr*_*nge 6

您必须在 RUN 键中使用完整路径,因为 ( man udev)

如果没有给出绝对路径,则程序应该位于/lib/udev 中,否则必须指定绝对路径。程序名称和参数用空格分隔。单引号可用于指定带空格的参数。

尽管如此,(bash)脚本本身应该表现正常,即您不需要指定路径。