Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.138.34.93
# bash completion for xm -*- shell-script -*-
# Use of this file is deprecated. The 'xm' command itself is no longer
# provided by upstream. It has been replaced with the 'xl' command, for
# which upstream provides completion, use that instead.
_xen_domain_names()
{
COMPREPLY=($(compgen -W "$(xm list 2>/dev/null |
awk '!/Name|Domain-0/ { print $1 }')" -- "$cur"))
}
_xen_domain_ids()
{
COMPREPLY=($(compgen -W "$(xm list 2>/dev/null |
awk '!/Name|Domain-0/ { print $2 }')" -- "$cur"))
}
_xm()
{
local cur prev words cword
_init_completion || return
# TODO: _split_longopt
local args command commands options
commands='console vncviewer create new delete destroy domid domname
dump-core list mem-max mem-set migrate pause reboot rename reset
restore resume save shutdown start suspend sysrq trigger top unpause
uptime usb-add usb-del vcpu-list vcpu-pin vcpu-set debug-keys dmesg
info log serve sched-credit sched-sedf block-attach block-detach
block-list block-configure network-attach network-detach network-list
vtpm-list pci-attach pci-detach pci-list pci-list-assignable-devices
scsi-attach scsi-detach scsi-list vnet-list vnet-create vnet-delete
labels addlabel rmlabel getlabel dry-run resources dumppolicy setpolicy
resetpolicy getpolicy shell help'
if ((cword == 1)); then
COMPREPLY=($(compgen -W "$commands" -- "$cur"))
else
if [[ $cur == *=* ]]; then
prev=${cur/=*/}
cur=${cur/*=/}
fi
command=${words[1]}
if [[ $cur == -* ]]; then
# possible options for the command
case $command in
create)
options='-c'
;;
dmesg)
options='--clear'
;;
list)
options='--long'
;;
reboot)
options='-w -a'
;;
shutdown)
options='-w -a -R -H'
;;
sched-credit)
options='-d -w -c'
;;
block-list | network-list | vtpm-list | vnet-list)
options='-l --long'
;;
getpolicy)
options='--dumpxml'
;;
new)
options='-h --help --help_config -q --quiet --path= -f=
--defconfig= -F= --config= -b --dryrun -x --xmldryrun
-s --skipdtd -p --paused -c --console_autoconnect'
;;
esac
COMPREPLY=($(compgen -W "$options" -- "$cur"))
else
case $command in
console | destroy | domname | domid | list | mem-set | mem-max | \
pause | reboot | rename | shutdown | unpause | vcpu-list | vcpu-pin | \
vcpu-set | block-list | network-list | vtpm-list)
_count_args
case $args in
2)
_xen_domain_names
;;
esac
;;
migrate)
_count_args
case $args in
2)
_xen_domain_names
;;
3)
_known_hosts_real -- "$cur"
;;
esac
;;
restore | dry-run | vnet-create)
_filedir
;;
save)
_count_args
case $args in
2)
_xen_domain_names
;;
3)
_filedir
;;
esac
;;
sysrq)
_count_args
case $args in
2)
_xen_domain_names
;;
3)
COMPREPLY=($(compgen -W "r s e i u b" -- "$cur"))
;;
esac
;;
block-attach)
_count_args
case $args in
2)
_xen_domain_names
;;
3)
COMPREPLY=($(compgen -W "phy: file:" -- "$cur"))
;;
5)
COMPREPLY=($(compgen -W "w r" -- "$cur"))
;;
6)
_xen_domain_names
;;
esac
;;
block-detach)
_count_args
case $args in
2)
_xen_domain_names
;;
3)
COMPREPLY=($(compgen -W "$(xm block-list $prev \
2>/dev/null | awk '!/Vdev/ { print $1 }')" \
-- "$cur"))
;;
esac
;;
network-attach)
_count_args
case $args in
2)
_xen_domain_names
;;
*)
COMPREPLY=($(compgen -W "script= ip= mac= bridge=
backend=" -- "$cur"))
;;
esac
;;
network-detach)
_count_args
case $args in
2)
_xen_domain_names
;;
3)
COMPREPLY=($(compgen -W "$(xm network-list $prev \
2>/dev/null | awk '!/Idx/ { print $1 }')" \
-- "$cur"))
;;
esac
;;
sched-credit)
case $prev in
-d)
_xen_domain_names
return
;;
esac
;;
create)
_filedir
COMPREPLY+=(
$(compgen -W '$(command ls /etc/xen 2>/dev/null)' \
-- "$cur"))
;;
new)
case $prev in
-f | -F | --defconfig | --config)
_filedir
return
;;
--path)
_filedir -d
return
;;
esac
_count_args
case $args in
2)
_xen_domain_names
;;
esac
;;
esac
fi
fi
} &&
complete -F _xm xm
# ex: filetype=sh
|