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つのコマンドを実行する正しい方法ではありません。ルールの一致する部分も好きではありませんが、この例ではそのままにしておきます。あなたができること:
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
コマンドを移動しないのはなぜですか?