split getent completion
This commit is contained in:
parent
a10c98e0fd
commit
944221c4d1
@ -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
52
contrib/getent
Normal 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
|
Loading…
x
Reference in New Issue
Block a user