toyotacorolla

vroom
Log | Files | Refs

unmounter (895B)


      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 sudo -v ||  exit 1
      6 
      7 mapped_devices=""
      8 for path in /dev/mapper/usb*; do
      9 	[ -e "$path" ] || continue
     10 	mapped_devices="$mapped_devices $(basename "$path")"
     11 done
     12 
     13 set -- $mapped_devices
     14 
     15 [ "$#" -eq 0 ] && exit 1
     16 
     17 echo "Devices Found"
     18 i=1
     19 for dev in "$@"; do
     20 	echo "[$i] /dev/mapper/$dev"
     21 	i=$((i + 1))
     22 done
     23 
     24 if [ $i -eq 2 ]; then
     25 	index=1
     26 else
     27 	printf "select a device to unmount [1-%d]: " $(( $# ))
     28 	read index
     29 
     30 	case "$index" in
     31 		''|*[!1-9]*)
     32 			exit 1
     33 		;;
     34 	esac
     35 
     36 	if [ "$index" -lt 1 ] || [ "$index" -ge "$#" ]; then
     37 		exit 1
     38 	fi
     39 fi
     40 
     41 i=1
     42 for dev in "$@"; do
     43 	[ "$i" -eq "$index" ] && name="$dev" && break
     44 	i=$((i + 1))
     45 done
     46 
     47 mount_point="/mnt/$name"
     48 
     49 if mountpoint -q "$mount_point" 2>/dev/null; then
     50 	echo "umounting $mount_point"
     51 	sudo umount "$mount_point"
     52 fi
     53 
     54 echo "cryptsetup closing $name"
     55 sudo cryptsetup close "$name"
     56 
     57 echo "/dev/mapper/$name unmounted successfully"