mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-10 20:20:38 +02:00
bash asan fixes; minor documentation updates
This commit is contained in:
+177
-168
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user