# bash completion for net tools have mii-tool && _mii_tool() { local cur prev words cword split _init_completion -s || return case $prev in -F|--force) COMPREPLY=( $( compgen -W '100baseTx-FD 100baseTx-HD \ 10baseT-FD 10baseT-HD' -- "$cur" ) ) return 0 ;; -A|--advertise) COMPREPLY=( $( compgen -W '100baseT4 100baseTx-FD 100baseTx-HD \ 10baseT-FD 10baseT-HD' -- "$cur" ) ) return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace else _available_interfaces -a fi } && complete -F _mii_tool -o default mii-tool have mii-diag && _mii_diag() { local cur prev words cword split _init_completion -s || return case $prev in -F|-A|--advertise|--fixed-speed) COMPREPLY=( $( compgen -W '100baseT4 100baseTx \ 100baseTx-FD 100baseTx-HD 10baseT 10baseT-FD \ 10baseT-HD' -- "$cur" ) ) return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) else _available_interfaces -a fi } && complete -F _mii_diag -o default mii-diag # Linux route(8) completion # [ $UNAME = Linux ] && have route && _route() { local cur prev words cword _init_completion || return if [ "$prev" = dev ]; then _available_interfaces return 0 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[${#COMPREPLY[@]}]="$opt" done COMPREPLY=( $( compgen -W '"${COMPREPLY[@]}"' -- "$cur" ) ) } && complete -F _route route have ether-wake && _ether_wake() { local cur prev words cword _init_completion -n : || return case $prev in -i) _available_interfaces return 0 ;; -p) return 0 ;; esac if [[ $cur == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_help "$1" -u ) -V' -- "$cur" ) ) return 0 fi _mac_addresses } && complete -F _ether_wake ether-wake # Local variables: # mode: shell-script # sh-basic-offset: 4 # sh-indent-comment: t # indent-tabs-mode: nil # End: # ex: ts=4 sw=4 et filetype=sh