4

USB の追加と削除のために udev に 2 つのルールを 2 つのファイルで記述しました。

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added %b"
SUBSYSTEM=="usb", ACTION=="remove", RUN+="/u/usb_remove %b"

これらのルールに対して、適切なアクションを実行する (同じことを行う) 2 つの異なるスクリプトを作成しました。

値を渡す (追加、削除) ことによってこれらのルール (およびアクション スクリプト) を結合し、if 条件によって新しいスクリプトをチェックインしたいと考えています。その後、適切な処置を行ってください。

私の質問は、RUN+= "/u/usb_status ??" でパラメーターを渡す方法です。

新しいスクリプトでこれらのパラメーターを取得し、if 条件で使用する方法。

前もって感謝します。

4

2 に答える 2

2

スクリプトを実行した後、単語を書くだけで解決しました。

例えば:

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added Parameter %b"

だから私はそれを次のように使用しました:

SUBSYSTEM=="usb", ACTION=="add", RUN+="/u/usb_added ADDED %b"

そして、スクリプト(この場合はusb_added)を実行すると、次のようになりました:

CHECK=$@

現在、この CHECK の値は、実際に Udev ルールから渡された "ADDED" です。

于 2012-04-28T08:31:52.673 に答える
2

私の知る限り、次のようにすることができます:

SUBSYSTEM=="usb", RUN+="scripts %b"

そして、スクリプトでこれを使用します:

if [ $ACTION == "add" ];then
  .....
elif [ $ACTION == "remove" ]lthen
  .....

でも、これはudevのバージョンによる制限のようです...わかりません、試してみてください。

于 2012-04-26T09:15:33.237 に答える