#!/bin/sh # Script for mounting block devices # Set askpass program for authentication export SUDO_ASKPASS=/usr/bin/ssh-askpass # Check for and get device to mount from user devs="$(lsblk -lp | grep "part $" | awk '{print $1,"-",$4}')" [ "$devs" = "" ] && exit 0 dev="$(echo $devs | dmenu -i -p "Select device" | cut -d ' ' -f 1)" [ "$dev" = "" ] && exit 0 # Attempt to mount without mountpoint for devices in /etc/fstab sudo -A mount "$dev" 2>/dev/null && exit 0 # Get mountpoint from user mntpnt="$(find /mnt -maxdepth 3 -type d 2>/dev/null | dmenu -i -p "Select mountpoint")" [ "$mntpnt" = "" ] && exit 1 # If selected mountpoint does not exist ask to create it # If user decides not to create non-existent drive, exit [ ! -d $mntpnt ] && create="$(echo "No\nYes" | \ dmenu -i -p "$mntpnt does not exist, would you like to create it?")" && \ ([ "$create" = "Yes" ] && sudo -A mkdir -p $mntpnt || exit 0) sudo -A mount $dev $mntpnt && pgrep -x dunst && notify-send "$dev mounted to $mntpnt"