diff options
| author | Ville Skyttä <ville.skytta@iki.fi> | 2011-11-24 23:29:39 +0200 |
|---|---|---|
| committer | Ville Skyttä <ville.skytta@iki.fi> | 2011-11-25 08:45:59 +0200 |
| commit | eab195c440c283adf1cbe5f06d045256372e505e (patch) | |
| tree | c85b728777e5b3af8d8651015087c2dbee9050ab /completions | |
| parent | 3af9222e964739c3ca954bc1b966dc5628160457 (diff) | |
| download | bash-completion-eab195c440c283adf1cbe5f06d045256372e505e.tar.gz | |
iperf: New completion.
Diffstat (limited to 'completions')
| -rw-r--r-- | completions/Makefile.am | 1 | ||||
| -rw-r--r-- | completions/iperf | 63 |
2 files changed, 64 insertions, 0 deletions
diff --git a/completions/Makefile.am b/completions/Makefile.am index 8ded90d3..892523bc 100644 --- a/completions/Makefile.am +++ b/completions/Makefile.am @@ -126,6 +126,7 @@ bashcomp_DATA = a2x \ invoke-rc.d \ ionice \ ip \ + iperf \ iptables \ ipmitool \ ipsec \ diff --git a/completions/iperf b/completions/iperf new file mode 100644 index 00000000..721825e2 --- /dev/null +++ b/completions/iperf @@ -0,0 +1,63 @@ +# iperf(1) completion -*- shell-script -*- + +_iperf() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + -h|--help|-v|--version|-i|--interval|-l|--len|-p|--port|-w|--window|\ + -M|--mss|-b|--bandwidth|-n|--num|-t|--time|-L|--listenport|-P|\ + --parallel|-T|--ttl|-Z|--linux-congestion) + return + ;; + -f|--format) + COMPREPLY=( $( compgen -W 'k m K M' -- "$cur" ) ) + return + ;; + -o|--output|-F|--fileinput) + _filedir + return + ;; + -B|--bind) + _available_interfaces -a + _ip_addresses + return + ;; + -c|--client) + _known_hosts_real "$cur" + return + ;; + -x|--reportexclude) + COMPREPLY=( $( compgen -W 'C D M S V' -- "$cur" ) ) + return + ;; + -y|--reportstyle) + COMPREPLY=( $( compgen -W 'C' -- "$cur" ) ) + return + ;; + esac + + $split && return + + # Filter mode specific options + local i filter=cat + for i in ${words[@]}; do + case $i in + -s|--server) + filter='sed -e /^Client.specific/,/^$/d' + ;; + -c|--client) + filter='sed -e /^Server.specific/,/^$/d' + ;; + esac + done + [[ $filter != cat ]] && filter+=' -e /--client/d -e /--server/d' + + COMPREPLY=( $( compgen -W \ + '$( "$1" --help 2>&1 | $filter | _parse_help - )' -- "$cur" ) ) + [[ $COMPREPLY == *= ]] && compopt -o nospace +} && +complete -F _iperf iperf + +# ex: ts=4 sw=4 et filetype=sh |
