@@ -10,22 +10,80 @@ RULES_PATH="/usr/lib/udev/rules.d/68-vdev.rules"
10
10
SCRIPT_PATH=" /usr/lib/udev/vdev_id_45drives"
11
11
RULES_URL=" https://scripts.45drives.com/udev/68-vdev.rules"
12
12
SCRIPT_URL=" https://scripts.45drives.com/udev/vdev_id_45drives"
13
+ CONF_FILE=" /etc/vdev_id.conf"
14
+ REMOVE_FILES=0
13
15
16
+ # make script exit when a command fails
14
17
set -e
15
18
16
19
euid=$( id -u)
17
20
if [ $euid -ne 0 ]; then
18
- echo -e ' \nYou must be root to run this utility.\n'
21
+ echo -e " \nYou must be root to run this utility.\n"
19
22
exit 1
20
23
fi
21
24
22
- echo " Downloading udev rules"
23
- curl -o " $RULES_PATH " " $RULES_URL "
24
- echo " Downloading udev script"
25
- curl -o " $SCRIPT_PATH " " $SCRIPT_URL "
26
- echo " Making script executable"
25
+ Help ()
26
+ {
27
+ echo " "
28
+ echo " Help Menu - 45drives_udev_rules.sh"
29
+ echo " About: A script that downloads and triggers 45Drives udev rules."
30
+ echo " options:"
31
+ echo " -r remove 45drives udev rules and scripts from the system."
32
+ echo " -h Print this menu."
33
+ echo " "
34
+ exit 0
35
+ }
36
+
37
+ while getopts " rh" flag
38
+ do
39
+ case " ${flag} " in
40
+ r) REMOVE_FILES=1;;
41
+ h | * )
42
+ Help
43
+ exit 0;;
44
+ esac
45
+ done
46
+
47
+ if [ $REMOVE_FILES -ne 0 ]; then
48
+ echo " Removing Files.."
49
+ if [ -f " $SCRIPT_PATH " ]; then
50
+ echo " removing $SCRIPT_PATH "
51
+ rm -f $SCRIPT_PATH
52
+ fi
53
+
54
+ if [ -f " $RULES_PATH " ]; then
55
+ echo " removing $RULES_PATH "
56
+ rm -f $RULES_PATH
57
+ fi
58
+
59
+ read -p " Files are removed, would you like to re-trigger udev rules? (y/n): " SELECTION
60
+ if [ " $SELECTION " == " y" ]; then
61
+ echo " [Reloading udev rules] -> udevadm control --reload-rules"
62
+ udevadm control --reload-rules
63
+ echo " [Triggering udev rules] -> udevadm trigger"
64
+ udevadm trigger
65
+ fi
66
+ exit 0
67
+ fi
68
+
69
+ if [ ! -f " $CONF_FILE " ]; then
70
+ echo " WARNING: $CONF_FILE does not exist."
71
+ echo " 45Drives udev rules will have no effect without a valid $CONF_FILE ."
72
+ read -p " Do you want to download/trigger 45Drives udev rules anyway? (y/n): " SELECTION
73
+ if [ " $SELECTION " != " y" ]; then
74
+ echo " exiting.."
75
+ exit 1
76
+ fi
77
+ fi
78
+
79
+
80
+ echo " [Downloading udev rules] -> curl -os " $RULES_PATH " " $RULES_URL " "
81
+ curl -so " $RULES_PATH " " $RULES_URL "
82
+ echo " [Downloading udev script] -> curl -os " $SCRIPT_PATH " " $SCRIPT_URL " "
83
+ curl -so " $SCRIPT_PATH " " $SCRIPT_URL "
84
+ echo " [Making udev script executable] -> chmod +x " $SCRIPT_PATH " "
27
85
chmod +x " $SCRIPT_PATH "
28
- echo " Reloading udev rules"
86
+ echo " [ Reloading udev rules] -> udevadm control --reload- rules"
29
87
udevadm control --reload-rules
30
- echo " Triggering udev rules"
88
+ echo " [ Triggering udev rules] -> udevadm trigger "
31
89
udevadm trigger
0 commit comments