_fsck_module() { local cur prev OPTS COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" case $prev in '-b') COMPREPLY=( $(compgen -W "superblock" -- $cur) ) return 0 ;; '-B') COMPREPLY=( $(compgen -W "blocksize" -- $cur) ) return 0 ;; '-j') COMPREPLY=( $(compgen -W "external_journal" -- $cur) ) return 0 ;; '-l'|'-L') COMPREPLY=( $(compgen -W "bad_blocks_file" -- $cur) ) return 0 ;; '-?') return 0 ;; esac case $cur in -*) OPTS="-p -n -y -c -f -v -b -B -j -l -L" COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;; esac compopt -o bashdefault -o default COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) ) return 0 } complete -F _fsck_module fsck