私が達成する計画:
特定のSDカードを挿入すると、自動的にスクリプトを実行しようとします。
事実:
ㅏ。私が実行したいスクリプトは、次のスクリプトを含む/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"
氏。 udevadmが私のSDカードのENV {ID_FS_UUID}を次のように検出しました。
d。以下の図に示すように、私の/etc/udev/rules.d/にあるルールファイルが処理されており、「udevadm test」によって見つかりました。
質問: SDカードを入れるとうまく設置できました。しかし、私のスクリプトは決して実行されません!助けてくれてありがとう。
乾杯
答え1
問題は、ルールファイルが10-local.rules
実行リストに早すぎるのかもしれないと思います。システムが要求する場合は、名前を変更して95-local.rules
ルールを再ロードすると、より多くの成功を収めることができます。sudo udevadm control --reload
udevには出力がないため、echo
スクリプトの銀ファイルを指す必要があります。
udevadm info
最初に表示される値は、前のルールによって設定されたプロパティである可能性がE:
あるため、ルールをできるだけ遅く配置する必要があります。ENV{}