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
|