Skip to content

Commit e0607f8

Browse files
committed
updated udev script with help menus
1 parent 082a540 commit e0607f8

File tree

1 file changed

+66
-8
lines changed

1 file changed

+66
-8
lines changed

udev/45drives_udev_rules.sh

100644100755
Lines changed: 66 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,80 @@ RULES_PATH="/usr/lib/udev/rules.d/68-vdev.rules"
1010
SCRIPT_PATH="/usr/lib/udev/vdev_id_45drives"
1111
RULES_URL="https://scripts.45drives.com/udev/68-vdev.rules"
1212
SCRIPT_URL="https://scripts.45drives.com/udev/vdev_id_45drives"
13+
CONF_FILE="/etc/vdev_id.conf"
14+
REMOVE_FILES=0
1315

16+
# make script exit when a command fails
1417
set -e
1518

1619
euid=$(id -u)
1720
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"
1922
exit 1
2023
fi
2124

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""
2785
chmod +x "$SCRIPT_PATH"
28-
echo "Reloading udev rules"
86+
echo "[Reloading udev rules] -> udevadm control --reload-rules"
2987
udevadm control --reload-rules
30-
echo "Triggering udev rules"
88+
echo "[Triggering udev rules] -> udevadm trigger"
3189
udevadm trigger

0 commit comments

Comments
 (0)