Ответы:
Решением является встроенный bash 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, стал обмен историей между всеми открытыми терминалами.
Я не знал compgen, и предложил бы:
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 /.