Как перечислить все ключевые слова оболочки?

15
$ type if
if is a shell keyword

Я не знаю других ключевых слов оболочки.

Есть ли какая-нибудь команда для перечисления всех ключевых слов оболочки bash?

Примечание: help -mотображает как встроенные функции оболочки, так и ключевые слова оболочки.

Авинаш Радж
источник
Я рад поделиться этими двумя ссылками, которые связаны и полезны: посетите это и это
Pandya
Связанный (для встроенных функций вместо ключевых слов): как вывести список всех доступных встроенных команд оболочки?
Элия ​​Каган,

Ответы:

12

Для этого существует встроенная команда оболочки, compgenкоторую вы наверняка не заметили при запуске help -m.

$ compgen -k
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
in
function
time
{
}
!
[[
]]
coproc

Смотрите help -m compgenдля получения дополнительной информации о compgen.

Раду Рэдяну
источник
3

Идея взята отсюда :

  • В bash, чтобы вывести список всех ключевых слов, сначала выполните следующую команду в терминале:

    complete -A keyword :
  • Затем введите в суфлера: :SpaceTabTab.

Работает очень хорошо для меня:

!         {         coproc    elif      fi        if        then      while     
[[        }         do        else      for       in        time      
]]        case      done      esac      function  select    until     
Sparhawk
источник