1 | This file is reserved.def, in which the shell reserved words are defined.
|
---|
2 | It has no direct C file production, but defines builtins for the Bash
|
---|
3 | builtin help command.
|
---|
4 |
|
---|
5 | Copyright (C) 1987-2005 Free Software Foundation, Inc.
|
---|
6 |
|
---|
7 | This file is part of GNU Bash, the Bourne Again SHell.
|
---|
8 |
|
---|
9 | Bash is free software; you can redistribute it and/or modify it under
|
---|
10 | the terms of the GNU General Public License as published by the Free
|
---|
11 | Software Foundation; either version 2, or (at your option) any later
|
---|
12 | version.
|
---|
13 |
|
---|
14 | Bash is distributed in the hope that it will be useful, but WITHOUT ANY
|
---|
15 | WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
---|
16 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
---|
17 | for more details.
|
---|
18 |
|
---|
19 | You should have received a copy of the GNU General Public License along
|
---|
20 | with Bash; see the file COPYING. If not, write to the Free Software
|
---|
21 | Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
---|
22 |
|
---|
23 | $BUILTIN for
|
---|
24 | $SHORT_DOC for NAME [in WORDS ... ;] do COMMANDS; done
|
---|
25 | The `for' loop executes a sequence of commands for each member in a
|
---|
26 | list of items. If `in WORDS ...;' is not present, then `in "$@"' is
|
---|
27 | assumed. For each element in WORDS, NAME is set to that element, and
|
---|
28 | the COMMANDS are executed.
|
---|
29 | $END
|
---|
30 |
|
---|
31 | $BUILTIN for ((
|
---|
32 | $DOCNAME arith_for
|
---|
33 | $SHORT_DOC for (( exp1; exp2; exp3 )); do COMMANDS; done
|
---|
34 | Equivalent to
|
---|
35 | (( EXP1 ))
|
---|
36 | while (( EXP2 )); do
|
---|
37 | COMMANDS
|
---|
38 | (( EXP3 ))
|
---|
39 | done
|
---|
40 | EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is
|
---|
41 | omitted, it behaves as if it evaluates to 1.
|
---|
42 | $END
|
---|
43 |
|
---|
44 | $BUILTIN select
|
---|
45 | $SHORT_DOC select NAME [in WORDS ... ;] do COMMANDS; done
|
---|
46 | The WORDS are expanded, generating a list of words. The
|
---|
47 | set of expanded words is printed on the standard error, each
|
---|
48 | preceded by a number. If `in WORDS' is not present, `in "$@"'
|
---|
49 | is assumed. The PS3 prompt is then displayed and a line read
|
---|
50 | from the standard input. If the line consists of the number
|
---|
51 | corresponding to one of the displayed words, then NAME is set
|
---|
52 | to that word. If the line is empty, WORDS and the prompt are
|
---|
53 | redisplayed. If EOF is read, the command completes. Any other
|
---|
54 | value read causes NAME to be set to null. The line read is saved
|
---|
55 | in the variable REPLY. COMMANDS are executed after each selection
|
---|
56 | until a break command is executed.
|
---|
57 | $END
|
---|
58 |
|
---|
59 | $BUILTIN time
|
---|
60 | $SHORT_DOC time [-p] PIPELINE
|
---|
61 | Execute PIPELINE and print a summary of the real time, user CPU time,
|
---|
62 | and system CPU time spent executing PIPELINE when it terminates.
|
---|
63 | The return status is the return status of PIPELINE. The `-p' option
|
---|
64 | prints the timing summary in a slightly different format. This uses
|
---|
65 | the value of the TIMEFORMAT variable as the output format.
|
---|
66 | $END
|
---|
67 |
|
---|
68 | $BUILTIN case
|
---|
69 | $SHORT_DOC case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac
|
---|
70 | Selectively execute COMMANDS based upon WORD matching PATTERN. The
|
---|
71 | `|' is used to separate multiple patterns.
|
---|
72 | $END
|
---|
73 |
|
---|
74 | $BUILTIN if
|
---|
75 | $SHORT_DOC if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
|
---|
76 | The `if COMMANDS' list is executed. If its exit status is zero, then the
|
---|
77 | `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is
|
---|
78 | executed in turn, and if its exit status is zero, the corresponding
|
---|
79 | `then COMMANDS' list is executed and the if command completes. Otherwise,
|
---|
80 | the `else COMMANDS' list is executed, if present. The exit status of the
|
---|
81 | entire construct is the exit status of the last command executed, or zero
|
---|
82 | if no condition tested true.
|
---|
83 | $END
|
---|
84 |
|
---|
85 | $BUILTIN while
|
---|
86 | $SHORT_DOC while COMMANDS; do COMMANDS; done
|
---|
87 | Expand and execute COMMANDS as long as the final command in the
|
---|
88 | `while' COMMANDS has an exit status of zero.
|
---|
89 | $END
|
---|
90 |
|
---|
91 | $BUILTIN until
|
---|
92 | $SHORT_DOC until COMMANDS; do COMMANDS; done
|
---|
93 | Expand and execute COMMANDS as long as the final command in the
|
---|
94 | `until' COMMANDS has an exit status which is not zero.
|
---|
95 | $END
|
---|
96 |
|
---|
97 | $BUILTIN function
|
---|
98 | $SHORT_DOC function NAME { COMMANDS ; } or NAME () { COMMANDS ; }
|
---|
99 | Create a simple command invoked by NAME which runs COMMANDS.
|
---|
100 | Arguments on the command line along with NAME are passed to the
|
---|
101 | function as $0 .. $n.
|
---|
102 | $END
|
---|
103 |
|
---|
104 | $BUILTIN { ... }
|
---|
105 | $DOCNAME grouping_braces
|
---|
106 | $SHORT_DOC { COMMANDS ; }
|
---|
107 | Run a set of commands in a group. This is one way to redirect an
|
---|
108 | entire set of commands.
|
---|
109 | $END
|
---|
110 |
|
---|
111 | $BUILTIN %
|
---|
112 | $DOCNAME fg_percent
|
---|
113 | $SHORT_DOC JOB_SPEC [&]
|
---|
114 | Equivalent to the JOB_SPEC argument to the `fg' command. Resume a
|
---|
115 | stopped or background job. JOB_SPEC can specify either a job name
|
---|
116 | or a job number. Following JOB_SPEC with a `&' places the job in
|
---|
117 | the background, as if the job specification had been supplied as an
|
---|
118 | argument to `bg'.
|
---|
119 | $END
|
---|
120 |
|
---|
121 | $BUILTIN (( ... ))
|
---|
122 | $DOCNAME arith
|
---|
123 | $SHORT_DOC (( expression ))
|
---|
124 | The EXPRESSION is evaluated according to the rules for arithmetic
|
---|
125 | evaluation. Equivalent to "let EXPRESSION".
|
---|
126 | $END
|
---|
127 |
|
---|
128 | $BUILTIN [[ ... ]]
|
---|
129 | $DOCNAME conditional
|
---|
130 | $SHORT_DOC [[ expression ]]
|
---|
131 | Returns a status of 0 or 1 depending on the evaluation of the conditional
|
---|
132 | expression EXPRESSION. Expressions are composed of the same primaries used
|
---|
133 | by the `test' builtin, and may be combined using the following operators
|
---|
134 |
|
---|
135 | ( EXPRESSION ) Returns the value of EXPRESSION
|
---|
136 | ! EXPRESSION True if EXPRESSION is false; else false
|
---|
137 | EXPR1 && EXPR2 True if both EXPR1 and EXPR2 are true; else false
|
---|
138 | EXPR1 || EXPR2 True if either EXPR1 or EXPR2 is true; else false
|
---|
139 |
|
---|
140 | When the `==' and `!=' operators are used, the string to the right of the
|
---|
141 | operator is used as a pattern and pattern matching is performed. The
|
---|
142 | && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to
|
---|
143 | determine the expression's value.
|
---|
144 | $END
|
---|
145 |
|
---|
146 | $BUILTIN variables
|
---|
147 | $DOCNAME variable_help
|
---|
148 | $SHORT_DOC variables - Some variable names and meanings
|
---|
149 | BASH_VERSION Version information for this Bash.
|
---|
150 | CDPATH A colon-separated list of directories to search
|
---|
151 | for directries given as arguments to `cd'.
|
---|
152 | GLOBIGNORE A colon-separated list of patterns describing filenames to
|
---|
153 | be ignored by pathname expansion.
|
---|
154 | #if defined (HISTORY)
|
---|
155 | HISTFILE The name of the file where your command history is stored.
|
---|
156 | HISTFILESIZE The maximum number of lines this file can contain.
|
---|
157 | HISTSIZE The maximum number of history lines that a running
|
---|
158 | shell can access.
|
---|
159 | #endif /* HISTORY */
|
---|
160 | HOME The complete pathname to your login directory.
|
---|
161 | HOSTNAME The name of the current host.
|
---|
162 | HOSTTYPE The type of CPU this version of Bash is running under.
|
---|
163 | IGNOREEOF Controls the action of the shell on receipt of an EOF
|
---|
164 | character as the sole input. If set, then the value
|
---|
165 | of it is the number of EOF characters that can be seen
|
---|
166 | in a row on an empty line before the shell will exit
|
---|
167 | (default 10). When unset, EOF signifies the end of input.
|
---|
168 | MACHTYPE A string describing the current system Bash is running on.
|
---|
169 | MAILCHECK How often, in seconds, Bash checks for new mail.
|
---|
170 | MAILPATH A colon-separated list of filenames which Bash checks
|
---|
171 | for new mail.
|
---|
172 | OSTYPE The version of Unix this version of Bash is running on.
|
---|
173 | PATH A colon-separated list of directories to search when
|
---|
174 | looking for commands.
|
---|
175 | PROMPT_COMMAND A command to be executed before the printing of each
|
---|
176 | primary prompt.
|
---|
177 | PS1 The primary prompt string.
|
---|
178 | PS2 The secondary prompt string.
|
---|
179 | PWD The full pathname of the current directory.
|
---|
180 | SHELLOPTS A colon-separated list of enabled shell options.
|
---|
181 | TERM The name of the current terminal type.
|
---|
182 | TIMEFORMAT The output format for timing statistics displayed by the
|
---|
183 | `time' reserved word.
|
---|
184 | auto_resume Non-null means a command word appearing on a line by
|
---|
185 | itself is first looked for in the list of currently
|
---|
186 | stopped jobs. If found there, that job is foregrounded.
|
---|
187 | A value of `exact' means that the command word must
|
---|
188 | exactly match a command in the list of stopped jobs. A
|
---|
189 | value of `substring' means that the command word must
|
---|
190 | match a substring of the job. Any other value means that
|
---|
191 | the command must be a prefix of a stopped job.
|
---|
192 | #if defined (HISTORY)
|
---|
193 | # if defined (BANG_HISTORY)
|
---|
194 | histchars Characters controlling history expansion and quick
|
---|
195 | substitution. The first character is the history
|
---|
196 | substitution character, usually `!'. The second is
|
---|
197 | the `quick substitution' character, usually `^'. The
|
---|
198 | third is the `history comment' character, usually `#'.
|
---|
199 | # endif /* BANG_HISTORY */
|
---|
200 | HISTIGNORE A colon-separated list of patterns used to decide which
|
---|
201 | commands should be saved on the history list.
|
---|
202 | #endif /* HISTORY */
|
---|
203 | $END
|
---|