mirror of
https://github.com/gryf/vboxmanage-bash-completion.git
synced 2026-03-26 11:43:31 +01:00
Compare commits
11 Commits
c93cfdb0f1
...
7.0.6
| Author | SHA1 | Date | |
|---|---|---|---|
| 59ffe61fd6 | |||
| 7c13b0ab6b | |||
| 67ac4d655f | |||
| 8dd76f3295 | |||
| 8fd579c2cd | |||
| 51a393f8fe | |||
| f23ce2aedb | |||
| 350e0aedaf | |||
| 25d7fb4048 | |||
| 0077621f1b | |||
| 52aa7111fa |
@@ -6,7 +6,7 @@ script. However, in some point of time I've decided to rewrite it almost from
|
|||||||
scratch.
|
scratch.
|
||||||
|
|
||||||
Current version of script was written and tested against VBoxManage in version
|
Current version of script was written and tested against VBoxManage in version
|
||||||
6.1.38, and should contain all commands and their options.
|
7.0.6, and should contain all commands and their options.
|
||||||
|
|
||||||
Unlike other attempts, I've tried to make the script context aware. See the
|
Unlike other attempts, I've tried to make the script context aware. See the
|
||||||
simple session with the VBoxManage command below, to have an idea how it works:
|
simple session with the VBoxManage command below, to have an idea how it works:
|
||||||
|
|||||||
437
VBoxManage
437
VBoxManage
@@ -4,7 +4,7 @@
|
|||||||
# URL: https://bitbucket.org/gryf/vboxmanage-bash-completion
|
# URL: https://bitbucket.org/gryf/vboxmanage-bash-completion
|
||||||
# URL: https://github.com/gryf/vboxmanage-bash-completion
|
# URL: https://github.com/gryf/vboxmanage-bash-completion
|
||||||
# License: 3-clause BSD-style license (see LICENSE file)
|
# License: 3-clause BSD-style license (see LICENSE file)
|
||||||
# Version: 6.1.38
|
# Version: 7.0.6
|
||||||
|
|
||||||
|
|
||||||
_VBoxManage() {
|
_VBoxManage() {
|
||||||
@@ -41,7 +41,7 @@ _VBoxManage() {
|
|||||||
|
|
||||||
result=""
|
result=""
|
||||||
for i in $@; do
|
for i in $@; do
|
||||||
[[ " ${COMP_WORDS[@]} " == *" $i "* ]] && continue
|
[[ " ${COMP_WORDS[*]} " == *" $i "* ]] && continue
|
||||||
result="$result $i"
|
result="$result $i"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ _VBoxManage() {
|
|||||||
|
|
||||||
result=""
|
result=""
|
||||||
for i in $@; do
|
for i in $@; do
|
||||||
if [[ " ${COMP_WORDS[@]} " == *" $i "* ]]; then
|
if [[ " ${COMP_WORDS[*]} " == *" $i "* ]]; then
|
||||||
result="ITIS"
|
result="ITIS"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -423,7 +423,7 @@ _VBoxManage() {
|
|||||||
# foo bar disk baz
|
# foo bar disk baz
|
||||||
# will search for word disk.
|
# will search for word disk.
|
||||||
_get_medium () {
|
_get_medium () {
|
||||||
case "${COMP_WORDS[COMP_CWORD-2]}" in
|
case "${COMP_WORDS[$COMP_CWORD-2]}" in
|
||||||
disk)
|
disk)
|
||||||
_hdd_comp
|
_hdd_comp
|
||||||
;;
|
;;
|
||||||
@@ -475,9 +475,9 @@ _VBoxManage() {
|
|||||||
COMP_WORDBREAKS=${COMP_WORDBREAKS//|/} # remove pipe from comp word breaks
|
COMP_WORDBREAKS=${COMP_WORDBREAKS//|/} # remove pipe from comp word breaks
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
|
|
||||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
cur="${COMP_WORDS[$COMP_CWORD]}"
|
||||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
prev="${COMP_WORDS[$COMP_CWORD-1]}"
|
||||||
if [[ COMP_CWORD -ge 2 ]]; then
|
if [[ $COMP_CWORD -ge 2 ]]; then
|
||||||
cmd="${COMP_WORDS[1]}"
|
cmd="${COMP_WORDS[1]}"
|
||||||
if [[ $cmd == "-q" ]]; then
|
if [[ $cmd == "-q" ]]; then
|
||||||
cmd="${COMP_WORDS[2]}"
|
cmd="${COMP_WORDS[2]}"
|
||||||
@@ -507,13 +507,13 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
bandwidthctl)
|
bandwidthctl)
|
||||||
local items=(add set remove list)
|
local items=( add list remove set )
|
||||||
if [[ ${prev} == ${cmd} ]]; then
|
if [[ ${prev} == ${cmd} ]]; then
|
||||||
_vms_comp vms
|
_vms_comp vms
|
||||||
else
|
else
|
||||||
_find_item_name 2
|
_find_item_name 2
|
||||||
subcommand=${COMP_WORDS[$((index+1))]}
|
subcommand=${COMP_WORDS[$((index+1))]}
|
||||||
if [[ " ${items[@]} " == *" $subcommand "* ]]; then
|
if [[ " ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
add)
|
add)
|
||||||
items=(--type --limit)
|
items=(--type --limit)
|
||||||
@@ -524,7 +524,7 @@ _VBoxManage() {
|
|||||||
if [[ ${prev} == "set" ]]; then
|
if [[ ${prev} == "set" ]]; then
|
||||||
_bandwidthctl_comp
|
_bandwidthctl_comp
|
||||||
else
|
else
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --limit "* ]] && \
|
[[ " ${COMP_WORDS[*]} " != *" --limit "* ]] && \
|
||||||
COMPREPLY=( $(compgen -W "--limit" -- \
|
COMPREPLY=( $(compgen -W "--limit" -- \
|
||||||
${cur}) )
|
${cur}) )
|
||||||
fi
|
fi
|
||||||
@@ -563,35 +563,30 @@ _VBoxManage() {
|
|||||||
|
|
||||||
clonemedium)
|
clonemedium)
|
||||||
if [[ ${prev} == ${cmd} ]]; then
|
if [[ ${prev} == ${cmd} ]]; then
|
||||||
COMPREPLY=( $(compgen -W "disk dvd floppy" -- ${cur}) )
|
_hdd_comp
|
||||||
|
_floppy_comp
|
||||||
|
_dvds_comp
|
||||||
|
elif [[ ${#COMP_WORDS[@]} -eq 4 ]]; then
|
||||||
|
COMPREPLY=( $(compgen -f -- ${cur}) )
|
||||||
else
|
else
|
||||||
|
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
disk)
|
--format)
|
||||||
_hdd_comp
|
COMPREPLY=( $(compgen -W "VDI VMDK VHD RAW" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
dvd)
|
--variant)
|
||||||
_dvds_comp
|
COMPREPLY=( $(compgen -W "Standard Fixed Split2G Stream
|
||||||
;;
|
ESX" -- ${cur}) )
|
||||||
floppy)
|
|
||||||
_floppy_comp
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
_find_item_name 2
|
items=( --existing --format --variant )
|
||||||
items=(--format --variant --existing)
|
[[ " ${COMP_WORDS[*]} " != *" disk "* &&
|
||||||
|
" ${COMP_WORDS[*]} " != *" dvd "* &&
|
||||||
|
" ${COMP_WORDS[*]} " != *" floppy "* ]] &&
|
||||||
|
items+=(disk dvd floppy)
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
|
;;
|
||||||
case "${prev}" in
|
|
||||||
--format)
|
|
||||||
COMPREPLY=( $(compgen -W "VDI VMDK VHD RAW" --\
|
|
||||||
${cur}) )
|
|
||||||
;;
|
|
||||||
--variant)
|
|
||||||
COMPREPLY=( $(compgen -W "Standard Fixed Split2G
|
|
||||||
Stream ESX" -- ${cur}) )
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -987,11 +982,12 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
convertfromraw)
|
convertfromraw)
|
||||||
local items=(--format --variant --uuid)
|
|
||||||
|
|
||||||
if [[ ${prev} == ${cmd} ]]; then
|
if [[ ${prev} == ${cmd} ]]; then
|
||||||
COMPREPLY=( $(compgen -W "${items[*]}" -- ${cur}) )
|
COMPREPLY=( $(compgen -f -- ${cur}) )
|
||||||
|
elif [[ ${#COMP_WORDS[@]} -eq 4 ]]; then
|
||||||
|
COMPREPLY=( $(compgen -f -- ${cur}) )
|
||||||
else
|
else
|
||||||
|
items=(--format --variant --uuid)
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
@@ -1016,8 +1012,8 @@ _VBoxManage() {
|
|||||||
COMPREPLY=( $(compgen -W "${items[*]}" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "${items[*]}" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
[[ " ${COMP_WORDS[@]} " == *" --size "* ||
|
[[ " ${COMP_WORDS[*]} " == *" --size "* ||
|
||||||
" ${COMP_WORDS[@]} " == *" --sizebyte "* ]] &&
|
" ${COMP_WORDS[*]} " == *" --sizebyte "* ]] &&
|
||||||
items=(--filename --diffparent --format --variant)
|
items=(--filename --diffparent --format --variant)
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
@@ -1031,12 +1027,12 @@ _VBoxManage() {
|
|||||||
_hdd_comp
|
_hdd_comp
|
||||||
;;
|
;;
|
||||||
--format)
|
--format)
|
||||||
COMPREPLY=( $(compgen -W "VDI VMDK VHD" --\
|
COMPREPLY=( $(compgen -W "VDI VMDK VHD" \
|
||||||
${cur}) )
|
-- ${cur}) )
|
||||||
;;
|
;;
|
||||||
--variant)
|
--variant)
|
||||||
COMPREPLY=( $(compgen -W "Standard Fixed Split2G
|
COMPREPLY=( $(compgen -W "Standard Fixed Split2G
|
||||||
Stream ESX Formatted" -- ${cur}) )
|
Stream ESX Formatted RawDisk" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@@ -1421,203 +1417,147 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
guestcontrol)
|
guestcontrol)
|
||||||
local items=(run start copyfrom copyto mkdir createdir
|
local items=( run start copyfrom copyto mkdir rmdir rm mv mktemp
|
||||||
createdirectory rmdir removedir removedirectory removefile rm mv
|
stat list closeprocess closesession updatega watch )
|
||||||
move ren rename mktemp createtemp createtemporary stat list
|
|
||||||
closeprocess closesession updatega updateguestadditions
|
|
||||||
updateadditions watch)
|
|
||||||
|
|
||||||
if [[ ${prev} == ${cmd} ]]; then
|
if [[ ${prev} == ${cmd} ]]; then
|
||||||
_vms_comp runningvms
|
_vms_comp runningvms
|
||||||
else
|
else
|
||||||
_find_item_name 2
|
_find_item_name 2
|
||||||
subcommand=${COMP_WORDS[$((index+1))]}
|
subcommand=${COMP_WORDS[$((index+1))]}
|
||||||
if [[ " ${items[@]} " == *" $subcommand "* ]]; then
|
if [[ " ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
run)
|
run)
|
||||||
items=(--exe --timeout --unquoted-args
|
items=( --domain --dos2unix --exe
|
||||||
--ignore-operhaned-processes --profile
|
--ignore-operhaned-processes --profile --putenv
|
||||||
--dos2unix --unix2dos --username --domain --)
|
--quiet --timeout --unix2dos --unquoted-args
|
||||||
|
--username --verbose -- )
|
||||||
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* ||
|
[[ " ${COMP_WORDS[*]} " != *" --password "* ||
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --putenv "* &&
|
[[ " ${COMP_WORDS[*]} " != *" --no-wait-stdout "* &&
|
||||||
" ${COMP_WORDS[@]} " != *" -E "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --wait-stdout "* ]] &&
|
||||||
items+=(--putenv -E)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --no-wait-stdout "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --wait-stdout "* ]] &&
|
|
||||||
items+=(--no-wait-stdout --wait-stdout)
|
items+=(--no-wait-stdout --wait-stdout)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --no-wait-stderr"* &&
|
[[ " ${COMP_WORDS[*]} " != *" --no-wait-stderr"* &&
|
||||||
" ${COMP_WORDS[@]} " != *" --wait-stderr "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --wait-stderr "* ]] &&
|
||||||
items+=(--no-wait-stderr --wait-stderr)
|
items+=(--no-wait-stderr --wait-stderr)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
start)
|
start)
|
||||||
items=(--exe --timeout --unquoted-args
|
items=( --domain --exe --ignore-orphaned-processes
|
||||||
--ignore-operhaned-processes --profile
|
--profile --putenv --quiet --timeout
|
||||||
--username --domain --passwordfile --password --)
|
--unquoted-args --username --verbose -- )
|
||||||
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* ||
|
[[ " ${COMP_WORDS[*]} " != *" --password "* ||
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
copyfrom|copyto)
|
copyfrom|copyto)
|
||||||
items=(--follow --target-directory --username
|
items=( --dereference --domain --quiet --no-replace
|
||||||
--domain)
|
--recursive --target-directory --update
|
||||||
|
--username --verbose )
|
||||||
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --recursive "* &&
|
[[ " ${COMP_WORDS[*]} " != *" --password "* ||
|
||||||
" ${COMP_WORDS[@]} " != *" -R "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--recursive -R)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* ||
|
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
createdirectory|createdir|mkdir)
|
mkdir)
|
||||||
items=(--parents --mode --username --domain)
|
items=( --domain --mode --parents --quiet
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* ||
|
--username --verbose )
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
[[ " ${COMP_WORDS[*]} " != *" --password "* ||
|
||||||
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
removedir|removedirectory|rmdir)
|
rmdir)
|
||||||
items=(--username --domain)
|
items=( --domain --quiet --recursive --username
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* &&
|
--verbose )
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
[[ " ${COMP_WORDS[*]} " != *" --password "* &&
|
||||||
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --recursive "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -R "* ]] &&
|
|
||||||
items+=(--recursive -R)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
removefile|rm)
|
rm)
|
||||||
items=(--username --domain)
|
items=( --domain --force --quiet --username
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --force "* &&
|
--verbose )
|
||||||
" ${COMP_WORDS[@]} " != *" -f "* ]] &&
|
[[ " ${COMP_WORDS[*]} " != *" --password "* &&
|
||||||
items+=(--force -f)
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
rename|ren|move|mv)
|
mv)
|
||||||
items=(--username --domain)
|
items=( --domain --quiet --username --verbose )
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* &&
|
[[ " ${COMP_WORDS[*]} " != *" --password "* &&
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
createtemporary|createtemp|mktemp)
|
mktemp)
|
||||||
items=(--username --domain --secure --tmpdir --mode)
|
items=( --directory --domain --mode --quiet --secure
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* &&
|
--tmpdir --username --verbose )
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
[[ " ${COMP_WORDS[*]} " != *" --password "* &&
|
||||||
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
items+=(--passwordfile --password)
|
items+=(--passwordfile --password)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
stat)
|
||||||
|
if [[ "${cur}" == "stat" ]]; then
|
||||||
|
COMPREPLY=( $(compgen -- ${cur}) )
|
||||||
|
else
|
||||||
|
items=( --domain --quiet --username --verbose )
|
||||||
|
[[ " ${COMP_WORDS[*]} " != *" --password "* &&
|
||||||
|
" ${COMP_WORDS[*]} " != *" --passwordfile "* ]] &&
|
||||||
|
items+=(--passwordfile --password)
|
||||||
|
|
||||||
|
_get_excluded_items "${items[@]}"
|
||||||
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
list)
|
list)
|
||||||
items=()
|
items=( --quiet --verbose )
|
||||||
[[ " ${COMP_WORDS[@]} " != *" all "* &&
|
[[ " ${COMP_WORDS[*]} " != *" all "* &&
|
||||||
" ${COMP_WORDS[@]} " != *" sessions "* &&
|
" ${COMP_WORDS[*]} " != *" sessions "* &&
|
||||||
" ${COMP_WORDS[@]} " != *" processes "* &&
|
" ${COMP_WORDS[*]} " != *" processes "* &&
|
||||||
" ${COMP_WORDS[@]} " != *" files "* ]] &&
|
" ${COMP_WORDS[*]} " != *" files "* ]] &&
|
||||||
items+=(all sessions processes files)
|
items+=(all sessions processes files)
|
||||||
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
closeprocess)
|
closeprocess)
|
||||||
items=()
|
items=( --quiet --verbose )
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
[[ " ${COMP_WORDS[*]} " != *" --session-id "* ]] &&
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --session-id "* ]] &&
|
|
||||||
items+=(--session-name)
|
items+=(--session-name)
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --session-name "* ]] &&
|
[[ " ${COMP_WORDS[*]} " != *" --session-name "* ]] &&
|
||||||
items+=(--session-id)
|
items+=(--session-id)
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
@@ -1625,97 +1565,31 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
closesession)
|
closesession)
|
||||||
items=()
|
items=( --quiet --verbose )
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
[[ " ${COMP_WORDS[*]} " != *" --session-id "* &&
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
" ${COMP_WORDS[*]} " != *" --session-name "* &&
|
||||||
items+=(--verbose -v)
|
" ${COMP_WORDS[*]} " != *" --all "* ]] &&
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --session-id "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --session-name "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --all "* ]] &&
|
|
||||||
items+=(--session-id --session-name --all)
|
items+=(--session-id --session-name --all)
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
process)
|
|
||||||
if [[ " ${COMP_WORDS[@]} " == *" process kill "* ]];
|
|
||||||
then
|
|
||||||
items=(--verbose)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --session-name "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --session-id "* ]] &&
|
|
||||||
items+=(--session-id --session-name)
|
|
||||||
_get_excluded_items "${items[@]}"
|
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
|
||||||
else
|
|
||||||
_get_excluded_items "kill"
|
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
stat)
|
|
||||||
if [[ "${cur}" == "stat" ]]; then
|
|
||||||
COMPREPLY=( $(compgen -- ${cur}) )
|
|
||||||
else
|
|
||||||
items=(--username --domain --verbose)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --password "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --passwordfile "* ]] &&
|
|
||||||
items+=(--passwordfile --password)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
updatega|updateguestadditions|updateadditions)
|
|
||||||
items=(--source --wait-start)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
|
updatega)
|
||||||
|
items=( --quiet --verbose --source --wait-start )
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
watch)
|
watch)
|
||||||
items=()
|
items=( --quiet --verbose )
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --verbose "* &&
|
_get_excluded_items "${items[@]}"
|
||||||
" ${COMP_WORDS[@]} " != *" -v "* ]] &&
|
|
||||||
items+=(--verbose -v)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --quiet "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" -q "* ]] &&
|
|
||||||
items+=(--quiet -q)
|
|
||||||
|
|
||||||
_get_excluded_items "--verbose"
|
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
close)
|
|
||||||
items=(--verbose)
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --session-name "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --session-id "* &&
|
|
||||||
" ${COMP_WORDS[@]} " != *" --all "* ]] &&
|
|
||||||
items+=(--session-id --session-name --all)
|
|
||||||
_get_excluded_items "${items[@]}"
|
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
|
||||||
;;
|
|
||||||
--image)
|
|
||||||
COMPREPLY=( $(compgen -- ${cur}) )
|
|
||||||
;;
|
|
||||||
--target-directory|--tmpdir)
|
--target-directory|--tmpdir)
|
||||||
COMPREPLY=( $(compgen -o dirnames -- ${cur}) )
|
COMPREPLY=( $(compgen -o dirnames -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
@@ -1744,7 +1618,7 @@ _VBoxManage() {
|
|||||||
|
|
||||||
if [[ "${prev}" == "${subcommand}" ]]; then
|
if [[ "${prev}" == "${subcommand}" ]]; then
|
||||||
_vms_comp vms
|
_vms_comp vms
|
||||||
elif [[ " ${items[@]} " == *" $subcommand "* ]]; then
|
elif [[ " ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
get)
|
get)
|
||||||
_get_excluded_items "--verbose"
|
_get_excluded_items "--verbose"
|
||||||
@@ -1755,7 +1629,8 @@ _VBoxManage() {
|
|||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
enumerate)
|
enumerate)
|
||||||
_get_excluded_items "--patterns"
|
_get_excluded_items "--no-timestamp --no-flags --relative
|
||||||
|
--old-format"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
wait)
|
wait)
|
||||||
@@ -1780,18 +1655,18 @@ _VBoxManage() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ ${#COMPREPLY[@]} -eq 0 && \
|
if [[ ${#COMPREPLY[@]} -eq 0 && \
|
||||||
" ${items[@]} " == *" $subcommand "* ]]; then
|
" ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
ipconfig)
|
ipconfig)
|
||||||
items=(--dhcp --ip --ipv6 --netmask --netmasklengthv6)
|
items=(--dhcp --ip --ipv6 --netmask --netmasklengthv6)
|
||||||
[[ " ${COMP_WORDS[@]} " == *" --dhcp "* ]] && items=()
|
[[ " ${COMP_WORDS[*]} " == *" --dhcp "* ]] && items=()
|
||||||
[[ " ${COMP_WORDS[@]} " == *" --ip "* ]] &&
|
[[ " ${COMP_WORDS[*]} " == *" --ip "* ]] &&
|
||||||
items=(--netmask)
|
items=(--netmask)
|
||||||
[[ " ${COMP_WORDS[@]} " == *" --netmask "* ]] &&
|
[[ " ${COMP_WORDS[*]} " == *" --netmask "* ]] &&
|
||||||
items=(--ip)
|
items=(--ip)
|
||||||
[[ " ${COMP_WORDS[@]} " == *" --ipv6 "* ]] &&
|
[[ " ${COMP_WORDS[*]} " == *" --ipv6 "* ]] &&
|
||||||
items=(--netmasklengthv6)
|
items=(--netmasklengthv6)
|
||||||
[[ " ${COMP_WORDS[@]} " == *" --netmasklengthv6 "* ]] &&
|
[[ " ${COMP_WORDS[*]} " == *" --netmasklengthv6 "* ]] &&
|
||||||
items=(--ipv6)
|
items=(--ipv6)
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
@@ -1846,7 +1721,7 @@ _VBoxManage() {
|
|||||||
COMPREPLY=( $(compgen -o dirnames -- ${cur}) )
|
COMPREPLY=( $(compgen -o dirnames -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--eula)=
|
--eula)
|
||||||
COMPREPLY=( $(compgen -W "show accept" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "show accept" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
--settingsfile)
|
--settingsfile)
|
||||||
@@ -1919,7 +1794,7 @@ _VBoxManage() {
|
|||||||
disk|dvd|floppy)
|
disk|dvd|floppy)
|
||||||
COMPREPLY=( $(compgen -W "get set delete" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "get set delete" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
get|set|floppy)
|
get|set|delete)
|
||||||
_get_medium
|
_get_medium
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1927,9 +1802,9 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
metrics)
|
metrics)
|
||||||
items=(list setup query enable disable collect)
|
items=( collect disable enable list query setup )
|
||||||
subcommand=${COMP_WORDS[2]}
|
subcommand=${COMP_WORDS[2]}
|
||||||
if [[ " ${items[@]} " == *" $subcommand "* ]]; then
|
if [[ " ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
list|query)
|
list|query)
|
||||||
if [[ "${subcommand}" == "${prev}" ]]; then
|
if [[ "${subcommand}" == "${prev}" ]]; then
|
||||||
@@ -2463,20 +2338,20 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
natnetwork)
|
natnetwork)
|
||||||
items=(add remove modify start stop list)
|
items=( add list modify remove start stop )
|
||||||
subcommand=${COMP_WORDS[2]}
|
subcommand=${COMP_WORDS[2]}
|
||||||
if [[ "${prev}" == "--netname" ]]; then
|
if [[ "${prev}" == "--netname" ]]; then
|
||||||
_natnet_comp
|
_natnet_comp
|
||||||
elif [[ "${prev}" == "--dhcp" ]]; then
|
elif [[ "${prev}" == "--dhcp" || "${prev}" == "--ipv6" ]]; then
|
||||||
COMPREPLY=( $(compgen -W "on off" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "on off" -- ${cur}) )
|
||||||
elif [[ " ${items[@]} " == *" $subcommand "* ]]; then
|
elif [[ " ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
add|modify)
|
add|modify)
|
||||||
items=(--netname --network --dhcp --port-forward-4
|
items=(--netname --network --dhcp --port-forward-4
|
||||||
--loopback-4 --ipv6 --port-forward-6 --loopback-6)
|
--loopback-4 --ipv6 --port-forward-6 --loopback-6)
|
||||||
|
|
||||||
[[ " ${COMP_WORDS[@]} " != *" --enable"* &&
|
[[ " ${COMP_WORDS[*]} " != *" --enable"* &&
|
||||||
" ${COMP_WORDS[@]} " != *" --disable"* ]] &&
|
" ${COMP_WORDS[*]} " != *" --disable"* ]] &&
|
||||||
items+=(--enable --disable)
|
items+=(--enable --disable)
|
||||||
|
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
@@ -2676,7 +2551,7 @@ _VBoxManage() {
|
|||||||
else
|
else
|
||||||
_find_item_name 2
|
_find_item_name 2
|
||||||
subcommand=${COMP_WORDS[$((index+1))]}
|
subcommand=${COMP_WORDS[$((index+1))]}
|
||||||
if [[ " ${items[@]} " == *" $subcommand "* ]]; then
|
if [[ " ${items[*]} " == *" $subcommand "* ]]; then
|
||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
take)
|
take)
|
||||||
items=(--description --live --uniquename)
|
items=(--description --live --uniquename)
|
||||||
@@ -2740,17 +2615,21 @@ _VBoxManage() {
|
|||||||
_vms_comp vms
|
_vms_comp vms
|
||||||
else
|
else
|
||||||
_find_item_name 2
|
_find_item_name 2
|
||||||
local items=(--storagectl --port --device --type --medium --mtype
|
local items=( --bandwidthgroup --comment --device --discard
|
||||||
--comment --setuuid --setparentuuid --passthrough --tempeject
|
--encodedlun --forceunmount --hotpluggable --initiator --intnet
|
||||||
--nonrotational --discard --hotpluggable --bandwidthgroup
|
--lun --medium --mtype --nonrotational --passthrough --password
|
||||||
--forceunmount --server --target --tport --lun --encodedlun
|
--passwordfile --port --server --setparentuuid --setuuid
|
||||||
--username --password --initiator --intnet --passwordfile)
|
--storagectl --target --tempeject --tport --type --username )
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
|
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
--type)
|
--bandwidthgroup)
|
||||||
COMPREPLY=( $(compgen -W "dvddrive hdd fdd" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "none" -- ${cur}) )
|
||||||
|
;;
|
||||||
|
--discard|--hotpluggable|--nonrotational|--passthrough|\
|
||||||
|
--tempeject)
|
||||||
|
COMPREPLY=( $(compgen -W "on off" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
--medium)
|
--medium)
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
@@ -2767,19 +2646,19 @@ _VBoxManage() {
|
|||||||
COMPREPLY=( $(compgen -W "normal writethrough immutable
|
COMPREPLY=( $(compgen -W "normal writethrough immutable
|
||||||
shareable readonly multiattach" -- ${cur}) )
|
shareable readonly multiattach" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
--passthrough|--tempeject|--nonrotational|--discard)
|
|
||||||
COMPREPLY=( $(compgen -W "on off" -- ${cur}) )
|
|
||||||
;;
|
|
||||||
--passwordfile)
|
--passwordfile)
|
||||||
COMPREPLY=( $(compgen -f -- ${cur}) )
|
COMPREPLY=( $(compgen -f -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
--type)
|
||||||
|
COMPREPLY=( $(compgen -W "dvddrive hdd fdd" -- ${cur}) )
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
storagectl)
|
storagectl)
|
||||||
local items=(--name --add --controller --portcount --hostiocache
|
local items=( --add --bootable --controller --hostiocache --name
|
||||||
--bootable --rename --remove)
|
--portcount --remove --rename )
|
||||||
if [[ ${prev} == ${cmd} ]]; then
|
if [[ ${prev} == ${cmd} ]]; then
|
||||||
_vms_comp vms
|
_vms_comp vms
|
||||||
else
|
else
|
||||||
@@ -2787,12 +2666,13 @@ _VBoxManage() {
|
|||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
--add)
|
--add)
|
||||||
COMPREPLY=( $(compgen -W "ide sata scsi floppy
|
COMPREPLY=( $(compgen -W "floppy ide pcie sas sata scsi
|
||||||
sas usb pcie" -- ${cur}) )
|
usb" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
--controller)
|
--controller)
|
||||||
COMPREPLY=( $(compgen -W "LSILogic LSILogicSAS BusLogic
|
COMPREPLY=( $(compgen -W "BusLogic I82078 ICH6 IntelAhci
|
||||||
IntelAHCI PIIX3 PIIX4 ICH6 I82078 USB NVMe" -- ${cur}) )
|
LSILogic LSILogicSAS NVMe PIIX3 PIIX4 USB VirtIO" \
|
||||||
|
-- ${cur}) )
|
||||||
;;
|
;;
|
||||||
--bootable|--hostiocache)
|
--bootable|--hostiocache)
|
||||||
COMPREPLY=( $(compgen -W "on off" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "on off" -- ${cur}) )
|
||||||
@@ -2802,7 +2682,7 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
unattended)
|
unattended)
|
||||||
if [[ COMP_CWORD -ge 3 ]]; then
|
if [[ $COMP_CWORD -ge 3 ]]; then
|
||||||
subcommand="${COMP_WORDS[2]}"
|
subcommand="${COMP_WORDS[2]}"
|
||||||
if [[ $subcommand == "${cmd}" ]]; then
|
if [[ $subcommand == "${cmd}" ]]; then
|
||||||
subcommand="${COMP_WORDS[3]}"
|
subcommand="${COMP_WORDS[3]}"
|
||||||
@@ -2899,7 +2779,7 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
usbdevsource)
|
usbdevsource)
|
||||||
if [[ COMP_CWORD -ge 3 ]]; then
|
if [[ $COMP_CWORD -ge 3 ]]; then
|
||||||
subcommand="${COMP_WORDS[2]}"
|
subcommand="${COMP_WORDS[2]}"
|
||||||
if [[ $subcommand == "${cmd}" ]]; then
|
if [[ $subcommand == "${cmd}" ]]; then
|
||||||
subcommand="${COMP_WORDS[3]}"
|
subcommand="${COMP_WORDS[3]}"
|
||||||
@@ -2922,7 +2802,7 @@ _VBoxManage() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
usbfilter)
|
usbfilter)
|
||||||
if [[ COMP_CWORD -ge 3 ]]; then
|
if [[ $COMP_CWORD -ge 3 ]]; then
|
||||||
subcommand="${COMP_WORDS[2]}"
|
subcommand="${COMP_WORDS[2]}"
|
||||||
if [[ $subcommand == "${cmd}" ]]; then
|
if [[ $subcommand == "${cmd}" ]]; then
|
||||||
subcommand="${COMP_WORDS[3]}"
|
subcommand="${COMP_WORDS[3]}"
|
||||||
@@ -2948,8 +2828,9 @@ _VBoxManage() {
|
|||||||
case "${subcommand}" in
|
case "${subcommand}" in
|
||||||
add|modify)
|
add|modify)
|
||||||
local items=(--target --name --action --active
|
local items=(--target --name --action --active
|
||||||
--vendorid --productid --revision --manufacturer
|
--vendorid --productid --port --revision
|
||||||
--product --remote --serialnumber --maskedinterfaces)
|
--manufacturer --product --remote --serialnumber
|
||||||
|
--maskedinterfaces)
|
||||||
_get_excluded_items "${items[@]}"
|
_get_excluded_items "${items[@]}"
|
||||||
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
COMPREPLY=( $(compgen -W "$result" -- ${cur}) )
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user