Your script must be executable.
Do this step by step to find out your problem:
First create a simple script:
```sudo nano /bin/device_added.sh ```
Add the following lines in the `device_added.sh` script
`#!/bin/bash
echo "USB device added at $(date)" >>/tmp/scripts.log`
Open the second script.
`sudo nano /bin/device_removed.sh`
Then add the following lines to `device_removed.sh` script.
`#!/bin/bash
echo "USB device removed at $(date)" >>/tmp/scripts.log
`
Save the files, close and make both scripts executable.
`$ sudo chmod +x /bin/device_added.sh
$ sudo chmod +x /bin/device_removed.sh`
Next, let’s create a rule to trigger execution of the above scripts, called `/etc/udev/rules.d/80-test.rules`
`nano /etc/udev/rules.d/80-test.rules`
Add these two following rules in it.
`SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/bin/device_added.sh"
SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/bin/device_removed.sh"`
Save the file and close it. Then as root, tell systemd-udevd to reload the rules files (this also reloads other databases such as the kernel module index), by running.
`sudo udevadm control --reload`
Now connect your iphone or any other usb drive into your machine and check if the `device_added.sh` script was executed. First of all the file `scripts.log` should be created under `/tmp`.
Then the file should have an entry such as “USB device removed at date_time”
If this steps worked correctly the you can replace the `/bin/device_added.sh` script with your script. and place your rule in `/etc/udev/rules.d/80-test.rules`
[udev-for-device-detection-management-in-linux][1]
[1]: https://www.tecmint.com/udev-for-device-detection-management-in-linux/