_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