udev 規則不起作用

udev 規則不起作用

我正在嘗試為 USB 驅動器插件編寫 udev 規則。我想首先將其安裝到/media然後運行腳本/usr/local/bin/script.sh。當我插入 USB 時,它甚至不會按照此規則安裝裝置。但是,如果我在終端機中手動鍵入 RUN 中的部分,它將安裝並執行腳本。

規則文件說:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"

這是在規則的 RUN 部分執行兩個命令的正確方法嗎?

答案1

這不是執行 2 個命令的正確方法。我也不喜歡你的規則的匹配部分,但我將在這個例子中保留它。你可以這樣做:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"

或者

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"

但就你而言,為什麼不將mount命令移到腳本中呢?

相關內容