Mini Shell
_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
Zerion Mini Shell 1.0