# Linux route(8) completion -*- shell-script -*- [[ $OSTYPE == *linux* ]] || return 1 _route() { local cur prev words cword _init_completion || return if [[ $prev == dev ]]; then _available_interfaces return fi # Remove already given options from completions local opt found i for opt in add del -host -net netmask metric mss window irtt reject mod \ dyn reinstate dev default gw; do found=false for ((i = 1; i < ${#words[@]} - 1; i++)); do [[ ${words[i]} == "$opt" ]] && found=true && break done $found || COMPREPLY+=("$opt") done COMPREPLY=($(compgen -W '"${COMPREPLY[@]}"' -- "$cur")) } && complete -F _route route # ex: filetype=sh