blob: 62dbb6512c2258ed0343c1483b14e2a1f3056352 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# pgrep(1) and pkill(1) completion -*- shell-script -*-
_pgrep()
{
local cur prev words cword
_init_completion || return
case $prev in
--delimiter | --pgroup | --session | --terminal | -!(-*)[cdgJMNstTz])
return
;;
--signal)
_signals
return
;;
--pidfile | -!(-*)F)
_filedir
return
;;
--group | -!(-*)G)
_gids
return
;;
-j)
COMPREPLY=($(compgen -W 'any none' -- "$cur"))
return
;;
--parent | --ns | -!(-*)P)
_pids
return
;;
--euid | --uid | -!(-*)[uU])
_uids
return
;;
--nslist)
local prefix=
[[ $cur == *,* ]] && prefix="${cur%,*},"
COMPREPLY=(
$(IFS="$IFS," compgen -W '$($1 --help 2>&1 |
command sed -ne "s/^[[:space:]]*Available namespaces://p")' \
-- "${cur##*,}"))
((${#COMPREPLY[@]} == 1)) && COMPREPLY=(${COMPREPLY/#/$prefix})
return
;;
esac
if [[ $cur == -* ]]; then
local help=$(_parse_help "$1")
[[ $help ]] || help='$("$1" --usage 2>&1 |
command sed -e "s/\[-signal\]//" -e "s/\[-SIGNAL\]//" |
_parse_usage -)'
COMPREPLY=($(compgen -W "$help" -- "$cur"))
[[ $cword -eq 1 && $1 == *pkill ]] && _signals -
return
fi
_pnames -s
} &&
complete -F _pgrep pgrep pkill
# ex: filetype=sh
|