udev が bash スクリプトを正しく実行しません。
私のルールは次のとおりです。
ACTION=="add", KERNEL=="sd*1", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6544", RUN="/usr/local/bin/usb-bmw-in"
ACTION=="remove", KERNEL=="sd*1", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6544", RUN="/usr/local/bin/usb-bmw-out"
そして、実行されるスクリプトは次のとおりです。
#!/bin/bash
echo timer > /sys/class/leds/led1/trigger
rsync --delete-after -c --preallocate -r /media/NAS/Sync/Musik/BMW/ /media/24366EC6366E9916/
umount /dev/sdc1
echo default-on > /sys/class/leds/led0/trigger
echo none > /sys/class/leds/led1/trigger
スクリプトは赤い LED を点灯させ、動作していることを示します。次に、車のプレイリストを USB スティックにコピーし、デバイスをアンマウントする必要があります。
完了すると、緑色の LED が点灯し、赤色の LED が消灯します。
赤い LED が正しく点灯し、rsync コマンドも起動されますが、それだけです。赤色の LED はまだ点灯しており、デバイスはまだマウントされており、緑色の LED は点灯していません。
スクリプトを手動で実行すると、正常に動作します。