2014-01-26 146 views
1

我想寫一個USB驅動器插件的udev規則。我想首先將其掛載到/media,然後在/usr/local/bin/script.sh處運行腳本。當我插入USB時,它甚至不會使用此規則安裝設備。但是,如果我手動在RUN模式下將部件輸入到終端中,它將掛載並執行腳本。udev規則不起作用

規則文件說:

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

這是在規則的運行部件,執行兩個指令的正確方法?

回答

1

/bin/mount不以&&爲參數。如果你想要執行一個shell鏈,那麼你必須將它傳遞給一個shell。

RUN+="/bin/sh -c '...'" 
+0

您是不是要找像'RUN + = 「/ bin/sh的-c 'XDG-開到/ mnt/Passport1T && /斌/設置/ dev/usbdevices/Passport1T到/ mnt/Passport1T'」'?它似乎不適合我。沒有什麼特別的syslog來調試。任何想法? – PCoder

+1

除了停止嘗試在系統上下文中運行用戶程序嗎? –