#!/usr/bin/env sh # Description: Toggle mount status of a device using pmount # If the device is not mounted, it will be mounted. # If the device is mounted, it will be unmounted and powered down. # # Shell: POSIX compliant # Author: Arun Prakash Jana lsblk echo echo "Make sure you aren't still in the mounted device." echo -n "device (e.g. sdc2): " read dev while ! [ -z "$dev" ] do if grep -qs "$dev " /proc/mounts; then sync pumount "$dev" if [ "$?" -eq "0" ]; then echo "$dev" unmounted. udisksctl power-off -b /dev/"$dev" if [ "$?" -eq "0" ]; then echo "$dev" ejected. fi fi else pmount "$dev" echo "$dev" mounted to "$(lsblk -n /dev/"$dev" | rev | cut -d' ' -f1 | rev)". fi echo echo -n "next device: " read dev done