私はこれを試しました:USBデバイスが接続されているときにシェルスクリプトを実行する方法"lsusb" に次の出力を提供します。
Bus 002 Device 007: ID 046d:0825 Logitech, Inc. Webcam C270
そして/etc/udev/rules.d/camset.rulesにあります。
ATTRS{idvendor}=="046d", ATTRS{idproduct}=="0825", RUN+="camset.sh"
camset.shはルートディレクトリにあります。 「sh camset.sh」を実行すると正常に実行されるので問題ないと思います。ご協力ありがとうございます
答え1
~からudev ドキュメント:
RUN
(…)絶対パスが指定されていない場合は、プログラムはRUN(…)に配置され、/usr/lib/udev
そうでない場合は絶対パスを指定する必要があります。
PATH
Udevは環境変数を使用しません。フルパスを指定する必要があります。一般的なディレクトリ構造規則によると、これはローカルに作成されたファイルの場合、ルートにのみ意味のある実行可能ファイルを含むディレクトリの場合/usr/local/sbin/camset.sh
です。ルートディレクトリにファイルを置かないでください。/usr/local
sbin