commit bash-20160909 snapshot

This commit is contained in:
Chet Ramey
2016-09-27 10:38:30 -04:00
parent 4d63a61942
commit 5606eb074d
22 changed files with 749 additions and 627 deletions
+180 -173
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.1 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 26 August 2016).
Bash shell (version 4.4, 7 September 2016).
This is Edition 4.4, last updated 26 August 2016, of 'The GNU Bash
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 26 August 2016). The Bash home page is
Bash shell (version 4.4, 7 September 2016). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 4.4, last updated 26 August 2016, of 'The GNU Bash
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Bash contains features that appear in other popular shells, and some
@@ -6420,158 +6420,165 @@ startup files.
14. POSIX special builtins are found before shell functions during
command lookup.
15. Literal tildes that appear as the first character in elements of
15. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
16. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
16. The 'time' reserved word may be used by itself as a command. When
17. The 'time' reserved word may be used by itself as a command. When
used in this way, it displays timing statistics for the shell and
its completed children. The 'TIMEFORMAT' variable controls the
format of the timing information.
17. When parsing and expanding a ${...} expansion that appears within
18. When parsing and expanding a ${...} expansion that appears within
double quotes, single quotes are no longer special and cannot be
used to quote a closing brace or other special character, unless
the operator is one of those defined to perform pattern removal.
In this case, they do not have to appear as matched pairs.
18. The parser does not recognize 'time' as a reserved word if the
19. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
19. The '!' character does not introduce history expansion within a
20. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
20. If a POSIX special builtin returns an error status, a
21. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
21. A non-interactive shell exits with an error status if a variable
22. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
22. A non-interactive shell exits with an error status if a variable
23. A non-interactive shell exits with an error status if a variable
assignment error occurs in an assignment statement preceding a
special builtin, but not with any other simple command.
23. A non-interactive shell exits with an error status if the
24. A non-interactive shell exits with an error status if the
iteration variable in a 'for' statement or the selection variable
in a 'select' statement is a readonly variable.
24. Non-interactive shells exit if FILENAME in '.' FILENAME is not
25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
25. Non-interactive shells exit if a syntax error in an arithmetic
26. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
26. Non-interactive shells exit on word expansion errors.
27. Non-interactive shells exit if a parameter expansion error occurs.
27. Non-interactive shells exit if there is a syntax error in a script
28. Non-interactive shells exit if there is a syntax error in a script
read with the '.' or 'source' builtins, or in a string processed by
the 'eval' builtin.
28. Process substitution is not available.
29. Process substitution is not available.
29. While variable indirection is available, it may not be applied to
30. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
30. Assignment statements preceding POSIX special builtins persist in
31. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
32. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
31. Assignment statements preceding shell function calls persist in
33. Assignment statements preceding shell function calls persist in
the shell environment after the function returns, as if a POSIX
special builtin command had been executed.
32. The 'command' builtin does not prevent builtins that take
34. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
33. The 'bg' builtin uses the required format to describe each job
35. 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.
34. The output of 'kill -l' prints all the signal names on a single
36. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
35. The 'kill' builtin does not accept signal names with a 'SIG'
37. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
36. The 'export' and 'readonly' builtin commands display their output
38. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
37. The 'trap' builtin displays signal names without the leading
39. The 'trap' builtin displays signal names without the leading
'SIG'.
38. The 'trap' builtin doesn't check the first argument for a possible
40. 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, 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.
39. The '.' and 'source' builtins do not search the current directory
41. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
40. Enabling POSIX mode has the effect of setting the
42. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
41. When the 'alias' builtin displays alias definitions, it does not
43. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
42. When the 'set' builtin is invoked without options, it does not
44. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
43. When the 'set' builtin is invoked without options, it displays
45. When the 'set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
44. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from '$PWD' and the directory name supplied as an
argument does not refer to an existing directory, 'cd' will fail
instead of falling back to PHYSICAL mode.
45. The 'pwd' builtin verifies that the value it prints is the same as
47. 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.
46. When listing the history, the 'fc' builtin does not include an
48. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
47. The default editor used by 'fc' is 'ed'.
49. The default editor used by 'fc' is 'ed'.
48. The 'type' and 'command' builtins will not report a non-executable
50. 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'.
49. The 'vi' editing mode will invoke the 'vi' editor directly when
51. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
50. When the 'xpg_echo' option is enabled, Bash does not attempt to
52. 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.
51. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
52. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
interrupt the 'wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
53. The 'read' builtin may be interrupted by a signal for which a trap
55. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
54. Bash removes an exited background process's status from the list
56. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
@@ -11344,134 +11351,134 @@ D.5 Concept Index

