summaryrefslogtreecommitdiff
path: root/unmounter.sh
diff options
context:
space:
mode:
Diffstat (limited to 'unmounter.sh')
-rwxr-xr-xunmounter.sh21
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"
+