conclusão de alias desapareceu?

0

O bom método para concluir o alias neste link na Web

.

Agora em 16.04, parece que as regras mudaram.

Não consigo encontrar o comando de conclusão do apt (_apt). mas ls é (_longopt) aqui e pode funcionar. claro que o apt também não está em /etc/bash_completion.d /.

▶ complete |grep apt
▶ complete |grep '\<ls\>'
complete -F _longopt ls
▶ complete |grep 'upstart'
complete -F _upstart_reload reload
complete -F _upstart_stop stop
complete -F _upstart_initctl initctl
complete -F _upstart_start start
complete -F _upstart_status status
complete -F _upstart_restart restart
    
por utopic eexpress 21.09.2016 / 10:18

1 resposta

0

OK, eu volto para outra versão antiga e isso funciona. de acordo com o arquivo / usr / share / bash-completion / completions / apt.

alias ai='sudo apt install'
alias ap='sudo apt purge'
alias au='sudo apt update && msg 列表已经刷新 || msg 刷新失败'
alias ag='sudo apt upgrade'
alias as='apt list'
alias aw='apt show'
alias aa='sudo apt autoremove'

_show_installed()
{
        local cur
        COMPREPLY=()
        cur='_get_cword'
        COMPREPLY=( $( _xfunc dpkg _comp_dpkg_installed_packages $cur ) )
        return 0
}
_show_all()
{
        local cur
        COMPREPLY=()
        cur='_get_cword'
        COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
        return 0
}
complete -F _show_all $default aw ai as
complete -F _show_installed $default ap
    
por utopic eexpress 21.09.2016 / 15:19