I wrote a script to get all the USB info. So far when I run the script with the USB already connected everything works fine.
USB_NAME=$(blkid | grep -oP '(?<=LABEL=").+?(?=")' | tail -1)
USB_DEVICE=$(blkid -o device | tail -1)
USB_TYPE=$(blkid | grep -oP '(?<=TYPE=").+?(?=")' | tail -1)
However, when I try to let the autorun script kick by inserting the USB with the 10.usb-rules
:
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/home/user/test.sh"
It runs the script and everything and i see the output from my script, but the output of my USB_NAME
, USB_DEVICE
and USB_TYPE
all come out blank.
Is it trying to grab the info too quick or something?
Issue fixed by adding sudo in front of each statement.
USB_NAME=$(sudo blkid | grep -oP '(?<=LABEL=").+?(?=")' | tail -1) 2>&1
USB_DEVICE=$(sudo blkid -o device | tail -1) 2>&1
USB_DEVICE_NAME=$(sudo blkid -o device | cut -d'/' -f3 | tail -1) 2>&1
USB_TYPE=$(sudo blkid | grep -oP '(?<=TYPE=").+?(?=")' | tail -1) 2>&1