Bash conclusão de espaço extra ao adicionar diretório de arquivos

2

Eu tenho um script para estender a conclusão do bash para certos comandos. Se eu digitar command1 e fizer uma tabulação, ele deverá ser preenchido automaticamente com um diretório de arquivos (e os arquivos). Ele funciona bem esperar por um problema inconveniente. Ele adiciona um espaço em branco extra toda vez que ele é concluído automaticamente. Então, se você está tentando alcançar subdiretórios a partir da raiz, por exemplo, todo subdiretório que você obtém para um espaço extra é adicionado e isso meio que anula o propósito de estender a conclusão do bash. Eu sou novo para bater. Isso é resultado de como eu escrevi o script ou é assim que a conclusão da tabulação se comporta quando você a estende?

local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="command1 command2"
serviceOpts="opt1 opt2"


case "${prev}" in
    command1)
        COMPREPLY=( $(compgen -f ${cur}) )
        return 0
        ;;
    command2)
        COMPREPLY=( $(compgen -W "${serviceOpts}" ${cur}) )
        return 0
        ;;
    *)
    ;;
esac
    
por LinuxLearner 05.07.2016 / 18:28

0 respostas