diff --git a/rootfs/etc/bash_completion.d/clogin-completion.bash b/rootfs/etc/bash_completion.d/clogin-completion.bash new file mode 100644 index 0000000..b4f2189 --- /dev/null +++ b/rootfs/etc/bash_completion.d/clogin-completion.bash @@ -0,0 +1,21 @@ +_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' ~/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' ~/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