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
@@ -1,9 +1,9 @@
This is bash.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.
@@ -26,10 +26,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
@@ -7774,7 +7774,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.
@@ -8062,7 +8063,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
@@ -13728,138 +13735,138 @@ D.5 Concept Index

Tag Table:
Node: Top899
Node: Introduction2838
Node: What is Bash?3051
Node: What is a shell?4184
Node: Definitions6794
Node: Basic Shell Features10121
Node: Shell Syntax11345
Node: Shell Operation12372
Node: Quoting13663
Node: Escape Character15001
Node: Single Quotes15536
Node: Double Quotes15885
Node: ANSI-C Quoting17230
Node: Locale Translation18624
Node: Creating Internationalized Scripts20027
Node: Comments24225
Node: Shell Commands24992
Node: Reserved Words25931
Node: Simple Commands27074
Node: Pipelines27736
Node: Lists30992
Node: Compound Commands32941
Node: Looping Constructs33950
Node: Conditional Constructs36499
Node: Command Grouping51636
Node: Coprocesses53128
Node: GNU Parallel55814
Node: Shell Functions56732
Node: Shell Parameters65180
Node: Positional Parameters70081
Node: Special Parameters71171
Node: Shell Expansions74632
Node: Brace Expansion76821
Node: Tilde Expansion80157
Node: Shell Parameter Expansion83112
Node: Command Substitution103759
Node: Arithmetic Expansion107610
Node: Process Substitution108786
Node: Word Splitting109894
Node: Filename Expansion112338
Node: Pattern Matching115562
Node: Quote Removal121328
Node: Redirections121632
Node: Executing Commands131888
Node: Simple Command Expansion132555
Node: Command Search and Execution134663
Node: Command Execution Environment137107
Node: Environment140633
Node: Exit Status142536
Node: Signals144595
Node: Shell Scripts149543
Node: Shell Builtin Commands152841
Node: Bourne Shell Builtins155182
Node: Bash Builtins181901
Node: Modifying Shell Behavior219637
Node: The Set Builtin219979
Node: The Shopt Builtin231973
Node: Special Builtins249026
Node: Shell Variables250015
Node: Bourne Shell Variables250449
Node: Bash Variables252957
Node: Bash Features292241
Node: Invoking Bash293255
Node: Bash Startup Files299839
Node: Interactive Shells305081
Node: What is an Interactive Shell?305489
Node: Is this Shell Interactive?306151
Node: Interactive Shell Behavior306975
Node: Bash Conditional Expressions310736
Node: Shell Arithmetic316153
Node: Aliases319480
Node: Arrays322614
Node: The Directory Stack330317
Node: Directory Stack Builtins331114
Node: Controlling the Prompt335559
Node: The Restricted Shell338443
Node: Bash POSIX Mode341536
Node: Shell Compatibility Mode360952
Node: Job Control369959
Node: Job Control Basics370416
Node: Job Control Builtins376784
Node: Job Control Variables383572
Node: Command Line Editing384803
Node: Introduction and Notation386506
Node: Readline Interaction388858
Node: Readline Bare Essentials390046
Node: Readline Movement Commands391854
Node: Readline Killing Commands392850
Node: Readline Arguments394873
Node: Searching395963
Node: Readline Init File398206
Node: Readline Init File Syntax399509
Node: Conditional Init Constructs426460
Node: Sample Init File430845
Node: Bindable Readline Commands433965
Node: Commands For Moving435503
Node: Commands For History437967
Node: Commands For Text443358
Node: Commands For Killing447483
Node: Numeric Arguments450271
Node: Commands For Completion451423
Node: Keyboard Macros457119
Node: Miscellaneous Commands457820
Node: Readline vi Mode465363
Node: Programmable Completion466340
Node: Programmable Completion Builtins476076
Node: A Programmable Completion Example487813
Node: Using History Interactively493158
Node: Bash History Facilities493839
Node: Bash History Builtins497574
Node: History Interaction505169
Node: Event Designators510119
Node: Word Designators511697
Node: Modifiers514089
Node: Installing Bash516026
Node: Basic Installation517142
Node: Compilers and Options521018
Node: Compiling For Multiple Architectures521768
Node: Installation Names523521
Node: Specifying the System Type525755
Node: Sharing Defaults526501
Node: Operation Controls527215
Node: Optional Features528234
Node: Reporting Bugs540957
Node: Major Differences From The Bourne Shell542314
Node: GNU Free Documentation License563741
Node: Indexes588918
Node: Builtin Index589369
Node: Reserved Word Index596467
Node: Variable Index598912
Node: Function Index616325
Node: Concept Index630458
Node: Top901
Node: Introduction2842
Node: What is Bash?3055
Node: What is a shell?4188
Node: Definitions6798
Node: Basic Shell Features10125
Node: Shell Syntax11349
Node: Shell Operation12376
Node: Quoting13667
Node: Escape Character15005
Node: Single Quotes15540
Node: Double Quotes15889
Node: ANSI-C Quoting17234
Node: Locale Translation18628
Node: Creating Internationalized Scripts20031
Node: Comments24229
Node: Shell Commands24996
Node: Reserved Words25935
Node: Simple Commands27078
Node: Pipelines27740
Node: Lists30996
Node: Compound Commands32945
Node: Looping Constructs33954
Node: Conditional Constructs36503
Node: Command Grouping51640
Node: Coprocesses53132
Node: GNU Parallel55818
Node: Shell Functions56736
Node: Shell Parameters65184
Node: Positional Parameters70085
Node: Special Parameters71175
Node: Shell Expansions74636
Node: Brace Expansion76825
Node: Tilde Expansion80161
Node: Shell Parameter Expansion83116
Node: Command Substitution103763
Node: Arithmetic Expansion107614
Node: Process Substitution108790
Node: Word Splitting109898
Node: Filename Expansion112342
Node: Pattern Matching115566
Node: Quote Removal121332
Node: Redirections121636
Node: Executing Commands131892
Node: Simple Command Expansion132559
Node: Command Search and Execution134667
Node: Command Execution Environment137111
Node: Environment140637
Node: Exit Status142540
Node: Signals144599
Node: Shell Scripts149547
Node: Shell Builtin Commands152845
Node: Bourne Shell Builtins155186
Node: Bash Builtins181905
Node: Modifying Shell Behavior219641
Node: The Set Builtin219983
Node: The Shopt Builtin231977
Node: Special Builtins249030
Node: Shell Variables250019
Node: Bourne Shell Variables250453
Node: Bash Variables252961
Node: Bash Features292245
Node: Invoking Bash293259
Node: Bash Startup Files299843
Node: Interactive Shells305085
Node: What is an Interactive Shell?305493
Node: Is this Shell Interactive?306155
Node: Interactive Shell Behavior306979
Node: Bash Conditional Expressions310740
Node: Shell Arithmetic316157
Node: Aliases319484
Node: Arrays322618
Node: The Directory Stack330321
Node: Directory Stack Builtins331118
Node: Controlling the Prompt335563
Node: The Restricted Shell338447
Node: Bash POSIX Mode341540
Node: Shell Compatibility Mode361356
Node: Job Control370363
Node: Job Control Basics370820
Node: Job Control Builtins377188
Node: Job Control Variables383976
Node: Command Line Editing385207
Node: Introduction and Notation386910
Node: Readline Interaction389262
Node: Readline Bare Essentials390450
Node: Readline Movement Commands392258
Node: Readline Killing Commands393254
Node: Readline Arguments395277
Node: Searching396367
Node: Readline Init File398610
Node: Readline Init File Syntax399913
Node: Conditional Init Constructs426864
Node: Sample Init File431249
Node: Bindable Readline Commands434369
Node: Commands For Moving435907
Node: Commands For History438371
Node: Commands For Text443762
Node: Commands For Killing447887
Node: Numeric Arguments450675
Node: Commands For Completion451827
Node: Keyboard Macros457523
Node: Miscellaneous Commands458224
Node: Readline vi Mode465767
Node: Programmable Completion466744
Node: Programmable Completion Builtins476480
Node: A Programmable Completion Example488217
Node: Using History Interactively493562
Node: Bash History Facilities494243
Node: Bash History Builtins497978
Node: History Interaction505573
Node: Event Designators510523
Node: Word Designators512101
Node: Modifiers514493
Node: Installing Bash516430
Node: Basic Installation517546
Node: Compilers and Options521422
Node: Compiling For Multiple Architectures522172
Node: Installation Names523925
Node: Specifying the System Type526159
Node: Sharing Defaults526905
Node: Operation Controls527619
Node: Optional Features528638
Node: Reporting Bugs541361
Node: Major Differences From The Bourne Shell542718
Node: GNU Free Documentation License564145
Node: Indexes589322
Node: Builtin Index589773
Node: Reserved Word Index596871
Node: Variable Index599316
Node: Function Index616729
Node: Concept Index630862

End Tag Table