-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathformatter.sh
More file actions
50 lines (43 loc) · 1.16 KB
/
formatter.sh
File metadata and controls
50 lines (43 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
# To make executable, modify permissions of the script with: chmod u+x formatter.sh
# Disk formatting utility
sleep 0.5
echo ""
echo "Disk Formatting Utility"
sleep 0.5
echo "(c) Devon M. 2026"
sleep 0.5
# Display Mounted Disks Prompt
echo ""
read -p "Display mounted disks? (y/n) " m_disks
case $m_disks in
y ) "df";; # Lack of exec prefix allows script to continue, rather than terminating
n ) ;;
* ) echo "Invalid response"; exec "/home/devon/Bash/formatter.sh";;
esac
# Disk Selection
echo ""
read -p "Input disk: " disk_name
# Optional Unmount
echo ""
read -p "Would you like to unmount the drive? (y/n) " u_mount
case $u_mount in
y ) "umount" $disk_name;;
n ) ;;
* ) echo "Invalid response"; exec "/home/devon/Bash/formatter.sh";;
esac
#Format Type Selection
echo ""
echo "Select format type:"
echo ""
echo "(1.) FAT32"
echo "(2.) NTFS"
echo "(3.) exFAT"
echo ""
read -p "" format_type
case $format_type in
1 ) echo ""; exec sudo mkfs.vfat -Q $disk_name;;
2 ) echo ""; exec sudo mkfs.ntfs -Q $disk_name;;
3 ) echo ""; exec sudo mkfs.exfat -Q $disk_name;;
* ) echo ""; echo "Invalid selection"; sleep 0.5; exec "/home/devon/Bash/formatter.sh";;
esac