fix cosmetic error when printing if commands containing here-documents in the body; compiling -DSTRICT_POSIX now forces posix-mode shells to expand redirections before assignment statements preceding simple commands

This commit is contained in:
Chet Ramey
2026-03-03 11:14:10 -05:00
parent 044c1acc91
commit d0b41c2c5f
60 changed files with 526 additions and 7259 deletions
+145 -138
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 7.2 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.3, 14 January 2026).
Bash shell (version 5.3, 27 February 2026).
This is Edition 5.3, last updated 14 January 2026, of The GNU Bash
This is Edition 5.3, last updated 27 February 2026, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2026 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 5.3, 14 January 2026). The Bash home page is
Bash shell (version 5.3, 27 February 2026). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 14 January 2026, of The GNU Bash
This is Edition 5.3, last updated 27 February 2026, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -7775,7 +7775,8 @@ startup files.
builtins.
12. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
command name, rather than on all assignment statements on the line,
unless the command is a declaration command.
13. While variable indirection is available, it may not be applied to
the # and ? special parameters.
@@ -8063,7 +8064,13 @@ default even when in POSIX mode. Specifically:
entries if FCEDIT is unset, rather than defaulting directly to
ed. fc uses ed if EDITOR is unset.
3. As noted above, Bash requires the xpg_echo option to be enabled
3. Bash does not perform redirections before expanding variable
assignments preceding a simple command; it does not allow the
redirections access to the results of the variable assignments, but
any side effects of expanding the redirections take place first.
If compiled in strict posix mode, Bash performs redirections first.
4. 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
@@ -13729,138 +13736,138 @@ D.5 Concept Index

