Validation initiale
This commit is contained in:
51
functions/_zones
Normal file
51
functions/_zones
Normal file
@@ -0,0 +1,51 @@
|
||||
#compdef zoneadm zonecfg zlogin
|
||||
|
||||
_zones () {
|
||||
case "$service" in
|
||||
zoneadm) _zoneadm "$@";;
|
||||
zonecfg) _zonecfg "$@";;
|
||||
zlogin) _zlogin "$@";;
|
||||
*) _message "Unknow service $service";;
|
||||
esac
|
||||
}
|
||||
|
||||
_zlogin () {
|
||||
local -a zones
|
||||
zones=($(zonelist))
|
||||
_arguments \
|
||||
'-l[username]:username:_users' \
|
||||
'-C[console login]' \
|
||||
'-S[safe login]' \
|
||||
'-E[disable escape sequence character]' \
|
||||
'*:zone:($zones)' && return
|
||||
}
|
||||
|
||||
_zoneadm () {
|
||||
local -a zones
|
||||
zones=($(zonelist))
|
||||
_arguments \
|
||||
'-z[zone]:zone:($zones)' \
|
||||
'*:command:(boot halt install list ready uninstall verify reboot)' && return
|
||||
}
|
||||
|
||||
_zonecfg () {
|
||||
local -a zones
|
||||
zones=($(zonelist))
|
||||
_arguments \
|
||||
'-z[zone]:zone:($zones)' \
|
||||
'-f[command file]:file:_files' && return
|
||||
}
|
||||
|
||||
zonelist () {
|
||||
local -a zones
|
||||
|
||||
# Fetch zone lists from /etc/zones/index
|
||||
zones=(${${(a)"${(f)$(< /etc/zones/index)}"##\#*}//:*}) #" prevent vim become crazy
|
||||
|
||||
# Remove global zone from list "
|
||||
zones[(r)global]=''
|
||||
|
||||
echo -n $zones
|
||||
}
|
||||
|
||||
return 1
|
||||
Reference in New Issue
Block a user