Відповіді:
Рішення - вбудований баш compgen
. Щоб відключити "svn" з усіх доступних команд і псевдонімів команд, доступних через $PATH
, введіть.
compgen -ac | grep svn
Хочете шукати певний префікс (наприклад, усі команди, що починаються з ecrypt
)? Використовуйте регулярні вирази. .
compgen -ac | grep "^ecrypt"
Ви можете спробувати використовувати compgen
.
Наприклад:
compgen -ac | grep "svn"
можливо, {,.}*svn*
допомагає тут, наприклад ls -l /usr/bin/{,.}*svn*<tab>
.
Але, подивіться на Zsh! Ось: http://www.jukie.net/bart/blog/zsh-tab-completion - кілька чудових прикладів того, як це може допомогти зменшити результати заповнення вкладки. Це включає також заперечення, наприклад, якщо ви хочете, щоб усі результати заповнення вкладки без слова "foobar", або всі результати з рівними цифрами в першу чергу, заповнення вкладки підкаталогів та багато іншого. Причиною, чому я змінився на zsh, було обмін історією між усіма відкритими терміналами.
Я не знав комген, і запропонував би:
ls -d ${PATH//:/\/*svn* } 2>/dev/null
для баш.
${VAR//pattern/replace} replaces in VAR pattern with replace. // is used to replace every pattern, not just the first, which would be just /.