4

我在 udev 中为 USB 添加和删除了 2 个文件编写了 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 条件下使用。

提前致谢。

4

2 回答 2

2

据我所知,你可以这样做:

SUBSYSTEM=="usb", RUN+="scripts %b"

然后在脚本中使用这个:

if [ $ACTION == "add" ];then
  .....
elif [ $ACTION == "remove" ]lthen
  .....

但这似乎受到 udev 版本的限制......我不知道,试试吧。

于 2012-04-26T09:15:33.237 回答
2

我通过在执行脚本后只写单词来解决它。

例如:

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added Parameter %b"

所以我只是把它用作:

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added ADDED %b"

并在执行脚本(在本例中为usb_add)我得到它如下:

CHECK=$@

现在这个 CHECK 的值是实际从 Udev 规则传递的“添加”。

于 2012-04-28T08:31:52.673 回答