A conclusão da guia Bash exclui texto

2

Eu tenho um sistema debian no qual minha conclusão da tabulação bash tem um comportamento estranho. Quando escrevo um comando como scp file.tgz remoteServer:/home/remoteU e clique em aba, ele é concluído em scp file.tgz /home/remoteUser , eliminando a referência do host. Isso acontece comigo para qualquer comando ssh relacionado comando referenciando um diretório remoto como este.

Já verifiquei minha configuração de conclusão do bash, mas não consegui encontrar nada relacionado à exclusão do teste antes de dois pontos, pois esse é o caractere que eu suspeito estar causando o comportamento. Também interresting suficiente o sistema remoto será primeiro consultado para o diretório correto.

Alguma sugestão?

    
por Dero 07.09.2018 / 09:59

1 resposta

0

Adicione esta linha ao seu .bashrc para excluir os dois pontos do COMP_WORDBREAKS .

COMP_WORDBREAKS=${COMP_WORDBREAKS//:}

Isso é aparado de acordo com essa função no código-fonte:

__ltrim_colon_completions()
{
    if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then
        # Remove colon-word prefix from COMPREPLY items
        local colon_word=${1%"${1##*:}"}
        local i=${#COMPREPLY[*]}
        while [[ $((--i)) -ge 0 ]]; do
            COMPREPLY[$i]=${COMPREPLY[$i]#"$colon_word"}
        done
    fi
}
    
por 07.09.2018 / 10:49