bash asan fixes; minor documentation updates

This commit is contained in:
Chet Ramey
2023-03-15 14:59:24 -04:00
parent 01084938a1
commit 437b73931c
11 changed files with 2620 additions and 2551 deletions
+177 -168
View File
@@ -1,9 +1,9 @@
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.2, 20 February 2023).
Bash shell (version 5.2, 14 March 2023).
This is Edition 5.2, last updated 20 February 2023, of 'The GNU Bash
This is Edition 5.2, last updated 14 March 2023, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Copyright (C) 1988-2023 Free Software Foundation, Inc.
@@ -26,10 +26,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.2, 20 February 2023). The Bash home page is
Bash shell (version 5.2, 14 March 2023). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.2, last updated 20 February 2023, of 'The GNU Bash
This is Edition 5.2, last updated 14 March 2023, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Bash contains features that appear in other popular shells, and some
@@ -2326,19 +2326,23 @@ quotes for word splitting.
The shell treats each character of '$IFS' as a delimiter, and splits
the results of the other expansions into words using these characters as
field terminators. If 'IFS' is unset, or its value is exactly
'<space><tab><newline>', the default, then sequences of ' <space>',
'<tab>', and '<newline>' at the beginning and end of the results of the
previous expansions are ignored, and any sequence of 'IFS' characters
not at the beginning or end serves to delimit words. If 'IFS' has a
value other than the default, then sequences of the whitespace
characters 'space', 'tab', and 'newline' are ignored at the beginning
and end of the word, as long as the whitespace character is in the value
of 'IFS' (an 'IFS' whitespace character). Any character in 'IFS' that
is not 'IFS' whitespace, along with any adjacent 'IFS' whitespace
characters, delimits a field. A sequence of 'IFS' whitespace characters
is also treated as a delimiter. If the value of 'IFS' is null, no word
splitting occurs.
field terminators.
If 'IFS' is unset, or its value is exactly '<space><tab><newline>',
the default, then sequences of 'space', 'tab', and 'newline' at the
beginning and end of the results of the previous expansions are ignored,
and any sequence of 'IFS' characters not at the beginning or end serves
to delimit words. If 'IFS' has a value other than the default, then
sequences of the whitespace characters 'space', 'tab', and 'newline' are
ignored at the beginning and end of the word, as long as the whitespace
character is in the value of 'IFS' (an 'IFS' whitespace character). Any
character in 'IFS' that is not 'IFS' whitespace, along with any adjacent
'IFS' whitespace characters, delimits a field. A sequence of 'IFS'
whitespace characters is also treated as a delimiter.
If the value of 'IFS' is null, no word splitting occurs. If 'IFS' is
unset, word splitting behaves as if it contained the default value
'<space><tab><newline>'.
Explicit null arguments ('""' or '''') are retained and passed to
commands as empty strings. Unquoted implicit null arguments, resulting
@@ -2678,7 +2682,7 @@ This is semantically equivalent to
--------------------
This type of redirection instructs the shell to read input from the
current source until a line containing only WORD (with no trailing
current source until a line containing only DELIMITER (with no trailing
blanks) is seen. All of the lines read up to that point are then used
as the standard input (or file descriptor N if N is specified) for a
command.
@@ -2689,13 +2693,15 @@ command.
DELIMITER
No parameter and variable expansion, command substitution, arithmetic
expansion, or filename expansion is performed on WORD. If any part of
WORD is quoted, the DELIMITER is the result of quote removal on WORD,
and the lines in the here-document are not expanded. If WORD is
unquoted, all lines of the here-document are subjected to parameter
expansion, command substitution, and arithmetic expansion, the character
sequence '\newline' is ignored, and '\' must be used to quote the
characters '\', '$', and '`'.
expansion, or filename expansion is performed on WORD.
If any part of WORD is quoted, the DELIMITER is the result of quote
removal on WORD, and the lines in the here-document are not expanded.
If WORD is unquoted, DELIMITER is WORD itself, all lines of the
here-document are subjected to parameter expansion, command
substitution, and arithmetic expansion, the character sequence
'\newline' is ignored, and '\' must be used to quote the characters '\',
'$', and '`'.
If the redirection operator is '<<-', then all leading tab characters
are stripped from input lines and the line containing DELIMITER. This
@@ -6702,8 +6708,10 @@ indexed arrays, if the optional subscript is supplied, that index is
assigned to; otherwise the index of the element assigned is the last
index assigned to by the statement plus one. Indexing starts at zero.
Each VALUE in the list undergoes all the shell expansions described
above (*note Shell Expansions::).
Each VALUE in the list undergoes the shell expansions described above
(*note Shell Expansions::), but VALUEs that are valid variable
assignments including the brackets and subscript do not undergo brace
expansion and word splitting, as with individual variable assignments.
When assigning to an associative array, the words in a compound
assignment may be either assignment statements, for which the subscript
@@ -9411,9 +9419,10 @@ File: bash.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bin
Display version information about the current instance of Bash.
'shell-expand-line (M-C-e)'
Expand the line as the shell does. This performs alias and history
expansion as well as all of the shell word expansions (*note Shell
Expansions::).
Expand the line by performing shell word expansions. This performs
alias and history expansion, $'STRING' and $"STRING" quoting, tilde
expansion, parameter and variable expansion, arithmetic expansion,
word splitting, and quote removal.
'history-expand-line (M-^)'
Perform history expansion on the current line.
@@ -12240,7 +12249,7 @@ D.4 Function Index
* accept-line (Newline or Return): Commands For History.
(line 6)
* alias-expand-line (): Miscellaneous Commands.
(line 131)
(line 132)
* backward-char (C-b): Commands For Moving. (line 15)
* backward-delete-char (Rubout): Commands For Text. (line 17)
* backward-kill-line (C-x Rubout): Commands For Killing.
@@ -12302,7 +12311,7 @@ D.4 Function Index
* dynamic-complete-history (M-<TAB>): Commands For Completion.
(line 90)
* edit-and-execute-command (C-x C-e): Miscellaneous Commands.
(line 140)
(line 141)
* end-kbd-macro (C-x )): Keyboard Macros. (line 9)
* end-of-file (usually C-d): Commands For Text. (line 6)
* end-of-history (M->): Commands For History.
@@ -12324,9 +12333,9 @@ D.4 Function Index
* glob-list-expansions (C-x g): Miscellaneous Commands.
(line 110)
* history-and-alias-expand-line (): Miscellaneous Commands.
(line 134)
(line 135)
* history-expand-line (M-^): Miscellaneous Commands.
(line 124)
(line 125)
* history-search-backward (): Commands For History.
(line 57)
* history-search-forward (): Commands For History.
@@ -12340,7 +12349,7 @@ D.4 Function Index
* insert-completions (M-*): Commands For Completion.
(line 22)
* insert-last-argument (M-. or M-_): Miscellaneous Commands.
(line 137)
(line 138)
* kill-line (C-k): Commands For Killing.
(line 6)
* kill-region (): Commands For Killing.
@@ -12350,7 +12359,7 @@ D.4 Function Index
* kill-word (M-d): Commands For Killing.
(line 23)
* magic-space (): Miscellaneous Commands.
(line 127)
(line 128)
* menu-complete (): Commands For Completion.
(line 26)
* menu-complete-backward (): Commands For Completion.
@@ -12603,138 +12612,138 @@ D.5 Concept Index

Tag Table:
Node: Top894
Node: Introduction2811
Node: What is Bash?3024
Node: What is a shell?4135
Node: Definitions6670
Node: Basic Shell Features9618
Node: Shell Syntax10834
Node: Shell Operation11857
Node: Quoting13147
Node: Escape Character14448
Node: Single Quotes14930
Node: Double Quotes15275
Node: ANSI-C Quoting16550
Node: Locale Translation17857
Node: Creating Internationalized Scripts19165
Node: Comments23279
Node: Shell Commands23894
Node: Reserved Words24829
Node: Simple Commands25582
Node: Pipelines26233
Node: Lists29229
Node: Compound Commands31021
Node: Looping Constructs32030
Node: Conditional Constructs34522
Node: Command Grouping49007
Node: Coprocesses50482
Node: GNU Parallel53142
Node: Shell Functions54056
Node: Shell Parameters61938
Node: Positional Parameters66323
Node: Special Parameters67222
Node: Shell Expansions70433
Node: Brace Expansion72557
Node: Tilde Expansion75288
Node: Shell Parameter Expansion77906
Node: Command Substitution96305
Node: Arithmetic Expansion97657
Node: Process Substitution98622
Node: Word Splitting99739
Node: Filename Expansion101680
Node: Pattern Matching104426
Node: Quote Removal109425
Node: Redirections109717
Node: Executing Commands119374
Node: Simple Command Expansion120041
Node: Command Search and Execution122148
Node: Command Execution Environment124532
Node: Environment127564
Node: Exit Status129224
Node: Signals131005
Node: Shell Scripts134451
Node: Shell Builtin Commands137475
Node: Bourne Shell Builtins139510
Node: Bash Builtins161705
Node: Modifying Shell Behavior193701
Node: The Set Builtin194043
Node: The Shopt Builtin204638
Node: Special Builtins220547
Node: Shell Variables221523
Node: Bourne Shell Variables221957
Node: Bash Variables224058
Node: Bash Features256870
Node: Invoking Bash257880
Node: Bash Startup Files263890
Node: Interactive Shells269018
Node: What is an Interactive Shell?269426
Node: Is this Shell Interactive?270072
Node: Interactive Shell Behavior270884
Node: Bash Conditional Expressions274510
Node: Shell Arithmetic279149
Node: Aliases282090
Node: Arrays284981
Node: The Directory Stack291369
Node: Directory Stack Builtins292150
Node: Controlling the Prompt296407
Node: The Restricted Shell299369
Node: Bash POSIX Mode301976
Node: Shell Compatibility Mode314839
Node: Job Control323403
Node: Job Control Basics323860
Node: Job Control Builtins328859
Node: Job Control Variables334651
Node: Command Line Editing335804
Node: Introduction and Notation337472
Node: Readline Interaction339092
Node: Readline Bare Essentials340280
Node: Readline Movement Commands342066
Node: Readline Killing Commands343023
Node: Readline Arguments344941
Node: Searching345982
Node: Readline Init File348165
Node: Readline Init File Syntax349423
Node: Conditional Init Constructs373211
Node: Sample Init File377404
Node: Bindable Readline Commands380525
Node: Commands For Moving381726
Node: Commands For History383774
Node: Commands For Text388765
Node: Commands For Killing392411
Node: Numeric Arguments395441
Node: Commands For Completion396577
Node: Keyboard Macros400765
Node: Miscellaneous Commands401450
Node: Readline vi Mode407392
Node: Programmable Completion408296
Node: Programmable Completion Builtins416073
Node: A Programmable Completion Example426822
Node: Using History Interactively432067
Node: Bash History Facilities432748
Node: Bash History Builtins435750
Node: History Interaction440771
Node: Event Designators444388
Node: Word Designators445739
Node: Modifiers447496
Node: Installing Bash449301
Node: Basic Installation450435
Node: Compilers and Options454154
Node: Compiling For Multiple Architectures454892
Node: Installation Names456581
Node: Specifying the System Type458687
Node: Sharing Defaults459401
Node: Operation Controls460071
Node: Optional Features461026
Node: Reporting Bugs472242
Node: Major Differences From The Bourne Shell473583
Node: GNU Free Documentation License490429
Node: Indexes515603
Node: Builtin Index516054
Node: Reserved Word Index522878
Node: Variable Index525323
Node: Function Index542235
Node: Concept Index556016
Node: Top888
Node: Introduction2799
Node: What is Bash?3012
Node: What is a shell?4123
Node: Definitions6658
Node: Basic Shell Features9606
Node: Shell Syntax10822
Node: Shell Operation11845
Node: Quoting13135
Node: Escape Character14436
Node: Single Quotes14918
Node: Double Quotes15263
Node: ANSI-C Quoting16538
Node: Locale Translation17845
Node: Creating Internationalized Scripts19153
Node: Comments23267
Node: Shell Commands23882
Node: Reserved Words24817
Node: Simple Commands25570
Node: Pipelines26221
Node: Lists29217
Node: Compound Commands31009
Node: Looping Constructs32018
Node: Conditional Constructs34510
Node: Command Grouping48995
Node: Coprocesses50470
Node: GNU Parallel53130
Node: Shell Functions54044
Node: Shell Parameters61926
Node: Positional Parameters66311
Node: Special Parameters67210
Node: Shell Expansions70421
Node: Brace Expansion72545
Node: Tilde Expansion75276
Node: Shell Parameter Expansion77894
Node: Command Substitution96293
Node: Arithmetic Expansion97645
Node: Process Substitution98610
Node: Word Splitting99727
Node: Filename Expansion101772
Node: Pattern Matching104518
Node: Quote Removal109517
Node: Redirections109809
Node: Executing Commands119499
Node: Simple Command Expansion120166
Node: Command Search and Execution122273
Node: Command Execution Environment124657
Node: Environment127689
Node: Exit Status129349
Node: Signals131130
Node: Shell Scripts134576
Node: Shell Builtin Commands137600
Node: Bourne Shell Builtins139635
Node: Bash Builtins161830
Node: Modifying Shell Behavior193826
Node: The Set Builtin194168
Node: The Shopt Builtin204763
Node: Special Builtins220672
Node: Shell Variables221648
Node: Bourne Shell Variables222082
Node: Bash Variables224183
Node: Bash Features256995
Node: Invoking Bash258005
Node: Bash Startup Files264015
Node: Interactive Shells269143
Node: What is an Interactive Shell?269551
Node: Is this Shell Interactive?270197
Node: Interactive Shell Behavior271009
Node: Bash Conditional Expressions274635
Node: Shell Arithmetic279274
Node: Aliases282215
Node: Arrays285106
Node: The Directory Stack291666
Node: Directory Stack Builtins292447
Node: Controlling the Prompt296704
Node: The Restricted Shell299666
Node: Bash POSIX Mode302273
Node: Shell Compatibility Mode315136
Node: Job Control323700
Node: Job Control Basics324157
Node: Job Control Builtins329156
Node: Job Control Variables334948
Node: Command Line Editing336101
Node: Introduction and Notation337769
Node: Readline Interaction339389
Node: Readline Bare Essentials340577
Node: Readline Movement Commands342363
Node: Readline Killing Commands343320
Node: Readline Arguments345238
Node: Searching346279
Node: Readline Init File348462
Node: Readline Init File Syntax349720
Node: Conditional Init Constructs373508
Node: Sample Init File377701
Node: Bindable Readline Commands380822
Node: Commands For Moving382023
Node: Commands For History384071
Node: Commands For Text389062
Node: Commands For Killing392708
Node: Numeric Arguments395738
Node: Commands For Completion396874
Node: Keyboard Macros401062
Node: Miscellaneous Commands401747
Node: Readline vi Mode407782
Node: Programmable Completion408686
Node: Programmable Completion Builtins416463
Node: A Programmable Completion Example427212
Node: Using History Interactively432457
Node: Bash History Facilities433138
Node: Bash History Builtins436140
Node: History Interaction441161
Node: Event Designators444778
Node: Word Designators446129
Node: Modifiers447886
Node: Installing Bash449691
Node: Basic Installation450825
Node: Compilers and Options454544
Node: Compiling For Multiple Architectures455282
Node: Installation Names456971
Node: Specifying the System Type459077
Node: Sharing Defaults459791
Node: Operation Controls460461
Node: Optional Features461416
Node: Reporting Bugs472632
Node: Major Differences From The Bourne Shell473973
Node: GNU Free Documentation License490819
Node: Indexes515993
Node: Builtin Index516444
Node: Reserved Word Index523268
Node: Variable Index525713
Node: Function Index542625
Node: Concept Index556406

End Tag Table