2012-04-23 8 views
4

私はudevでusb addの2つのルールを書いており、2つのファイルで削除しました。udevルールでパラメータを渡す

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条件で使用します。

ありがとうございます。

答えて

2

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

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

は、だから私はちょうどとしてそれを使用する:

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

、スクリプトを実行中に(この場合はusb_added)私は次のようにそれを得た:

[email protected] 

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

1

私の知る限りでは、あなたは次のように行うことができます。

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

そして、スクリプトでこの使用:

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

をしかし、これはudevのバージョンによって制限を思わ... Iそれを試してみてください。

+0

%bの目的は何ですか? – user115079

関連する問題