\fB( \fIcommand-list \fB)
\fB{ \fIcommand-list \fB}
\fBfor \fIname \fBdo \fIcommand-list \fBdone
\fBfor \fIname \fBin \fIword \*(ZZ \fBdo \fIcommand-list \fBdone
\fBwhile \fIcommand-list \fBdo \fIcommand-list \fBdone
\fBuntil \fIcommand-list \fBdo \fIcommand-list \fBdone
\fBcase \fIword \fBin \fIcase-part \*(ZZ \fBesac
\fBif \fIcommand-list \fBthen \fIcommand-list \fIelse-part \fBfi
pipeline \fB\*(VT\fI command
andor \fB\*(VT\*(VT\fI pipeline
command-list \fB;\fI andor
command-list \fB&\fI andor
input-output: \fB> \fIfile
case-part: pattern\fB ) \fIcommand-list\fB ;;
\fIelse-part: \fBelif \fIcommand-list\fB then\fI command-list else-part\fP
\fBelse \fIcommand-list\fI
word: \fRa sequence of non-blank characters\fI
name: \fRa sequence of letters, digits or underscores starting with a letter\fI
digit: \fB0 1 2 3 4 5 6 7 8 9\fP
Appendix\ B\ -\ Meta-characters\ and\ Reserved\ Words
input from a here document
match any character(s) including none
match any single character
match any of the enclosed characters
substitute shell variable
substitute command output
quote the enclosed characters except for \'
quote the enclosed characters except