summaryrefslogtreecommitdiff
path: root/unmounter.sh
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-05-13 17:58:26 -0400
committerAdam T. Carpenter <atc@53hor.net>2020-05-13 17:58:26 -0400
commitd552ce8e6de88ee7ff362d3a6a9ad746e876fbc5 (patch)
treeefe83835c5372978d2bb735f7a1c766881f9aeb7 /unmounter.sh
parent212b87cd003505f0414b8c3cc538c715f8c33df6 (diff)
downloadscripts-d552ce8e6de88ee7ff362d3a6a9ad746e876fbc5.tar.xz
scripts-d552ce8e6de88ee7ff362d3a6a9ad746e876fbc5.zip
fixed email address
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"
+