_last_module() { local cur prev OPTS COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" case $prev in '-f') local IFS=$'\n' compopt -o filenames COMPREPLY=( $(compgen -f -- $cur) ) return 0 ;; '-h') COMPREPLY=( $(compgen -A hostname -- $cur) ) return 0 ;; '-i') COMPREPLY=( $(compgen -W "ipaddr" -- $cur) ) return 0 ;; '-t') local TTYS TTYS=$(cd /sys/devices/virtual/tty && echo *) COMPREPLY=( $(compgen -W "$TTYS" -- $cur) ) return 0 ;; esac case $cur in -*) OPTS="-f -h -i -l -t -y" COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;; esac COMPREPLY=( $(compgen -u -- $cur) ) return 0 } complete -F _last_module last