diff options
Diffstat (limited to 'doc/bashref.info')
| -rw-r--r-- | doc/bashref.info | 982 |
1 files changed, 557 insertions, 425 deletions
diff --git a/doc/bashref.info b/doc/bashref.info index 650361b..ce029be 100644 --- a/doc/bashref.info +++ b/doc/bashref.info @@ -2,12 +2,12 @@ This is bashref.info, produced by makeinfo version 4.7 from /Users/chet/src/bash/src/doc/bashref.texi. This text is a brief description of the features that are present in -the Bash shell (version 3.0, 27 July 2004). +the Bash shell (version 3.1-beta1, 5 September 2005). - This is Edition 3.0, last updated 27 July 2004, of `The GNU Bash -Reference Manual', for `Bash', Version 3.0. + This is Edition 3.1-beta1, last updated 5 September 2005, of `The +GNU Bash Reference Manual', for `Bash', Version 3.1-beta1. - Copyright (C) 1988-2004 Free Software Foundation, Inc. + Copyright (C) 1988-2005 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -37,10 +37,10 @@ Bash Features ************* This text is a brief description of the features that are present in -the Bash shell (version 3.0, 27 July 2004).. +the Bash shell (version 3.1-beta1, 5 September 2005).. - This is Edition 3.0, last updated 27 July 2004, of `The GNU Bash -Reference Manual', for `Bash', Version 3.0. + This is Edition 3.1-beta1, last updated 5 September 2005, of `The +GNU Bash Reference Manual', for `Bash', Version 3.1-beta1. Bash contains features that appear in other popular shells, and some features that only appear in Bash. Some of the shells that Bash has @@ -56,46 +56,28 @@ on shell behavior. * Menu: * Introduction:: An introduction to the shell. - * Definitions:: Some definitions used in the rest of this manual. - * Basic Shell Features:: The shell "building blocks". - * Shell Builtin Commands:: Commands that are a part of the shell. - * Shell Variables:: Variables used or set by Bash. - * Bash Features:: Features found only in Bash. - -* Job Control:: A chapter describing what job control is - and how Bash allows you to use it. - -* Using History Interactively:: Chapter dealing with history expansion - rules. - +* Job Control:: What job control is and how Bash allows you + to use it. +* Using History Interactively:: Command History Expansion * Command Line Editing:: Chapter describing the command line editing features. - * Installing Bash:: How to build and install Bash on your system. - * Reporting Bugs:: How to report bugs in Bash. - * Major Differences From The Bourne Shell:: A terse list of the differences between Bash and historical versions of /bin/sh. - * Copying This Manual:: Copying this manual. - * Builtin Index:: Index of Bash builtin commands. - * Reserved Word Index:: Index of Bash reserved words. - * Variable Index:: Quick reference helps you find the variable you want. - * Function Index:: Index of bindable Readline functions. - * Concept Index:: General index for concepts described in this manual. @@ -108,7 +90,6 @@ File: bashref.info, Node: Introduction, Next: Definitions, Prev: Top, Up: To * Menu: * What is Bash?:: A short description of Bash. - * What is a shell?:: A brief introduction to shells. @@ -313,9 +294,7 @@ File: bashref.info, Node: Shell Syntax, Next: Shell Commands, Up: Basic Shell * Menu: * Shell Operation:: The basic operation of the shell. - * Quoting:: How to remove the special meaning from characters. - * Comments:: How to specify comments. When the shell reads input, it proceeds through a sequence of @@ -382,7 +361,6 @@ File: bashref.info, Node: Quoting, Next: Comments, Prev: Shell Operation, Up * Double Quotes:: How to suppress most of the interpretation of a sequence of characters. * ANSI-C Quoting:: How to expand ANSI-C sequences in quoted strings. - * Locale Translation:: How to translate strings into different languages. Quoting is used to remove the special meaning of certain characters @@ -392,10 +370,10 @@ recognized as such, and to prevent parameter expansion. Each of the shell metacharacters (*note Definitions::) has special meaning to the shell and must be quoted if it is to represent itself. -When the command history expansion facilities are being used, the -HISTORY EXPANSION character, usually `!', must be quoted to prevent -history expansion. *Note Bash History Facilities::, for more details -concerning history expansion. +When the command history expansion facilities are being used (*note +History Interaction::), the HISTORY EXPANSION character, usually `!', +must be quoted to prevent history expansion. *Note Bash History +Facilities::, for more details concerning history expansion. There are three quoting mechanisms: the ESCAPE CHARACTER, single quotes, and double quotes. @@ -431,15 +409,17 @@ File: bashref.info, Node: Double Quotes, Next: ANSI-C Quoting, Prev: Single Q Enclosing characters in double quotes (`"') preserves the literal value of all characters within the quotes, with the exception of `$', ``', -and `\'. The characters `$' and ``' retain their special meaning -within double quotes (*note Shell Expansions::). The backslash retains -its special meaning only when followed by one of the following -characters: `$', ``', `"', `\', or `newline'. Within double quotes, -backslashes that are followed by one of these characters are removed. -Backslashes preceding characters without a special meaning are left -unmodified. A double quote may be quoted within double quotes by -preceding it with a backslash. When command history is being used, the -double quote may not be used to quote the history expansion character. +`\', and, when history expansion is enabled, `!'. The characters `$' +and ``' retain their special meaning within double quotes (*note Shell +Expansions::). The backslash retains its special meaning only when +followed by one of the following characters: `$', ``', `"', `\', or +`newline'. Within double quotes, backslashes that are followed by one +of these characters are removed. Backslashes preceding characters +without a special meaning are left unmodified. A double quote may be +quoted within double quotes by preceding it with a backslash. If +enabled, history expansion will be performed unless an `!' appearing in +double quotes is escaped using a backslash. The backslash preceding +the `!' is not removed. The special parameters `*' and `@' have special meaning when in double quotes (*note Shell Parameter Expansion::). @@ -768,7 +748,10 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre `case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac' `case' will selectively execute the COMMAND-LIST corresponding to - the first PATTERN that matches WORD. The `|' is used to separate + the first PATTERN that matches WORD. If the shell option + `nocasematch' (see the description of `shopt' in *Note Bash + Builtins::) is enabled, the match is performed without regard to + the case of alphabetic characters. The `|' is used to separate multiple patterns, and the `)' operator terminates a pattern list. A list of patterns and an associated command-list is known as a CLAUSE. Each clause must be terminated with `;;'. The WORD @@ -854,8 +837,11 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre When the `==' and `!=' operators are used, the string to the right of the operator is considered a pattern and matched according to - the rules described below in *Note Pattern Matching::. The return - value is 0 if the string matches or does not match the pattern, + the rules described below in *Note Pattern Matching::. If the + shell option `nocasematch' (see the description of `shopt' in + *Note Bash Builtins::) is enabled, the match is performed without + regard to the case of alphabetic characters. The return value is + 0 if the string matches or does not match the pattern, respectively, and 1 otherwise. Any part of the pattern may be quoted to force it to be matched as a string. @@ -865,7 +851,7 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre and matched accordingly (as in regex3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the regular expression is syntactically incorrect, the conditional - expression's return value is 2. If the shell option `nocaseglob' + expression's return value is 2. If the shell option `nocasematch' (see the description of `shopt' in *Note Bash Builtins::) is enabled, the match is performed without regard to the case of alphabetic characters. Substrings matched by parenthesized @@ -978,11 +964,11 @@ parameter `0' is unchanged. The first element of the `FUNCNAME' variable is set to the name of the function while the function is executing. All other aspects of the shell execution environment are identical between a function and its caller with the exception that the -`DEBUG' trap below) is not inherited unless the function has been given -the `trace' attribute using the `declare' builtin or the `-o functrace' -option has been enabled with the `set' builtin, (in which case all -functions inherit the `DEBUG' trap). *Note Bourne Shell Builtins::, -for the description of the `trap' builtin. +`DEBUG' and `RETURN' traps are not inherited unless the function has +been given the `trace' attribute using the `declare' builtin or the `-o +functrace' option has been enabled with the `set' builtin, (in which +case all functions inherit the `DEBUG' and `RETURN' traps). *Note +Bourne Shell Builtins::, for the description of the `trap' builtin. If the builtin command `return' is executed in a function, the function completes and execution resumes with the next command after @@ -1046,6 +1032,18 @@ expansion is not performed. Assignment statements may also appear as arguments to the `alias', `declare', `typeset', `export', `readonly', and `local' builtin commands. + In the context where an assignment statement is assigning a value to +a shell variable or array index (*note Arrays::), the `+=' operator can +be used to append to or add to the variable's previous value. When +`+=' is applied to a variable for which the integer attribute has been +set, VALUE is evaluated as an arithmetic expression and added to the +variable's current value, which is also evaluated. When `+=' is +applied to an array variable using compound assignment (*note +Arrays::), the variable's value is not unset (as it is when using `='), +and new values are appended to the array beginning at one greater than +the array's maximum index. When applied to a string-valued variable, +VALUE is expanded and appended to the variable's value. + File: bashref.info, Node: Positional Parameters, Next: Special Parameters, Up: Shell Parameters @@ -1088,8 +1086,12 @@ only be referenced; assignment to them is not allowed. Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is, `"$@"' is equivalent to `"$1" "$2" ...'. - When there are no positional parameters, `"$@"' and `$@' expand to - nothing (i.e., they are removed). + If the double-quoted expansion occurs within a word, the expansion + of the first parameter is joined with the beginning part of the + original word, and the expansion of the last parameter is joined + with the last part of the original word. When there are no + positional parameters, `"$@"' and `$@' expand to nothing (i.e., + they are removed). `#' Expands to the number of positional parameters in decimal. @@ -1121,13 +1123,13 @@ only be referenced; assignment to them is not allowed. invoke Bash, as given by argument zero. `_' - (An underscore.) At shell startup, set to the absolute filename - of the shell or shell script being executed as passed in the - argument list. Subsequently, expands to the last argument to the - previous command, after expansion. Also set to the full pathname - of each command executed and placed in the environment exported to - that command. When checking mail, this parameter holds the name - of the mail file. + (An underscore.) At shell startup, set to the absolute pathname + used to invoke the shell or shell script being executed as passed + in the environment or argument list. Subsequently, expands to the + last argument to the previous command, after expansion. Also set + to the full pathname used to invoke each command executed and + placed in the environment exported to that command. When checking + mail, this parameter holds the name of the mail file. File: bashref.info, Node: Shell Expansions, Next: Redirections, Prev: Shell Parameters, Up: Basic Shell Features @@ -1267,10 +1269,10 @@ without a leading `+' or `-', `+' is assumed. is left unchanged. Each variable assignment is checked for unquoted tilde-prefixes -immediately following a `:' or `='. In these cases, tilde expansion is -also performed. Consequently, one may use file names with tildes in -assignments to `PATH', `MAILPATH', and `CDPATH', and the shell assigns -the expanded value. +immediately following a `:' or the first `='. In these cases, tilde +expansion is also performed. Consequently, one may use file names with +tildes in assignments to `PATH', `MAILPATH', and `CDPATH', and the +shell assigns the expanded value. The following table shows how Bash treats unquoted tilde-prefixes: @@ -1375,9 +1377,12 @@ if the colon is omitted, the operator tests only for existence. is `@', the result is LENGTH positional parameters beginning at OFFSET. If PARAMETER is an array name indexed by `@' or `*', the result is the LENGTH members of the array beginning with - `${PARAMETER[OFFSET]}'. Substring indexing is zero-based unless - the positional parameters are used, in which case the indexing - starts at 1. + `${PARAMETER[OFFSET]}'. A negative OFFSET is taken relative to + one greater than the maximum index of the specified array. Note + that a negative offset must be separated from the colon by at least + one space to avoid being confused with the `:-' expansion. + Substring indexing is zero-based unless the positional parameters + are used, in which case the indexing starts at 1. `${!PREFIX*}' `${!PREFIX@}' @@ -1671,7 +1676,7 @@ of the following sub-patterns: Matches one or more occurrences of the given patterns. `@(PATTERN-LIST)' - Matches exactly one of the given patterns. + Matches one of the given patterns. `!(PATTERN-LIST)' Matches anything except one of the given patterns. @@ -1749,6 +1754,10 @@ redirections, as described in the following table: A failure to open or create a file causes the redirection to fail. + Redirections using file descriptors greater than 9 should be used +with care, as they may conflict with file descriptors the shell uses +internally. + 3.6.1 Redirecting Input ----------------------- @@ -1895,18 +1904,13 @@ File: bashref.info, Node: Executing Commands, Next: Shell Scripts, Prev: Redi * Simple Command Expansion:: How Bash expands simple commands before executing them. - * Command Search and Execution:: How Bash finds commands and runs them. - * Command Execution Environment:: The environment in which Bash executes commands that are not shell builtins. - * Environment:: The environment given to a command. - * Exit Status:: The status returned by commands and how Bash interprets it. - * Signals:: What happens when Bash or a command it runs receives a signal. @@ -2264,6 +2268,8 @@ Completion Builtins::). Unless otherwise noted, each builtin command documented as accepting options preceded by `-' accepts `--' to signify the end of the options. +For example, the `:', `true', `false', and `test' builtins do not +accept options. File: bashref.info, Node: Bourne Shell Builtins, Next: Bash Builtins, Up: Shell Builtin Commands @@ -2480,6 +2486,8 @@ standard. Evaluate a conditional expression EXPR. Each operator and operand must be a separate argument. Expressions are composed of the primaries described below in *Note Bash Conditional Expressions::. + `test' does not accept any options, nor does it accept and ignore + an argument of `--' as signifying the end of options. When the `[' form is used, the last argument to the command must be a `]'. @@ -2780,8 +2788,8 @@ POSIX 1003.2 standard. `-t' Give each NAME the `trace' attribute. Traced functions - inherit the `DEBUG' trap from the calling shell. The trace - attribute has no special meaning for variables. + inherit the `DEBUG' and `RETURN' traps from the calling shell. + The trace attribute has no special meaning for variables. `-x' Mark each NAME for export to subsequent commands via the @@ -2812,7 +2820,10 @@ POSIX 1003.2 standard. escape characters, even on systems where they are interpreted by default. The `xpg_echo' shell option may be used to dynamically determine whether or not `echo' expands these escape characters by - default. `echo' interprets the following escape sequences: + default. `echo' does not interpret `--' to mean the end of + options. + + `echo' interprets the following escape sequences: `\a' alert (bell) @@ -2914,7 +2925,7 @@ POSIX 1003.2 standard. Exit a login shell, returning a status of N to the shell's parent. `printf' - `printf' FORMAT [ARGUMENTS] + `printf' [-v VAR] FORMAT [ARGUMENTS] Write the formatted ARGUMENTS to the standard output under the control of the FORMAT. The FORMAT is a character string which contains three types of objects: plain characters, which are @@ -2929,6 +2940,9 @@ POSIX 1003.2 standard. and `%q' causes `printf' to output the corresponding ARGUMENT in a format that can be reused as shell input. + The `-v' option causes the output to be assigned to the variable + VAR rather than being printed to the standard output. + The FORMAT is reused as necessary to consume all of the ARGUMENTS. If the FORMAT requires more ARGUMENTS than are supplied, the extra format specifications behave as if a zero value or null string, as @@ -3092,6 +3106,17 @@ POSIX 1003.2 standard. shell function or a shell script executed by the `.' or `source' builtins), a call to `return' is simulated. + 4. `BASH_ARGC' and `BASH_ARGV' are updated as described in + their descriptions (*note Bash Variables::). + + 5. Function tracing is enabled: command substitution, + shell functions, and subshells invoked with `( COMMAND + )' inherit the `DEBUG' and `RETURN' traps. + + 6. Error tracing is enabled: command substitution, shell + functions, and subshells invoked with `( COMMAND )' + inherit the `ERROR' trap. + `extglob' If set, the extended pattern matching features described above (*note Pattern Matching::) are enabled. @@ -3169,6 +3194,11 @@ POSIX 1003.2 standard. If set, Bash matches filenames in a case-insensitive fashion when performing filename expansion. + `nocasematch' + If set, Bash matches patterns in a case-insensitive fashion + when performing matching while executing `case' or `[[' + conditional commands. + `nullglob' If set, Bash allows filename patterns which match no files to expand to a null string, rather than themselves. @@ -3334,7 +3364,10 @@ This builtin is so complicated that it deserves its own section. If no options or arguments are supplied, `set' displays the names and values of all shell variables and functions, sorted according - to the current locale, in a format that may be reused as input. + to the current locale, in a format that may be reused as input for + setting or resetting the currently-set variables. Read-only + variables cannot be reset. In POSIX mode, only shell variables + are listed. When options are supplied, they set or unset shell attributes. Options, if specified, have the following meanings: @@ -3540,10 +3573,10 @@ This builtin is so complicated that it deserves its own section. /usr/local `-T' - If set, any trap on `DEBUG' is inherited by shell functions, - command substitutions, and commands executed in a subshell - environment. The `DEBUG' trap is normally not inherited in - such cases. + If set, any trap on `DEBUG' and `RETURN' are inherited by + shell functions, command substitutions, and commands executed + in a subshell environment. The `DEBUG' and `RETURN' traps + are normally not inherited in such cases. `--' If no arguments follow this option, then the positional @@ -3690,14 +3723,19 @@ Variables::). parameters to the current subroutine (shell function or script executed with `.' or `source') is at the top of the stack. When a subroutine is executed, the number of parameters passed is pushed - onto `BASH_ARGC'. + onto `BASH_ARGC'. The shell sets `BASH_ARGC' only when in + extended debugging mode (see *Note Bash Builtins:: for a + description of the `extdebug' option to the `shopt' builtin). `BASH_ARGV' An array variable containing all of the parameters in the current bash execution call stack. The final parameter of the last subroutine call is at the top of the stack; the first parameter of the initial call is at the bottom. When a subroutine is executed, - the parameters supplied are pushed onto `BASH_ARGV'. + the parameters supplied are pushed onto `BASH_ARGV'. The shell + sets `BASH_ARGV' only when in extended debugging mode (see *Note + Bash Builtins:: for a description of the `extdebug' option to the + `shopt' builtin). `BASH_COMMAND' The command currently being executed or about to be executed, @@ -3717,9 +3755,9 @@ Variables::). An array variable whose members are the line numbers in source files corresponding to each member of FUNCNAME. `${BASH_LINENO[$i]}' is the line number in the source file where - `${FUNCNAME[$i + 1]}' was called. The corresponding source file - name is `${BASH_SOURCE[$i + 1]}'. Use `LINENO' to obtain the - current line number. + `${FUNCNAME[$i]}' was called. The corresponding source file name + is `${BASH_SOURCE[$i]}'. Use `LINENO' to obtain the current line + number. `BASH_REMATCH' An array variable whose members are assigned by the `=~' binary @@ -4141,6 +4179,10 @@ Variables::). the shell is interactive. Bash terminates after that number of seconds if input does not arrive. +`TMPDIR' + If set, Bash uses its value as the name of a directory in which + Bash creates temporary files for the shell's use. + `UID' The numeric real user id of the current user. This variable is readonly. @@ -4195,7 +4237,7 @@ the single-character options to be recognized. `--dump-po-strings' A list of all double-quoted strings preceded by `$' is printed on - the standard ouput in the GNU `gettext' PO (portable object) file + the standard output in the GNU `gettext' PO (portable object) file format. Equivalent to `-D' except for the output format. `--dump-strings' @@ -4276,7 +4318,7 @@ invocation which are not available with the `set' builtin. `-D' A list of all double-quoted strings preceded by `$' is printed on - the standard ouput. These are the strings that are subject to + the standard output. These are the strings that are subject to language translation when the current locale is not `C' or `POSIX' (*note Locale Translation::). This implies the `-n' option; no commands will be executed. @@ -4577,6 +4619,10 @@ checked. If the FILE argument to one of the primaries is one of `/dev/stdin', `/dev/stdout', or `/dev/stderr', file descriptor 0, 1, or 2, respectively, is checked. + Unless otherwise specified, primaries that operate on files follow +symbolic links and operate on the target of the link, rather than the +link itself. + `-a FILE' True if FILE exists. @@ -4775,7 +4821,7 @@ representing the arithmetic base, and N is a number in that base. If BASE`#' is omitted, then base 10 is used. The digits greater than 9 are represented by the lowercase letters, the uppercase letters, `@', and `_', in that order. If BASE is less than or equal to 36, lowercase -and uppercase letters may be used interchangably to represent numbers +and uppercase letters may be used interchangeably to represent numbers between 10 and 35. Operators are evaluated in order of precedence. Sub-expressions in @@ -4878,16 +4924,21 @@ the word is double-quoted, `${name[*]}' expands to a single word with the value of each array member separated by the first character of the `IFS' variable, and `${name[@]}' expands each element of NAME to a separate word. When there are no array members, `${name[@]}' expands -to nothing. This is analogous to the expansion of the special -parameters `@' and `*'. `${#name['SUBSCRIPT`]}' expands to the length -of `${name['SUBSCRIPT`]}'. If SUBSCRIPT is `@' or `*', the expansion -is the number of elements in the array. Referencing an array variable -without a subscript is equivalent to referencing element zero. +to nothing. If the double-quoted expansion occurs within a word, the +expansion of the first parameter is joined with the beginning part of +the original word, and the expansion of the last parameter is joined +with the last part of the original word. This is analogous to the +expansion of the special parameters `@' and `*'. +`${#name['SUBSCRIPT`]}' expands to the length of `${name['SUBSCRIPT`]}'. +If SUBSCRIPT is `@' or `*', the expansion is the number of elements in +the array. Referencing an array variable without a subscript is +equivalent to referencing element zero. The `unset' builtin is used to destroy arrays. `unset' -NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT. `unset' -NAME, where NAME is an array, removes the entire array. A subscript of -`*' or `@' also removes the entire array. +NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT. Care +must be taken to avoid unwanted side effects caused by filename +generation. `unset' NAME, where NAME is an array, removes the entire +array. A subscript of `*' or `@' also removes the entire array. The `declare', `local', and `readonly' builtins each accept a `-a' option to specify an array. The `read' builtin accepts a `-a' option @@ -5190,58 +5241,59 @@ startup files. is stopped is `Stopped(SIGNAME)', where SIGNAME is, for example, `SIGTSTP'. - 4. Reserved words may not be aliased. + 4. The `bg' builtin uses the required format to describe each job + placed in the background, which does not include an indication of + whether the job is the current or previous job. + + 5. Reserved words appearing in a context where reserved words are + recognized do not undergo alias expansion. - 5. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history + 6. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history number and `!!' to `!' are enabled, and parameter expansion is performed on the values of `PS1' and `PS2' regardless of the setting of the `promptvars' option. - 6. The POSIX 1003.2 startup files are executed (`$ENV') rather than + 7. The POSIX 1003.2 startup files are executed (`$ENV') rather than the normal Bash files. - 7. Tilde expansion is only performed on assignments preceding a + 8. Tilde expansion is only performed on assignments preceding a command name, rather than on all assignment statements on the line. - 8. The default history file is `~/.sh_history' (this is the default + 9. The default history file is `~/.sh_history' (this is the default value of `$HISTFILE'). - 9. The output of `kill -l' prints all the signal names on a single + 10. The output of `kill -l' prints all the signal names on a single line, separated by spaces, without the `SIG' prefix. - 10. The `kill' builtin does not accept signal names with a `SIG' + 11. The `kill' builtin does not accept signal names with a `SIG' prefix. - 11. Non-interactive shells exit if FILENAME in `.' FILENAME is not + 12. Non-interactive shells exit if FILENAME in `.' FILENAME is not found. - 12. Non-interactive shells exit if a syntax error in an arithmetic + 13. Non-interactive shells exit if a syntax error in an arithmetic expansion results in an invalid expression. - 13. Redirection operators do not perform filename expansion on the word + 14. Redirection operators do not perform filename expansion on the word in the redirection unless the shell is interactive. - 14. Redirection operators do not perform word splitting on the word in + 15. Redirection operators do not perform word splitting on the word in the redirection. - 15. Function names must be valid shell `name's. That is, they may not + 16. Function names must be valid shell `name's. That is, they may not contain characters other than letters, digits, and underscores, and may not start with a digit. Declaring a function with an invalid name causes a fatal syntax error in non-interactive shells. - 16. POSIX 1003.2 `special' builtins are found before shell functions + 17. POSIX 1003.2 special builtins are found before shell functions during command lookup. - 17. If a POSIX 1003.2 special builtin returns an error status, a + 18. If a POSIX 1003.2 special builtin returns an error status, a non-interactive shell exits. The fatal errors are those listed in the POSIX.2 standard, and include things like passing incorrect options, redirection errors, variable assignment errors for assignments preceding the command name, and so on. - 18. If the `cd' builtin finds a directory to change to using - `$CDPATH', the value it assigns to the `PWD' variable does not - contain any symbolic links, as if `cd -P' had been executed. - 19. If `CDPATH' is set, the `cd' builtin will not implicitly append the current directory to it. This means that `cd' will fail if no valid directory name can be constructed from any of the entries in @@ -5273,9 +5325,10 @@ startup files. 27. The `trap' builtin doesn't check the first argument for a possible signal specification and revert the signal handling to the original - disposition if it is. If users want to reset the handler for a - given signal to the original disposition, they should use `-' as - the first argument. + disposition if it is, unless that argument consists solely of + digits and is a valid signal number. If users want to reset the + handler for a given signal to the original disposition, they + should use `-' as the first argument. 28. The `.' and `source' builtins do not search the current directory for the filename argument if it is not found by searching `PATH'. @@ -5302,21 +5355,46 @@ startup files. argument does not refer to an existing directory, `cd' will fail instead of falling back to PHYSICAL mode. - There is other POSIX 1003.2 behavior that Bash does not implement. -Specifically: + 35. When the `pwd' builtin is supplied the `-P' option, it resets + `$PWD' to a pathname containing no symlinks. + + 36. The `pwd' builtin verifies that the value it prints is the same as + the current directory, even if it is not asked to check the file + system with the `-P' option. + + 37. When listing the history, the `fc' builtin does not include an + indication of whether or not a history entry has been modified. + + 38. The default editor used by `fc' is `ed'. + + 39. The `type' and `command' builtins will not report a non-executable + file as having been found, though the shell will attempt to + execute such a file if it is the only so-named file found in + `$PATH'. - 1. Assignment statements affect the execution environment of all - builtins, not just special ones. + 40. The `vi' editing mode will invoke the `vi' editor directly when + the `v' command is run, instead of checking `$FCEDIT' and + `$EDITOR'. - 2. When a subshell is created to execute a shell script with execute - permission, but without a leading `#!', Bash sets `$0' to the full - pathname of the script as found by searching `$PATH', rather than - the command as typed by the user. + 41. When the `xpg_echo' option is enabled, Bash does not attempt to + interpret any arguments to `echo' as options. Each argument is + displayed, after escape characters are converted. - 3. When using `.' to source a shell script found in `$PATH', bash - checks execute permission bits rather than read permission bits, - just as if it were searching for a command. + There is other POSIX 1003.2 behavior that Bash does not implement by +default even when in POSIX mode. Specifically: + + 1. The `fc' builtin checks `$EDITOR' as a program to edit history + entries if `FCEDIT' is unset, rather than defaulting directly to + `ed'. `fc' uses `ed' if `EDITOR' is unset. + + 2. As noted above, Bash requires the `xpg_echo' option to be enabled + for the `echo' builtin to be fully conformant. + + + Bash can be configured to be POSIX-conformant by default, by +specifying the `--enable-strict-posix-default' to `configure' when +building (*note Optional Features::). File: bashref.info, Node: Job Control, Next: Using History Interactively, Prev: Bash Features, Up: Top @@ -5386,9 +5464,10 @@ character `%' introduces a job name. Job number `n' may be referred to as `%n'. The symbols `%%' and `%+' refer to the shell's notion of the current job, which is the last -job stopped while it was in the foreground or started in the -background. The previous job may be referenced using `%-'. In output -pertaining to jobs (e.g., the output of the `jobs' command), the +job stopped while it was in the foreground or started in the background. +A single `%' (with no accompanying job specification) also refers to +the current job. The previous job may be referenced using `%-'. In +output pertaining to jobs (e.g., the output of the `jobs' command), the current job is always flagged with a `+', and the previous job with a `-'. @@ -5424,13 +5503,13 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables, ======================== `bg' - bg [JOBSPEC] - Resume the suspended job JOBSPEC in the background, as if it had + bg [JOBSPEC ...] + Resume each suspended job JOBSPEC in the background, as if it had been started with `&'. If JOBSPEC is not supplied, the current job is used. The return status is zero unless it is run when job - control is not enabled, or, when run with job control enabled, if - JOBSPEC was not found or JOBSPEC specifies a job that was started - without job control. + control is not enabled, or, when run with job control enabled, any + JOBSPEC was not found or specifies a job that was started without + job control. `fg' fg [JOBSPEC] @@ -5490,11 +5569,11 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables, occurs or an invalid option is encountered. `wait' - wait [JOBSPEC or PID] - Wait until the child process specified by process ID PID or job - specification JOBSPEC exits and return the exit status of the last - command waited for. If a job spec is given, all processes in the - job are waited for. If no arguments are given, all currently + wait [JOBSPEC or PID ...] + Wait until the child process specified by each process ID PID or + job specification JOBSPEC exits and return the exit status of the + last command waited for. If a job spec is given, all processes in + the job are waited for. If no arguments are given, all currently active child processes are waited for, and the return status is zero. If neither JOBSPEC nor PID specifies an active child process of the shell, the return status is 127. @@ -5878,7 +5957,11 @@ Variable Settings set editing-mode vi Variable names and values, where appropriate, are recognized - without regard to case. + without regard to case. Unrecognized variable names are ignored. + + Boolean variables (those that can be set to on or off) are set to + on if the value is null or empty, ON (case-insensitive), or 1. + Any other value results in the variable being set to off. The `bind -V' command lists the current Readline variable names and values. *Note Bash Builtins::. @@ -5893,6 +5976,11 @@ Variable Settings one is available. If set to `audible' (the default), Readline attempts to ring the terminal's bell. + `bind-tty-special-chars' + If set to `on', Readline attempts to bind the control + characters treated specially by the kernel's terminal driver + to their Readline equivalents. + `comment-begin' The string to insert at the beginning of the line when the `insert-comment' command is executed. The default value is @@ -5910,7 +5998,8 @@ Variable Settings than this value, Readline will ask the user whether or not he wishes to view them; otherwise, they are simply listed. This variable must be set to an integer value greater than or - equal to 0. The default limit is `100'. + equal to 0. A negative value means Readline should never ask. + The default limit is `100'. `convert-meta' If set to `on', Readline will convert characters with the @@ -5938,9 +6027,10 @@ Variable Settings If set to `on', tilde expansion is performed when Readline attempts word completion. The default is `off'. + `history-preserve-point' If set to `on', the history code attempts to place point at the same location on each history line retrieved with - `previous-history' or `next-history'. + `previous-history' or `next-history'. The default is `off'. `horizontal-scroll-mode' This variable can be set to either `on' or `off'. Setting it @@ -6443,14 +6533,17 @@ File: bashref.info, Node: Commands For History, Next: Commands For Text, Prev second word on the previous line) at point. With an argument N, insert the Nth word from the previous command (the words in the previous command begin with word 0). A negative argument inserts - the Nth word from the end of the previous command. + the Nth word from the end of the previous command. Once the + argument N is computed, the argument is extracted as if the `!N' + history expansion had been specified. `yank-last-arg (M-. or M-_)' Insert last argument to the previous command (the last word of the previous history entry). With an argument, behave exactly like `yank-nth-arg'. Successive calls to `yank-last-arg' move back through the history list, inserting the last argument of each line - in turn. + in turn. The history expansion facilities are used to extract the + last argument, as if the `!$' history expansion had been specified. @@ -6911,12 +7004,11 @@ variable is used. considered. The string is first split using the characters in the `IFS' special variable as delimiters. Shell quoting is honored. Each word is then expanded using brace expansion, tilde expansion, parameter and -variable expansion, command substitution, arithmetic expansion, and -pathname expansion, as described above (*note Shell Expansions::). The -results are split using the rules described above (*note Word -Splitting::). The results of the expansion are prefix-matched against -the word being completed, and the matching words become the possible -completions. +variable expansion, command substitution, and arithmetic expansion, as +described above (*note Shell Expansions::). The results are split +using the rules described above (*note Word Splitting::). The results +of the expansion are prefix-matched against the word being completed, +and the matching words become the possible completions. After these matches have been generated, any shell function or command specified with the `-F' and `-C' options is invoked. When the @@ -7058,6 +7150,12 @@ completion facilities. Tell Readline not to append a space (the default) to words completed at the end of the line. + `plusdirs' + After any matches defined by the compspec are generated, + directory name completion is attempted and any matches + are added to the results of the other actions. + + `-A ACTION' The ACTION may be one of the following to generate a list of possible completions: @@ -7567,23 +7665,16 @@ MS-DOS, OS/2, and Windows platforms. * Menu: * Basic Installation:: Installation instructions. - * Compilers and Options:: How to set special options for various systems. - * Compiling For Multiple Architectures:: How to compile Bash for more than one kind of system from the same source tree. - * Installation Names:: How to set the various paths used by the installation. - * Specifying the System Type:: How to configure Bash for a particular system. - * Sharing Defaults:: How to share default configuration values among GNU programs. - * Operation Controls:: Options recognized by the configuration program. - * Optional Features:: How to enable and disable optional features when building Bash. @@ -7806,13 +7897,14 @@ that the Bash `configure' recognizes. Define if you are using the Andrew File System from Transarc. `--with-bash-malloc' - Use the Bash version of `malloc' in `lib/malloc/malloc.c'. This - is not the same `malloc' that appears in GNU libc, but an older - version derived from the 4.2 BSD `malloc'. This `malloc' is very - fast, but wastes some space on each allocation. This option is - enabled by default. The `NOTES' file contains a list of systems - for which this should be turned off, and `configure' disables this - option automatically for a number of systems. + Use the Bash version of `malloc' in the directory `lib/malloc'. + This is not the same `malloc' that appears in GNU libc, but an + older version originally derived from the 4.2 BSD `malloc'. This + `malloc' is very fast, but wastes some space on each allocation. + This option is enabled by default. The `NOTES' file contains a + list of systems for which this should be turned off, and + `configure' disables this option automatically for a number of + systems. `--with-curses' Use the curses library instead of the termcap library. This should @@ -7825,7 +7917,7 @@ that the Bash `configure' recognizes. `--with-installed-readline[=PREFIX]' Define this to make Bash link with a locally-installed version of Readline rather than the version in `lib/readline'. This works - only with Readline 4.3 and later versions. If PREFIX is `yes' or + only with Readline 5.0 and later versions. If PREFIX is `yes' or not supplied, `configure' uses the values of the make variables `includedir' and `libdir', which are subdirectories of `prefix' by default, to find the installed version of Readline if it is not in @@ -7906,6 +7998,9 @@ does not provide the necessary support. `=~' binary operator in the `[[' conditional command. (*note Conditional Constructs::). +`--enable-debugger' + Include support for the bash debugger (distributed separately). + `--enable-directory-stack' Include support for a `csh'-like directory stack and the `pushd', `popd', and `dirs' builtins (*note The Directory Stack::). @@ -7949,17 +8044,17 @@ does not provide the necessary support. This enables process substitution (*note Process Substitution::) if the operating system provides the necessary support. +`--enable-progcomp' + Enable the programmable completion facilities (*note Programmable + Completion::). If Readline is not enabled, this option has no + effect. + `--enable-prompt-string-decoding' Turn on the interpretation of a number of backslash-escaped characters in the `$PS1', `$PS2', `$PS3', and `$PS4' prompt strings. See *Note Printing a Prompt::, for a complete list of prompt string escape sequences. -`--enable-progcomp' - Enable the programmable completion facilities (*note Programmable - Completion::). If Readline is not enabled, this option has no - effect. - `--enable-readline' Include support for command-line editing and history with the Bash version of the Readline library (*note Command Line Editing::). @@ -7973,6 +8068,19 @@ does not provide the necessary support. Include the `select' builtin, which allows the generation of simple menus (*note Conditional Constructs::). +`--enable-separate-helpfiles' + Use external files for the documentation displayed by the `help' + builtin instead of storing the text internally. + +`--enable-single-help-strings' + Store the text displayed by the `help' builtin as a single string + for each help topic. This aids in translating the text to + different languages. You may need to disable this if your + compiler cannot handle very long string literals. + +`--enable-strict-posix-default' + Make Bash POSIX-conformant by default (*note Bash POSIX Mode::). + `--enable-usg-echo-default' A synonym for `--enable-xpg-echo-default'. @@ -7981,7 +8089,7 @@ does not provide the necessary support. default, without requiring the `-e' option. This sets the default value of the `xpg_echo' shell option to `on', which makes the Bash `echo' behave more like the version specified in the Single Unix - Specification, version 2. *Note Bash Builtins::, for a + Specification, version 3. *Note Bash Builtins::, for a description of the escape sequences that `echo' recognizes. @@ -8038,7 +8146,8 @@ be implemented. There are some differences between the traditional Bourne shell and Bash; this section quickly details the differences of significance. A number of these differences are explained in greater depth in previous sections. This section uses the version of `sh' -included in SVR4.2 as the baseline reference. +included in SVR4.2 (the last version of the historical Bourne shell) as +the baseline reference. * Bash is POSIX-conformant, even where the POSIX specification differs from traditional `sh' behavior (*note Bash POSIX Mode::). @@ -8078,7 +8187,9 @@ included in SVR4.2 as the baseline reference. * Bash implements the `!' keyword to negate the return value of a pipeline (*note Pipelines::). Very useful when an `if' statement - needs to act only if a test fails. + needs to act only if a test fails. The Bash `-o pipefail' option + to `set' will cause a pipeline to return a failure status if any + command fails. * Bash has the `time' reserved word and command timing (*note Pipelines::). The display of the timing statistics may be @@ -8092,7 +8203,11 @@ included in SVR4.2 as the baseline reference. generation of simple menus (*note Conditional Constructs::). * Bash includes the `[[' compound command, which makes conditional - testing part of the shell grammar (*note Conditional Constructs::). + testing part of the shell grammar (*note Conditional + Constructs::), including optional regular expression matching. + + * Bash provides optional case-insensitive matching for the `case' and + `[[' constructs. * Bash includes brace expansion (*note Brace Expansion::) and tilde expansion (*note Tilde Expansion::). @@ -8109,6 +8224,9 @@ included in SVR4.2 as the baseline reference. not normally do this unless the variables are explicitly marked using the `export' command. + * Bash supports the `+=' assignment operator, which appends to the + value of the variable named on the left hand side. + * Bash includes the POSIX pattern removal `%', `#', `%%' and `##' expansions to remove leading or trailing substrings from variable values (*note Shell Parameter Expansion::). @@ -8176,6 +8294,12 @@ included in SVR4.2 as the baseline reference. operator, for directing standard output and standard error to the same file (*note Redirections::). + * Bash includes the `<<<' redirection operator, allowing a string to + be used as the standard input to a command. + + * Bash implements the `[n]<&WORD' and `[n]>&WORD' redirection + operators, which move one file descriptor to another. + * Bash treats a number of filenames specially when they are used in redirection operators (*note Redirections::). @@ -8288,7 +8412,9 @@ included in SVR4.2 as the baseline reference. `DEBUG'. Commands specified with an `RETURN' trap are executed before execution resumes after a shell function or a shell script executed with `.' or `source' returns. The `RETURN' trap is not - inherited by shell functions. + inherited by shell functions unless the function has been given + the `trace' attribute or the `functrace' option has been enabled + using the `shopt' builtin. * The Bash `type' builtin is more extensive and gives more information about the names it finds (*note Bash Builtins::). @@ -8312,6 +8438,9 @@ included in SVR4.2 as the baseline reference. table (*note Job Control Builtins::) or suppress the sending of `SIGHUP' to a job when the shell exits as the result of a `SIGHUP'. + * Bash includes a number of features to support a separate debugger + for shell scripts. + * The SVR4.2 shell has two privilege-related builtins (`mldmode' and `priv') not present in Bash. @@ -8849,7 +8978,7 @@ Index of Shell Builtin Commands * disown: Job Control Builtins. (line 83) * echo: Bash Builtins. (line 191) -* enable: Bash Builtins. (line 244) +* enable: Bash Builtins. (line 247) * eval: Bourne Shell Builtins. (line 63) * exec: Bourne Shell Builtins. @@ -8866,24 +8995,24 @@ Index of Shell Builtin Commands (line 103) * hash: Bourne Shell Builtins. (line 145) -* help: Bash Builtins. (line 272) +* help: Bash Builtins. (line 275) * history: Bash History Builtins. (line 39) * jobs: Job Control Builtins. (line 25) * kill: Job Control Builtins. (line 57) -* let: Bash Builtins. (line 281) -* local: Bash Builtins. (line 288) -* logout: Bash Builtins. (line 298) +* let: Bash Builtins. (line 284) +* local: Bash Builtins. (line 291) +* logout: Bash Builtins. (line 301) * popd: Directory Stack Builtins. (line 37) -* printf: Bash Builtins. (line 302) +* printf: Bash Builtins. (line 305) * pushd: Directory Stack Builtins. (line 58) * pwd: Bourne Shell Builtins. (line 163) -* read: Bash Builtins. (line 324) +* read: Bash Builtins. (line 330) * readonly: Bourne Shell Builtins. (line 172) * return: Bourne Shell Builtins. @@ -8891,24 +9020,24 @@ Index of Shell Builtin Commands * set: The Set Builtin. (line 9) * shift: Bourne Shell Builtins. (line 200) -* shopt: Bash Builtins. (line 385) -* source: Bash Builtins. (line 600) +* shopt: Bash Builtins. (line 391) +* source: Bash Builtins. (line 622) * suspend: Job Control Builtins. (line 94) * test: Bourne Shell Builtins. (line 212) * times: Bourne Shell Builtins. - (line 276) + (line 278) * trap: Bourne Shell Builtins. - (line 281) -* type: Bash Builtins. (line 604) -* typeset: Bash Builtins. (line 635) -* ulimit: Bash Builtins. (line 641) + (line 283) +* type: Bash Builtins. (line 626) +* typeset: Bash Builtins. (line 657) +* ulimit: Bash Builtins. (line 663) * umask: Bourne Shell Builtins. - (line 322) -* unalias: Bash Builtins. (line 703) + (line 324) +* unalias: Bash Builtins. (line 725) * unset: Bourne Shell Builtins. - (line 339) + (line 341) * wait: Job Control Builtins. (line 73) @@ -8923,9 +9052,9 @@ Index of Shell Reserved Words * !: Pipelines. (line 8) * [[: Conditional Constructs. - (line 105) + (line 108) * ]]: Conditional Constructs. - (line 105) + (line 108) * case: Conditional Constructs. (line 28) * do: Looping Constructs. (line 12) @@ -8945,7 +9074,7 @@ Index of Shell Reserved Words * in: Conditional Constructs. (line 28) * select: Conditional Constructs. - (line 64) + (line 67) * then: Conditional Constructs. (line 7) * time: Pipelines. (line 8) @@ -8963,153 +9092,156 @@ Parameter and Variable Index * Menu: -* !: Special Parameters. (line 42) -* #: Special Parameters. (line 26) -* $: Special Parameters. (line 38) +* !: Special Parameters. (line 46) +* #: Special Parameters. (line 30) +* $: Special Parameters. (line 42) * *: Special Parameters. (line 9) -* -: Special Parameters. (line 33) -* 0: Special Parameters. (line 46) -* ?: Special Parameters. (line 29) +* -: Special Parameters. (line 37) +* 0: Special Parameters. (line 50) +* ?: Special Parameters. (line 33) * @: Special Parameters. (line 19) -* _: Special Parameters. (line 55) +* _: Special Parameters. (line 59) * auto_resume: Job Control Variables. (line 6) * BASH: Bash Variables. (line 13) * BASH_ARGC: Bash Variables. (line 16) -* BASH_ARGV: Bash Variables. (line 24) -* BASH_COMMAND: Bash Variables. (line 31) -* BASH_ENV: Bash Variables. (line 36) -* BASH_EXECUTION_STRING: Bash Variables. (line 42) -* BASH_LINENO: Bash Variables. (line 45) -* BASH_REMATCH: Bash Variables. (line 53) -* BASH_SOURCE: Bash Variables. (line 61) -* BASH_SUBSHELL: Bash Variables. (line 65) -* BASH_VERSINFO: Bash Variables. (line 69) -* BASH_VERSION: Bash Variables. (line 93) +* BASH_ARGV: Bash Variables. (line 26) +* BASH_COMMAND: Bash Variables. (line 36) +* BASH_ENV: Bash Variables. (line 41) +* BASH_EXECUTION_STRING: Bash Variables. (line 47) +* BASH_LINENO: Bash Variables. (line 50) +* BASH_REMATCH: Bash Variables. (line 58) +* BASH_SOURCE: Bash Variables. (line 66) +* BASH_SUBSHELL: Bash Variables. (line 70) +* BASH_VERSINFO: Bash Variables. (line 74) +* BASH_VERSION: Bash Variables. (line 98) * bell-style: Readline Init File Syntax. - (line 34) + (line 38) +* bind-tty-special-chars: Readline Init File Syntax. + (line 45) * CDPATH: Bourne Shell Variables. (line 9) -* COLUMNS: Bash Variables. (line 96) +* COLUMNS: Bash Variables. (line 101) * comment-begin: Readline Init File Syntax. - (line 41) -* COMP_CWORD: Bash Variables. (line 101) -* COMP_LINE: Bash Variables. (line 107) -* COMP_POINT: Bash Variables. (line 112) -* COMP_WORDBREAKS: Bash Variables. (line 120) -* COMP_WORDS: Bash Variables. (line 126) + (line 50) +* COMP_CWORD: Bash Variables. (line 106) +* COMP_LINE: Bash Variables. (line 112) +* COMP_POINT: Bash Variables. (line 117) +* COMP_WORDBREAKS: Bash Variables. (line 125) +* COMP_WORDS: Bash Variables. (line 131) * completion-query-items: Readline Init File Syntax. - (line 51) -* COMPREPLY: Bash Variables. (line 132) -* convert-meta: Readline Init File Syntax. (line 60) -* DIRSTACK: Bash Variables. (line 137) +* COMPREPLY: Bash Variables. (line 137) +* convert-meta: Readline Init File Syntax. + (line 70) +* DIRSTACK: Bash Variables. (line 142) * disable-completion: Readline Init File Syntax. - (line 66) + (line 76) * editing-mode: Readline Init File Syntax. - (line 71) -* EMACS: Bash Variables. (line 147) + (line 81) +* EMACS: Bash Variables. (line 152) * enable-keypad: Readline Init File Syntax. - (line 77) -* EUID: Bash Variables. (line 152) + (line 87) +* EUID: Bash Variables. (line 157) * expand-tilde: Readline Init File Syntax. - (line 82) -* FCEDIT: Bash Variables. (line 156) -* FIGNORE: Bash Variables. (line 160) -* FUNCNAME: Bash Variables. (line 166) -* GLOBIGNORE: Bash Variables. (line 175) -* GROUPS: Bash Variables. (line 181) -* histchars: Bash Variables. (line 187) -* HISTCMD: Bash Variables. (line 202) -* HISTCONTROL: Bash Variables. (line 207) -* HISTFILE: Bash Variables. (line 223) -* HISTFILESIZE: Bash Variables. (line 227) -* HISTIGNORE: Bash Variables. (line 234) + (line 92) +* FCEDIT: Bash Variables. (line 161) +* FIGNORE: Bash Variables. (line 165) +* FUNCNAME: Bash Variables. (line 171) +* GLOBIGNORE: Bash Variables. (line 180) +* GROUPS: Bash Variables. (line 186) +* histchars: Bash Variables. (line 192) +* HISTCMD: Bash Variables. (line 207) +* HISTCONTROL: Bash Variables. (line 212) +* HISTFILE: Bash Variables. (line 228) +* HISTFILESIZE: Bash Variables. (line 232) +* HISTIGNORE: Bash Variables. (line 239) * history-preserve-point: Readline Init File Syntax. - (line 85) -* HISTSIZE: Bash Variables. (line 253) -* HISTTIMEFORMAT: Bash Variables. (line 257) + (line 96) +* HISTSIZE: Bash Variables. (line 258) +* HISTTIMEFORMAT: Bash Variables. (line 262) * HOME: Bourne Shell Variables. (line 13) * horizontal-scroll-mode: Readline Init File Syntax. - (line 90) -* HOSTFILE: Bash Variables. (line 264) -* HOSTNAME: Bash Variables. (line 275) -* HOSTTYPE: Bash Variables. (line 278) + (line 101) +* HOSTFILE: Bash Variables. (line 269) +* HOSTNAME: Bash Variables. (line 280) +* HOSTTYPE: Bash Variables. (line 283) * IFS: Bourne Shell Variables. (line 18) -* IGNOREEOF: Bash Variables. (line 281) +* IGNOREEOF: Bash Variables. (line 286) * input-meta: Readline Init File Syntax. - (line 97) -* INPUTRC: Bash Variables. (line 291) + (line 108) +* INPUTRC: Bash Variables. (line 296) * isearch-terminators: Readline Init File Syntax. - (line 104) + (line 115) * keymap: Readline Init File Syntax. - (line 111) -* LANG: Bash Variables. (line 295) -* LC_ALL: Bash Variables. (line 299) -* LC_COLLATE: Bash Variables. (line 303) -* LC_CTYPE: Bash Variables. (line 310) + (line 122) +* LANG: Bash Variables. (line 300) +* LC_ALL: Bash Variables. (line 304) +* LC_COLLATE: Bash Variables. (line 308) +* LC_CTYPE: Bash Variables. (line 315) * LC_MESSAGES <1>: Locale Translation. (line 11) -* LC_MESSAGES: Bash Variables. (line 315) -* LC_NUMERIC: Bash Variables. (line 319) -* LINENO: Bash Variables. (line 323) -* LINES: Bash Variables. (line 327) -* MACHTYPE: Bash Variables. (line 332) +* LC_MESSAGES: Bash Variables. (line 320) +* LC_NUMERIC: Bash Variables. (line 324) +* LINENO: Bash Variables. (line 328) +* LINES: Bash Variables. (line 332) +* MACHTYPE: Bash Variables. (line 337) * MAIL: Bourne Shell Variables. (line 22) -* MAILCHECK: Bash Variables. (line 336) +* MAILCHECK: Bash Variables. (line 341) * MAILPATH: Bourne Shell Variables. (line 27) * mark-modified-lines: Readline Init File Syntax. - (line 124) + (line 135) * mark-symlinked-directories: Readline Init File Syntax. - (line 129) + (line 140) * match-hidden-files: Readline Init File Syntax. - (line 134) + (line 145) * meta-flag: Readline Init File Syntax. - (line 97) -* OLDPWD: Bash Variables. (line 344) + (line 108) +* OLDPWD: Bash Variables. (line 349) * OPTARG: Bourne Shell Variables. (line 34) -* OPTERR: Bash Variables. (line 347) +* OPTERR: Bash Variables. (line 352) * OPTIND: Bourne Shell Variables. (line 38) -* OSTYPE: Bash Variables. (line 351) +* OSTYPE: Bash Variables. (line 356) * output-meta: Readline Init File Syntax. - (line 141) + (line 152) * page-completions: Readline Init File Syntax. - (line 146) + (line 157) * PATH: Bourne Shell Variables. (line 42) -* PIPESTATUS: Bash Variables. (line 354) -* POSIXLY_CORRECT: Bash Variables. (line 359) -* PPID: Bash Variables. (line 368) -* PROMPT_COMMAND: Bash Variables. (line 372) +* PIPESTATUS: Bash Variables. (line 359) +* POSIXLY_CORRECT: Bash Variables. (line 364) +* PPID: Bash Variables. (line 373) +* PROMPT_COMMAND: Bash Variables. (line 377) * PS1: Bourne Shell Variables. (line 48) * PS2: Bourne Shell Variables. (line 53) -* PS3: Bash Variables. (line 376) -* PS4: Bash Variables. (line 381) -* PWD: Bash Variables. (line 387) -* RANDOM: Bash Variables. (line 390) -* REPLY: Bash Variables. (line 395) -* SECONDS: Bash Variables. (line 398) -* SHELL: Bash Variables. (line 404) -* SHELLOPTS: Bash Variables. (line 409) -* SHLVL: Bash Variables. (line 418) +* PS3: Bash Variables. (line 381) +* PS4: Bash Variables. (line 386) +* PWD: Bash Variables. (line 392) +* RANDOM: Bash Variables. (line 395) +* REPLY: Bash Variables. (line 400) +* SECONDS: Bash Variables. (line 403) +* SHELL: Bash Variables. (line 409) +* SHELLOPTS: Bash Variables. (line 414) +* SHLVL: Bash Variables. (line 423) * show-all-if-ambiguous: Readline Init File Syntax. - (line 156) + (line 167) * show-all-if-unmodified: Readline Init File Syntax. - (line 162) + (line 173) * TEXTDOMAIN: Locale Translation. (line 11) * TEXTDOMAINDIR: Locale Translation. (line 11) -* TIMEFORMAT: Bash Variables. (line 423) -* TMOUT: Bash Variables. (line 461) -* UID: Bash Variables. (line 473) +* TIMEFORMAT: Bash Variables. (line 428) +* TMOUT: Bash Variables. (line 466) +* TMPDIR: Bash Variables. (line 478) +* UID: Bash Variables. (line 482) * visible-stats: Readline Init File Syntax. - (line 171) + (line 182) File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Top @@ -9209,7 +9341,7 @@ Function Index * unix-word-rubout (C-w): Commands For Killing. (line 28) * upcase-word (M-u): Commands For Text. (line 38) * yank (C-y): Commands For Killing. (line 59) -* yank-last-arg (M-. or M-_): Commands For History. (line 63) +* yank-last-arg (M-. or M-_): Commands For History. (line 65) * yank-nth-arg (M-C-y): Commands For History. (line 56) * yank-pop (M-y): Commands For Killing. (line 62) @@ -9298,7 +9430,7 @@ Concept Index * history list: Bash History Facilities. (line 6) * History, how to use: Programmable Completion Builtins. - (line 203) + (line 209) * identifier: Definitions. (line 49) * initialization file, readline: Readline Init File. (line 6) * installation: Basic Installation. (line 6) @@ -9366,7 +9498,7 @@ Concept Index * translation, native languages: Locale Translation. (line 6) * variable, shell: Shell Parameters. (line 6) * variables, readline: Readline Init File Syntax. - (line 33) + (line 37) * word: Definitions. (line 87) * word splitting: Word Splitting. (line 6) * yanking text: Readline Killing Commands. @@ -9375,129 +9507,129 @@ Concept Index Tag Table: -Node: Top1349 -Node: Introduction3485 -Node: What is Bash?3714 -Node: What is a shell?4807 -Node: Definitions7348 -Node: Basic Shell Features10089 -Node: Shell Syntax11308 -Node: Shell Operation12340 -Node: Quoting13634 -Node: Escape Character14908 -Node: Single Quotes15393 -Node: Double Quotes15741 -Node: ANSI-C Quoting16767 -Node: Locale Translation17723 -Node: Comments18619 -Node: Shell Commands19233 -Node: Simple Commands19999 -Node: Pipelines20630 -Node: Lists22505 -Node: Compound Commands24136 -Node: Looping Constructs24920 -Node: Conditional Constructs27367 -Node: Command Grouping34434 -Node: Shell Functions35883 -Node: Shell Parameters40151 -Node: Positional Parameters41732 -Node: Special Parameters42632 -Node: Shell Expansions45299 -Node: Brace Expansion47224 -Node: Tilde Expansion49549 -Node: Shell Parameter Expansion51890 -Node: Command Substitution59153 -Node: Arithmetic Expansion60486 -Node: Process Substitution61336 -Node: Word Splitting62386 -Node: Filename Expansion63847 -Node: Pattern Matching65983 -Node: Quote Removal69316 -Node: Redirections69611 -Node: Executing Commands77190 -Node: Simple Command Expansion77865 -Node: Command Search and Execution79795 -Node: Command Execution Environment81801 -Node: Environment84572 -Node: Exit Status86232 -Node: Signals87436 -Node: Shell Scripts89400 -Node: Shell Builtin Commands91918 -Node: Bourne Shell Builtins93497 -Node: Bash Builtins110450 -Node: The Set Builtin138577 -Node: Special Builtins146800 -Node: Shell Variables147777 -Node: Bourne Shell Variables148217 -Node: Bash Variables150198 -Node: Bash Features169913 -Node: Invoking Bash170796 -Node: Bash Startup Files176615 -Node: Interactive Shells181473 -Node: What is an Interactive Shell?181883 -Node: Is this Shell Interactive?182533 -Node: Interactive Shell Behavior183348 -Node: Bash Conditional Expressions186624 -Node: Shell Arithmetic190049 -Node: Aliases192794 -Node: Arrays195362 -Node: The Directory Stack198393 -Node: Directory Stack Builtins199107 -Node: Printing a Prompt201998 -Node: The Restricted Shell204712 -Node: Bash POSIX Mode206544 -Node: Job Control213197 -Node: Job Control Basics213664 -Node: Job Control Builtins217954 -Node: Job Control Variables222274 -Node: Command Line Editing223432 -Node: Introduction and Notation224431 -Node: Readline Interaction226053 -Node: Readline Bare Essentials227244 -Node: Readline Movement Commands229033 -Node: Readline Killing Commands229998 -Node: Readline Arguments231918 -Node: Searching232962 -Node: Readline Init File235148 -Node: Readline Init File Syntax236207 -Node: Conditional Init Constructs247860 -Node: Sample Init File250393 -Node: Bindable Readline Commands253510 -Node: Commands For Moving254717 -Node: Commands For History255578 -Node: Commands For Text258479 -Node: Commands For Killing261152 -Node: Numeric Arguments263294 -Node: Commands For Completion264433 -Node: Keyboard Macros268026 -Node: Miscellaneous Commands268597 -Node: Readline vi Mode273908 -Node: Programmable Completion274822 -Node: Programmable Completion Builtins280634 -Node: Using History Interactively288004 -Node: Bash History Facilities288684 -Node: Bash History Builtins291379 -Node: History Interaction295236 -Node: Event Designators297792 -Node: Word Designators298807 -Node: Modifiers300446 -Node: Installing Bash301852 -Node: Basic Installation302989 -Node: Compilers and Options305681 -Node: Compiling For Multiple Architectures306422 -Node: Installation Names308086 -Node: Specifying the System Type308904 -Node: Sharing Defaults309620 -Node: Operation Controls310293 -Node: Optional Features311251 -Node: Reporting Bugs319530 -Node: Major Differences From The Bourne Shell320724 -Node: Copying This Manual336496 -Node: GNU Free Documentation License336772 -Node: Builtin Index359178 -Node: Reserved Word Index365727 -Node: Variable Index368163 -Node: Function Index378882 -Node: Concept Index385602 +Node: Top1375 +Node: Introduction3475 +Node: What is Bash?3703 +Node: What is a shell?4796 +Node: Definitions7337 +Node: Basic Shell Features10078 +Node: Shell Syntax11297 +Node: Shell Operation12327 +Node: Quoting13621 +Node: Escape Character14924 +Node: Single Quotes15409 +Node: Double Quotes15757 +Node: ANSI-C Quoting16882 +Node: Locale Translation17838 +Node: Comments18734 +Node: Shell Commands19348 +Node: Simple Commands20114 +Node: Pipelines20745 +Node: Lists22620 +Node: Compound Commands24251 +Node: Looping Constructs25035 +Node: Conditional Constructs27482 +Node: Command Grouping34942 +Node: Shell Functions36391 +Node: Shell Parameters40681 +Node: Positional Parameters43011 +Node: Special Parameters43911 +Node: Shell Expansions46875 +Node: Brace Expansion48800 +Node: Tilde Expansion51125 +Node: Shell Parameter Expansion53476 +Node: Command Substitution60985 +Node: Arithmetic Expansion62318 +Node: Process Substitution63168 +Node: Word Splitting64218 +Node: Filename Expansion65679 +Node: Pattern Matching67815 +Node: Quote Removal71140 +Node: Redirections71435 +Node: Executing Commands79165 +Node: Simple Command Expansion79835 +Node: Command Search and Execution81765 +Node: Command Execution Environment83771 +Node: Environment86542 +Node: Exit Status88202 +Node: Signals89406 +Node: Shell Scripts91370 +Node: Shell Builtin Commands93888 +Node: Bourne Shell Builtins95549 +Node: Bash Builtins112632 +Node: The Set Builtin141675 +Node: Special Builtins150082 +Node: Shell Variables151059 +Node: Bourne Shell Variables151499 +Node: Bash Variables153480 +Node: Bash Features173666 +Node: Invoking Bash174549 +Node: Bash Startup Files180370 +Node: Interactive Shells185228 +Node: What is an Interactive Shell?185638 +Node: Is this Shell Interactive?186288 +Node: Interactive Shell Behavior187103 +Node: Bash Conditional Expressions190379 +Node: Shell Arithmetic193958 +Node: Aliases196704 +Node: Arrays199272 +Node: The Directory Stack202621 +Node: Directory Stack Builtins203335 +Node: Printing a Prompt206226 +Node: The Restricted Shell208940 +Node: Bash POSIX Mode210772 +Node: Job Control218589 +Node: Job Control Basics219056 +Node: Job Control Builtins223432 +Node: Job Control Variables227759 +Node: Command Line Editing228917 +Node: Introduction and Notation229916 +Node: Readline Interaction231538 +Node: Readline Bare Essentials232729 +Node: Readline Movement Commands234518 +Node: Readline Killing Commands235483 +Node: Readline Arguments237403 +Node: Searching238447 +Node: Readline Init File240633 +Node: Readline Init File Syntax241692 +Node: Conditional Init Constructs253908 +Node: Sample Init File256441 +Node: Bindable Readline Commands259558 +Node: Commands For Moving260765 +Node: Commands For History261626 +Node: Commands For Text264781 +Node: Commands For Killing267454 +Node: Numeric Arguments269596 +Node: Commands For Completion270735 +Node: Keyboard Macros274328 +Node: Miscellaneous Commands274899 +Node: Readline vi Mode280210 +Node: Programmable Completion281124 +Node: Programmable Completion Builtins286916 +Node: Using History Interactively294512 +Node: Bash History Facilities295192 +Node: Bash History Builtins297887 +Node: History Interaction301744 +Node: Event Designators304300 +Node: Word Designators305315 +Node: Modifiers306954 +Node: Installing Bash308360 +Node: Basic Installation309490 +Node: Compilers and Options312182 +Node: Compiling For Multiple Architectures312923 +Node: Installation Names314587 +Node: Specifying the System Type315405 +Node: Sharing Defaults316121 +Node: Operation Controls316794 +Node: Optional Features317752 +Node: Reporting Bugs326683 +Node: Major Differences From The Bourne Shell327877 +Node: Copying This Manual344575 +Node: GNU Free Documentation License344851 +Node: Builtin Index367257 +Node: Reserved Word Index373806 +Node: Variable Index376242 +Node: Function Index387175 +Node: Concept Index393895 End Tag Table |
