diff options
Diffstat (limited to 'bin/common')
-rwxr-xr-x | bin/common/aumount | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/bin/common/aumount b/bin/common/aumount deleted file mode 100755 index 8a2b785..0000000 --- a/bin/common/aumount +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh - -tmp="$(mktemp)" -test "$(id -u)" != "0" && sudo="sudo" - -logn () { >&2 printf "%s\n" "$@"; } -log () { >&2 printf '%s' "$@"; } - -# Read one character -read_char () -{ - log ">" - old_stty_cfg=$(stty -g) - stty raw - dd ibs=1 count=1 2> /dev/null - stty "$old_stty_cfg" - logn "" -} - -get_dev () { grep "^$1\." "$tmp" | cut -f 2- -d ' '; } - -# mount the device with $1 as the choice -mount () -{ - dev="$(get_dev "$1")" - test -z "$dev" && exit 1 - - logn "Mounting /dev/$dev on /media/$dev" - mkdir -p /media/"$dev" - $sudo mount /dev/"$dev" /media/"$dev" > /dev/null 2>&1 || - return 1 -} - -# umount the device with $1 as the choice -umount () -{ - mountpoint="$(sed -n "${1}p" "$tmp" | awk '{print $3}')" - test -z "$mountpoint" && exit 1 - - logn "Unmounting $mountpoint" - $sudo umount "$mountpoint" || - return 1 -} - -ejekt () -{ - dev="$(get_dev "$1" | sed 's/.$//')" - test -z "$dev" && exit 1 - - logn "Ejecting /dev/$dev" - $sudo eject /dev/"$dev" > /dev/null 2>&1 || - return 1 -} - -# print lsblk, use $1 to print only devices with mountpoints or without -pr_lsblk () -{ - clear - lsblk -o name,size,type,mountpoint - logn "───────────────────────────────────" - lsblk --ascii -o name,mountpoint | - grep '^.-' | - while read -r line - do - words="$(printf "%s" "$line" | wc -w)" - test "$words" -eq "${1:-1}" && continue - printf "%s\n" "$line" - done | - cut -f 2- -d "-" | - awk '{print NR ". " $0}' | - tee "$tmp" >&2 -} - -cleanup () { rm -f "$tmp"; } - -trap cleanup EXIT INT - -logn "m(ount) u(mount) (e)ject ?" -choice="$(read_char)" - -case $choice in - "m") i=2; cmd=mount ;; - "u") i=1; cmd=umount ;; - "e") i=2; cmd=ejekt ;; - *) exit 1 ;; -esac - -pr_lsblk "$i" -choice="$(read_char)" -printf "%s" "$choice" | grep -q "[0-9]" || exit 1 - -if $cmd "$choice" -then - logn "Successful." -else - logn "Failed." -fi |