Skip to content

Commit 3f09ccf

Browse files
author
Ehsan G
committed
Handle devices that are mounted at multiple paths
Source: jamielinux#32
1 parent 9a15ab7 commit 3f09ccf

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

bashmount

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,10 @@ print_device() {
346346
done
347347
fi
348348
elif check_mounted "$devname"; then
349-
mountpath="$(info_mountpath "$devname")"
350-
printf '%s' " ${GREEN}[$mountpath]${ALL_OFF}"
349+
local -a mountpath_arr=()
350+
info_mountpath_arr "$devname" mountpath_arr
351+
printf -v mountpath "[%s] " "${mountpath_arr[@]}"
352+
printf '%s' " ${GREEN}${mountpath}${ALL_OFF}"
351353
mounted[${#mounted[*]}]="$devname"
352354
fi
353355
printf '\n'
@@ -379,7 +381,11 @@ info_fstype() {
379381
lsblk -drno FSTYPE "$1" 2>/dev/null
380382
}
381383
info_mountpath() {
382-
findmnt -no TARGET "$1" 2>/dev/null
384+
findmnt -no TARGET "$1" 2>/dev/null | head -n1
385+
}
386+
info_mountpath_arr() {
387+
local -n arr=$2
388+
local IFS=$'\n'; arr=( $(findmnt -no TARGET "$1" 2>/dev/null) )
383389
}
384390
info_partlabel() {
385391
lsblk -drno PARTLABEL "$1" 2>/dev/null
@@ -704,8 +710,12 @@ submenu() {
704710
else
705711
printf '%s' " mounted : "
706712
if (( mounted )); then
713+
local -a mountpath_arr=()
707714
printf '%s\n' "${GREEN}yes${ALL_OFF}"
708-
printf '%s\n' " mountpath : $(info_mountpath "$devname")"
715+
info_mountpath_arr "$devname" mountpath_arr
716+
for mountpath in "${mountpath_arr[@]}"; do
717+
printf '%s\n' " mountpath : $mountpath"
718+
done
709719
else
710720
printf '%s\n' "${RED}no${ALL_OFF}"
711721
fi

0 commit comments

Comments
 (0)