# wol(1) completion -*- shell-script -*- proc _wol { local cur prev words cword split _init_completion -s -n : || return match $prev { with -V|--version|--help|-p|--port|--passwd|-w|--wait return 0 with -h|--host|-i|--ipaddr # Broadcast addresses local PATH=$PATH:/sbin setglobal COMPREPLY = ''( $( { ip addr show || ifconfig -a; } 2>/dev/null | \ sed -ne 's/.*[[:space:]]Bcast:\([^[:space:]]*\).*/\1/p' -ne \ 's/.*inet.*[[:space:]]brd[[:space:]]\([^[:space:]]*\).*/\1/p' -ne \ 's/.*[[:space:]]broadcast[[:space:]]\{1,\}\([^[:space:]]*\).*/\1/p' ) ) _known_hosts_real $cur return 0 with -f|--file _filedir return 0 } $split && return 0 if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace return 0 } _mac_addresses } && complete -F _wol wol # ex: ts=4 sw=4 et filetype=sh