How to list all the shell keywords?

For this exists that shell builtin command called compgen which most certainly you did not notice it when you run help -m.

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

See help -m compgen for more info about compgen.


Idea taken from here:

  • In bash, to list all keywords, first run the following command in terminal:

    complete -A keyword :
    
  • Then type at the prompter: :SpaceTabTab.

Works very well for me:

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