split getent completion

This commit is contained in:
Guillaume Rousse 2009-05-17 21:55:41 +02:00
parent a10c98e0fd
commit 944221c4d1
2 changed files with 52 additions and 50 deletions

View File

@ -8274,56 +8274,6 @@ _id()
} &&
complete -F _id id
# getent(1) completion
#
have getent &&
_getent()
{
local cur prev
COMPREPLY=()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
case $prev in
passwd)
COMPREPLY=( $( compgen -u $cur ) )
return 0
;;
group)
COMPREPLY=( $( compgen -g $cur ) )
return 0
;;
services)
COMPREPLY=( $( compgen -s $cur ) )
return 0
;;
hosts)
COMPREPLY=( $( compgen -A hostname $cur ) )
return 0
;;
protocols|networks|ahosts|ahostsv4|ahostsv6|rpc)
COMPREPLY=( $( getent $prev | \
sed -ne 's|^\('$cur'[^[:space:]]*\).*|\1|p' ) )
return 0
;;
aliases|shadow)
COMPREPLY=( $( getent $prev | \
sed -ne 's|^\('$cur'[^:]*\).*|\1|p' ) )
return 0
;;
esac
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W 'passwd group hosts services \
protocols networks ahosts ahostsv4 \
ahostsv6 aliases ethers netgroup \
rpc shadow' -- $cur ) )
fi
} &&
complete -F _getent getent
# sysctl(8) completion
#
have sysctl &&

52
contrib/getent Normal file
View File

@ -0,0 +1,52 @@
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
# bash completion for getent
have getent &&
_getent()
{
local cur prev
COMPREPLY=()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
case $prev in
passwd)
COMPREPLY=( $( compgen -u $cur ) )
return 0
;;
group)
COMPREPLY=( $( compgen -g $cur ) )
return 0
;;
services)
COMPREPLY=( $( compgen -s $cur ) )
return 0
;;
hosts)
COMPREPLY=( $( compgen -A hostname $cur ) )
return 0
;;
protocols|networks|ahosts|ahostsv4|ahostsv6|rpc)
COMPREPLY=( $( getent $prev | \
sed -ne 's|^\('$cur'[^[:space:]]*\).*|\1|p' ) )
return 0
;;
aliases|shadow)
COMPREPLY=( $( getent $prev | \
sed -ne 's|^\('$cur'[^:]*\).*|\1|p' ) )
return 0
;;
esac
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W 'passwd group hosts services \
protocols networks ahosts ahostsv4 \
ahostsv6 aliases ethers netgroup \
rpc shadow' -- $cur ) )
fi
} &&
complete -F _getent getent