bash-completion: (umount) use findmnt, escape a space in paths
# mount /dev/sdc1 /mnt/test/foo\ bar # umount <tab> has to return "/mnt/test/foo\ bar". Changes: * don't use mount | awk output, we have findmnt * force compgen use \n as entries separator Addresses: https://github.com/karelzak/util-linux/issues/539 Signed-off-by: Karel Zak <kzak@redhat.com>pull/540/head
parent
d9a388d30c
commit
75f03badd7
|
@ -40,9 +40,10 @@ _umount_module()
|
|||
return 0
|
||||
;;
|
||||
esac
|
||||
local DEVS_MPOINTS
|
||||
DEVS_MPOINTS="$(mount | awk '{print $1, $3}')"
|
||||
COMPREPLY=( $(compgen -W "$DEVS_MPOINTS" -- $cur) )
|
||||
return 0
|
||||
|
||||
local oldifs=$IFS
|
||||
IFS=$'\n'
|
||||
COMPREPLY=( $( compgen -W '$(findmnt -lno TARGET | sed "s/\([[:blank:]]\)/\\\\\1/g")' -- "$cur" ) )
|
||||
IFS=$oldifs
|
||||
}
|
||||
complete -F _umount_module umount
|
||||
|
|
Loading…
Reference in New Issue