diff options
Diffstat (limited to 'unmounter.sh')
-rwxr-xr-x | unmounter.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/unmounter.sh b/unmounter.sh new file mode 100755 index 0000000..3c1822f --- /dev/null +++ b/unmounter.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Get list of possible partitions to unmount. Only select partitions that have +# been mounted and display their name and size as dmenu options. +parts=$( + lsblk -nlpo NAME,SIZE,TYPE,MOUNTPOINT | grep "part .+$" | cut -f 1,4 -d' ' +) +[[ -z $parts ]] && exit 1 +exit + +# Prompt for partition to mount. +choice=$( + echo "$parts" | dmenu -i -p "Mount which partition?" | cut -f 1 -d' ' +) +[[ -z $choice ]] && exit 1 + +# Create a mount directory if none exists. Use UUID for unique name. +mntdir="/mnt/$(lsblk -n "$choice" -o UUID | cut -f 1 -d' ')" +sudo mkdir -p "$mntdir" +sudo mount "$choice" "$mntdir" + |