Tag Table:
Node: Top902
Node: Introduction2844
Node: What is Bash?3060
Node: What is a shell?4196
Node: Definitions6809
Node: Basic Shell Features10139
Node: Shell Syntax11366
Node: Shell Operation12396
Node: Quoting13690
Node: Escape Character15031
Node: Single Quotes15569
Node: Double Quotes15921
Node: ANSI-C Quoting17269
Node: Locale Translation18666
Node: Creating Internationalized Scripts20072
Node: Comments24273
Node: Shell Commands25043
Node: Reserved Words25985
Node: Simple Commands27131
Node: Pipelines27796
Node: Lists31055
Node: Compound Commands33007
Node: Looping Constructs34019
Node: Conditional Constructs36571
Node: Command Grouping51711
Node: Coprocesses53206
Node: GNU Parallel55895
Node: Shell Functions56816
Node: Shell Parameters65267
Node: Positional Parameters70171
Node: Special Parameters71264
Node: Shell Expansions74728
Node: Brace Expansion76920
Node: Tilde Expansion80259
Node: Shell Parameter Expansion83217
Node: Command Substitution103867
Node: Arithmetic Expansion107721
Node: Process Substitution108900
Node: Word Splitting110011
Node: Filename Expansion112458
Node: Pattern Matching115685
Node: Quote Removal121454
Node: Redirections121761
Node: Executing Commands132020
Node: Simple Command Expansion132690
Node: Command Search and Execution134801
Node: Command Execution Environment137248
Node: Environment140777
Node: Exit Status142683
Node: Signals144745
Node: Shell Scripts149696
Node: Shell Builtin Commands152997
Node: Bourne Shell Builtins155341
Node: Bash Builtins182063
Node: Modifying Shell Behavior219802
Node: The Set Builtin220147
Node: The Shopt Builtin232144
Node: Special Builtins249200
Node: Shell Variables250192
Node: Bourne Shell Variables250629
Node: Bash Variables253140
Node: Bash Features292427
Node: Invoking Bash293444
Node: Bash Startup Files300031
Node: Interactive Shells305276
Node: What is an Interactive Shell?305687
Node: Is this Shell Interactive?306352
Node: Interactive Shell Behavior307179
Node: Bash Conditional Expressions310943
Node: Shell Arithmetic316363
Node: Aliases319693
Node: Arrays322830
Node: The Directory Stack330536
Node: Directory Stack Builtins331336
Node: Controlling the Prompt335784
Node: The Restricted Shell338671
Node: Bash POSIX Mode341767
Node: Shell Compatibility Mode361186
Node: Job Control370196
Node: Job Control Basics370656
Node: Job Control Builtins377027
Node: Job Control Variables383818
Node: Command Line Editing385052
Node: Introduction and Notation386758
Node: Readline Interaction389113
Node: Readline Bare Essentials390304
Node: Readline Movement Commands392115
Node: Readline Killing Commands393114
Node: Readline Arguments395140
Node: Searching396233
Node: Readline Init File398479
Node: Readline Init File Syntax399785
Node: Conditional Init Constructs426739
Node: Sample Init File431127
Node: Bindable Readline Commands434250
Node: Commands For Moving435791
Node: Commands For History438258
Node: Commands For Text443652
Node: Commands For Killing447780
Node: Numeric Arguments450571
Node: Commands For Completion451726
Node: Keyboard Macros457425
Node: Miscellaneous Commands458129
Node: Readline vi Mode465675
Node: Programmable Completion466655
Node: Programmable Completion Builtins476394
Node: A Programmable Completion Example488134
Node: Using History Interactively493482
Node: Bash History Facilities494166
Node: Bash History Builtins497904
Node: History Interaction505502
Node: Event Designators510455
Node: Word Designators512036
Node: Modifiers514431
Node: Installing Bash516371
Node: Basic Installation517490
Node: Compilers and Options521369
Node: Compiling For Multiple Architectures522122
Node: Installation Names523878
Node: Specifying the System Type526115
Node: Sharing Defaults526864
Node: Operation Controls527581
Node: Optional Features528603
Node: Reporting Bugs541329
Node: Major Differences From The Bourne Shell542689
Node: GNU Free Documentation License564119
Node: Indexes589299
Node: Builtin Index589753
Node: Reserved Word Index596854
Node: Variable Index599302
Node: Function Index616718
Node: Concept Index630854
Node: Top904
Node: Introduction2848
Node: What is Bash?3064
Node: What is a shell?4200
Node: Definitions6813
Node: Basic Shell Features10143
Node: Shell Syntax11370
Node: Shell Operation12400
Node: Quoting13694
Node: Escape Character15035
Node: Single Quotes15573
Node: Double Quotes15925
Node: ANSI-C Quoting17273
Node: Locale Translation18670
Node: Creating Internationalized Scripts20076
Node: Comments24277
Node: Shell Commands25047
Node: Reserved Words25989
Node: Simple Commands27135
Node: Pipelines27800
Node: Lists31059
Node: Compound Commands33011
Node: Looping Constructs34023
Node: Conditional Constructs36575
Node: Command Grouping51715
Node: Coprocesses53210
Node: GNU Parallel55899
Node: Shell Functions56820
Node: Shell Parameters65271
Node: Positional Parameters70175
Node: Special Parameters71268
Node: Shell Expansions74732
Node: Brace Expansion76924
Node: Tilde Expansion80263
Node: Shell Parameter Expansion83221
Node: Command Substitution103871
Node: Arithmetic Expansion107725
Node: Process Substitution108904
Node: Word Splitting110015
Node: Filename Expansion112462
Node: Pattern Matching115689
Node: Quote Removal121458
Node: Redirections121765
Node: Executing Commands132024
Node: Simple Command Expansion132694
Node: Command Search and Execution134805
Node: Command Execution Environment137252
Node: Environment140781
Node: Exit Status142687
Node: Signals144749
Node: Shell Scripts149700
Node: Shell Builtin Commands153001
Node: Bourne Shell Builtins155345
Node: Bash Builtins182067
Node: Modifying Shell Behavior219806
Node: The Set Builtin220151
Node: The Shopt Builtin232148
Node: Special Builtins249204
Node: Shell Variables250196
Node: Bourne Shell Variables250633
Node: Bash Variables253144
Node: Bash Features292431
Node: Invoking Bash293448
Node: Bash Startup Files300035
Node: Interactive Shells305280
Node: What is an Interactive Shell?305691
Node: Is this Shell Interactive?306356
Node: Interactive Shell Behavior307183
Node: Bash Conditional Expressions310947
Node: Shell Arithmetic316367
Node: Aliases319697
Node: Arrays322834
Node: The Directory Stack330540
Node: Directory Stack Builtins331340
Node: Controlling the Prompt335788
Node: The Restricted Shell338675
Node: Bash POSIX Mode341771
Node: Shell Compatibility Mode361590
Node: Job Control370600
Node: Job Control Basics371060
Node: Job Control Builtins377431
Node: Job Control Variables384222
Node: Command Line Editing385456
Node: Introduction and Notation387162
Node: Readline Interaction389517
Node: Readline Bare Essentials390708
Node: Readline Movement Commands392519
Node: Readline Killing Commands393518
Node: Readline Arguments395544
Node: Searching396637
Node: Readline Init File398883
Node: Readline Init File Syntax400189
Node: Conditional Init Constructs427143
Node: Sample Init File431531
Node: Bindable Readline Commands434654
Node: Commands For Moving436195
Node: Commands For History438662
Node: Commands For Text444056
Node: Commands For Killing448184
Node: Numeric Arguments450975
Node: Commands For Completion452130
Node: Keyboard Macros457829
Node: Miscellaneous Commands458533
Node: Readline vi Mode466079
Node: Programmable Completion467059
Node: Programmable Completion Builtins476798
Node: A Programmable Completion Example488538
Node: Using History Interactively493886
Node: Bash History Facilities494570
Node: Bash History Builtins498308
Node: History Interaction505906
Node: Event Designators510859
Node: Word Designators512440
Node: Modifiers514835
Node: Installing Bash516775
Node: Basic Installation517894
Node: Compilers and Options521773
Node: Compiling For Multiple Architectures522526
Node: Installation Names524282
Node: Specifying the System Type526519
Node: Sharing Defaults527268
Node: Operation Controls527985
Node: Optional Features529007
Node: Reporting Bugs541733
Node: Major Differences From The Bourne Shell543093
Node: GNU Free Documentation License564523
Node: Indexes589703
Node: Builtin Index590157
Node: Reserved Word Index597258
Node: Variable Index599706
Node: Function Index617122
Node: Concept Index631258

End Tag Table