blob: e4bc5b4155f37bc3865455d4bd98495e603f6466 (
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
|
_zlogin()
{
local cur prev opts base
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# The -e and -l take non-zone arguments, otherwise complete zone
if [[ ${prev} != '-e' ]] && [[ ${prev} != '-l' ]]; then
local running=$(zoneadm list | grep -v '^global$')
COMPREPLY=( $(compgen -W "${running}" -- ${cur}) )
fi
if [[ -n "$COMPREPLY" ]]; then
return 0
fi
_zone_alias
return 0
}
_dash_z_zone()
{
local cur prev opts base
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# The -z takes a zone option, ignore everything else
if [[ ${prev} =~ -.*z$ ]]; then
local zones=$(zoneadm list -c | grep -v '^global$')
COMPREPLY=( $(compgen -W "${zones}" -- ${cur}) )
if [[ -n "$COMPREPLY" ]]; then
return 0
fi
_zone_alias
fi
return 0
}
complete -F _zlogin zlogin
complete -F _dash_z_zone zoneadm
complete -F _dash_z_zone zonecfg
complete -F _dash_z_zone svcs
complete -F _dash_z_zone svcadm
complete -F _dash_z_zone svcprop
complete -F _dash_z_zone pgrep
complete -F _dash_z_zone pkill
complete -F _dash_z_zone ps
complete -F _dash_z_zone ptree
complete -F _dash_z_zone wall
|