Command Language

  [Commands]      simple-command               command-lookup-order
                  prefix-binding               semicolon ;    
  [Conditional]   case           if            dbracket [[
                  bang !         and &&        or ||
  [Iteration]     while          until         for            for-expr-sh ((
  [Control Flow]  break          continue      return         exit
  [Grouping]      sh-func        sh-block {    subshell (
  [Concurrency]   pipe |       X pipe-amp |&   ampersand &
  [Redirects]     redir-file     >  >>  >|  <  <>   not impl: &>
                  redir-desc     >&  <&
                  here-doc       <<  <<-
                  here-str       <<<
  [Other Command] dparen ((      time        X coproc       X select
