Skip to content

Commit 59a4673

Browse files
committed
Use zoneadm -n, separate running and configured zones, add svccfg -z
1 parent a3bf815 commit 59a4673

File tree

3 files changed

+27
-26
lines changed

3 files changed

+27
-26
lines changed

dladm

-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ _dladm()
1212
if [[ ${prev} == 'dladm' ]]; then
1313
local cmds="$(dladm 2>&1 | awk '/^ / { print $1 }')"
1414
COMPREPLY=( $(compgen -W "${cmds}" -- ${cur}) )
15-
elif [[ ${prev} =~ "-z" ]]; then
16-
# Some illumos OS distributions have zone-aware dladm. Treat -z as a zone name option
17-
local zones="$(zoneadm list -c | grep -v '^global$')"
18-
COMPREPLY=( $(compgen -W "${zones}" -- ${cur}) )
1915
elif [[ ${prev} =~ 'delete-vnic' ]]; then
2016
# Redirect stderr to /dev/null not to polute console, e.g.:
2117
# dladm: could not open /dev/dld: object not found

svcadm

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
_gen_zoneadm_list()
2626
{
2727
if [[ ${prev} =~ "-z" ]]; then
28-
local zones="$(zoneadm list -c | grep -v '^global$')"
28+
local zones="$(zoneadm list -n)"
2929
COMPREPLY=( $(compgen -W "${zones}" -- ${cur}) )
3030
fi
3131
}

zones

+26-21
Original file line numberDiff line numberDiff line change
@@ -31,43 +31,48 @@ _zlogin()
3131
esac
3232
else
3333
# Provide running zone names
34-
local zones=$(zoneadm list | grep -v '^global$')
34+
local zones=$(zoneadm list -n)
3535
COMPREPLY=( $(compgen -W "${zones}" -- ${cur}) )
3636
fi
3737
}
3838

39-
# Many illumos utilities are zone-aware through the -z option
4039
_dash_z_zone()
4140
{
4241
local cur prev
4342
cur="${COMP_WORDS[COMP_CWORD]}"
4443
prev="${COMP_WORDS[COMP_CWORD-1]}"
4544

4645
if [[ ${prev} =~ "-z" ]]; then
47-
# Provide running zone names
48-
local zones="$(zoneadm list -c | grep -v '^global$')"
46+
local zones="$(zoneadm list -n $*)"
4947
COMPREPLY=( $(compgen -W "${zones}" -- ${cur}) )
5048
fi
5149
}
5250

51+
_dash_z_zone_running() { _dash_z_zone; }
52+
_dash_z_zone_configured() { _dash_z_zone -c; }
53+
54+
# Many illumos utilities are zone-aware through the -z option
55+
5356
complete -F _zlogin zlogin
54-
complete -F _dash_z_zone allocate
55-
complete -F _dash_z_zone auditreduce
56-
complete -F _dash_z_zone deallocate
57-
complete -F _dash_z_zone ipfs
58-
complete -F _dash_z_zone ipfstat
59-
complete -F _dash_z_zone ipmon
60-
complete -F _dash_z_zone ipnat
61-
complete -F _dash_z_zone ippool
62-
complete -F _dash_z_zone pgrep
63-
complete -F _dash_z_zone pkill
64-
complete -F _dash_z_zone ps
65-
complete -F _dash_z_zone psrset
66-
complete -F _dash_z_zone ptree
67-
complete -F _dash_z_zone svcprop
68-
complete -F _dash_z_zone wall
69-
complete -F _dash_z_zone zoneadm
70-
complete -F _dash_z_zone zonecfg
57+
complete -F _dash_z_zone_running allocate
58+
complete -F _dash_z_zone_running deallocate
59+
complete -F _dash_z_zone_running ipfs
60+
complete -F _dash_z_zone_running ipfstat
61+
complete -F _dash_z_zone_running ipmon
62+
complete -F _dash_z_zone_running ipnat
63+
complete -F _dash_z_zone_running ippool
64+
complete -F _dash_z_zone_running pgrep
65+
complete -F _dash_z_zone_running pkill
66+
complete -F _dash_z_zone_running ps
67+
complete -F _dash_z_zone_running psrset
68+
complete -F _dash_z_zone_running ptree
69+
complete -F _dash_z_zone_running svccfg
70+
complete -F _dash_z_zone_running svcprop
71+
complete -F _dash_z_zone_running wall
72+
73+
complete -F _dash_z_zone_configured auditreduce
74+
complete -F _dash_z_zone_configured zoneadm
75+
complete -F _dash_z_zone_configured zonecfg
7176

7277
# ex: filetype=sh
7378
# vim: tabstop=2 shiftwidth=2 expandtab smartindent

0 commit comments

Comments
 (0)