Intereting Posts
Что означает «> |» -reirection («большая труба» -определение)? Настройка регионов в сеансе экрана Как я могу найти файлы, а затем использовать xargs для их перемещения? Как заставить gnome использовать одну и ту же клавиатуру для управления, как обычно? Как сообщить vim, чтобы НЕ ИЗМЕНИТЬ ФАЙЛ, когда я возвращаюсь к нему Как работает почтовая команда? Использование qdisc prio под классом htb Создание if / than инструкции для перемещения файлов в другое место на основе значения 1 столбца? Не удается установить Snort 2.9.6.1 из-за «Не совместимой архитектуры», Двойная загрузка Windows 7 и Peppermint (слияние двух дисков) Как я могу получить доступ к удаленному открытому файлу в Linux (вывод запущенной задачи crontab)? Отказ ssh: как устранить неполадки? Crontab run-parts Ограничение пользователей с помощью неработающих групп (для меня) vmtoolsd не заканчивается после выхода из системы

Каковы команды для поиска ключевых слов оболочки, встроенных функций и пользовательских функций?

Я обсуждал с моим другом, как команды разбираются в оболочке, и он сказал мне, что bash выполняет поиск команды в следующем порядке

  1. Список псевдонимов
  2. Список ключевых слов оболочки
  3. Список пользовательских функций
  4. Список встроенных функций оболочки
  5. Список каталогов, указанных в переменной PATH, слева направо.

Я знаю, что псевдонимы можно найти, выпустив команду alias . Содержимое переменной PATH можно найти, используя команду echo $PATH .

Не могли бы вы рассказать мне, какие команды мне нужно использовать?

  1. Чтобы просмотреть все ключевые слова оболочки
  2. Чтобы перечислить все пользовательские функции
  3. В список встроенных функций оболочки

В Баше:

  1. man bash | grep -10 RESERVED man bash | grep -10 RESERVED содержит зарезервированные слова:

    ! case do done elif else esac fi для функции, если в select затем до while {} time [[]]

  2. declare -F и typeset -F показывает имена функций без их содержимого.
  3. enable списки встроенных команд оболочки (я не думаю, что это функции как таковые). Так делает man builtins

С zsh:

 PATH= type -m '*' 

Расскажу вам все 3.

В bash для отображения ключевых слов вы можете:

 complete -A keyword : 

и затем введите : <Tab><Tab>

Для встроенных функций замените keyword builtin выше и на функции, я позволю вам угадать.

Ответ на второй вопрос в случае bash или zsh : declare -f .

Вы также можете использовать compgen в bash :

  • ключевые слова compgen -k
  • compgen -b или enable списки встроенных
  • compgen -A function или declare -F перечисляет функции
  • compgen -a или alias псевдонимы
  • compgen -c списков
  • compgen -v перечисляет переменные
  • compgen -e или export экспортированные экспортируемые переменные