/
githubmirror
/
bash-completion
Обзор
Документация
Войти
/
githubmirror
/
bash-completion
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.10
completions/ifstat
62 строки
2 KB
Ville Skyttä
arp, ccze, ifstat, inotifywait, makepkg: invoke sed with "command"
25 апр 2019, 19:32
25 апр 2019, 19:32
5ff11ce
Код
Авторство
О чём код?
# bash completion for ifstat(1) -*- shell-script -*- _ifstat() { local cur prev words cword split _init_completion -s || return case $prev in --help|--version|--scan|--interval|-!(-*)[hvV]) return ;; -!(-*)i) # TODO comma separated _available_interfaces -a return ;; -!(-*)d) # iproute2: no completion (scan delay) # traditional: parse driver if ! { "$1" --help 2>&1 || :; } | \ command grep -q -- '-d.*--scan'; then COMPREPLY=( $(compgen -W '$("$1" -v | command \ sed -e "s/[,.]//g" -ne "s/^.*drivers://p")' -- "$cur") ) fi return ;; --noupdate|-!(-*)s) # iproute2: pass through (skip history update) # traditional: hostnames (snmp) if ! { "$1" --help 2>&1 || :; } | \ command grep -q -- '-s.*--noupdate'; then _known_hosts_real -- "$cur" return fi ;; -!(-*)t) # iproute2: no completion (interval) # traditional: pass through (add timestamp) ! { "$1" --help 2>&1 || :; } | \ command grep -q -- '-t.*--interval' || return ;; --extended|-!(-*)x) # iproute2: parse xstat types COMPREPLY=( $(compgen -W '$("$1" -x nonexistent-xstat 2>&1 | awk "found { print \$1 } /supported xstats:/ { found=1 }")' \ -- "$cur") ) return ;; esac $split && return if [[ "$cur" == -* ]]; then local opts=$(_parse_help "$1") COMPREPLY=( $(compgen -W '${opts:-$(_parse_usage "$1")}' -- "$cur") ) [[ $COMPREPLY == *= ]] && compopt -o nospace return fi } && complete -F _ifstat ifstat # ex: filetype=sh