J'ai de nombreux alias que j'ai créés dans mon .bash_aliases
fichier, et ils sont très utiles, donc si je veux toutes les informations sur un paquet, je fais quelque chose comme:
allinfo software-center
Et cela fait l'équivalent de:
apt-cache show software-center
Comme l'alias est défini comme:
alias allinfo='apt-cache show'
Mais il y a un inconvénient à cela, je ne suis actuellement pas en mesure d'effectuer la saisie semi-automatique TABlors de l'utilisation à la allinfo
place de la commande réelle. Je me demandais donc s'il y avait un moyen de surmonter cet inconvénient et de faire en sorte que cela allinfo software-ce[TAB]
fonctionne de la même manière que lorsque vous l'utilisez avec la commande réelle, et pas simplement créer un grand espace de tabulation?
J'utilise gnome-terminal
.
Informations sur le système d'exploitation:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
Informations sur le paquet:
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
Réponses:
Grande question! Si votre
allinfo
commande était la même que justeapt-cache
, (c'est-à-dire sans leshow
), nous pourrions alors rechercher l'achèvementapt-cache
et l'appliquer à votreallinfo
alias.Cependant, vous voulez un sous-ensemble de l'
apt-cache
achèvement, nous avons donc un peu plus de travail à faire.Si nous regardons dans la définition d'achèvement pour
apt-cache
- in/usr/share/bash-completion/completions/apt-cache
, nous voyons que ce qui suit est utilisé pour lashow
sous - commande:- il s'agit simplement de définir la
COMPREPLY
variable dans la liste des packages correspondants.Ainsi, nous pouvons emprunter ceci et écrire notre propre fonction, et la lier à votre alias allinfo:
Si vous ajoutez cette gestion à votre
.bashrc
fichier, vous devriez obtenir les compléments de travail comme vous vous y attendez.la source
Je n'en ai aucune idée
bash
, mais cela fonctionne aveczsh
et certains pluginsInstallez le z-shell avec
et définissez le z-shell comme votre shell standard
et démarrer un nouveau terminal pour utiliser le z-shell
Ajouter Antigen v1
Et configurer
Quelques images (l'invite est nojhan / liquidprompt)
la source
cd
et fait le chemin du fichier. Comment puis-je le faire lire le.bash_aliases
fichier?antigen: command not found
configuration.