summaryrefslogtreecommitdiff
path: root/contrib/getent
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/getent')
-rw-r--r--contrib/getent11
1 files changed, 5 insertions, 6 deletions
diff --git a/contrib/getent b/contrib/getent
index ec49e2e7..54e62ab8 100644
--- a/contrib/getent
+++ b/contrib/getent
@@ -6,8 +6,7 @@ _getent()
local cur prev
COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
+ _get_comp_words_by_ref cur prev
case $prev in
passwd)
@@ -27,13 +26,13 @@ _getent()
return 0
;;
protocols|networks|ahosts|ahostsv4|ahostsv6|rpc)
- COMPREPLY=( $( getent "$prev" | \
- sed -ne 's|^\('"$cur"'[^[:space:]]*\).*|\1|p' ) )
+ COMPREPLY=( $( compgen -W "$( getent "$prev" | \
+ awk '{ print $1 }' )" -- "$cur" ) )
return 0
;;
aliases|shadow)
- COMPREPLY=( $( getent "$prev" | \
- sed -ne 's|^\('"$cur"'[^:]*\).*|\1|p' ) )
+ COMPREPLY=( $( compgen -W "$( getent "$prev" | cut -d: -f1 )" \
+ -- "$cur" ) )
return 0
;;
esac