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
@@ -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, 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.
@@ -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, 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
@@ -3237,7 +3237,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: bash.info, Node: Signals, Prev: Exit Status, Up: Executing Commands
@@ -3254,7 +3254,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
@@ -3498,8 +3498,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
@@ -5461,7 +5462,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.
@@ -6331,7 +6332,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
@@ -7128,7 +7129,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
@@ -7688,7 +7689,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.
@@ -8880,6 +8881,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
@@ -11605,10 +11608,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.
@@ -12168,11 +12176,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
@@ -12838,7 +12846,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)
@@ -12857,7 +12865,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)
@@ -12866,23 +12874,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)
@@ -12900,36 +12908,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)
@@ -13035,17 +13043,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)
@@ -13054,48 +13062,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)
@@ -13108,15 +13116,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)
@@ -13124,13 +13132,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)
@@ -13152,15 +13160,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)
@@ -13169,9 +13177,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)
@@ -13194,21 +13202,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)
@@ -13219,11 +13227,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: bash.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
@@ -13611,138 +13619,138 @@ D.5 Concept Index

Tag Table:
Node: Top891
Node: Introduction2822
Node: What is Bash?3035
Node: What is a shell?4168
Node: Definitions6778
Node: Basic Shell Features10105
Node: Shell Syntax11329
Node: Shell Operation12356
Node: Quoting13647
Node: Escape Character14985
Node: Single Quotes15520
Node: Double Quotes15869
Node: ANSI-C Quoting17214
Node: Locale Translation18608
Node: Creating Internationalized Scripts20011
Node: Comments24209
Node: Shell Commands24976
Node: Reserved Words25915
Node: Simple Commands26780
Node: Pipelines27442
Node: Lists30698
Node: Compound Commands32570
Node: Looping Constructs33579
Node: Conditional Constructs36128
Node: Command Grouping51198
Node: Coprocesses52690
Node: GNU Parallel55376
Node: Shell Functions56294
Node: Shell Parameters64742
Node: Positional Parameters69643
Node: Special Parameters70733
Node: Shell Expansions74194
Node: Brace Expansion76383
Node: Tilde Expansion79719
Node: Shell Parameter Expansion82674
Node: Command Substitution103317
Node: Arithmetic Expansion106846
Node: Process Substitution108022
Node: Word Splitting109130
Node: Filename Expansion111574
Node: Pattern Matching114798
Node: Quote Removal120521
Node: Redirections120825
Node: Executing Commands131088
Node: Simple Command Expansion131755
Node: Command Search and Execution133863
Node: Command Execution Environment136307
Node: Environment139755
Node: Exit Status141658
Node: Signals143716
Node: Shell Scripts148645
Node: Shell Builtin Commands151943
Node: Bourne Shell Builtins154054
Node: Bash Builtins180701
Node: Modifying Shell Behavior217625
Node: The Set Builtin217967
Node: The Shopt Builtin229961
Node: Special Builtins247013
Node: Shell Variables248002
Node: Bourne Shell Variables248436
Node: Bash Variables250944
Node: Bash Features290068
Node: Invoking Bash291082
Node: Bash Startup Files297666
Node: Interactive Shells302908
Node: What is an Interactive Shell?303316
Node: Is this Shell Interactive?303978
Node: Interactive Shell Behavior304802
Node: Bash Conditional Expressions308563
Node: Shell Arithmetic313980
Node: Aliases317309
Node: Arrays320443
Node: The Directory Stack328031
Node: Directory Stack Builtins328828
Node: Controlling the Prompt333273
Node: The Restricted Shell336158
Node: Bash POSIX Mode339040
Node: Shell Compatibility Mode357986
Node: Job Control366993
Node: Job Control Basics367450
Node: Job Control Builtins373818
Node: Job Control Variables380500
Node: Command Line Editing381731
Node: Introduction and Notation383434
Node: Readline Interaction385786
Node: Readline Bare Essentials386974
Node: Readline Movement Commands388782
Node: Readline Killing Commands389778
Node: Readline Arguments391801
Node: Searching392858
Node: Readline Init File395101
Node: Readline Init File Syntax396404
Node: Conditional Init Constructs423229
Node: Sample Init File427614
Node: Bindable Readline Commands430734
Node: Commands For Moving432272
Node: Commands For History434736
Node: Commands For Text440126
Node: Commands For Killing444251
Node: Numeric Arguments447039
Node: Commands For Completion448191
Node: Keyboard Macros453887
Node: Miscellaneous Commands454588
Node: Readline vi Mode461155
Node: Programmable Completion462132
Node: Programmable Completion Builtins470869
Node: A Programmable Completion Example482606
Node: Using History Interactively487951
Node: Bash History Facilities488632
Node: Bash History Builtins492367
Node: History Interaction498838
Node: Event Designators503788
Node: Word Designators505366
Node: Modifiers507758
Node: Installing Bash509695
Node: Basic Installation510811
Node: Compilers and Options514687
Node: Compiling For Multiple Architectures515437
Node: Installation Names517190
Node: Specifying the System Type519424
Node: Sharing Defaults520170
Node: Operation Controls520884
Node: Optional Features521903
Node: Reporting Bugs534283
Node: Major Differences From The Bourne Shell535640
Node: GNU Free Documentation License557066
Node: Indexes582243
Node: Builtin Index582694
Node: Reserved Word Index589792
Node: Variable Index592237
Node: Function Index609650
Node: Concept Index623645
Node: Top895
Node: Introduction2830
Node: What is Bash?3043
Node: What is a shell?4176
Node: Definitions6786
Node: Basic Shell Features10113
Node: Shell Syntax11337
Node: Shell Operation12364
Node: Quoting13655
Node: Escape Character14993
Node: Single Quotes15528
Node: Double Quotes15877
Node: ANSI-C Quoting17222
Node: Locale Translation18616
Node: Creating Internationalized Scripts20019
Node: Comments24217
Node: Shell Commands24984
Node: Reserved Words25923
Node: Simple Commands26788
Node: Pipelines27450
Node: Lists30706
Node: Compound Commands32578
Node: Looping Constructs33587
Node: Conditional Constructs36136
Node: Command Grouping51206
Node: Coprocesses52698
Node: GNU Parallel55384
Node: Shell Functions56302
Node: Shell Parameters64750
Node: Positional Parameters69651
Node: Special Parameters70741
Node: Shell Expansions74202
Node: Brace Expansion76391
Node: Tilde Expansion79727
Node: Shell Parameter Expansion82682
Node: Command Substitution103325
Node: Arithmetic Expansion106854
Node: Process Substitution108030
Node: Word Splitting109138
Node: Filename Expansion111582
Node: Pattern Matching114806
Node: Quote Removal120529
Node: Redirections120833
Node: Executing Commands131096
Node: Simple Command Expansion131763
Node: Command Search and Execution133871
Node: Command Execution Environment136315
Node: Environment139763
Node: Exit Status141666
Node: Signals143725
Node: Shell Scripts148655
Node: Shell Builtin Commands151953
Node: Bourne Shell Builtins154064
Node: Bash Builtins180783
Node: Modifying Shell Behavior217707
Node: The Set Builtin218049
Node: The Shopt Builtin230043
Node: Special Builtins247096
Node: Shell Variables248085
Node: Bourne Shell Variables248519
Node: Bash Variables251027
Node: Bash Features290152
Node: Invoking Bash291166
Node: Bash Startup Files297750
Node: Interactive Shells302992
Node: What is an Interactive Shell?303400
Node: Is this Shell Interactive?304062
Node: Interactive Shell Behavior304886
Node: Bash Conditional Expressions308647
Node: Shell Arithmetic314064
Node: Aliases317391
Node: Arrays320525
Node: The Directory Stack328113
Node: Directory Stack Builtins328910
Node: Controlling the Prompt333355
Node: The Restricted Shell336240
Node: Bash POSIX Mode339122
Node: Shell Compatibility Mode358069
Node: Job Control367076
Node: Job Control Basics367533
Node: Job Control Builtins373901
Node: Job Control Variables380583
Node: Command Line Editing381814
Node: Introduction and Notation383517
Node: Readline Interaction385869
Node: Readline Bare Essentials387057
Node: Readline Movement Commands388865
Node: Readline Killing Commands389861
Node: Readline Arguments391884
Node: Searching392941
Node: Readline Init File395184
Node: Readline Init File Syntax396487
Node: Conditional Init Constructs423438
Node: Sample Init File427823
Node: Bindable Readline Commands430943
Node: Commands For Moving432481
Node: Commands For History434945
Node: Commands For Text440335
Node: Commands For Killing444460
Node: Numeric Arguments447248
Node: Commands For Completion448400
Node: Keyboard Macros454096
Node: Miscellaneous Commands454797
Node: Readline vi Mode461364
Node: Programmable Completion462341
Node: Programmable Completion Builtins471078
Node: A Programmable Completion Example482815
Node: Using History Interactively488160
Node: Bash History Facilities488841
Node: Bash History Builtins492576
Node: History Interaction499047
Node: Event Designators503997
Node: Word Designators505575
Node: Modifiers507967
Node: Installing Bash509904
Node: Basic Installation511020
Node: Compilers and Options514896
Node: Compiling For Multiple Architectures515646
Node: Installation Names517399
Node: Specifying the System Type519633
Node: Sharing Defaults520379
Node: Operation Controls521093
Node: Optional Features522112
Node: Reporting Bugs534835
Node: Major Differences From The Bourne Shell536192
Node: GNU Free Documentation License557619
Node: Indexes582796
Node: Builtin Index583247
Node: Reserved Word Index590345
Node: Variable Index592790
Node: Function Index610203
Node: Concept Index624198

End Tag Table