summaryrefslogtreecommitdiff
path: root/umounter
diff options
context:
space:
mode:
Diffstat (limited to 'umounter')
-rwxr-xr-xumounter21
1 files changed, 21 insertions, 0 deletions
diff --git a/umounter b/umounter
new file mode 100755
index 0000000..3c1822f
--- /dev/null
+++ b/umounter
@@ -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"
+