達成したいこと:
特定のSDカードが挿入されたときにスクリプトを自動的に実行しようとしています。
事実:
a。実行する予定のスクリプトは/home/vivek/Desktop/Message.shにあり、次のスクリプトが含まれています。その権限は、実行可能ファイルとして設定されています。
#!/bin/sh
echo "Card is now inserted"
b。 /etc/udev/rules.dの下で、私のルールファイルは10-local.rulesと呼ばれ、次のルールが含まれています。
ENV{ID_FS_UUID}=="C097-C12A", ACTION == "add", RUN+="/bin/sh /home/vivek/Desktop/Message.sh"
c。 SDカードのENV {ID_FS_UUID}は、次のようにudevadmによって検出されます。
d。 /etc/udev/rules.d/内の私のルールファイルは、下の写真の 'udevadm test'で検出されたように処理されています。
問題:SDカードを挿入すると、正常にマウントされます。しかし、私のスクリプトは決して実行されません!どんな助けでもありがたいです。
乾杯
問題は、ルールファイル10-local.rules
が実行リストの中で早すぎることかもしれません。名前を95-local.rules
に変更し、ルールをSudo udevadm control --reload
で再ロードすると(システムで必要な場合)、さらに成功する可能性があります。 udevからの出力は決してないので、スクリプトのecho
はファイルに対するものである必要があることに注意してください。
udevadm info
で始まるE:
によって示される値は、以前のルールによって設定される可能性があるENV{}
プロパティであるため、ルールはできるだけ遅くする必要があります。