allow the --with-curses configure argument to specify a library name; fix for case pattern lists containing both null and non-null strings; fix for bug with PS1 expansion containing an arithmetic syntax error

This commit is contained in:
Chet Ramey
2025-08-08 12:11:17 -04:00
parent e9053f2a3a
commit ff6cfb1464
14 changed files with 2226 additions and 2105 deletions
+222 -214
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, 18 May 2025).
Bash shell (version 5.3, 7 August 2025).
This is Edition 5.3, last updated 18 May 2025, of The GNU Bash
This is Edition 5.3, last updated 7 August 2025, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Copyright © 1988-2025 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, 18 May 2025). The Bash home page is
Bash shell (version 5.3, 7 August 2025). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.3, last updated 18 May 2025, of The GNU Bash
This is Edition 5.3, last updated 7 August 2025, of The GNU Bash
Reference Manual, for Bash, Version 5.3.
Bash contains features that appear in other popular shells, and some
@@ -3238,7 +3238,7 @@ parameter $? (*note Special Parameters::).
Bash itself returns the exit status of the last command executed,
unless a syntax error occurs, in which case it exits with a non-zero
value. See also the exit builtin command (*note Bourne Shell
Builtins::.
Builtins::).

File: bashref.info, Node: Signals, Prev: Exit Status, Up: Executing Commands
@@ -3255,7 +3255,7 @@ is in effect (*note Job Control::), Bash ignores SIGTTIN, SIGTTOU,
and SIGTSTP.
The trap builtin modifies the shell's signal handling, as described
below (*note Bourne Shell Builtins::.
below (*note Bourne Shell Builtins::).
Non-builtin commands Bash executes have signal handlers set to the
values inherited by the shell from its parent, unless trap sets them
@@ -3499,8 +3499,9 @@ standard.
Change the current working directory to DIRECTORY. If DIRECTORY is
not supplied, the value of the HOME shell variable is used as
DIRECTORY. If the shell variable CDPATH exists, and DIRECTORY
does not begin with a slash, cd uses it as a search path: cd
DIRECTORY. If DIRECTORY is the empty string, cd treats it as an
error. If the shell variable CDPATH exists, and DIRECTORY does
not begin with a slash, cd uses it as a search path: cd
searches each directory name in CDPATH for DIRECTORY, with
alternative directory names in CDPATH separated by a colon (:).
A null directory name in CDPATH means the same thing as the
@@ -5462,7 +5463,7 @@ This builtin allows you to change additional optional shell behavior.
nocasematch
If set, Bash matches patterns in a case-insensitive fashion
when performing matching while executing case or [[
conditional commands (*note Conditional Constructs::, when
conditional commands (*note Conditional Constructs::), when
performing pattern substitution word expansions, or when
filtering possible completions as part of programmable
completion.
@@ -6332,7 +6333,7 @@ Variables::).
READLINE_ARGUMENT
Any numeric argument given to a Readline command that was defined
using bind -x (*note Bash Builtins:: when it was invoked.
using bind -x (*note Bash Builtins::) when it was invoked.
READLINE_LINE
The contents of the Readline line buffer, for use with bind -x
@@ -7129,7 +7130,7 @@ an expression.
it is referenced, or when a variable which has been given the integer
attribute using declare -i is assigned a value. A null value
evaluates to 0. A shell variable need not have its integer attribute
turned on to be used in an expression.
enabled to be used in an expression.
Integer constants follow the C language definition, without suffixes
or character constants. Constants with a leading 0 are interpreted as
@@ -7689,7 +7690,7 @@ startup files.
1. Bash ensures that the POSIXLY_CORRECT variable is set.
2. Bash reads and executes the POSIX startup files ($ENV) rather
than the normal Bash files (*note Bash Startup Files::.
than the normal Bash files (*note Bash Startup Files::).
3. Alias expansion is always enabled, even in non-interactive shells.
@@ -8881,6 +8882,8 @@ Variable Settings
the default Readline bindings described here. Type stty -a
at a Bash prompt to see your current terminal settings,
including the special control characters (usually cchars).
This binding takes place on each call to readline(), so
changes made by stty can take effect.
blink-matching-paren
If set to on, Readline attempts to briefly move the cursor
@@ -11606,10 +11609,15 @@ the Bash configure recognizes.
systems for which this should be turned off, and configure
disables this option automatically for a number of systems.
--with-curses
Use the curses library instead of the termcap library. configure
usually chooses this automatically, since most systems include the
termcap functions in the curses library.
--with-curses[=LIBNAME]
Use the curses library instead of the termcap library as the
library where the linker can find the termcap functions.
configure usually chooses this automatically, since most systems
include the termcap functions in the curses library. If LIBNAME is
supplied, configure does not search for an appropriate library
and uses LIBNAME instead. LIBNAME should be either an argument for
the linker (e.g., -lLIBNAME) or a filename (e.g.,
/opt/local/lib/libncursesw.so).
--with-gnu-malloc
A synonym for --with-bash-malloc.
@@ -12169,11 +12177,11 @@ historical Bourne shell) as the baseline reference.
using export -f (*note Shell Functions::).
• The Bash export and readonly builtins (*note Bourne Shell
Builtins:: can take a -f option to act on shell functions, a -p
option to display variables with various attributes set in a format
that can be used as shell input, a -n option to remove various
variable attributes, and name=value arguments to set variable
attributes and values simultaneously.
Builtins::) can take a -f option to act on shell functions, a
-p option to display variables with various attributes set in a
format that can be used as shell input, a -n option to remove
various variable attributes, and name=value arguments to set
variable attributes and values simultaneously.
• The Bash hash builtin allows a name to be associated with an
arbitrary filename, even when that filename cannot be found by
@@ -12839,7 +12847,7 @@ D.1 Index of Shell Builtin Commands
* .: Bourne Shell Builtins.
(line 17)
* [: Bourne Shell Builtins.
(line 339)
(line 340)
* alias: Bash Builtins. (line 11)
* bg: Job Control Builtins.
(line 7)
@@ -12858,7 +12866,7 @@ D.1 Index of Shell Builtin Commands
* compopt: Programmable Completion Builtins.
(line 258)
* continue: Bourne Shell Builtins.
(line 106)
(line 107)
* declare: Bash Builtins. (line 179)
* dirs: Directory Stack Builtins.
(line 7)
@@ -12867,23 +12875,23 @@ D.1 Index of Shell Builtin Commands
* echo: Bash Builtins. (line 284)
* enable: Bash Builtins. (line 337)
* eval: Bourne Shell Builtins.
(line 115)
(line 116)
* exec: Bourne Shell Builtins.
(line 123)
(line 124)
* exit: Bourne Shell Builtins.
(line 145)
(line 146)
* export: Bourne Shell Builtins.
(line 152)
(line 153)
* false: Bourne Shell Builtins.
(line 175)
(line 176)
* fc: Bash History Builtins.
(line 10)
* fg: Job Control Builtins.
(line 17)
* getopts: Bourne Shell Builtins.
(line 180)
(line 181)
* hash: Bourne Shell Builtins.
(line 232)
(line 233)
* help: Bash Builtins. (line 375)
* history: Bash History Builtins.
(line 59)
@@ -12901,36 +12909,36 @@ D.1 Index of Shell Builtin Commands
* pushd: Directory Stack Builtins.
(line 71)
* pwd: Bourne Shell Builtins.
(line 264)
(line 265)
* read: Bash Builtins. (line 558)
* readarray: Bash Builtins. (line 669)
* readonly: Bourne Shell Builtins.
(line 276)
(line 277)
* return: Bourne Shell Builtins.
(line 301)
(line 302)
* set: The Set Builtin. (line 11)
* shift: Bourne Shell Builtins.
(line 326)
(line 327)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 678)
* suspend: Job Control Builtins.
(line 139)
* test: Bourne Shell Builtins.
(line 339)
(line 340)
* times: Bourne Shell Builtins.
(line 439)
(line 440)
* trap: Bourne Shell Builtins.
(line 445)
(line 446)
* true: Bourne Shell Builtins.
(line 511)
(line 512)
* type: Bash Builtins. (line 683)
* typeset: Bash Builtins. (line 720)
* ulimit: Bash Builtins. (line 726)
* umask: Bourne Shell Builtins.
(line 516)
(line 517)
* unalias: Bash Builtins. (line 834)
* unset: Bourne Shell Builtins.
(line 534)
(line 535)
* wait: Job Control Builtins.
(line 86)
@@ -13036,17 +13044,17 @@ D.3 Parameter and Variable Index
* bind-tty-special-chars: Readline Init File Syntax.
(line 71)
* blink-matching-paren: Readline Init File Syntax.
(line 79)
(line 81)
* CDPATH: Bourne Shell Variables.
(line 9)
* CHILD_MAX: Bash Variables. (line 217)
* colored-completion-prefix: Readline Init File Syntax.
(line 84)
(line 86)
* colored-stats: Readline Init File Syntax.
(line 94)
(line 96)
* COLUMNS: Bash Variables. (line 224)
* comment-begin: Readline Init File Syntax.
(line 100)
(line 102)
* COMP_CWORD: Bash Variables. (line 230)
* COMP_KEY: Bash Variables. (line 236)
* COMP_LINE: Bash Variables. (line 242)
@@ -13055,48 +13063,48 @@ D.3 Parameter and Variable Index
* COMP_WORDBREAKS: Bash Variables. (line 265)
* COMP_WORDS: Bash Variables. (line 271)
* completion-display-width: Readline Init File Syntax.
(line 104)
(line 106)
* completion-ignore-case: Readline Init File Syntax.
(line 111)
(line 113)
* completion-map-case: Readline Init File Syntax.
(line 116)
(line 118)
* completion-prefix-display-length: Readline Init File Syntax.
(line 122)
(line 124)
* completion-query-items: Readline Init File Syntax.
(line 131)
(line 133)
* COMPREPLY: Bash Variables. (line 278)
* convert-meta: Readline Init File Syntax.
(line 142)
(line 144)
* COPROC: Bash Variables. (line 284)
* DIRSTACK: Bash Variables. (line 288)
* disable-completion: Readline Init File Syntax.
(line 154)
(line 156)
* echo-control-characters: Readline Init File Syntax.
(line 159)
(line 161)
* editing-mode: Readline Init File Syntax.
(line 164)
(line 166)
* EMACS: Bash Variables. (line 298)
* emacs-mode-string: Readline Init File Syntax.
(line 170)
(line 172)
* enable-active-region The: Readline Init File Syntax.
(line 180)
(line 182)
* enable-bracketed-paste: Readline Init File Syntax.
(line 193)
(line 195)
* enable-keypad: Readline Init File Syntax.
(line 202)
(line 204)
* enable-meta-key: Readline Init File Syntax.
(line 207)
(line 209)
* ENV: Bash Variables. (line 303)
* EPOCHREALTIME: Bash Variables. (line 308)
* EPOCHSECONDS: Bash Variables. (line 316)
* EUID: Bash Variables. (line 323)
* EXECIGNORE: Bash Variables. (line 327)
* expand-tilde: Readline Init File Syntax.
(line 217)
(line 219)
* FCEDIT: Bash Variables. (line 339)
* FIGNORE: Bash Variables. (line 342)
* force-meta-prefix: Readline Init File Syntax.
(line 221)
(line 223)
* FUNCNAME: Bash Variables. (line 348)
* FUNCNEST: Bash Variables. (line 365)
* GLOBIGNORE: Bash Variables. (line 370)
@@ -13109,15 +13117,15 @@ D.3 Parameter and Variable Index
* HISTFILESIZE: Bash Variables. (line 467)
* HISTIGNORE: Bash Variables. (line 481)
* history-preserve-point: Readline Init File Syntax.
(line 234)
(line 236)
* history-size: Readline Init File Syntax.
(line 240)
(line 242)
* HISTSIZE: Bash Variables. (line 505)
* HISTTIMEFORMAT: Bash Variables. (line 512)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 250)
(line 252)
* HOSTFILE: Bash Variables. (line 521)
* HOSTNAME: Bash Variables. (line 532)
* HOSTTYPE: Bash Variables. (line 535)
@@ -13125,13 +13133,13 @@ D.3 Parameter and Variable Index
(line 18)
* IGNOREEOF: Bash Variables. (line 538)
* input-meta: Readline Init File Syntax.
(line 258)
(line 260)
* INPUTRC: Bash Variables. (line 547)
* INSIDE_EMACS: Bash Variables. (line 551)
* isearch-terminators: Readline Init File Syntax.
(line 269)
(line 271)
* keymap: Readline Init File Syntax.
(line 276)
(line 278)
* LANG: Creating Internationalized Scripts.
(line 51)
* LANG <1>: Bash Variables. (line 557)
@@ -13153,15 +13161,15 @@ D.3 Parameter and Variable Index
(line 29)
* MAPFILE: Bash Variables. (line 614)
* mark-modified-lines: Readline Init File Syntax.
(line 306)
(line 308)
* mark-symlinked-directories: Readline Init File Syntax.
(line 311)
(line 313)
* match-hidden-files: Readline Init File Syntax.
(line 316)
(line 318)
* menu-complete-display-prefix: Readline Init File Syntax.
(line 323)
(line 325)
* meta-flag: Readline Init File Syntax.
(line 258)
(line 260)
* OLDPWD: Bash Variables. (line 618)
* OPTARG: Bourne Shell Variables.
(line 36)
@@ -13170,9 +13178,9 @@ D.3 Parameter and Variable Index
(line 40)
* OSTYPE: Bash Variables. (line 626)
* output-meta: Readline Init File Syntax.
(line 328)
(line 330)
* page-completions: Readline Init File Syntax.
(line 337)
(line 339)
* PATH: Bourne Shell Variables.
(line 44)
* PIPESTATUS: Bash Variables. (line 629)
@@ -13195,21 +13203,21 @@ D.3 Parameter and Variable Index
* READLINE_POINT: Bash Variables. (line 708)
* REPLY: Bash Variables. (line 712)
* revert-all-at-newline: Readline Init File Syntax.
(line 350)
(line 352)
* search-ignore-case: Readline Init File Syntax.
(line 357)
(line 359)
* SECONDS: Bash Variables. (line 716)
* SHELL: Bash Variables. (line 726)
* SHELLOPTS: Bash Variables. (line 731)
* SHLVL: Bash Variables. (line 741)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 362)
(line 364)
* show-all-if-unmodified: Readline Init File Syntax.
(line 368)
(line 370)
* show-mode-in-prompt: Readline Init File Syntax.
(line 377)
(line 379)
* skip-completed-text: Readline Init File Syntax.
(line 383)
(line 385)
* SRANDOM: Bash Variables. (line 746)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
@@ -13220,11 +13228,11 @@ D.3 Parameter and Variable Index
* TMPDIR: Bash Variables. (line 806)
* UID: Bash Variables. (line 810)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 396)
(line 398)
* vi-ins-mode-string: Readline Init File Syntax.
(line 407)
(line 409)
* visible-stats: Readline Init File Syntax.
(line 418)
(line 420)

File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
@@ -13612,138 +13620,138 @@ D.5 Concept Index

Tag Table:
Node: Top894
Node: Introduction2828
Node: What is Bash?3044
Node: What is a shell?4180
Node: Definitions6793
Node: Basic Shell Features10123
Node: Shell Syntax11350
Node: Shell Operation12380
Node: Quoting13674
Node: Escape Character15015
Node: Single Quotes15553
Node: Double Quotes15905
Node: ANSI-C Quoting17253
Node: Locale Translation18650
Node: Creating Internationalized Scripts20056
Node: Comments24257
Node: Shell Commands25027
Node: Reserved Words25969
Node: Simple Commands26837
Node: Pipelines27502
Node: Lists30761
Node: Compound Commands32636
Node: Looping Constructs33648
Node: Conditional Constructs36200
Node: Command Grouping51273
Node: Coprocesses52768
Node: GNU Parallel55457
Node: Shell Functions56378
Node: Shell Parameters64829
Node: Positional Parameters69733
Node: Special Parameters70826
Node: Shell Expansions74290
Node: Brace Expansion76482
Node: Tilde Expansion79821
Node: Shell Parameter Expansion82779
Node: Command Substitution103425
Node: Arithmetic Expansion106957
Node: Process Substitution108136
Node: Word Splitting109247
Node: Filename Expansion111694
Node: Pattern Matching114921
Node: Quote Removal120647
Node: Redirections120954
Node: Executing Commands131220
Node: Simple Command Expansion131890
Node: Command Search and Execution134001
Node: Command Execution Environment136448
Node: Environment139899
Node: Exit Status141805
Node: Signals143866
Node: Shell Scripts148798
Node: Shell Builtin Commands152099
Node: Bourne Shell Builtins154213
Node: Bash Builtins180863
Node: Modifying Shell Behavior217790
Node: The Set Builtin218135
Node: The Shopt Builtin230132
Node: Special Builtins247187
Node: Shell Variables248179
Node: Bourne Shell Variables248616
Node: Bash Variables251127
Node: Bash Features290254
Node: Invoking Bash291271
Node: Bash Startup Files297858
Node: Interactive Shells303103
Node: What is an Interactive Shell?303514
Node: Is this Shell Interactive?304179
Node: Interactive Shell Behavior305006
Node: Bash Conditional Expressions308770
Node: Shell Arithmetic314190
Node: Aliases317522
Node: Arrays320659
Node: The Directory Stack328250
Node: Directory Stack Builtins329050
Node: Controlling the Prompt333498
Node: The Restricted Shell336386
Node: Bash POSIX Mode339271
Node: Shell Compatibility Mode358220
Node: Job Control367230
Node: Job Control Basics367690
Node: Job Control Builtins374061
Node: Job Control Variables380746
Node: Command Line Editing381980
Node: Introduction and Notation383686
Node: Readline Interaction386041
Node: Readline Bare Essentials387232
Node: Readline Movement Commands389043
Node: Readline Killing Commands390042
Node: Readline Arguments392068
Node: Searching393128
Node: Readline Init File395374
Node: Readline Init File Syntax396680
Node: Conditional Init Constructs423508
Node: Sample Init File427896
Node: Bindable Readline Commands431019
Node: Commands For Moving432560
Node: Commands For History435027
Node: Commands For Text440420
Node: Commands For Killing444548
Node: Numeric Arguments447339
Node: Commands For Completion448494
Node: Keyboard Macros454193
Node: Miscellaneous Commands454897
Node: Readline vi Mode461467
Node: Programmable Completion462447
Node: Programmable Completion Builtins471187
Node: A Programmable Completion Example482927
Node: Using History Interactively488275
Node: Bash History Facilities488959
Node: Bash History Builtins492697
Node: History Interaction499171
Node: Event Designators504124
Node: Word Designators505705
Node: Modifiers508100
Node: Installing Bash510040
Node: Basic Installation511159
Node: Compilers and Options515038
Node: Compiling For Multiple Architectures515791
Node: Installation Names517547
Node: Specifying the System Type519784
Node: Sharing Defaults520533
Node: Operation Controls521250
Node: Optional Features522272
Node: Reporting Bugs534655
Node: Major Differences From The Bourne Shell536015
Node: GNU Free Documentation License557444
Node: Indexes582624
Node: Builtin Index583078
Node: Reserved Word Index590179
Node: Variable Index592627
Node: Function Index610043
Node: Concept Index624041
Node: Top898
Node: Introduction2836
Node: What is Bash?3052
Node: What is a shell?4188
Node: Definitions6801
Node: Basic Shell Features10131
Node: Shell Syntax11358
Node: Shell Operation12388
Node: Quoting13682
Node: Escape Character15023
Node: Single Quotes15561
Node: Double Quotes15913
Node: ANSI-C Quoting17261
Node: Locale Translation18658
Node: Creating Internationalized Scripts20064
Node: Comments24265
Node: Shell Commands25035
Node: Reserved Words25977
Node: Simple Commands26845
Node: Pipelines27510
Node: Lists30769
Node: Compound Commands32644
Node: Looping Constructs33656
Node: Conditional Constructs36208
Node: Command Grouping51281
Node: Coprocesses52776
Node: GNU Parallel55465
Node: Shell Functions56386
Node: Shell Parameters64837
Node: Positional Parameters69741
Node: Special Parameters70834
Node: Shell Expansions74298
Node: Brace Expansion76490
Node: Tilde Expansion79829
Node: Shell Parameter Expansion82787
Node: Command Substitution103433
Node: Arithmetic Expansion106965
Node: Process Substitution108144
Node: Word Splitting109255
Node: Filename Expansion111702
Node: Pattern Matching114929
Node: Quote Removal120655
Node: Redirections120962
Node: Executing Commands131228
Node: Simple Command Expansion131898
Node: Command Search and Execution134009
Node: Command Execution Environment136456
Node: Environment139907
Node: Exit Status141813
Node: Signals143875
Node: Shell Scripts148808
Node: Shell Builtin Commands152109
Node: Bourne Shell Builtins154223
Node: Bash Builtins180945
Node: Modifying Shell Behavior217872
Node: The Set Builtin218217
Node: The Shopt Builtin230214
Node: Special Builtins247270
Node: Shell Variables248262
Node: Bourne Shell Variables248699
Node: Bash Variables251210
Node: Bash Features290338
Node: Invoking Bash291355
Node: Bash Startup Files297942
Node: Interactive Shells303187
Node: What is an Interactive Shell?303598
Node: Is this Shell Interactive?304263
Node: Interactive Shell Behavior305090
Node: Bash Conditional Expressions308854
Node: Shell Arithmetic314274
Node: Aliases317604
Node: Arrays320741
Node: The Directory Stack328332
Node: Directory Stack Builtins329132
Node: Controlling the Prompt333580
Node: The Restricted Shell336468
Node: Bash POSIX Mode339353
Node: Shell Compatibility Mode358303
Node: Job Control367313
Node: Job Control Basics367773
Node: Job Control Builtins374144
Node: Job Control Variables380829
Node: Command Line Editing382063
Node: Introduction and Notation383769
Node: Readline Interaction386124
Node: Readline Bare Essentials387315
Node: Readline Movement Commands389126
Node: Readline Killing Commands390125
Node: Readline Arguments392151
Node: Searching393211
Node: Readline Init File395457
Node: Readline Init File Syntax396763
Node: Conditional Init Constructs423717
Node: Sample Init File428105
Node: Bindable Readline Commands431228
Node: Commands For Moving432769
Node: Commands For History435236
Node: Commands For Text440629
Node: Commands For Killing444757
Node: Numeric Arguments447548
Node: Commands For Completion448703
Node: Keyboard Macros454402
Node: Miscellaneous Commands455106
Node: Readline vi Mode461676
Node: Programmable Completion462656
Node: Programmable Completion Builtins471396
Node: A Programmable Completion Example483136
Node: Using History Interactively488484
Node: Bash History Facilities489168
Node: Bash History Builtins492906
Node: History Interaction499380
Node: Event Designators504333
Node: Word Designators505914
Node: Modifiers508309
Node: Installing Bash510249
Node: Basic Installation511368
Node: Compilers and Options515247
Node: Compiling For Multiple Architectures516000
Node: Installation Names517756
Node: Specifying the System Type519993
Node: Sharing Defaults520742
Node: Operation Controls521459
Node: Optional Features522481
Node: Reporting Bugs535207
Node: Major Differences From The Bourne Shell536567
Node: GNU Free Documentation License557997
Node: Indexes583177
Node: Builtin Index583631
Node: Reserved Word Index590732
Node: Variable Index593180
Node: Function Index610596
Node: Concept Index624594

End Tag Table