46 lines
760 B
Plaintext
46 lines
760 B
Plaintext
|
_blockdev_module()
|
||
|
{
|
||
|
local cur prev OPTS
|
||
|
COMPREPLY=()
|
||
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
||
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||
|
DEVS="$(lsblk -pnro name)"
|
||
|
OPTS="-h -V -q
|
||
|
--report
|
||
|
--getsz
|
||
|
--setro
|
||
|
--setrw
|
||
|
--getro
|
||
|
--getdiscardzeroes
|
||
|
--getss
|
||
|
--getpbsz
|
||
|
--getiomin
|
||
|
--getioopt
|
||
|
--getalignoff
|
||
|
--getmaxsect
|
||
|
--getbsz
|
||
|
--setbsz
|
||
|
--getsize64
|
||
|
--setra
|
||
|
--getra
|
||
|
--setfra
|
||
|
--getfra
|
||
|
--flushbufs
|
||
|
--rereadpt
|
||
|
$DEVS"
|
||
|
case $prev in
|
||
|
'--setbsz')
|
||
|
COMPREPLY=( $(compgen -W "bytes" -- $cur) )
|
||
|
return 0
|
||
|
;;
|
||
|
'--setra'|'--setfra')
|
||
|
COMPREPLY=( $(compgen -W "sectors" -- $cur) )
|
||
|
return 0
|
||
|
;;
|
||
|
esac
|
||
|
compopt -o bashdefault -o default
|
||
|
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
|
||
|
return 0
|
||
|
}
|
||
|
complete -F _blockdev_module blockdev
|