dmenumount: Don't show partitions with children
This PR makes `dmenumount` script filter out all devices, which have childs. This way it won't suggest to mount your partitions which have LUKS or lvm setup on it. If someone knows of a better way to do something, that'd be appreciated :)
This commit is contained in:
parent
5e53f5f467
commit
fe9be01d59
1 changed files with 5 additions and 1 deletions
|
@ -50,7 +50,11 @@ asktype() { \
|
||||||
}
|
}
|
||||||
|
|
||||||
anddrives=$(simple-mtpfs -l 2>/dev/null)
|
anddrives=$(simple-mtpfs -l 2>/dev/null)
|
||||||
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
|
# Get all block devices which are parents of other devices
|
||||||
|
parentnames="$(lsblk -rpo "pkname" | awk 'NR!=1 && $0 != ""' | uniq | xargs printf '^%s$|' | sed 's/|$//')"
|
||||||
|
# Get all `part` and `rom` devices, which aren't a parent to another device
|
||||||
|
# This allows ommiting partitions which have i.e. crypt or lvm childs
|
||||||
|
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | awk -v parentnames="$parentnames" '$2 ~ "part|rom" && $4=="" && $1 !~ parentnames {printf "%s (%s)\n",$1,$3}')"
|
||||||
|
|
||||||
if [ -z "$usbdrives" ]; then
|
if [ -z "$usbdrives" ]; then
|
||||||
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
|
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
|
||||||
|
|
Loading…
Reference in a new issue