#!/bin/bash set -e function unmount() { local name for dev in "$@"; do name="$(cut -f1 -d' ' <<< "$dev")" umount "$name" sed -i "\\|$name|d" /tmp/automount done } readarray -t LSBLK <<< "$(lsblk --paths --list | grep -f /tmp/automount)" while getopts a o; do case "$o" in a) unmount "${LSBLK[@]}" exit 0 ;; *) ;; esac done select dev in "${LSBLK[@]}"; do unmount "$dev" done