Предполагая Баш...
Вы можете определить свои собственные правила автозаполнения для параметров / аргументов, используя complete
. Вы можете определить имена файлов, которые игнорируются в аргументах, экспортируя переменную $FIGNORE
.
Однако я не думаю, что вы можете изменить способ, которым Bash разрешает имена программ.
Конечно, вы можете использовать alias
программы, которую хотите запустить, так что вам не нужно вводить слишком много текста:
[me@host ~]$ alias on=oneprog
[me@host ~]$ on
Вы могли бы (если вы чувствовали себя глупо) использовать псевдоним встроенной command
Bash, использовать команду complete
и использовать ее для определения аргументов, которые он примет (ваш список хороших программ), и затем всегда не забывать вводить псевдоним перед вашей реальной командой.
[me@host ~]$ alias run=command
[me@host ~]$ complete -W "ls cd" run
[me@host ~]$ run ls
Смотрите также Как заставить автозаполнение игнорировать конкретное завершение.