/bash_completion_lib/complete/getent

http://github.com/brinkman83/bashrc · #! · 46 lines · 38 code · 8 blank · 0 comment · 0 complexity · af53e228da54e547e7462c45c3769283 MD5 · raw file

  1. # getent(1) completion
  2. comp_include _get_cword
  3. _getent()
  4. {
  5. local cur prev
  6. COMPREPLY=()
  7. cur=`_get_cword`
  8. prev=${COMP_WORDS[COMP_CWORD-1]}
  9. case $prev in
  10. passwd)
  11. COMPREPLY=( $( compgen -u $cur ) )
  12. return 0
  13. ;;
  14. group)
  15. COMPREPLY=( $( compgen -g $cur ) )
  16. return 0
  17. ;;
  18. services)
  19. COMPREPLY=( $( compgen -s $cur ) )
  20. return 0
  21. ;;
  22. hosts)
  23. COMPREPLY=( $( compgen -A hostname $cur ) )
  24. return 0
  25. ;;
  26. protocols)
  27. COMPREPLY=( $( getent protocols | awk '{print $1}' | grep "^$cur" ) )
  28. return 0
  29. ;;
  30. networks)
  31. COMPREPLY=( $( getent networks | awk '{print $1}' | grep "^$cur" ) )
  32. return 0
  33. ;;
  34. esac
  35. if [ $COMP_CWORD -eq 1 ]; then
  36. COMPREPLY=( $( compgen -W 'passwd group hosts services protocols networks' -- $cur ) )
  37. fi
  38. } # _getent()