Я только что узнал, что если вы нажмете и удержите ESC в Mac Terminal, через несколько секунд появится приглашение, предлагающее показать все доступные команды в вашей системе, включая псевдонимы, встроенные модули и исполняемые файлы в вашей переменной PATH.

Soruce: http://www.mactricksandtips.com/2008/05/list-all-possible-terminal-commands.html

Тем не менее, выходные данные отображаются через more фильтр, и я не могу выполнить grep или передать его другой команде.

Кто-нибудь знает, как генерируется этот волшебный вывод? Это просто генерируется на лету Терминалом? Есть ли команда bash, которая может быть вызвана явно в командной строке и получить тот же результат?

Это в основном любопытство, но мне бы хотелось получить результаты в виде текста, который я могу постобработать, а не просто просматривать на экране.

1 ответ1

2

Как прокомментировал Игнасио Васкес-Абрамс, эта функциональность обеспечивается функцией завершения bash . Встроенная команда compgen обеспечивает доступ к функциональности.

Вы можете получить доступ к завершению команды следующим образом:

# all commands
compgen -c
# command starting with "ls"
compgen -c ls

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .