feat: am one binary and clear output
This commit is contained in:
parent
dbd7223f08
commit
e1cf0ba26f
25
bin/am
25
bin/am
@ -3,16 +3,35 @@ set -e
|
|||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
# - mount all partitions by selecting disk
|
# - mount all partitions by selecting disk
|
||||||
# - hide already mounted partitions
|
|
||||||
# - usage
|
# - usage
|
||||||
# - one device per line
|
# - one device per line
|
||||||
# - support for /mnt
|
# - support for /mnt
|
||||||
|
# - colors ?
|
||||||
|
|
||||||
|
function clear_output() {
|
||||||
|
local len="$1"
|
||||||
|
|
||||||
|
for _ in $(seq 0 "$len"); do
|
||||||
|
printf '\e[1A\e[K'
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! [ -t 1 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
while true; do
|
||||||
readarray -t LSBLK <<< "$(lsblk -n --paths --list | grep part)"
|
readarray -t LSBLK <<< "$(lsblk -n --paths --list | grep part)"
|
||||||
|
|
||||||
select dev in "${LSBLK[@]}"; do
|
select dev in "${LSBLK[@]}"; do
|
||||||
name="$(cut -f1 -d' ' <<< "$dev")"
|
name="$(cut -f1 -d' ' <<< "$dev")"
|
||||||
|
|
||||||
udisksctl mount -b "$name"
|
if mount | grep -q "$name"; then
|
||||||
echo "$name" >> /tmp/automount
|
umount "$name"
|
||||||
|
else
|
||||||
|
udisksctl mount -b "$name" > /dev/null
|
||||||
|
fi
|
||||||
|
clear_output "${#LSBLK[@]}"
|
||||||
|
break
|
||||||
|
done || exit
|
||||||
done
|
done
|
||||||
|
30
bin/dm
30
bin/dm
@ -1,30 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
function unmount() {
|
|
||||||
local name
|
|
||||||
|
|
||||||
for dev in "$@"; do
|
|
||||||
name="$(cut -f1 -d' ' <<< "$dev")"
|
|
||||||
|
|
||||||
umount "$name"
|
|
||||||
sed -i "\\|$name|d" /tmp/automount
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
readarray -t LSBLK <<< "$(lsblk --paths --list | grep -f /tmp/automount)"
|
|
||||||
|
|
||||||
while getopts a o; do
|
|
||||||
case "$o" in
|
|
||||||
a)
|
|
||||||
unmount "${LSBLK[@]}"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
select dev in "${LSBLK[@]}"; do
|
|
||||||
unmount "$dev"
|
|
||||||
done
|
|
Loading…
Reference in New Issue
Block a user