22 lines
902 B
Bash
22 lines
902 B
Bash
_devices_rancid() {
|
|
local curw
|
|
COMPREPLY=()
|
|
curw=${COMP_WORDS[COMP_CWORD]}
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
if [ -f ~/router.db ];
|
|
then
|
|
# COMPREPLY=($(compgen -W "$(sed -n 's/\([^;]*\);.*$/\1/p' $HOME/router.db | sort -u)" -- $curw))
|
|
# Verknüpft die auf Hostnamen reduzierte Ausgaben der Zeilen in router.db und der hosts
|
|
# die Gesamtliste wird unique sortiert und für die completion verwendet
|
|
COMPREPLY=($(compgen -W "$( (sed -n 's/\([^;]*\);.*$/\1/p' $HOME/router.db ; sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts) | sort -u )" -- $curw))
|
|
else
|
|
COMPREPLY=($(compgen -W "$( sed -n 's/^[^#]* \([^ ]*\)/\1/p' /etc/hosts | sort -u )" -- $curw))
|
|
fi
|
|
return 0
|
|
}
|
|
complete -F _devices_rancid -o dirnames clogin
|
|
complete -F _devices_rancid -o dirnames ping
|
|
complete -F _devices_rancid -o dirnames ssh
|
|
complete -F _devices_rancid -o dirnames __eping
|