[libvirt] [PATCH 11/19] vsh: Fix completion error in case of multiple mac addresses
Michal Privoznik
mprivozn at redhat.com
Mon Nov 2 19:40:54 UTC 2020
On 11/2/20 9:26 AM, Lin Ma wrote:
> We know that the bash completer automatically handle colon by preceding
> it with an escape character backslash.
> While our bash autompletion file vsh completes multiple items, In case
> there're multiple items which have same prefix and the content of completion
> items contain colon(say mac address), The vsh needs to correctly hands
> the backslash which are added by bash completer, Otherwise the completion
> won't be successful. This patch fixes this problem.
>
> e.g.:
>
> # virsh domiflist --domain VM
> Interface Type Source Model MAC
> -------------------------------------------------------------
> vnet0 network default virtio 52:54:00:fb:7b:f5
> vnet1 bridge br0 virtio 52:54:00:80:1b:21
>
> Before:
> # virsh detach-interface --domain VM --mac <TAB>
> # virsh detach-interface --domain VM --mac 52\:54\:00\:<TAB><TAB>
>
> After:
> # virsh detach-interface --domain VM --mac <TAB>
> # virsh detach-interface --domain VM --mac 52\:54\:00\:<TAB><TAB>
> 52:54:00:80:1b:21 52:54:00:fb:7b:f5
> # virsh detach-interface --domain VM --mac 52\:54\:00\:
>
> Signed-off-by: Lin Ma <lma at suse.com>
> ---
> tools/bash-completion/vsh | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/bash-completion/vsh b/tools/bash-completion/vsh
> index 8493cad28b..fb38e8616f 100644
> --- a/tools/bash-completion/vsh
> +++ b/tools/bash-completion/vsh
> @@ -39,6 +39,7 @@ _vsh_complete()
> fi
>
> INPUT=( "${COMP_WORDS[@]:$i:$COMP_CWORD}" )
> + INPUT[-1]=${INPUT[-1]//\\:/:}
>
> # Uncomment these lines for easy debug.
> # echo;
>
Ooops, yes.
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
Michal
More information about the libvir-list
mailing list