为什么此Udev规则仅运行一次

我想设置一个udev规则,每次插入一个USB驱动器时都会运行,该驱动器将连接该USB驱动器以连接到VirtualBox中的VM。 udev规则用于将USB驱动器连接到正在运行的VM,但每次启动只能连接一次。 有人请帮帮我。 我有/etc/udev/rules.d/10-usbmount.rules

  KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/usr/bin/vbox-automount-usb" 

这在/usr/bin/vbox-automount-usb

 #!/bin/bash set `lsusb -d ${ID_VENDOR}:${ID_MODEL}| sed 's/:.*//g'` while [ ! -z "$1" ]; do case $1 in Bus) shift busdevice="$1" ;; Device) shift busdevice=${busdevice}"/$1" ;; esac shift done if [ ! -z "$busdevice" ]; then address=$(VBoxManage list usbhost | grep "Address:" | grep $bus device | sed -e 's/Address://' -e 's/^[ \t]*//') if [ ! -z "$address" ]; then su - guestos -c "VBoxManage controlvm guestos_0001 usbattach $address" fi fi 

编辑:我可以将/etc/udev/rules.d/10-usbmount.rules更改为:

 ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[az]1", RUN+="/usr/bin/vbox-automount-usb" 

但它仍然只是第一次在VirtualBox中安装USB

编辑:使用时仍然发生同样的事情

 su - guestos -c "VBoxManage controlvm guestos_0001 usbattach `VBoxManage list usbhost | grep "Address:" | grep $bus device | sed -e 's/Address://' -e 's/^[ \t]*//'`" 

对于/usr/bin/vbox-automount-usb