我在udev中写了2条规则,用于usb添加和删除2个文件。
SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added %b"
SUBSYSTEM=="usb", ACTION=="remove", RUN+="/u/usb_remove %b"
我为这些规则创建了两个不同的脚本,这些脚本采取了适当的操作(做同样的事情)。
我希望通过传递值(添加,删除)来组合这些规则(然后是动作脚本),然后通过if条件检查新脚本。然后采取适当的行动。
所以我的问题是如何在RUN + =“/ u / usb_status ??”中传递参数
我将如何在新脚本中获取这些参数,然后在if条件下使用。
提前感谢。
答案 0 :(得分:2)
我通过在执行脚本后写单词来解决它。
例如:
SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added Parameter %b"
所以我只是用它作为:
SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added ADDED %b"
并且在执行脚本(在这种情况下是usb_added)中我得到了如下:
CHECK=$@
现在这个CHECK的值是“ADDED”,实际上是从Udev规则传递的。
答案 1 :(得分:1)
据我所知,你可以这样做:
SUBSYSTEM=="usb", RUN+="scripts %b"
然后在脚本中使用:
if [ $ACTION == "add" ];then
.....
elif [ $ACTION == "remove" ]lthen
.....
但这似乎受到了udev版本的限制......我不知道,试试吧。