У меня есть много псевдонимов, которые я создал в своем .bash_aliases
файле, и они очень полезны, поэтому, если я хочу получить всю информацию о пакете, я делаю что-то вроде:
allinfo software-center
И это эквивалентно:
apt-cache show software-center
Поскольку псевдоним установлен как:
alias allinfo='apt-cache show'
Но в этом есть один недостаток, с которым я сейчас не могу выполнить автозаполнение TABпри использовании allinfo
вместо самой команды. Поэтому мне было интересно, есть ли способ преодолеть этот недостаток и сделать так, чтобы выполнение allinfo software-ce[TAB]
работало точно так же, как и при использовании его с фактической командой, а не просто при создании большого пространства табуляции?
Я использую gnome-terminal
.
Информация об ОС:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
Информация о пакете:
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
Ответы:
Отличный вопрос! Если ваша
allinfo
команда была такой же, как и простоapt-cache
(т.е. безshow
), то мы могли бы посмотреть на завершениеapt-cache
и применить его к вашемуallinfo
псевдониму.Тем не менее, вы хотите подмножество
apt-cache
завершения, поэтому у нас есть немного больше работы.Если мы посмотрим в определении завершения для
apt-cache
- in/usr/share/bash-completion/completions/apt-cache
, то увидим, что дляshow
подкоманды используется следующее :- это просто установка
COMPREPLY
переменной в список соответствующих пакетов.Таким образом, мы можем позаимствовать это и написать собственную функцию и связать ее с псевдонимом allinfo:
Если вы добавите этот
.bashrc
файл в свой файл, вы должны получить завершение работы, как вы ожидаете.источник
Я понятия не имею
bash
, но он работает сzsh
некоторыми плагинамиУстановите z-shell с помощью
и установите z-shell в качестве стандартной оболочки
и запустить новый терминал для использования z-оболочки
Добавить антиген v1
И настроить
Некоторые изображения (подсказка nojhan / liquidprompt)
источник
cd
и делает путь к файлу. Как мне заставить его читать.bash_aliases
файл?antigen: command not found
настроился.