web-dev-qa-db-ja.com

udevルールが機能しない

USBドライブプラグインのudevルールを作成しようとしています。最初にそれを/mediaにマウントしてから、/usr/local/bin/script.shでスクリプトを実行したいと思います。 USBを挿入すると、このルールでデバイスをマウントすることすらできません。ただし、RUNのパーツをターミナルに手動で入力すると、スクリプトがマウントされて実行されます。

ルールファイルには次のように書かれています。

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"

これは、ルールのRUNセクションで2つのコマンドを実行する正しい方法ですか?

2
tigerden

2つのコマンドを実行する正しい方法ではありません。ルールの一致する部分も好きではありませんが、この例ではそのままにしておきます。あなたができること:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"

または

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"

しかし、あなたの場合、スクリプト内でmountコマンドを移動しないのはなぜですか?

4
Alex P.