a877567477
_usergroup now has a -u option, and there are new _allowed_users and _allowed_groups helpers. These can be used to limit returned users and/or groups to ones that the user has access to (or should be assumed to have access to if running a "root command"). I had to remove a couple of "funky user" chown test cases because for some reason they were broken by this change, I didn't immediately find out why, and I couldn't come up with a valid use case that should be supported for them that would be more beneficial than the relevance improvements in this patch.
77 lines
1.4 KiB
Bash
77 lines
1.4 KiB
Bash
# Completions for tools included in util-linux (not necessarily Linux specific)
|
|
|
|
# renice(8) completion
|
|
#
|
|
have renice &&
|
|
_renice()
|
|
{
|
|
local command cur curopt i
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref cur
|
|
command=$1
|
|
|
|
i=0
|
|
# walk back through command line and find last option
|
|
while [[ $i -le $COMP_CWORD && ${#COMPREPLY[@]} -eq 0 ]]; do
|
|
curopt=${COMP_WORDS[COMP_CWORD-$i]}
|
|
case "$curopt" in
|
|
-u)
|
|
_allowed_users
|
|
;;
|
|
-g)
|
|
_pgids
|
|
;;
|
|
-p|$command)
|
|
_pids
|
|
;;
|
|
esac
|
|
i=$(( ++i ))
|
|
done
|
|
} &&
|
|
complete -F _renice renice
|
|
|
|
# kill(1) completion
|
|
#
|
|
have kill &&
|
|
_kill()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref cur
|
|
|
|
if [[ $COMP_CWORD -eq 1 && "$cur" == -* ]]; then
|
|
# return list of available signals
|
|
_signals
|
|
else
|
|
# return list of available PIDs
|
|
_pids
|
|
fi
|
|
} &&
|
|
complete -F _kill kill
|
|
|
|
# look(1) completion
|
|
#
|
|
have look &&
|
|
_look()
|
|
{
|
|
local cur
|
|
|
|
COMPREPLY=()
|
|
_get_comp_words_by_ref cur
|
|
|
|
if [ $COMP_CWORD = 1 ]; then
|
|
COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' -- "$cur" ) )
|
|
fi
|
|
} &&
|
|
complete -F _look -o default look
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-basic-offset: 4
|
|
# sh-indent-comment: t
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et filetype=sh
|