29 lines
649 B
Plaintext
29 lines
649 B
Plaintext
_delpart_module()
|
|
{
|
|
local cur prev OPTS
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
case $prev in
|
|
'-h'|'--help'|'-V'|'--version')
|
|
return 0
|
|
;;
|
|
esac
|
|
case $COMP_CWORD in
|
|
1)
|
|
local DEV TYPE DEVICES=''
|
|
while read DEV TYPE; do
|
|
[ $TYPE = 'disk' ] && DEVICES+="$DEV "
|
|
done < <(lsblk -pnro name,type)
|
|
OPTS="--help --version $DEVICES"
|
|
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
|
|
;;
|
|
2)
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
COMPREPLY=( $(compgen -W "$(cat /sys/block/${prev##*/}/*/partition 2>/dev/null)" -- $cur) )
|
|
;;
|
|
esac
|
|
return 0
|
|
}
|
|
complete -F _delpart_module delpart
|