From 35d3169072522ad6a2bd6f046fde7881c2837c74 Mon Sep 17 00:00:00 2001 From: tangbinzy Date: Wed, 30 Nov 2022 08:25:26 +0000 Subject: [PATCH 11/24] vsh: Fix completion error in case of multiple mac addresses 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 # virsh detach-interface --domain VM --mac 52\:54\:00\: After: # virsh detach-interface --domain VM --mac # virsh detach-interface --domain VM --mac 52\:54\:00\: 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 Reviewed-by: Michal Privoznik Signed-off-by: tangbin (cherry-pick from 8a4343a4366580644bde3ba9b6a21bf740503416) --- tools/bash-completion/vsh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/bash-completion/vsh b/tools/bash-completion/vsh index 363097c601..ca9d37a7ff 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; -- 2.27.0