mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-09 13:10:50 +02:00
fix for heuristic to detect case statements when parsing $() command substitutions to find history expansion; fix for history not being saved if a SIGHUP arrives during $PROMPT_COMMAND execution; workaround for Cygwin bug that results in bash incorrectly calculating the system pipe size
This commit is contained in:
+161
-158
@@ -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, 27 February 2026).
|
||||
Bash shell (version 5.3, 3 March 2026).
|
||||
|
||||
This is Edition 5.3, last updated 27 February 2026, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 3 March 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, 27 February 2026). The Bash home page is
|
||||
Bash shell (version 5.3, 3 March 2026). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.3, last updated 27 February 2026, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 3 March 2026, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -1896,16 +1896,17 @@ introduce indirection.
|
||||
In each of the cases below, WORD is subject to tilde expansion,
|
||||
parameter expansion, command substitution, and arithmetic expansion.
|
||||
|
||||
When not performing substring expansion, using the forms described
|
||||
below (e.g., ‘:−’), Bash tests for a parameter that is unset or null.
|
||||
Omitting the colon results in a test only for a parameter that is unset.
|
||||
Put another way, if the colon is included, the operator tests for both
|
||||
PARAMETER's existence and that its value is not null; if the colon is
|
||||
omitted, the operator tests only for existence.
|
||||
When performing the first four expansions documented below (‘:-’,
|
||||
‘:=’, ‘:?’, and ‘:+’), including the colon, Bash tests for a parameter
|
||||
that is unset or null. Omitting the colon results in a test only for a
|
||||
parameter that is unset. Put another way, if the colon is included, the
|
||||
operator tests for both PARAMETER's existence and that its value is not
|
||||
null; if the colon is omitted, the operator tests only for existence.
|
||||
|
||||
‘${PARAMETER:−WORD}’
|
||||
If PARAMETER is unset or null, the expansion of WORD is
|
||||
substituted. Otherwise, the value of PARAMETER is substituted.
|
||||
If PARAMETER is unset or null, or unset if the colon is not
|
||||
present, the expansion of WORD is substituted. Otherwise, the
|
||||
value of PARAMETER is substituted.
|
||||
|
||||
$ v=123
|
||||
$ echo ${v-unset}
|
||||
@@ -1922,10 +1923,11 @@ omitted, the operator tests only for existence.
|
||||
unset-or-null
|
||||
|
||||
‘${PARAMETER:=WORD}’
|
||||
If PARAMETER is unset or null, the expansion of WORD is assigned to
|
||||
PARAMETER, and the result of the expansion is the final value of
|
||||
PARAMETER. Positional parameters and special parameters may not be
|
||||
assigned in this way.
|
||||
If PARAMETER is unset or null, or unset if the colon is not
|
||||
present, the expansion of WORD is assigned to PARAMETER, and the
|
||||
result of the expansion is the final value of PARAMETER.
|
||||
Positional parameters and special parameters may not be assigned in
|
||||
this way.
|
||||
|
||||
$ unset var
|
||||
$ : ${var=DEFAULT}
|
||||
@@ -1945,12 +1947,13 @@ omitted, the operator tests only for existence.
|
||||
DEFAULT
|
||||
|
||||
‘${PARAMETER:?WORD}’
|
||||
If PARAMETER is null or unset, the shell writes the expansion of
|
||||
WORD (or a message to that effect if WORD is not present) to the
|
||||
standard error and, if it is not interactive, exits with a non-zero
|
||||
status. An interactive shell does not exit, but does not execute
|
||||
the command associated with the expansion. Otherwise, the value of
|
||||
PARAMETER is substituted.
|
||||
If PARAMETER is unset or null, or unset if the colon is not
|
||||
present, the shell writes the expansion of WORD (or a message to
|
||||
that effect if WORD is not present) to the standard error and, if
|
||||
it is not interactive, exits with a non-zero status. An
|
||||
interactive shell does not exit, but does not execute the command
|
||||
associated with the expansion. Otherwise, the value of PARAMETER
|
||||
is substituted.
|
||||
|
||||
$ var=
|
||||
$ : ${var:?var is unset or null}
|
||||
@@ -1967,9 +1970,9 @@ omitted, the operator tests only for existence.
|
||||
123
|
||||
|
||||
‘${PARAMETER:+WORD}’
|
||||
If PARAMETER is null or unset, nothing is substituted, otherwise
|
||||
the expansion of WORD is substituted. The value of PARAMETER is
|
||||
not used.
|
||||
If PARAMETER is unset or null, or unset if the colon is not
|
||||
present, nothing is substituted, otherwise the expansion of WORD is
|
||||
substituted. The value of PARAMETER is not used.
|
||||
|
||||
$ var=123
|
||||
$ echo ${var:+var is set and not null}
|
||||
@@ -7163,7 +7166,7 @@ shell variables may also be referenced by name without using the
|
||||
parameter expansion syntax. This means you can use X, where X is a
|
||||
shell variable name, in an arithmetic expression, and the shell will
|
||||
evaluate its value as an expression and use the result. A shell
|
||||
variable that is null or unset evaluates to 0 when referenced by name in
|
||||
variable that is unset or null evaluates to 0 when referenced by name in
|
||||
an expression.
|
||||
|
||||
The value of a variable is evaluated as an arithmetic expression when
|
||||
@@ -13735,138 +13738,138 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
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
|
||||
Node: Top893
|
||||
Node: Introduction2826
|
||||
Node: What is Bash?3039
|
||||
Node: What is a shell?4172
|
||||
Node: Definitions6782
|
||||
Node: Basic Shell Features10109
|
||||
Node: Shell Syntax11333
|
||||
Node: Shell Operation12360
|
||||
Node: Quoting13651
|
||||
Node: Escape Character14989
|
||||
Node: Single Quotes15524
|
||||
Node: Double Quotes15873
|
||||
Node: ANSI-C Quoting17218
|
||||
Node: Locale Translation18612
|
||||
Node: Creating Internationalized Scripts20015
|
||||
Node: Comments24213
|
||||
Node: Shell Commands24980
|
||||
Node: Reserved Words25919
|
||||
Node: Simple Commands27062
|
||||
Node: Pipelines27724
|
||||
Node: Lists30980
|
||||
Node: Compound Commands32929
|
||||
Node: Looping Constructs33938
|
||||
Node: Conditional Constructs36487
|
||||
Node: Command Grouping51624
|
||||
Node: Coprocesses53116
|
||||
Node: GNU Parallel55802
|
||||
Node: Shell Functions56720
|
||||
Node: Shell Parameters65168
|
||||
Node: Positional Parameters70069
|
||||
Node: Special Parameters71159
|
||||
Node: Shell Expansions74620
|
||||
Node: Brace Expansion76809
|
||||
Node: Tilde Expansion80145
|
||||
Node: Shell Parameter Expansion83100
|
||||
Node: Command Substitution103948
|
||||
Node: Arithmetic Expansion107799
|
||||
Node: Process Substitution108975
|
||||
Node: Word Splitting110083
|
||||
Node: Filename Expansion112527
|
||||
Node: Pattern Matching115751
|
||||
Node: Quote Removal121517
|
||||
Node: Redirections121821
|
||||
Node: Executing Commands132077
|
||||
Node: Simple Command Expansion132744
|
||||
Node: Command Search and Execution134852
|
||||
Node: Command Execution Environment137296
|
||||
Node: Environment140822
|
||||
Node: Exit Status142725
|
||||
Node: Signals144784
|
||||
Node: Shell Scripts149732
|
||||
Node: Shell Builtin Commands153030
|
||||
Node: Bourne Shell Builtins155371
|
||||
Node: Bash Builtins182090
|
||||
Node: Modifying Shell Behavior219826
|
||||
Node: The Set Builtin220168
|
||||
Node: The Shopt Builtin232162
|
||||
Node: Special Builtins249215
|
||||
Node: Shell Variables250204
|
||||
Node: Bourne Shell Variables250638
|
||||
Node: Bash Variables253146
|
||||
Node: Bash Features292430
|
||||
Node: Invoking Bash293444
|
||||
Node: Bash Startup Files300028
|
||||
Node: Interactive Shells305270
|
||||
Node: What is an Interactive Shell?305678
|
||||
Node: Is this Shell Interactive?306340
|
||||
Node: Interactive Shell Behavior307164
|
||||
Node: Bash Conditional Expressions310925
|
||||
Node: Shell Arithmetic316342
|
||||
Node: Aliases319669
|
||||
Node: Arrays322803
|
||||
Node: The Directory Stack330506
|
||||
Node: Directory Stack Builtins331303
|
||||
Node: Controlling the Prompt335748
|
||||
Node: The Restricted Shell338632
|
||||
Node: Bash POSIX Mode341725
|
||||
Node: Shell Compatibility Mode361541
|
||||
Node: Job Control370548
|
||||
Node: Job Control Basics371005
|
||||
Node: Job Control Builtins377373
|
||||
Node: Job Control Variables384161
|
||||
Node: Command Line Editing385392
|
||||
Node: Introduction and Notation387095
|
||||
Node: Readline Interaction389447
|
||||
Node: Readline Bare Essentials390635
|
||||
Node: Readline Movement Commands392443
|
||||
Node: Readline Killing Commands393439
|
||||
Node: Readline Arguments395462
|
||||
Node: Searching396552
|
||||
Node: Readline Init File398795
|
||||
Node: Readline Init File Syntax400098
|
||||
Node: Conditional Init Constructs427049
|
||||
Node: Sample Init File431434
|
||||
Node: Bindable Readline Commands434554
|
||||
Node: Commands For Moving436092
|
||||
Node: Commands For History438556
|
||||
Node: Commands For Text443947
|
||||
Node: Commands For Killing448072
|
||||
Node: Numeric Arguments450860
|
||||
Node: Commands For Completion452012
|
||||
Node: Keyboard Macros457708
|
||||
Node: Miscellaneous Commands458409
|
||||
Node: Readline vi Mode465952
|
||||
Node: Programmable Completion466929
|
||||
Node: Programmable Completion Builtins476665
|
||||
Node: A Programmable Completion Example488402
|
||||
Node: Using History Interactively493747
|
||||
Node: Bash History Facilities494428
|
||||
Node: Bash History Builtins498163
|
||||
Node: History Interaction505758
|
||||
Node: Event Designators510708
|
||||
Node: Word Designators512286
|
||||
Node: Modifiers514678
|
||||
Node: Installing Bash516615
|
||||
Node: Basic Installation517731
|
||||
Node: Compilers and Options521607
|
||||
Node: Compiling For Multiple Architectures522357
|
||||
Node: Installation Names524110
|
||||
Node: Specifying the System Type526344
|
||||
Node: Sharing Defaults527090
|
||||
Node: Operation Controls527804
|
||||
Node: Optional Features528823
|
||||
Node: Reporting Bugs541546
|
||||
Node: Major Differences From The Bourne Shell542903
|
||||
Node: GNU Free Documentation License564330
|
||||
Node: Indexes589507
|
||||
Node: Builtin Index589958
|
||||
Node: Reserved Word Index597056
|
||||
Node: Variable Index599501
|
||||
Node: Function Index616914
|
||||
Node: Concept Index631047
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
Reference in New Issue
Block a user