Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 18.220.196.68
# nmcli completion -*- shell-script -*-
# Use of this file is deprecated. Upstream completion is available in
# NetworkManager >= 0.9.8.0, use that instead.
_nmcli_list()
{
COMPREPLY=($(compgen -W '$1' -- "$cur"))
}
_nmcli_con_id()
{
local IFS=$'\n'
COMPREPLY=($(compgen -W "$(nmcli con list 2>/dev/null |
tail -n +2 | awk -F ' {2,}' '{print $1 }')" -- "$cur"))
}
_nmcli_con_uuid()
{
COMPREPLY=($(compgen -W "$(nmcli con list 2>/dev/null |
tail -n +2 | awk -F ' {2,}' '{print $2}')" -- "$cur"))
}
_nmcli_ap_ssid()
{
local IFS=$'\n'
COMPREPLY=($(compgen -W "$(nmcli dev wifi list 2>/dev/null |
tail -n +2 | awk -F ' {2,}' '{print $1}')" -- "$cur"))
}
_nmcli_ab_bssid()
{
COMPREPLY=($(compgen -W "$(nmcli dev wifi list 2>/dev/null |
tail -n +2 | awk -F ' {2,}' '{print $2}')" -- "$cur"))
}
_nmcli()
{
local cur prev words cword
_init_completion || return
case $prev in
-m | --mode)
COMPREPLY=($(compgen -W 'tabular multiline' -- "$cur"))
return
;;
-f | --fields)
COMPREPLY=($(compgen -W 'all common' -- "$cur"))
return
;;
-e | --escape)
_nmcli_list "yes no"
return
;;
id)
_nmcli_con_id
return
;;
uuid)
_nmcli_con_uuid
return
;;
iface)
_available_interfaces
return
;;
bssid)
_nmcli_ab_bssid
return
;;
wep-key-type)
_nmcli_list "key phrase"
return
;;
esac
if ((cword == 1)); then
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '--terse --pretty --mode --fields
--escape --version --help' -- "$cur"))
else
COMPREPLY=($(compgen -W "nm con dev" -- "$cur"))
fi
else
local object=${words[1]}
local command=${words[2]}
case $object in
nm)
case $command in
enable)
_nmcli_list "true false"
return
;;
sleep)
_nmcli_list "true false"
return
;;
wifi)
_nmcli_list "on off"
return
;;
wwan)
_nmcli_list "on off"
return
;;
wimax)
_nmcli_list "on off"
return
;;
esac
COMPREPLY=($(compgen -W 'status permissions enable sleep
wifi wwan wimax' -- "$cur"))
;;
con)
case $command in
list)
COMPREPLY=($(compgen -W 'id uuid' -- "$cur"))
return
;;
up)
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '--nowait --timeout' \
-- "$cur"))
else
COMPREPLY=($(compgen -W 'id uuid iface ap nsp' \
-- "$cur"))
fi
return
;;
down)
COMPREPLY=($(compgen -W 'id uuid' -- "$cur"))
return
;;
delete)
COMPREPLY=($(compgen -W 'id uuid' -- "$cur"))
return
;;
esac
COMPREPLY=($(compgen -W 'list status up down delete' \
-- "$cur"))
;;
dev)
case $command in
list)
COMPREPLY=($(compgen -W 'iface' -- "$cur"))
return
;;
disconnect)
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '--nowait --timeout' \
-- "$cur"))
else
COMPREPLY=($(compgen -W 'iface' -- "$cur"))
fi
return
;;
wifi)
local subcommand=${words[3]}
case $subcommand in
list)
COMPREPLY=($(compgen -W 'iface bssid' \
-- "$cur"))
return
;;
connect)
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '--private
--nowait --timeout' -- "$cur"))
else
if [[ $prev == "connect" ]]; then
_nmcli_ap_ssid
else
COMPREPLY=($(compgen -W 'password
wep-key-type iface bssid name' \
-- "$cur"))
fi
fi
return
;;
esac
COMPREPLY=($(compgen -W 'list connect' -- "$cur"))
return
;;
esac
COMPREPLY=($(compgen -W 'status list disconnect wifi' \
-- "$cur"))
;;
esac
fi
} &&
complete -F _nmcli nmcli
# ex: filetype=sh
|