| 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
|
|---|