home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / riscbsd / 1_1_contri / usd / 03_shell / t4 < prev   
Encoding:
Text File  |  1986-05-22  |  2.5 KB  |  137 lines

  1. .\"    @(#)t4    6.1 (Berkeley) 5/22/86
  2. .\"
  3. .bp
  4. .SH
  5. Appendix\ A\ -\ Grammar
  6. .LP
  7. .DS
  8. \fIitem:        word
  9.         input-output
  10.         name = value
  11. .sp 0.8
  12. simple-command: item
  13.         simple-command item
  14. .sp 0.8
  15. command:    simple-command
  16.         \fB( \fIcommand-list \fB)
  17.         \fB{ \fIcommand-list \fB}
  18.         \fBfor \fIname \fBdo \fIcommand-list \fBdone
  19.         \fBfor \fIname \fBin \fIword \*(ZZ \fBdo \fIcommand-list \fBdone
  20.         \fBwhile \fIcommand-list \fBdo \fIcommand-list \fBdone
  21.         \fBuntil \fIcommand-list \fBdo \fIcommand-list \fBdone
  22.         \fBcase \fIword \fBin \fIcase-part \*(ZZ \fBesac
  23.         \fBif \fIcommand-list \fBthen \fIcommand-list \fIelse-part \fBfi
  24. .sp 0.8
  25. \fIpipeline:        command
  26.         pipeline \fB\*(VT\fI command
  27. .sp 0.8
  28. andor:        pipeline
  29.         andor \fB&&\fI pipeline
  30.         andor \fB\*(VT\*(VT\fI pipeline
  31. .sp 0.8
  32. command-list:    andor
  33.         command-list \fB;\fI
  34.         command-list \fB&\fI
  35.         command-list \fB;\fI andor
  36.         command-list \fB&\fI andor
  37. .sp 0.8
  38. input-output:    \fB> \fIfile
  39.         \fB< \fIfile
  40.         \fB\*(AP \fIword
  41.         \fB\*(HE \fIword
  42. .sp 0.8
  43. file:        word
  44.         \fB&\fI digit
  45.         \fB&\fI \(mi
  46. .sp 0.8
  47. case-part:    pattern\fB ) \fIcommand-list\fB ;;
  48. .sp 0.8
  49. \fIpattern:        word
  50.         pattern \fB\*(VT\fI word
  51. .sp 0.8
  52. \fIelse-part:    \fBelif \fIcommand-list\fB then\fI command-list else-part\fP
  53.         \fBelse \fIcommand-list\fI
  54.         empty
  55. .sp 0.8
  56. empty:
  57. .sp 0.8
  58. word:        \fRa sequence of non-blank characters\fI
  59. .sp 0.8
  60. name:        \fRa sequence of letters, digits or underscores starting with a letter\fI
  61. .sp 0.8
  62. digit:        \fB0 1 2 3 4 5 6 7 8 9\fP
  63. .DE
  64. .LP
  65. .bp
  66. .SH
  67. Appendix\ B\ -\ Meta-characters\ and\ Reserved\ Words
  68. .LP
  69. a) syntactic
  70. .RS
  71. .IP \fB\*(VT\fR 6
  72. pipe symbol
  73. .IP \fB&&\fR 6
  74. `andf' symbol
  75. .IP \fB\*(VT\*(VT\fR 6
  76. `orf' symbol
  77. .IP \fB;\fP 6
  78. command separator
  79. .IP \fB;;\fP 6
  80. case delimiter
  81. .IP \fB&\fP 6
  82. background commands
  83. .IP \fB(\ )\fP 6
  84. command grouping
  85. .IP \fB<\fP 6
  86. input redirection
  87. .IP \fB\*(HE\fP 6
  88. input from a here document
  89. .IP \fB>\fP 6
  90. output creation
  91. .IP \fB\*(AP\fP 6
  92. output append
  93. .sp 2
  94. .RE
  95. .LP
  96. b) patterns
  97. .RS
  98. .IP \fB\*(ST\fP 6
  99. match any character(s) including none
  100. .IP \fB?\fP 6
  101. match any single character
  102. .IP \fB[...]\fP 6
  103. match any of the enclosed characters
  104. .sp 2
  105. .RE
  106. .LP
  107. c) substitution
  108. .RS
  109. .IP \fB${...}\fP 6
  110. substitute shell variable
  111. .IP \fB\`...\`\fP 6
  112. substitute command output
  113. .sp 2
  114. .RE
  115. .LP
  116. d) quoting
  117. .RS
  118. .IP \fB\e\fP 6
  119. quote the next character
  120. .IP \fB\'...\'\fP 6
  121. quote the enclosed characters except for \'
  122. .IP \fB"\&..."\fR 6
  123. quote the enclosed characters except
  124. for \fB$ \` \e "\fP
  125. .sp 2
  126. .RE
  127. .LP
  128. e) reserved words
  129. .DS
  130. .ft B
  131. if then else elif fi
  132. case in esac
  133. for while until do done
  134. {  }
  135. .ft
  136. .DE
  137.