Tag Table:
Node: Top893
Node: Introduction2809
Node: What is Bash?3025
Node: What is a shell?4139
Node: Definitions6677
Node: Basic Shell Features9628
Node: Shell Syntax10847
Node: Shell Operation11873
Node: Quoting13166
Node: Escape Character14466
Node: Single Quotes14951
Node: Double Quotes15299
Node: ANSI-C Quoting16577
Node: Locale Translation17830
Node: Comments18726
Node: Shell Commands19344
Node: Simple Commands20216
Node: Pipelines20847
Node: Lists23590
Node: Compound Commands25319
Node: Looping Constructs26322
Node: Conditional Constructs28785
Node: Command Grouping39707
Node: Coprocesses41186
Node: GNU Parallel43018
Node: Shell Functions46991
Node: Shell Parameters52197
Node: Positional Parameters56610
Node: Special Parameters57510
Node: Shell Expansions60847
Node: Brace Expansion62941
Node: Tilde Expansion65722
Node: Shell Parameter Expansion68070
Node: Command Substitution82202
Node: Arithmetic Expansion83557
Node: Process Substitution84489
Node: Word Splitting85609
Node: Filename Expansion87553
Node: Pattern Matching89837
Node: Quote Removal93535
Node: Redirections93830
Node: Executing Commands103250
Node: Simple Command Expansion103920
Node: Command Search and Execution105850
Node: Command Execution Environment108186
Node: Environment111170
Node: Exit Status112829
Node: Signals114499
Node: Shell Scripts116466
Node: Shell Builtin Commands118981
Node: Bourne Shell Builtins121015
Node: Bash Builtins141615
Node: Modifying Shell Behavior170260
Node: The Set Builtin170605
Node: The Shopt Builtin181018
Node: Special Builtins196817
Node: Shell Variables197796
Node: Bourne Shell Variables198233
Node: Bash Variables200264
Node: Bash Features228644
Node: Invoking Bash229543
Node: Bash Startup Files235492
Node: Interactive Shells240595
Node: What is an Interactive Shell?241005
Node: Is this Shell Interactive?241654
Node: Interactive Shell Behavior242469
Node: Bash Conditional Expressions245844
Node: Shell Arithmetic250084
Node: Aliases252901
Node: Arrays255449
Node: The Directory Stack260533
Node: Directory Stack Builtins261317
Node: Controlling the Prompt264285
Node: The Restricted Shell267031
Node: Bash POSIX Mode268856
Node: Job Control278909
Node: Job Control Basics279369
Node: Job Control Builtins284088
Node: Job Control Variables288618
Node: Command Line Editing289774
Node: Introduction and Notation291445
Node: Readline Interaction293068
Node: Readline Bare Essentials294259
Node: Readline Movement Commands296042
Node: Readline Killing Commands297002
Node: Readline Arguments298920
Node: Searching299964
Node: Readline Init File302150
Node: Readline Init File Syntax303297
Node: Conditional Init Constructs323484
Node: Sample Init File326009
Node: Bindable Readline Commands329126
Node: Commands For Moving330330
Node: Commands For History331473
Node: Commands For Text335762
Node: Commands For Killing339151
Node: Numeric Arguments341632
Node: Commands For Completion342771
Node: Keyboard Macros346962
Node: Miscellaneous Commands347649
Node: Readline vi Mode353453
Node: Programmable Completion354360
Node: Programmable Completion Builtins361821
Node: A Programmable Completion Example371707
Node: Using History Interactively376959
Node: Bash History Facilities377643
Node: Bash History Builtins380644
Node: History Interaction384641
Node: Event Designators387605
Node: Word Designators388824
Node: Modifiers390461
Node: Installing Bash391863
Node: Basic Installation393000
Node: Compilers and Options395691
Node: Compiling For Multiple Architectures396432
Node: Installation Names398095
Node: Specifying the System Type398913
Node: Sharing Defaults399629
Node: Operation Controls400302
Node: Optional Features401260
Node: Reporting Bugs411517
Node: Major Differences From The Bourne Shell412711
Node: GNU Free Documentation License429563
Node: Indexes454740
Node: Builtin Index455194
Node: Reserved Word Index462021
Node: Variable Index464469
Node: Function Index479928
Node: Concept Index493085
Node: Top897
Node: Introduction2817
Node: What is Bash?3033
Node: What is a shell?4147
Node: Definitions6685
Node: Basic Shell Features9636
Node: Shell Syntax10855
Node: Shell Operation11881
Node: Quoting13174
Node: Escape Character14474
Node: Single Quotes14959
Node: Double Quotes15307
Node: ANSI-C Quoting16585
Node: Locale Translation17838
Node: Comments18734
Node: Shell Commands19352
Node: Simple Commands20224
Node: Pipelines20855
Node: Lists23598
Node: Compound Commands25327
Node: Looping Constructs26330
Node: Conditional Constructs28793
Node: Command Grouping39715
Node: Coprocesses41194
Node: GNU Parallel43026
Node: Shell Functions46999
Node: Shell Parameters52205
Node: Positional Parameters56618
Node: Special Parameters57518
Node: Shell Expansions60855
Node: Brace Expansion62949
Node: Tilde Expansion65730
Node: Shell Parameter Expansion68078
Node: Command Substitution82210
Node: Arithmetic Expansion83565
Node: Process Substitution84497
Node: Word Splitting85617
Node: Filename Expansion87561
Node: Pattern Matching89845
Node: Quote Removal93543
Node: Redirections93838
Node: Executing Commands103258
Node: Simple Command Expansion103928
Node: Command Search and Execution105858
Node: Command Execution Environment108194
Node: Environment111178
Node: Exit Status112837
Node: Signals114507
Node: Shell Scripts116474
Node: Shell Builtin Commands118989
Node: Bourne Shell Builtins121023
Node: Bash Builtins141623
Node: Modifying Shell Behavior170268
Node: The Set Builtin170613
Node: The Shopt Builtin181026
Node: Special Builtins196825
Node: Shell Variables197804
Node: Bourne Shell Variables198241
Node: Bash Variables200272
Node: Bash Features228652
Node: Invoking Bash229551
Node: Bash Startup Files235500
Node: Interactive Shells240603
Node: What is an Interactive Shell?241013
Node: Is this Shell Interactive?241662
Node: Interactive Shell Behavior242477
Node: Bash Conditional Expressions245852
Node: Shell Arithmetic250092
Node: Aliases252909
Node: Arrays255457
Node: The Directory Stack260541
Node: Directory Stack Builtins261325
Node: Controlling the Prompt264293
Node: The Restricted Shell267039
Node: Bash POSIX Mode268864
Node: Job Control279215
Node: Job Control Basics279675
Node: Job Control Builtins284394
Node: Job Control Variables288924
Node: Command Line Editing290080
Node: Introduction and Notation291751
Node: Readline Interaction293374
Node: Readline Bare Essentials294565
Node: Readline Movement Commands296348
Node: Readline Killing Commands297308
Node: Readline Arguments299226
Node: Searching300270
Node: Readline Init File302456
Node: Readline Init File Syntax303603
Node: Conditional Init Constructs323790
Node: Sample Init File326315
Node: Bindable Readline Commands329432
Node: Commands For Moving330636
Node: Commands For History331779
Node: Commands For Text336068
Node: Commands For Killing339457
Node: Numeric Arguments341938
Node: Commands For Completion343077
Node: Keyboard Macros347268
Node: Miscellaneous Commands347955
Node: Readline vi Mode353759
Node: Programmable Completion354666
Node: Programmable Completion Builtins362127
Node: A Programmable Completion Example372013
Node: Using History Interactively377265
Node: Bash History Facilities377949
Node: Bash History Builtins380950
Node: History Interaction384947
Node: Event Designators387911
Node: Word Designators389130
Node: Modifiers390767
Node: Installing Bash392169
Node: Basic Installation393306
Node: Compilers and Options395997
Node: Compiling For Multiple Architectures396738
Node: Installation Names398401
Node: Specifying the System Type399219
Node: Sharing Defaults399935
Node: Operation Controls400608
Node: Optional Features401566
Node: Reporting Bugs411823
Node: Major Differences From The Bourne Shell413017
Node: GNU Free Documentation License429869
Node: Indexes455046
Node: Builtin Index455500
Node: Reserved Word Index462327
Node: Variable Index464775
Node: Function Index480234
Node: Concept Index493391

End Tag Table