Instale uma função adicional de conclusão para o bash

2

Eu nunca usei o bash completion de todo.txt cli; no entanto, decidi tentar. No github do autor, diz:

(Optional, since v 2.9:) Install the Bash completion, either system-wide, for all users:

      $ sudo cp todo_completion /etc/bash_completion.d/todo
or 

      put it somewhere in your home directory and source it from your .bashrc:

Agora, na documentação de instalação do bash completion, está escrito:

The easiest way to install this software is to use a package; it is available
in many operating system distributions.  The package's name is usually
bash-completion.  Depending on the package, you may still need to source it
from either /etc/bashrc or ~/.bashrc (or any other file sourcing those). You
can do this by simply using:

# Use bash-completion, if available
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
    . /usr/share/bash-completion/bash_completion

Então, do meu entendimento, o que pode ser errado, eu devo colocar

# Use bash-completion, if available
    [[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
        . /usr/share/bash-completion/bash_completion

no meu ~/.bashrc . Agora devo colocar todo-completion em /usr/share/bash-completion/bash-completion ? Nesse caso, só tenho /usr/share/bash-completion , mas há um completion um nível abaixo de bash-completion .

Para ser honesto, eu posso estar errado com esse processo de pensamento. Tenho feito inúmeras pesquisas sobre todo e bash-completion , mas nada foi promissor demais. Então, se tudo isso estiver incorreto, como configurarei os dois juntos?

    
por dustin 05.04.2015 / 01:37

1 resposta

1

Se você adicionar o arquivo a /usr/share/bash-completion/ , ele será sobrescrito pelo pacman quando o pacote for atualizado em seguida.

Para evitar que isso aconteça, use ~/.bash_completion , que é originado no final do script de conclusão principal. De o FAQ :

Q. How can I insert my own local completions without having to reinsert them every time you issue a new release?

A. Put them in ~/.bash_completion, which is parsed at the end of the main completion script. See also the next question.

Como alternativa, para acesso em todo o sistema no Arch, você pode colocar o arquivo em /etc/bash_completion.d/ .

    
por 05.04.2015 / 01:47