hum*_*ace 4 configuration udev
是否可以(如果可以的话)告诉 udev 停止为某个设备执行进一步的规则?
我知道通过 udev 文件的字母顺序命名有一个规则的顺序/顺序。因此,较早地*.rules
可能希望进一步阻止(即按照后来发生的规则的顺序)执行似乎是合乎逻辑的。
让我们假设我有一个 USB 内存介质,它是通过 udev 和它的 RUN+ 脚本已经安装的,我现在不喜欢系统中的任何其他规则尝试(并且可能失败)再次安装设备!
为了便于回复,我还想包括一个例子:让规则是这样的:
# 在文件 30.myusb.rules 中 ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1f75", ATTRS{idProduct}=="0902", RUN+="/bin/mount.30.1f75.0902.sh"
现在我希望这更进一步(因为 31 > 30)规则不会发生
# 在文件 31.myusb.rules 中 ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1f75", ATTRS{idProduct}=="0902", RUN+="/bin/mount.31.1f75.0902.sh"
用于使udev能够判断规则是否适用于两个规则的“过滤器” ,但我希望 31.myusb.rules 规则永远不会发生。
因此,我正在寻找一种以30.myusb.rules
这种伪代码建议的方式进行 tweek 的方法
# 在文件 30.myusb.rules 中 ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1f75", ATTRS{idProduct}=="0902", RUN+="/bin/mount.30.1f75.0902.sh" ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1f75", ATTRS{idProduct}=="0902", STOP_FURTHER_RULES_WITH_THIS_FILTER
GOTO
一旦应用了规则,您就可以在规则中使用跳到标签。如果标签位于规则的最后,则跳过所有后续规则。
所以在30.myusb.rules
:
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1f75", ATTRS{idProduct}=="0902", RUN+="/bin/mount.30.1f75.0902.sh", GOTO="myusb_end"
Run Code Online (Sandbox Code Playgroud)
最后31.myusb.rules
:
LABEL="myusb_end"
Run Code Online (Sandbox Code Playgroud)
或使用GOTO="very_end"
, 并放入LABEL="very_end"
最后加载的文件 ( /etc/udev/rules.d/zzzzzzzz.rules
)。
归档时间: |
|
查看次数: |
3954 次 |
最近记录: |