_setarch_module() { local cur prev OPTS COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" pprev="${COMP_WORDS[COMP_CWORD-2]}" case $pprev in '-p'|'--pid') COMPREPLY=( $(compgen -W "--show" -- $cur) ) return 0 ;; esac case $prev in '-h'|'--help'|'-V'|'--version') return 0 ;; '-p'|'--pid') COMPREPLY=( $(compgen -W "$(builtin cd /proc && echo [0-9]*)" -- $cur) ) return 0 ;; '--show') OPTS=" current --pid " COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;; esac if [ $COMP_CWORD -eq 1 ]; then OPTS="$($1 --list)" OPTS="$OPTS --list --help --version --show " COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 fi case $cur in -*) OPTS=" --32bit --fdpic-funcptrs --short-inode --addr-compat-layout --addr-no-randomize --whole-seconds --sticky-timeouts --read-implies-exec --mmap-page-zero --3gb --4gb --uname-2.6 --verbose --list --help --version " COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;; esac compopt -o bashdefault COMPREPLY=( $(compgen -c -- $cur) ) return 0 } complete -F _setarch_module setarch