Eu tenho muitos aliases que criei no meu .bash_aliases
arquivo e eles são muito úteis, portanto, se eu quiser todas as informações em um pacote, faço algo como:
allinfo software-center
E isso faz o equivalente a:
apt-cache show software-center
Como o alias é definido como:
alias allinfo='apt-cache show'
Mas há uma desvantagem disso: atualmente, não consigo concluir automaticamente TABao usar allinfo
o comando real. Então, eu queria saber se havia uma maneira de superar essa desvantagem e fazê-la allinfo software-ce[TAB]
funcionar de maneira igual quando você o usa com o comando real, e não apenas criar um espaço de tabulação grande?
Eu estou usando gnome-terminal
.
Informações do SO:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
Informações do pacote:
gnome-terminal:
Installed: 3.14.2-0ubuntu3
Candidate: 3.14.2-0ubuntu3
Version table:
*** 3.14.2-0ubuntu3 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
100 /var/lib/dpkg/status
Respostas:
Ótima pergunta! Se o seu
allinfo
comando fosse o mesmo que apenasapt-cache
(ou seja, sem oshow
), poderíamos examinar a conclusãoapt-cache
e aplicá-lo ao seuallinfo
alias.No entanto, você deseja um subconjunto da
apt-cache
conclusão, portanto, temos um pouco mais de trabalho a fazer.Se procurarmos na definição de conclusão para
apt-cache
- in/usr/share/bash-completion/completions/apt-cache
, veremos o seguinte para oshow
subcomando:- isto está apenas configurando a
COMPREPLY
variável para a lista de pacotes correspondentes.Portanto, podemos emprestar isso e escrever nossa própria função e vinculá-la ao seu alias allinfo:
Se você adicionar esse relacionamento ao seu
.bashrc
arquivo, deverá concluir as conclusões conforme o esperado.fonte
Não tenho ideia
bash
, mas funciona comzsh
e alguns pluginsInstale o z-shell com
e defina o z-shell como seu shell padrão
e inicie um novo terminal para usar o z-shell
Adicionar Antigen v1
E configurar
Algumas imagens (o prompt é nojhan / liquidprompt)
fonte
cd
e executa o caminho do arquivo. Como faço para ler o.bash_aliases
arquivo?antigen: command not found
na configuração.