mounter (993B)
1 #!/bin/sh 2 3 set -e 4 5 sudo -v || exit 1 6 7 i=1 8 devices="" 9 echo "Devices Found" 10 while read -r dev; do 11 if sudo cryptsetup isLuks "/dev/$dev" 2>/dev/null; then 12 echo "[$i] /dev/$dev" 13 devices="$devices /dev/$dev" 14 i=$((i + 1)) 15 fi 16 done <<EOF 17 $(lsblk -do NAME) 18 EOF 19 20 [ "$i" -eq 1 ] && exit 1 21 22 set -- $devices 23 24 if [ "$i" -eq 2 ]; then 25 chosen_index=1 26 else 27 printf "select a device to unlock [1-%d]: " $((i - 1)) 28 read chosen_index 29 fi 30 31 n=1 32 for dev in "$@"; do 33 if [ "$n" -eq "$chosen_index" ]; then 34 chosen="$dev" 35 break 36 fi 37 n=$((n + 1)) 38 done 39 40 [ -z "$chosen" ] && exit 1 41 42 default_name="usb$chosen_index" 43 printf "name to assign to unlocked device [%s]: " "$default_name" 44 read name 45 [ -z "$name" ] && name="$default_name" 46 47 echo "cryptsetup opening $chosen as $name" 48 sudo cryptsetup open "$chosen" "$name" || exit 1 49 50 mount_point="/mnt/$name" 51 sudo mkdir -p "$mount_point" 52 echo "mounting $name" 53 sudo mount "/dev/mapper/$name" "$mount_point" || exit 1 54 55 echo "$chosen mounted successfully at $mount_point"