36 lines
992 B
Bash
36 lines
992 B
Bash
#!/bin/bash
|
|
|
|
# Function for autocompletion
|
|
_igmpgen_completion() {
|
|
local cur prev opts igmp_types
|
|
COMPREPLY=() # Array variable storing the completions.
|
|
cur="${COMP_WORDS[COMP_CWORD]}" # Current word being completed.
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}" # Previous word.
|
|
|
|
# Options for igmpgen
|
|
opts="-i -t -g -s -d -n"
|
|
|
|
# Available IGMP packet types
|
|
igmp_types="1.query 1.report 1.dvmrp 2.query 2.report 2.leave 3.report"
|
|
|
|
case "${prev}" in
|
|
-t)
|
|
COMPREPLY=( $(compgen -W "${igmp_types}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
# If the previous word is an option requiring an argument, don't complete with options
|
|
case "${prev}" in
|
|
-i | -g | -s | -d | -n)
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
# Default completion: suggest igmpgen options
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
}
|
|
|
|
# Attach the completion function to igmpgen command
|
|
complete -F _igmpgen_completion igmpgen
|
|
|