diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index a667dbe9..f822f4f8 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -6569,3 +6569,48 @@ shell.c the shell decides it's being run by ssh and runs bashrc (only if SSH_SOURCE_BASHRC is defined). Non-zero while the startup files are being run. Not used by any other part of the shell yet. + + 6/12 + ---- +arrayfunc.h + - new inline functions to convert between assignment flags (ASS_*), + array value flags (AV_*), and valid array flags (VA_*) + +shell.h + - include arrayfunc.h after subst.h and variables.h so all the values + for the new inline functions are available + +variables.c + - bind_int_variable: use convert_assign_flags_to_validarray_flags and + convert_assign_flags_to_arrayval flags instead of inline assignments + +builtins/common.c + - builtin_bind_variable: use convert_assign_flags_to_validarray_flags + instead of inline assignments + +arrayfunc.c + - assign_array_element: use convert_assign_flags_to_arrayval_flags + instead of inline code + - assign_array_element_internal: use convert_assign_flags_to_arrayval_flags + to pass the right values to array_expand_index + - assign_array_var_from_string: since expand_compound_array_assignment + performs one round of expansion on the subscripts, make sure to add + ASS_NOEXPAND (if assoc_expand_once is set) and ASS_ALLOWALLSUB to the + flags we pass to assign_compound_array_list + - unbind_array_index: use convert_validarray_flags_to_array_value_flags + to pass the right values to array_expand_index + - array_expand_index: uncomment code tagged for bash-5.3 that checks + AV_NOEXPAND and suppresses call to expand_arith_string if it's set. + This set of changes extends assoc_expand_once to indexed arrays + +arrayfunc.[ch],execute_cmd.c,expr.c,test.c,builtins/common.c,builtins/mkbuiltins.c +builtins/declare.def,builtins/set.def,builtins/shopt.def + - array_expand_once: new name for internal assoc_expand_once variable + + 6/13 + ---- +builtins/shopt.def + - array_expand_once: new option, replaces assoc_expand_once + +doc/bash.1,doc/bashref.texi + - array_expand_once: document new shopt option diff --git a/MANIFEST b/MANIFEST index 7d7d313d..d1a937cd 100644 --- a/MANIFEST +++ b/MANIFEST @@ -948,6 +948,7 @@ tests/array28.sub f tests/array29.sub f tests/array30.sub f tests/array31.sub f +tests/array32.sub f tests/array-at-star f tests/array2.right f tests/assoc.tests f diff --git a/arrayfunc.c b/arrayfunc.c index b85a7cf9..28aee54b 100644 --- a/arrayfunc.c +++ b/arrayfunc.c @@ -45,11 +45,8 @@ # define RBRACK ']' #endif -/* This variable means to not expand associative array subscripts more than - once, when performing variable expansion. */ -int assoc_expand_once = 0; - -/* Ditto for indexed array subscripts -- currently unused */ +/* This variable means to not expand associative or indexed array subscripts + more than once, when performing variable expansion. */ int array_expand_once = 0; static SHELL_VAR *bind_array_var_internal (SHELL_VAR *, arrayind_t, char *, const char *, int); @@ -317,11 +314,7 @@ assign_array_element (const char *name, const char *value, int flags, array_elts int sublen, isassoc, avflags; SHELL_VAR *entry; - avflags = 0; - if (flags & ASS_NOEXPAND) - avflags |= AV_NOEXPAND; - if (flags & ASS_ONEWORD) - avflags |= AV_ONEWORD; + avflags = convert_assign_flags_to_arrayval_flags (flags); vname = array_variable_name (name, avflags, &sub, &sublen); if (vname == 0) @@ -358,6 +351,10 @@ assign_array_element (const char *name, const char *value, int flags, array_elts return entry; } +/* Assign VALUE to the index computed from SUB of length SUBLEN of array + VNAME. NAME is the complete variable reference. FLAGS are ASS_ assignment + flags. ENTRY is the SHELL_VAR corresponding to VNAME. The caller + initializes ESTATEP, and we set it to the values we compute. */ static SHELL_VAR * assign_array_element_internal (SHELL_VAR *entry, const char *name, char *vname, char *sub, int sublen, const char *value, @@ -395,7 +392,11 @@ assign_array_element_internal (SHELL_VAR *entry, const char *name, char *vname, } else { - ind = array_expand_index (entry, sub, sublen, 0); + /* convert ASS_ flags to AV_FLAGS here */ + int avflags; + + avflags = convert_assign_flags_to_arrayval_flags (flags); + ind = array_expand_index (entry, sub, sublen, avflags); /* negative subscripts to indexed arrays count back from end */ if (entry && ind < 0) ind = (array_p (entry) ? array_max_index (array_cell (entry)) : 0) + 1 + ind; @@ -745,7 +746,11 @@ assign_compound_array_list (SHELL_VAR *var, WORD_LIST *nlist, int flags) if (array_p (var)) { - ind = array_expand_index (var, w + 1, len, 0); + int avflags; + + /* convert ASS_ FLAGS to AV_ flags here */ + avflags = convert_assign_flags_to_arrayval_flags (flags); + ind = array_expand_index (var, w + 1, len, avflags); /* negative subscripts to indexed arrays count back from end */ if (ind < 0) ind = array_max_index (array_cell (var)) + 1 + ind; @@ -829,17 +834,23 @@ assign_compound_array_list (SHELL_VAR *var, WORD_LIST *nlist, int flags) } /* Perform a compound array assignment: VAR->name=( VALUE ). The - VALUE has already had the parentheses stripped. */ + VALUE has already had the parentheses stripped. FLAGS are ASS_ + assignment flags. */ SHELL_VAR * assign_array_var_from_string (SHELL_VAR *var, char *value, int flags) { WORD_LIST *nlist; + int aflags; if (value == 0) return var; nlist = expand_compound_array_assignment (var, value, flags); - assign_compound_array_list (var, nlist, flags); + /* This is were we set ASS_NOEXPAND and ASS_ONEWORD if we need to, since + expand_compound_array_assignment performs word expansions. Honors + array_expand_once; allows @ and * as associative array keys. */ + aflags = flags | (array_expand_once ? ASS_NOEXPAND : 0) | ASS_ALLOWALLSUB; + assign_compound_array_list (var, nlist, aflags); if (nlist) dispose_words (nlist); @@ -1062,6 +1073,7 @@ unbind_array_element (SHELL_VAR *var, char *sub, int flags) arrayind_t ind; char *akey; ARRAY_ELEMENT *ae; + int avflags; /* Assume that the caller (unset_builtin) passes us a null-terminated SUB, so we don't have to use VA_ONEWORD or parse the subscript again with @@ -1118,7 +1130,9 @@ unbind_array_element (SHELL_VAR *var, char *sub, int flags) } /* Fall through for behavior 3 */ } - ind = array_expand_index (var, sub, strlen (sub) + 1, 0); + + avflags = convert_validarray_flags_to_arrayval_flags (flags); + ind = array_expand_index (var, sub, strlen (sub) + 1, avflags); /* negative subscripts to indexed arrays count back from end */ if (ind < 0) ind = array_max_index (array_cell (var)) + 1 + ind; @@ -1134,7 +1148,8 @@ unbind_array_element (SHELL_VAR *var, char *sub, int flags) else /* array_p (var) == 0 && assoc_p (var) == 0 */ { akey = this_command_name; - ind = array_expand_index (var, sub, strlen (sub) + 1, 0); + avflags = convert_validarray_flags_to_arrayval_flags (flags); + ind = array_expand_index (var, sub, strlen (sub) + 1, avflags); this_command_name = akey; if (ind == 0) { @@ -1265,7 +1280,8 @@ valid_array_reference (const char *name, int flags) return tokenize_array_reference (name, flags, (char **)NULL); } -/* Expand the array index beginning at S and extending LEN characters. */ +/* Expand the array index beginning at S and extending LEN characters. FLAGS + are AV_ flags saying how to compute the array value. */ arrayind_t array_expand_index (SHELL_VAR *var, const char *s, int len, int flags) { @@ -1276,8 +1292,12 @@ array_expand_index (SHELL_VAR *var, const char *s, int len, int flags) exp = (char *)xmalloc (len); strncpy (exp, s, len - 1); exp[len - 1] = '\0'; -#if 0 /* TAG: maybe bash-5.2 */ +#if 1 /* TAG: bash-5.3 */ +#if 0 + if (shell_compatibility_level <= 52 || (flags & AV_NOEXPAND) == 0) +#else if ((flags & AV_NOEXPAND) == 0) +#endif t = expand_arith_string (exp, Q_DOUBLE_QUOTES|Q_ARITH|Q_ARRAYSUB); /* XXX - Q_ARRAYSUB for future use */ else t = exp; diff --git a/arrayfunc.h b/arrayfunc.h index 8fcec160..aa111013 100644 --- a/arrayfunc.h +++ b/arrayfunc.h @@ -48,11 +48,8 @@ typedef struct element_state #if defined (ARRAY_VARS) -/* This variable means to not expand associative array subscripts more than - once, when performing variable expansion. */ -extern int assoc_expand_once; - -/* The analog for indexed array subscripts */ +/* This variable means to not expand associative or indexed array subscripts + more than once, when performing variable expansion. */ extern int array_expand_once; /* Flags for array_value_internal and callers array_value/get_array_value; also @@ -137,4 +134,58 @@ extern void flush_eltstate (array_eltstate_t *); #endif +/* Functions to convert from other flag values to AV_ array variable flags */ + +#if defined (ASS_NOEXPAND) +static inline int +convert_assign_flags_to_arrayval_flags (int aflags) +{ + int avflags; + + avflags = 0; + if (aflags & ASS_NOEXPAND) + avflags |= AV_NOEXPAND; + if (aflags & ASS_ONEWORD) + avflags |= AV_ONEWORD; + if (aflags & ASS_NOEVAL) + avflags |= AV_NOEXPAND; + if (aflags & ASS_ALLOWALLSUB) + avflags |= AV_ATSTARKEYS; + return avflags; +} +#endif + +#if defined (VA_NOEXPAND) +static inline int +convert_validarray_flags_to_arrayval_flags (int vflags) +{ + int avflags; + + if (vflags & VA_NOEXPAND) + avflags |= AV_NOEXPAND; + if (vflags & VA_ONEWORD) + avflags |= AV_ONEWORD; + if (vflags & VA_ALLOWALL) + avflags |= AV_ATSTARKEYS; + return avflags; +} +#endif + +#if defined (ASS_NOEXPAND) +static inline int +convert_assign_flags_to_validarray_flags (int flags) +{ + int vflags; + + vflags = 0; + if (flags & ASS_NOEXPAND) + vflags |= VA_NOEXPAND; + if (flags & ASS_ONEWORD) + vflags |= VA_ONEWORD; + if (flags & ASS_ALLOWALLSUB) + vflags |= VA_ALLOWALL; + return vflags; +} +#endif + #endif /* !_ARRAYFUNC_H_ */ diff --git a/builtins/common.c b/builtins/common.c index e5402961..35fd710a 100644 --- a/builtins/common.c +++ b/builtins/common.c @@ -932,12 +932,11 @@ builtin_bind_variable (char *name, char *value, int flags) #if defined (ARRAY_VARS) /* Callers are responsible for calling this with array references that have already undergone valid_array_reference checks (read, printf). */ - vflags = assoc_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0; - bindflags = flags | (assoc_expand_once ? ASS_NOEXPAND : 0) | ASS_ALLOWALLSUB; - if (flags & ASS_NOEXPAND) - vflags |= VA_NOEXPAND; - if (flags & ASS_ONEWORD) - vflags |= VA_ONEWORD; + /* XXX - should we unconditionally set ASS_NOEXPAND if the shell + compatibility level is > 52? */ + bindflags = flags | (array_expand_once ? ASS_NOEXPAND : 0) | ASS_ALLOWALLSUB; + vflags = convert_assign_flags_to_validarray_flags (flags); + vflags |= array_expand_once ? (VA_NOEXPAND|VA_ONEWORD) : 0; if (valid_array_reference (name, vflags) == 0) v = bind_variable (name, value, flags); @@ -1022,7 +1021,7 @@ builtin_arrayref_flags (WORD_DESC *w, int baseflags) vflags = baseflags; - /* Don't require assoc_expand_once if we have an argument that's already + /* Don't require array_expand_once if we have an argument that's already passed through valid_array_reference and been expanded once. That doesn't protect it from normal expansions like word splitting, so proper quoting is still required. */ @@ -1031,7 +1030,7 @@ builtin_arrayref_flags (WORD_DESC *w, int baseflags) # if 0 /* This is a little sketchier but handles quoted arguments. */ - if (assoc_expand_once && (t = strchr (w->word, '[')) && t[strlen(t) - 1] == ']') + if (array_expand_once && (t = strchr (w->word, '[')) && t[strlen(t) - 1] == ']') vflags |= VA_ONEWORD|VA_NOEXPAND; # endif @@ -1050,12 +1049,12 @@ set_expand_once (int nval, int uwp) { int oa; - oa = assoc_expand_once; + oa = array_expand_once; if (shell_compatibility_level > 51) /* XXX - internal */ { if (uwp) - unwind_protect_int (assoc_expand_once); - assoc_expand_once = nval; + unwind_protect_int (array_expand_once); + array_expand_once = nval; } return oa; } diff --git a/builtins/common.h b/builtins/common.h index 630ebd44..aced205f 100644 --- a/builtins/common.h +++ b/builtins/common.h @@ -275,9 +275,9 @@ extern int wait_intr_flag; #if defined (ARRAY_VARS) #define SET_VFLAGS(wordflags, vflags, bindflags) \ do { \ - vflags = assoc_expand_once ? VA_NOEXPAND : 0; \ - bindflags = assoc_expand_once ? ASS_NOEXPAND : 0; \ - if (assoc_expand_once && (wordflags & W_ARRAYREF)) \ + vflags = array_expand_once ? VA_NOEXPAND : 0; \ + bindflags = array_expand_once ? ASS_NOEXPAND : 0; \ + if (array_expand_once && (wordflags & W_ARRAYREF)) \ vflags |= VA_ONEWORD|VA_NOEXPAND; \ if (vflags & VA_NOEXPAND) \ bindflags |= ASS_NOEXPAND; \ diff --git a/builtins/declare.def b/builtins/declare.def index 41c11e1f..e652f639 100644 --- a/builtins/declare.def +++ b/builtins/declare.def @@ -393,7 +393,7 @@ declare_internal (WORD_LIST *list, int local_var) name = savestring (list->word->word); wflags = list->word->flags; #if defined (ARRAY_VARS) - assoc_noexpand = assoc_expand_once && (wflags & W_ASSIGNMENT); + assoc_noexpand = array_expand_once && (wflags & W_ASSIGNMENT); #else assoc_noexpand = 0; #endif diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c index d0d5559f..658db057 100644 --- a/builtins/mkbuiltins.c +++ b/builtins/mkbuiltins.c @@ -178,7 +178,7 @@ char *posix_builtins[] = }; /* The builtin commands that can take array references as arguments and pay - attention to `assoc_expand_once'. These are the ones that don't assign + attention to `array_expand_once'. These are the ones that don't assign values, but need to avoid double expansions. */ char *arrayvar_builtins[] = { diff --git a/builtins/set.def b/builtins/set.def index a6f5c253..138899ab 100644 --- a/builtins/set.def +++ b/builtins/set.def @@ -866,7 +866,7 @@ unset_builtin (WORD_LIST *list) nameref = 0; #if defined (ARRAY_VARS) - base_vflags = assoc_expand_once ? VA_NOEXPAND : 0; + base_vflags = array_expand_once ? VA_NOEXPAND : 0; #endif while (list) diff --git a/builtins/shopt.def b/builtins/shopt.def index f94116ea..f621ec6b 100644 --- a/builtins/shopt.def +++ b/builtins/shopt.def @@ -122,7 +122,6 @@ extern int debugging_mode; #endif #if defined (ARRAY_VARS) -extern int assoc_expand_once; extern int array_expand_once; int expand_once_flag; #endif @@ -146,7 +145,7 @@ static int shopt_set_complete_direxpand (char *, int); #endif #if defined (ARRAY_VARS) -static int set_assoc_expand (char *, int); +static int set_array_expand (char *, int); #endif #if defined (EXTENDED_GLOB) @@ -180,7 +179,8 @@ static struct { } shopt_vars[] = { { "autocd", &autocd, (shopt_set_func_t *)NULL }, #if defined (ARRAY_VARS) - { "assoc_expand_once", &expand_once_flag, set_assoc_expand }, + { "array_expand_once", &expand_once_flag, set_array_expand }, + { "assoc_expand_once", &expand_once_flag, set_array_expand }, #endif { "cdable_vars", &cdable_vars, (shopt_set_func_t *)NULL }, { "cdspell", &cdspelling, (shopt_set_func_t *)NULL }, @@ -386,7 +386,7 @@ reset_shopt_options (void) glob_always_skip_dot_and_dotdot = 1; /* new default as of bash-5.2 */ #if defined (ARRAY_VARS) - expand_once_flag = assoc_expand_once = 0; + expand_once_flag = array_expand_once = 0; #endif #if defined (HISTORY) @@ -914,12 +914,12 @@ initialize_bashopts (int no_bashopts) #if defined (ARRAY_VARS) static int -set_assoc_expand (char *option_name, int mode) +set_array_expand (char *option_name, int mode) { #if 0 /* leave this disabled */ if (shell_compatibility_level <= 51) #endif - assoc_expand_once = expand_once_flag; + array_expand_once = expand_once_flag; return 0; } #endif diff --git a/doc/bash.0 b/doc/bash.0 index 1ae611e1..48f78a48 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -5901,12 +5901,14 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS The list of sshhoopptt options is: - aassssoocc__eexxppaanndd__oonnccee + aarrrraayy__eexxppaanndd__oonnccee If set, the shell suppresses multiple evaluation of as- - sociative array subscripts during arithmetic expression - evaluation, while executing builtins that can perform - variable assignments, and while executing builtins that - perform array dereferencing. + sociative and indexed array subscripts during arithmetic + expression evaluation, while executing builtins that can + perform variable assignments, and while executing + builtins that perform array dereferencing. + aassssoocc__eexxppaanndd__oonnccee + Deprecated; a synonym for aarrrraayy__eexxppaanndd__oonnccee. aauuttooccdd If set, a command name that is the name of a directory is executed as if it were the argument to the ccdd com- mand. This option is only used by interactive shells. @@ -6778,4 +6780,4 @@ BBUUGGSS -GNU Bash 5.2 2023 May 23 BASH(1) +GNU Bash 5.2 2023 June 13 BASH(1) diff --git a/doc/bash.1 b/doc/bash.1 index ea23fc1e..98c8c048 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet.ramey@case.edu .\" -.\" Last Change: Tue May 23 11:29:30 EDT 2023 +.\" Last Change: Tue Jun 13 10:33:46 EDT 2023 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2023 May 23" "GNU Bash 5.2" +.TH BASH 1 "2023 June 13" "GNU Bash 5.2" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. @@ -10385,12 +10385,16 @@ The list of \fBshopt\fP options is: .if n .sp 1v .PD 0 .TP 8 -.B assoc_expand_once -If set, the shell suppresses multiple evaluation of associative array -subscripts during arithmetic expression evaluation, while executing +.B array_expand_once +If set, the shell suppresses multiple evaluation of +associative and indexed array subscripts +during arithmetic expression evaluation, while executing builtins that can perform variable assignments, and while executing builtins that perform array dereferencing. .TP 8 +.B assoc_expand_once +Deprecated; a synonym for \fBarray_expand_once\fP. +.TP 8 .B autocd If set, a command name that is the name of a directory is executed as if it were the argument to the \fBcd\fP command. diff --git a/doc/bash.html b/doc/bash.html index d2e5effb..261e6689 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ -
BASH(1)2023 May 23BASH(1) +BASH(1)2023 June 13BASH(1)

Index @@ -13061,13 +13061,18 @@ The list of shopt options is:
+
array_expand_once + +
+If set, the shell suppresses multiple evaluation of +associative and indexed array subscripts +during arithmetic expression evaluation, while executing +builtins that can perform variable assignments, +and while executing builtins that perform array dereferencing.
assoc_expand_once
-If set, the shell suppresses multiple evaluation of associative array -subscripts during arithmetic expression evaluation, while executing -builtins that can perform variable assignments, -and while executing builtins that perform array dereferencing. +Deprecated; a synonym for array_expand_once.
autocd
@@ -14999,7 +15004,7 @@ There may be only one active coprocess at a time.
-
GNU Bash 5.22023 May 23BASH(1) +GNU Bash 5.22023 June 13BASH(1)

@@ -15105,7 +15110,7 @@ There may be only one active coprocess at a time.
BUGS

-This document was created by man2html from /usr/local/src/bash/bash-20230522/doc/bash.1.
-Time: 23 May 2023 11:31:51 EDT +This document was created by man2html from /usr/local/src/bash/bash-20230612/doc/bash.1.
+Time: 13 June 2023 10:42:12 EDT diff --git a/doc/bash.info b/doc/bash.info index a52e838f..2deb4f10 100644 --- a/doc/bash.info +++ b/doc/bash.info @@ -1,9 +1,9 @@ This is bash.info, produced by makeinfo version 6.8 from bashref.texi. This text is a brief description of the features that are present in the -Bash shell (version 5.2, 23 May 2023). +Bash shell (version 5.2, 13 June 2023). - This is Edition 5.2, last updated 23 May 2023, of 'The GNU Bash + This is Edition 5.2, last updated 13 June 2023, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.2. Copyright (C) 1988-2023 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.2, 23 May 2023). The Bash home page is +Bash shell (version 5.2, 13 June 2023). The Bash home page is . - This is Edition 5.2, last updated 23 May 2023, of 'The GNU Bash + This is Edition 5.2, last updated 13 June 2023, of 'The GNU Bash Reference Manual', for 'Bash', Version 5.2. Bash contains features that appear in other popular shells, and some @@ -4846,12 +4846,15 @@ This builtin allows you to change additional shell optional behavior. The list of 'shopt' options is: - 'assoc_expand_once' + 'array_expand_once' If set, the shell suppresses multiple evaluation of - associative array subscripts during arithmetic expression - evaluation, while executing builtins that can perform variable - assignments, and while executing builtins that perform array - dereferencing. + associative and indexed array subscripts during arithmetic + expression evaluation, while executing builtins that can + perform variable assignments, and while executing builtins + that perform array dereferencing. + + 'assoc_expand_once' + Deprecated; a synonym for 'array_expand_once'. 'autocd' If set, a command name that is the name of a directory is @@ -12767,138 +12770,138 @@ D.5 Concept Index  Tag Table: -Node: Top884 -Node: Introduction2791 -Node: What is Bash?3004 -Node: What is a shell?4115 -Node: Definitions6650 -Node: Basic Shell Features9598 -Node: Shell Syntax10814 -Node: Shell Operation11837 -Node: Quoting13127 -Node: Escape Character14428 -Node: Single Quotes14910 -Node: Double Quotes15255 -Node: ANSI-C Quoting16530 -Node: Locale Translation17839 -Node: Creating Internationalized Scripts19147 -Node: Comments23261 -Node: Shell Commands23876 -Node: Reserved Words24811 -Node: Simple Commands25564 -Node: Pipelines26215 -Node: Lists29211 -Node: Compound Commands31003 -Node: Looping Constructs32012 -Node: Conditional Constructs34504 -Node: Command Grouping48989 -Node: Coprocesses50464 -Node: GNU Parallel53124 -Node: Shell Functions54038 -Node: Shell Parameters61920 -Node: Positional Parameters66305 -Node: Special Parameters67204 -Node: Shell Expansions70415 -Node: Brace Expansion72539 -Node: Tilde Expansion75270 -Node: Shell Parameter Expansion77888 -Node: Command Substitution96287 -Node: Arithmetic Expansion99748 -Node: Process Substitution100713 -Node: Word Splitting101830 -Node: Filename Expansion103875 -Node: Pattern Matching106805 -Node: Quote Removal111804 -Node: Redirections112096 -Node: Executing Commands121786 -Node: Simple Command Expansion122453 -Node: Command Search and Execution124560 -Node: Command Execution Environment126944 -Node: Environment129976 -Node: Exit Status131636 -Node: Signals133417 -Node: Shell Scripts136863 -Node: Shell Builtin Commands139887 -Node: Bourne Shell Builtins141922 -Node: Bash Builtins164253 -Node: Modifying Shell Behavior196249 -Node: The Set Builtin196591 -Node: The Shopt Builtin207186 -Node: Special Builtins223095 -Node: Shell Variables224071 -Node: Bourne Shell Variables224505 -Node: Bash Variables226606 -Node: Bash Features260668 -Node: Invoking Bash261678 -Node: Bash Startup Files267688 -Node: Interactive Shells272816 -Node: What is an Interactive Shell?273224 -Node: Is this Shell Interactive?273870 -Node: Interactive Shell Behavior274682 -Node: Bash Conditional Expressions278308 -Node: Shell Arithmetic282947 -Node: Aliases285905 -Node: Arrays288796 -Node: The Directory Stack295356 -Node: Directory Stack Builtins296137 -Node: Controlling the Prompt300394 -Node: The Restricted Shell303356 -Node: Bash POSIX Mode305963 -Node: Shell Compatibility Mode321753 -Node: Job Control329994 -Node: Job Control Basics330451 -Node: Job Control Builtins335450 -Node: Job Control Variables341242 -Node: Command Line Editing342395 -Node: Introduction and Notation344063 -Node: Readline Interaction345683 -Node: Readline Bare Essentials346871 -Node: Readline Movement Commands348657 -Node: Readline Killing Commands349614 -Node: Readline Arguments351532 -Node: Searching352573 -Node: Readline Init File354756 -Node: Readline Init File Syntax356014 -Node: Conditional Init Constructs379802 -Node: Sample Init File383995 -Node: Bindable Readline Commands387116 -Node: Commands For Moving388317 -Node: Commands For History390365 -Node: Commands For Text395356 -Node: Commands For Killing399002 -Node: Numeric Arguments402032 -Node: Commands For Completion403168 -Node: Keyboard Macros407356 -Node: Miscellaneous Commands408041 -Node: Readline vi Mode414076 -Node: Programmable Completion414980 -Node: Programmable Completion Builtins422757 -Node: A Programmable Completion Example433742 -Node: Using History Interactively438987 -Node: Bash History Facilities439668 -Node: Bash History Builtins442670 -Node: History Interaction447691 -Node: Event Designators451308 -Node: Word Designators452659 -Node: Modifiers454416 -Node: Installing Bash456221 -Node: Basic Installation457355 -Node: Compilers and Options461074 -Node: Compiling For Multiple Architectures461812 -Node: Installation Names463501 -Node: Specifying the System Type465607 -Node: Sharing Defaults466321 -Node: Operation Controls466991 -Node: Optional Features467946 -Node: Reporting Bugs479162 -Node: Major Differences From The Bourne Shell480493 -Node: GNU Free Documentation License497339 -Node: Indexes522513 -Node: Builtin Index522964 -Node: Reserved Word Index530062 -Node: Variable Index532507 -Node: Function Index549492 -Node: Concept Index563273 +Node: Top886 +Node: Introduction2795 +Node: What is Bash?3008 +Node: What is a shell?4119 +Node: Definitions6654 +Node: Basic Shell Features9602 +Node: Shell Syntax10818 +Node: Shell Operation11841 +Node: Quoting13131 +Node: Escape Character14432 +Node: Single Quotes14914 +Node: Double Quotes15259 +Node: ANSI-C Quoting16534 +Node: Locale Translation17843 +Node: Creating Internationalized Scripts19151 +Node: Comments23265 +Node: Shell Commands23880 +Node: Reserved Words24815 +Node: Simple Commands25568 +Node: Pipelines26219 +Node: Lists29215 +Node: Compound Commands31007 +Node: Looping Constructs32016 +Node: Conditional Constructs34508 +Node: Command Grouping48993 +Node: Coprocesses50468 +Node: GNU Parallel53128 +Node: Shell Functions54042 +Node: Shell Parameters61924 +Node: Positional Parameters66309 +Node: Special Parameters67208 +Node: Shell Expansions70419 +Node: Brace Expansion72543 +Node: Tilde Expansion75274 +Node: Shell Parameter Expansion77892 +Node: Command Substitution96291 +Node: Arithmetic Expansion99752 +Node: Process Substitution100717 +Node: Word Splitting101834 +Node: Filename Expansion103879 +Node: Pattern Matching106809 +Node: Quote Removal111808 +Node: Redirections112100 +Node: Executing Commands121790 +Node: Simple Command Expansion122457 +Node: Command Search and Execution124564 +Node: Command Execution Environment126948 +Node: Environment129980 +Node: Exit Status131640 +Node: Signals133421 +Node: Shell Scripts136867 +Node: Shell Builtin Commands139891 +Node: Bourne Shell Builtins141926 +Node: Bash Builtins164257 +Node: Modifying Shell Behavior196253 +Node: The Set Builtin196595 +Node: The Shopt Builtin207190 +Node: Special Builtins223194 +Node: Shell Variables224170 +Node: Bourne Shell Variables224604 +Node: Bash Variables226705 +Node: Bash Features260767 +Node: Invoking Bash261777 +Node: Bash Startup Files267787 +Node: Interactive Shells272915 +Node: What is an Interactive Shell?273323 +Node: Is this Shell Interactive?273969 +Node: Interactive Shell Behavior274781 +Node: Bash Conditional Expressions278407 +Node: Shell Arithmetic283046 +Node: Aliases286004 +Node: Arrays288895 +Node: The Directory Stack295455 +Node: Directory Stack Builtins296236 +Node: Controlling the Prompt300493 +Node: The Restricted Shell303455 +Node: Bash POSIX Mode306062 +Node: Shell Compatibility Mode321852 +Node: Job Control330093 +Node: Job Control Basics330550 +Node: Job Control Builtins335549 +Node: Job Control Variables341341 +Node: Command Line Editing342494 +Node: Introduction and Notation344162 +Node: Readline Interaction345782 +Node: Readline Bare Essentials346970 +Node: Readline Movement Commands348756 +Node: Readline Killing Commands349713 +Node: Readline Arguments351631 +Node: Searching352672 +Node: Readline Init File354855 +Node: Readline Init File Syntax356113 +Node: Conditional Init Constructs379901 +Node: Sample Init File384094 +Node: Bindable Readline Commands387215 +Node: Commands For Moving388416 +Node: Commands For History390464 +Node: Commands For Text395455 +Node: Commands For Killing399101 +Node: Numeric Arguments402131 +Node: Commands For Completion403267 +Node: Keyboard Macros407455 +Node: Miscellaneous Commands408140 +Node: Readline vi Mode414175 +Node: Programmable Completion415079 +Node: Programmable Completion Builtins422856 +Node: A Programmable Completion Example433841 +Node: Using History Interactively439086 +Node: Bash History Facilities439767 +Node: Bash History Builtins442769 +Node: History Interaction447790 +Node: Event Designators451407 +Node: Word Designators452758 +Node: Modifiers454515 +Node: Installing Bash456320 +Node: Basic Installation457454 +Node: Compilers and Options461173 +Node: Compiling For Multiple Architectures461911 +Node: Installation Names463600 +Node: Specifying the System Type465706 +Node: Sharing Defaults466420 +Node: Operation Controls467090 +Node: Optional Features468045 +Node: Reporting Bugs479261 +Node: Major Differences From The Bourne Shell480592 +Node: GNU Free Documentation License497438 +Node: Indexes522612 +Node: Builtin Index523063 +Node: Reserved Word Index530161 +Node: Variable Index532606 +Node: Function Index549591 +Node: Concept Index563372  End Tag Table diff --git a/doc/bash.pdf b/doc/bash.pdf index 66f37605..274dde4a 100644 Binary files a/doc/bash.pdf and b/doc/bash.pdf differ diff --git a/doc/bash.ps b/doc/bash.ps index 8f21705a..bcfc172a 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.22.4 -%%CreationDate: Tue May 23 11:31:59 2023 +%%CreationDate: Tue Jun 13 10:41:52 2023 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -340,7 +340,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E (~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti) 144 710.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(1)202.335 E 0 Cg EP +(2023 June 13)148.175 E(1)202.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -463,8 +463,8 @@ F2(~/.bashr)108 691.2 Q(c)-.37 E F0 2.535(,i)C 2.535(ft)-2.535 G .035 Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25 G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806 (un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15 -F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(2)202.335 E -0 Cg EP +F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(2)202.335 +E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -595,7 +595,7 @@ F2(case)3.144 E F0(or)3.144 E F2(select)3.143 E F0 .643(command \(only) 669.6 R F6(SHELL GRAMMAR)72 686.4 Q F0 (This section describes the syntax of the v)108 698.4 Q (arious forms of shell commands.)-.25 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(3)202.335 E 0 Cg EP +(2023 June 13)148.175 E(3)202.335 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -718,7 +718,7 @@ or more pipelines separated by the)108 650.4 R F1(&&)2.671 E F0(and) G(cuted if, and only if,).15 E F2(command1)2.7 E F0(returns an e)2.5 E (xit status of zero \(success\).)-.15 E(An OR list has the form)108 712.8 Q F2(command1)144 729.6 Q F1(||)2.5 E F2(command2)2.5 E F0 -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(4)202.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(4)202.335 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP @@ -854,7 +854,7 @@ ormal quoting and pattern characters lose their meanings between brack) .583(with inde)144 720 R 3.083(x0)-.15 G .582 (contains the portion of the string matching the entire re)-.001 F .582 (gular e)-.15 F 3.082(xpression. Substrings)-.15 F(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(5)202.335 E 0 Cg EP +(2023 June 13)148.175 E(5)202.335 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP @@ -998,7 +998,7 @@ F0 .254(in place of)2.754 F F3(;;)2.754 E F0 .254(causes e)2.754 F -.15 (Using)144 720 Q F3(;;&)3.378 E F0 .878(in place of)3.378 F F3(;;)3.378 E F0 .878(causes the shell to test the ne)3.378 F .878 (xt pattern list in the statement, if an)-.15 F 2.178 -.65(y, a)-.15 H -(nd).65 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(6)202.335 E 0 Cg +(nd).65 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(6)202.335 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup @@ -1124,7 +1124,7 @@ Q F0 2.698(As)108 691.2 S .198 (cutes a compound command with).15 F 2.5(an)108 703.2 S .5 -.25(ew s) -2.5 H(et of positional parameters.).25 E (Shell functions are declared as follo)5 E(ws:)-.25 E(GNU Bash 5.2)72 -768 Q(2023 May 23)148.175 E(7)202.335 E 0 Cg EP +768 Q(2023 June 13)148.175 E(7)202.335 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP @@ -1257,7 +1257,7 @@ E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H (replaced as speci\214ed by the ANSI C standard.)3.027 F (Backslash escape sequences, if present, are decoded as follo)108 684 Q (ws:)-.25 E F2(\\a)144 696 Q F0(alert \(bell\))180 696 Q F2(\\b)144 708 -Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(8) +Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(8) 202.335 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup @@ -1373,7 +1373,7 @@ F0 2.664(commands\). When)2.664 F .164(+= is)2.664 F .132 (sion and added to the v)108 722.4 R(ariable')-.25 E 3.726(sc)-.55 G 1.227(urrent v)-3.726 F 1.227(alue, which is also e)-.25 F -.25(va)-.25 G 3.727(luated. When).25 F 1.227(+= is applied to an array)3.727 F -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(9)202.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(9)202.335 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP @@ -1515,7 +1515,7 @@ E(ground pipeline.)-.15 E F1108 703.2 Q F0 .882 R -.2(vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G .881(iltin command, or).2 F(those set by the shell itself \(such as the) 144 715.2 Q F12.5 E F0(option\).)2.5 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(10)197.335 E 0 Cg EP +(2023 June 13)148.175 E(10)197.335 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP @@ -1643,7 +1643,7 @@ F F1($0)2.751 E F0 2.751(;s)C(ee)-2.751 E .041 (f)-5.216 E F1 -.3(BA)2.716 G(SH_ARGV0).3 E F0 .216 (is unset, it loses its special properties, e)2.716 F -.15(ve)-.25 G 2.716(ni).15 G(f)-2.716 E(it is subsequently reset.)144 705.6 Q -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(11)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(11)197.335 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP @@ -1748,7 +1748,7 @@ H(he current completion function.).1 E F1(COMP_LINE)108 690 Q F0 1.208 (yt)-3.537 G 1.037(he programmable completion f)-3.537 F 1.037 (acilities \(see)-.1 F F1(Pr)3.537 E 1.037(ogrammable Completion)-.18 F F0(be-)3.537 E(lo)144 726 Q(w\).)-.25 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(12)197.335 E 0 Cg EP +(2023 June 13)148.175 E(12)197.335 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP @@ -1871,8 +1871,8 @@ F1(]})A F0 -.1(wa)2.512 G 2.512(sc).1 G .012(alled from the \214le) (at line number)144 702 R F1(${B)3.684 E(ASH_LINENO[)-.3 E F2($i)A F1 (]})A F0 6.184(.T)C(he)-6.184 E F1(caller)3.683 E F0 -.2(bu)3.683 G 1.183(iltin displays the current call stack using).2 F -(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E -(13)197.335 E 0 Cg EP +(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 +E(13)197.335 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP @@ -1966,7 +1966,7 @@ F0 1.547(line b)4.047 F(uf)-.2 E(fer)-.25 E 4.047(,f)-.4 G 1.547 3.517 F(UIL)-.09 E 1.017(TIN COMMANDS)-.828 F F0(belo)3.267 E 3.516 (w\). The)-.25 F 1.016(characters between the insertion point and the) 3.516 F(mark are often called the)144 720 Q F3 -.37(re)2.5 G(gion)-.03 E -F0(.)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(14)197.335 E 0 Cg EP +F0(.)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(14)197.335 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP @@ -2089,8 +2089,8 @@ E F0 3.748(command. This)3.748 F 1.247 (is a colon-separated list of directories in which the)3.748 F 3.795 (shell looks for destination directories speci\214ed by the)144 729.6 R F1(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796 -(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(15)197.335 E -0 Cg EP +(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(15)197.335 +E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP @@ -2205,7 +2205,7 @@ F F5(nosort)3.464 E F0(disables)3.464 E .497 F5(-)2.96 E F0 .46(sorts by name in descending order)2.96 F 5.46(.A)-.55 G .76 -.15(ny i)-5.46 H -1.95 -.4(nv a).15 H .46(lid v).4 F .46 (alue restores the historical sorting be-)-.25 F(ha)144 696 Q(vior)-.2 E -(.)-.55 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(16)197.335 E 0 Cg +(.)-.55 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(16)197.335 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup @@ -2337,7 +2337,7 @@ F0 .503(Controls the action of an interacti)144 708 R .803 -.15(ve s) 144 720 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F3 (EOF)3.076 E F0 .426 (characters which must be typed as the \214rst characters)2.676 F -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(17)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(17)197.335 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP @@ -2440,7 +2440,7 @@ ser mail \214les that it uses is system dependent \(e.g., /v)144 576 Q -.1 F(administrator who installs)144 684 Q F1(bash)2.5 E F0 5(.A)C (common v)-2.5 E(alue is)-.25 E/F5 10/Courier@0 SF (/usr/local/bin:/usr/lo-)2.5 E(cal/sbin:/usr/bin:/usr/sbin:/bin:/sbin) -144 696 Q F0(.)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(18)197.335 +144 696 Q F0(.)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(18)197.335 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup @@ -2555,8 +2555,8 @@ G(iltin.).2 E(The)144 680.4 Q F1(select)2.81 E F0 .31 S 1.05(it for a line of input after issuing the primary prompt.).1 F F1 (Bash)6.05 E F0 1.05(terminates after w)3.55 F 1.05(aiting for that)-.1 F(number of seconds if a complete line of input does not arri)144 716.4 -Q -.15(ve)-.25 G(.).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(19) -197.335 E 0 Cg EP +Q -.15(ve)-.25 G(.).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E +(19)197.335 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP @@ -2704,7 +2704,7 @@ F 3.133(wt)-.25 G .633(he remaining w)-3.133 F .633(ords are inter)-.1 F (syntax introduced abo)6.22 F -.15(ve)-.15 G 8.72(.W).15 G 3.72 (hen assigning to an inde)-8.72 F -.15(xe)-.15 G 6.22(da).15 G(rray) -6.22 E 6.22(,i)-.65 G(f)-6.22 E F2(name)6.58 E F0(is)6.4 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(20)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(20)197.335 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP @@ -2858,8 +2858,8 @@ E(formed at the same time as tilde, parameter)108 688.8 Q 2.5(,v)-.4 G -.15 F .003(ord are remo)-.1 F -.15(ve)-.15 G 2.503(du).15 G .003 (nless the)-2.503 F(y)-.15 E(ha)108 717.6 Q .3 -.15(ve b)-.2 H (een quoted themselv).15 E(es \()-.15 E F1(quote r)A(emo)-.37 E(val)-.1 -E F0(\).)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(21)197.335 E 0 Cg -EP +E F0(\).)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(21)197.335 E 0 +Cg EP %%Page: 22 22 %%BeginPageSetup BP @@ -2995,7 +2995,7 @@ with the speci\214ed login name.)108 679.2 Q .092 (tilde in the tilde-pre\214x consist of a number)108 720 R F2(N)4.141 E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642 (ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F(GNU Bash 5.2)72 -768 Q(2023 May 23)148.175 E(22)197.335 E 0 Cg EP +768 Q(2023 June 13)148.175 E(22)197.335 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP @@ -3122,7 +3122,7 @@ F F4(pa-)4.561 E -.15(ra)144 612 S(meter).15 E F0 5.741(.T).73 G .741 (alue)-.92 E F0 5.745(.I)C(f)-5.745 E F4(par)4.495 E(ameter)-.15 E F0 .745(is null or unset, nothing is substituted, otherwise the e)3.975 F (xpan-)-.15 E(sion of)144 708 Q F4(wor)2.84 E(d)-.37 E F0 -(is substituted.)3.27 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(23) +(is substituted.)3.27 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(23) 197.335 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup @@ -3254,7 +3254,7 @@ F0(belo)3.132 E 4.432 -.65(w. I)-.25 H 3.132(ft).65 G .632 (then the result of the e)144 727.2 R 1.151(xpansion is the e)-.15 F 1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F1(par)4.901 E(ameter)-.15 E F0 1.151(with the shortest matching)4.381 F(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(24)197.335 E 0 Cg EP +(2023 June 13)148.175 E(24)197.335 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP @@ -3386,7 +3386,7 @@ E F0(or)3.236 E F1(*)3.236 E F0 3.236(,t)C .736 2.847(,t)C .348(he substitution operation is applied to each member of \ the array in turn,)-2.847 F(and the e)144 681.6 Q (xpansion is the resultant list.)-.15 E(${)108 698.4 Q F2(par)A(ameter) --.15 E F1(^)A F2(pattern)A F0(})A(GNU Bash 5.2)72 768 Q(2023 May 23) +-.15 E F1(^)A F2(pattern)A F0(})A(GNU Bash 5.2)72 768 Q(2023 June 13) 148.175 E(25)197.335 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup @@ -3503,7 +3503,7 @@ Q F2($\()144 679.2 Q F1(command)A F2(\))1.666 E F0(or \(deprecated\))108 F0 .089(performs the e)2.589 F .089(xpansion by e)-.15 F -.15(xe)-.15 G (cuting).15 E F1(command)2.589 E F0 .088(in a subshell en)2.589 F .088 (vironment and replacing the command)-.4 F(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(26)197.335 E 0 Cg EP +(2023 June 13)148.175 E(26)197.335 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP @@ -3628,7 +3628,7 @@ F0 .56(form is used, writing to the \214le will pro)108 684 R .56 (method of naming open \214les.)2.5 E .897(When a)108 724.8 R -.25(va) -.2 G .896(ilable, process substitution is performed simultaneously wit\ h parameter and v).25 F .896(ariable e)-.25 F(xpansion,)-.15 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(27)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(27)197.335 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP @@ -3780,7 +3780,7 @@ F1 -.63(``)3.684 G -.55(.').63 G(')-.08 E F0 3.684(,m)C(ak)-3.684 E(e) (T)-.36 E F0 -.25(va)2.25 G(riable controls ho).25 E 2.5(wt)-.25 G (he results of pathname e)-2.5 E(xpansion are sorted, as described abo) -.15 E -.15(ve)-.15 G(.).15 E F1 -.1(Pa)108 720 S(tter).1 E 2.5(nM)-.15 -G(atching)-2.5 E F0(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(28) +G(atching)-2.5 E F0(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(28) 197.335 E 0 Cg EP %%Page: 29 29 %%BeginPageSetup @@ -3896,7 +3896,7 @@ F0 .988 1.392(ginning with `)-.15 F(`.)-.74 E -.74('')-.7 G 3.892(,b).74 G 1.392 (ut `)-4.092 F(`.)-.74 E 2.872 -.74('' a)-.7 H 1.392(nd `).74 F(`..)-.74 E 2.872 -.74('' m)-.7 H 1.392(ust be).74 F(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(29)197.335 E 0 Cg EP +(2023 June 13)148.175 E(29)197.335 E 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP @@ -4003,7 +4003,7 @@ E F3(fd)A F0(If)180 614.4 Q F3(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E (is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E (vice name,)180 722.4 Q F1(bash)2.5 E F0 (attempts to open the corresponding TCP sock)2.5 E(et.)-.1 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(30)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(30)197.335 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP @@ -4091,7 +4091,7 @@ F1(Duplicating File Descriptors)2.5 E F0(belo)2.5 E (The format for appending standard output and standard error is:)108 672 Q F1(&>>)144 688.8 Q F2(wor)A(d)-.37 E F0(This is semantically equi)108 705.6 Q -.25(va)-.25 G(lent to).25 E F1(>>)144 722.4 Q F2(wor)A(d)-.37 E -F0(2)2.5 E F1(>&)A F0(1)A(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E +F0(2)2.5 E F1(>&)A F0(1)A(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E (31)197.335 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup @@ -4189,7 +4189,7 @@ F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.) 4.17(st).15 G 1.67(he \214le descriptor)-4.17 F F2(digit)4.17 E F0 1.67 (to \214le descriptor)4.17 F F2(n)4.53 E F0 4.17(,o).24 G 4.17(rt)-4.17 G 1.67(he standard output \(\214le descriptor 1\) if)-4.17 F F2(n)4.17 E -F0 1.67(is not)4.17 F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(32) +F0 1.67(is not)4.17 F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(32) 197.335 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup @@ -4322,7 +4322,7 @@ R F1(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .532 2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the) -.25 F F1 .42(\255o functrace)2.92 F F0 .42 (shell option has been enabled with the)2.92 F F1(set)2.921 E F0 -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(33)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(33)197.335 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP @@ -4465,7 +4465,7 @@ G(r\215o).15 E 2.357 -.65(w, t)-.25 H 1.057(hough di).65 F 1.057 -.15(ve)-.25 G .439(ls of equal-precedence operators.).15 F .439(The le) 5.439 F -.15(ve)-.25 G .439(ls are listed in order).15 F (of decreasing precedence.)108 724.8 Q(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(34)197.335 E 0 Cg EP +(2023 June 13)148.175 E(34)197.335 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP @@ -4567,7 +4567,7 @@ m internally with this beha)108 672 R .345(vior: If an)-.2 F(y)-.15 E F1 (ly).15 E 2.5(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722 (Unless otherwise speci\214ed, primaries that operate on \214les follo) 108 724.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar) --3.221 F(get)-.18 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(35) +-3.221 F(get)-.18 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(35) 197.335 E 0 Cg EP %%Page: 36 36 %%BeginPageSetup @@ -4661,8 +4661,8 @@ E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1108 (ue if the strings are not equal.).35 E F2(string1)108 704.4 Q F1(<)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 716.4 S(ue if).35 E F2(string1)2.5 E F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15 -E(.)-.65 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(36)197.335 E 0 Cg -EP +E(.)-.65 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(36)197.335 E 0 +Cg EP %%Page: 37 37 %%BeginPageSetup BP @@ -4783,7 +4783,7 @@ ful, or if the command name contains one or more slashes, the shell e) (n, and the remain-).15 F(ing ar)108 722.4 Q (guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15 (ve)-.25 G(n, if an).15 E -.65(y.)-.15 G(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(37)197.335 E 0 Cg EP +(2023 June 13)148.175 E(37)197.335 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP @@ -4890,7 +4890,7 @@ F23.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When) (If a command is follo)108 722.4 R .405(wed by a)-.25 F F2(&)2.905 E F0 .404(and job control is not acti)2.905 F -.15(ve)-.25 G 2.904(,t).15 G .404(he def)-2.904 F .404(ault standard input for the command)-.1 F -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(38)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(38)197.335 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP @@ -5023,7 +5023,7 @@ E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 643.2 Q 1.064 F5(.)A F0 2.53 -.8(To p)5.43 H(re).8 E -.15(ve)-.25 G .93(nt the shell \ from sending the signal to a particular job, it should be remo).15 F -.15(ve)-.15 G 3.429(df).15 G .929(rom the)-3.429 F(GNU Bash 5.2)72 768 -Q(2023 May 23)148.175 E(39)197.335 E 0 Cg EP +Q(2023 June 13)148.175 E(39)197.335 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP @@ -5157,7 +5157,7 @@ F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .17 (tak)2.67 E .17(es ef-)-.1 F 2.679(fect immediately)108 729.6 R 5.179 (,a)-.65 G 2.679(nd has the additional side ef)-5.179 F 2.68 (fect of causing pending output and typeahead to be)-.25 F(GNU Bash 5.2) -72 768 Q(2023 May 23)148.175 E(40)197.335 E 0 Cg EP +72 768 Q(2023 June 13)148.175 E(40)197.335 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP @@ -5279,7 +5279,7 @@ Q F0(the hostname)180 592.8 Q F1(\\j)144 604.8 Q F0 688.8 Q F0(the current time in 12-hour am/pm format)180 688.8 Q F1(\\A) 144 700.8 Q F0(the current time in 24-hour HH:MM format)180 700.8 Q F1 (\\u)144 712.8 Q F0(the username of the current user)180 712.8 Q -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(41)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(41)197.335 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP @@ -5414,7 +5414,7 @@ F -.1(ke)108 700.8 S 2.5(yb)-.05 G(indings and v)-2.5 E -.15(ey)-.1 G .987(-bindings may be changed with an).15 F F3(inputr) 3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987 (programs that use this library may)3.487 F(add their o)108 729.6 Q -(wn commands and bindings.)-.25 E(GNU Bash 5.2)72 768 Q(2023 May 23) +(wn commands and bindings.)-.25 E(GNU Bash 5.2)72 768 Q(2023 June 13) 148.175 E(42)197.335 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup @@ -5498,8 +5498,8 @@ equences, a second set of backslash escapes is a)108 612 Q -.25(va)-.2 G (\\f)144 660 Q F0(form feed)180 660 Q F2(\\n)144 672 Q F0(ne)180 672 Q (wline)-.25 E F2(\\r)144 684 Q F0(carriage return)180 684 Q F2(\\t)144 696 Q F0(horizontal tab)180 696 Q F2(\\v)144 708 Q F0 -.15(ve)180 708 S -(rtical tab).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(43)197.335 -E 0 Cg EP +(rtical tab).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(43) +197.335 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP @@ -5625,7 +5625,7 @@ ored-completion-pre\214x", readline uses this color for the common pre\ (ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 724.8 R (color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25 E F1(LS_COLORS)2.5 E F0(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(44)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(44)197.335 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP @@ -5740,7 +5740,7 @@ F .098(gion as)-.15 F F2(active)2.598 E F0 5.098(.W)C .098(hen the re) res the terminal to insert each paste into the editing b)-3.34 F(uf)-.2 E .841(fer as a)-.25 F 2.101(single string of characters, instead of tr\ eating each character as if it had been read from the)144 720 R -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(45)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(45)197.335 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP @@ -5856,7 +5856,7 @@ E F2 -.37(re)2.551 G(adline).37 E F0 .051(will w)2.551 F .051 (ompleted names which are symbolic links to directories ha)-2.675 F .475 -.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 708 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(46)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(46)197.335 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP @@ -5965,7 +5965,7 @@ F .186(last line of the primary prompt when vi editing mode is acti)144 -.2 G 2.745(ilable. Use).25 F .244(the \\1 and \\2 escapes to be)2.745 F .244(gin and end sequences of non-printing)-.15 F(characters, which can\ be used to embed a terminal control sequence into the mode string.)144 -720 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(47)197.335 E 0 Cg EP +720 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(47)197.335 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP @@ -6065,7 +6065,7 @@ Q F0 .356(This directi)144 684 R .656 -.15(ve t)-.25 H(ak).15 E .356 144 696 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 -.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1 ($include)144 720 Q F2(/etc/inputr)5.833 E(c)-.37 E F0(GNU Bash 5.2)72 -768 Q(2023 May 23)148.175 E(48)197.335 E 0 Cg EP +768 Q(2023 June 13)148.175 E(48)197.335 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP @@ -6169,7 +6169,7 @@ een width.)-.05 E F1(next\255scr)108 700.8 Q(een\255line)-.18 E F0 .638 144 724.8 R .494 -.15(ve t)-.2 H .194(he desired ef).15 F .194 (fect if the current readline line does not tak)-.25 F 2.695(eu)-.1 G 2.695(pm)-2.695 G .195(ore than one ph)-2.695 F(ysical)-.05 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(49)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(49)197.335 E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP @@ -6253,7 +6253,7 @@ etween the start of the current)-.1 F(line and the point.)144 652.8 Q 144 688.8 R/F3 10/Times-Italic@0 SF(point)2.507 E F0 2.507(\). The)B .007(search string may match an)2.507 F .007(ywhere in a history)-.15 F 2.5(line. This)144 700.8 R(is a non-incremental search.)2.5 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(50)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(50)197.335 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP @@ -6360,7 +6360,7 @@ R .799(xample, by)-.15 F/F5 10/Courier@0 SF(stty)3.299 E F0 5.799(.I)C (Delete the character under the cursor)144 700.8 R 2.973(,u)-.4 G .474 (nless the cursor is at the end of the line, in which case the)-2.973 F (character behind the cursor is deleted.)144 712.8 Q(GNU Bash 5.2)72 768 -Q(2023 May 23)148.175 E(51)197.335 E 0 Cg EP +Q(2023 June 13)148.175 E(51)197.335 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP @@ -6454,7 +6454,8 @@ R .729(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F (ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1 F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15 (ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144 -712.8 Q(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(52)197.335 E 0 Cg EP +712.8 Q(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(52)197.335 E 0 Cg +EP %%Page: 53 53 %%BeginPageSetup BP @@ -6553,7 +6554,7 @@ E(through the list.)144 669.6 Q(This command is intended to be bound to) (menu\255complete)144 705.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5 (nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg) .15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(53)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(53)197.335 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP @@ -6637,7 +6638,7 @@ F0(Print the last k)144 616.8 Q -.15(ey)-.1 G 669.6 Q F1(abort \(C\255g\))108 681.6 Q F0 3.248 (Abort the current editing command and ring the terminal')144 693.6 R 5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1 -(bell\255style)144 705.6 Q F0(\).)A(GNU Bash 5.2)72 768 Q(2023 May 23) +(bell\255style)144 705.6 Q F0(\).)A(GNU Bash 5.2)72 768 Q(2023 June 13) 148.175 E(54)197.335 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup @@ -6741,8 +6742,8 @@ ssible completions.)2.5 E F1(glob\255expand\255w)108 612 Q .872(the line is redra)144 684 R 3.372(wn. If)-.15 F 3.372(an)3.372 G .872(umeric ar)-3.372 F .872 (gument is supplied, an asterisk is appended before pathname)-.18 F -.15 -(ex)144 696 S(pansion.).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E -(55)197.335 E 0 Cg EP +(ex)144 696 S(pansion.).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 +E(55)197.335 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP @@ -6872,7 +6873,7 @@ tion or command has complete free-)-.1 F(dom in generating the matches.) (compgen)2.957 E F0 -.2(bu)2.957 G .457(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956(og).65 G .456(enerate the matches.)-2.956 F .456 (It must put the possible completions in the)5.456 F(GNU Bash 5.2)72 768 -Q(2023 May 23)148.175 E(56)197.335 E 0 Cg EP +Q(2023 June 13)148.175 E(56)197.335 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP @@ -7000,7 +7001,7 @@ E F5(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108 729.6 R .315(alue of)-.25 F F1(HISTFILE)2.815 E F0 .315 (is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G .315(ontain no more than the number of)-2.815 F(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(57)197.335 E 0 Cg EP +(2023 June 13)148.175 E(57)197.335 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP @@ -7150,7 +7151,7 @@ Q(eedit)-.18 E F0 1.202(shell option is enabled, a f)3.702 F 1.202 1.161(er for correction.).25 F(The)6.161 E F33.661 E F0 1.161 (option to the)3.661 F F3(history)3.661 E F0 -.2(bu)3.661 G 1.16 (iltin command may be used to see what a history).2 F(GNU Bash 5.2)72 -768 Q(2023 May 23)148.175 E(58)197.335 E 0 Cg EP +768 Q(2023 June 13)148.175 E(58)197.335 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP @@ -7257,7 +7258,7 @@ E(If a w)108 616.8 Q(ord designator is supplied without an e)-.1 E -.15 (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E (ving the basename.)-.2 E F1(e)108 710.4 Q F0(Remo)144 710.4 Q .3 -.15 (ve a)-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(59)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(59)197.335 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP @@ -7405,7 +7406,7 @@ F0 5.744(.I)C(f)-5.744 E F2(job-)4.984 E(spec)144 697.2 Q F0 .671 (hen run with job control enabled, an)-2.919 F 2.918(ys)-.15 G (peci\214ed)-2.918 E F2(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G (ot)-2.918 E(found or w)144 721.2 Q(as started without job control.)-.1 -E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(60)197.335 E 0 Cg EP +E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(60)197.335 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP @@ -7525,7 +7526,7 @@ F .771(xit status.)-.15 F .771(This is useful)5.771 F .616 722.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E 5.57(.T)-.65 G .57(he return status)-5.57 F(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(61)197.335 E 0 Cg EP +(2023 June 13)148.175 E(61)197.335 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP @@ -7670,7 +7671,7 @@ em directly from a completion speci\214cation with the same \215ags.)144 (will be displayed.)2.5 E(The return v)144 715.2 Q (alue is true unless an in)-.25 E -.25(va)-.4 G (lid option is supplied, or no matches were generated.).25 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(62)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(62)197.335 E 0 Cg EP %%Page: 63 63 %%BeginPageSetup BP @@ -7773,7 +7774,7 @@ Q F1144 648 Q F2(action)2.5 E F0(The)184 660 Q F2(action)2.5 E F0 2.5 E F0(.)A F1(arrayv)184 684 Q(ar)-.1 E F0(Array v)224 696 Q (ariable names.)-.25 E F1(binding)184 708 Q(Readline)224 708 Q F0 -.1 (ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(63)197.335 E 0 Cg EP +(2023 June 13)148.175 E(63)197.335 E 0 Cg EP %%Page: 64 64 %%BeginPageSetup BP @@ -7861,7 +7862,7 @@ Q F3(\214lterpat)2.5 E(\214lterpat)184 708 Q F0 .456 (is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F .455(is applied to the list of possible)2.956 F 1.596 (completions generated by the preceding options and ar)184 720 R 1.596 -(guments, and each completion)-.18 F(GNU Bash 5.2)72 768 Q(2023 May 23) +(guments, and each completion)-.18 F(GNU Bash 5.2)72 768 Q(2023 June 13) 148.175 E(64)197.335 E 0 Cg EP %%Page: 65 65 %%BeginPageSetup @@ -8007,7 +8008,7 @@ Q F0(Gi)180 691.2 Q 1.619 -.15(ve e)-.25 H(ach).15 E F1(name)3.819 E F0 3.282 E .782(ute itself, are)-.2 F .809(performed on the v)180 727.2 R .809(ariable referenced by)-.25 F F1(name)3.308 E F0 1.908 -.55('s v)D 3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2 -F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(65)197.335 E 0 Cg EP +F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(65)197.335 E 0 Cg EP %%Page: 66 66 %%BeginPageSetup BP @@ -8138,7 +8139,7 @@ F F1(echo)3.101 E F0 -.15(ex)3.101 G .601(pands these).15 F .658 (does not interpret)3.159 F F13.159 E F0 .659 (to mean the end of options.)3.159 F F1(echo)5.659 E F0(inter)3.159 E(-) -.2 E(prets the follo)144 720 Q(wing escape sequences:)-.25 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(66)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(66)197.335 E 0 Cg EP %%Page: 67 67 %%BeginPageSetup BP @@ -8263,7 +8264,7 @@ F -.15(xe)-.15 G 3.32(cuted. A).15 F .82(subshell e)3.32 F .82 (is omitted, the e)2.835 F .096(xit status is that of the last command) -.15 F -.15(exe)144 715.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(67)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(67)197.335 E 0 Cg EP %%Page: 68 68 %%BeginPageSetup BP @@ -8406,7 +8407,7 @@ F1(getopts)108 619.2 Q F2(optstring name)2.5 E F0([)2.5 E F2(ar)A 2.5 (between multiple calls to)144 727.2 R F1(getopts)2.89 E F0 .39 (within the same shell in)2.89 F -.2(vo)-.4 G .389(cation if a ne).2 F 2.889(ws)-.25 G .389(et of parameters is to)-2.889 F(GNU Bash 5.2)72 768 -Q(2023 May 23)148.175 E(68)197.335 E 0 Cg EP +Q(2023 June 13)148.175 E(68)197.335 E 0 Cg EP %%Page: 69 69 %%BeginPageSetup BP @@ -8515,7 +8516,7 @@ F3(n)3.24 E F0 .38(lists only the last)3.12 F F3(n)3.24 E F0 2.88 (ciated with each displayed history entry)144 727.2 R 6.019(.N)-.65 G 3.519(oi)-6.019 G(nterv)-3.519 E 1.019 (ening blank is printed between the formatted)-.15 F(GNU Bash 5.2)72 768 -Q(2023 May 23)148.175 E(69)197.335 E 0 Cg EP +Q(2023 June 13)148.175 E(69)197.335 E 0 Cg EP %%Page: 70 70 %%BeginPageSetup BP @@ -8640,7 +8641,7 @@ G .962(lent to).25 F F33.462 E F0(.)A F3(kill)5.962 E F0 .962 (returns true if at least one signal w)3.462 F(as)-.1 E (successfully sent, or f)144 720 Q(alse if an error occurs or an in)-.1 E -.25(va)-.4 G(lid option is encountered.).25 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(70)197.335 E 0 Cg EP +(2023 June 13)148.175 E(70)197.335 E 0 Cg EP %%Page: 71 71 %%BeginPageSetup BP @@ -8782,8 +8783,8 @@ E F0 .196(returns a non-)2.696 F(zero v)144 710.4 Q(alue.)-.25 E (Otherwise,)144 727.2 Q F1(popd)2.67 E F0 .17(returns f)2.67 F .17 (alse if an in)-.1 F -.25(va)-.4 G .171 (lid option is encountered, the directory stack is empty).25 F 2.671(,o) --.65 G 2.671(ra)-2.671 G(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(71) -197.335 E 0 Cg EP +-.65 G 2.671(ra)-2.671 G(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E +(71)197.335 E 0 Cg EP %%Page: 72 72 %%BeginPageSetup BP @@ -8893,7 +8894,7 @@ g or adding directories to the)180 674.4 R 3.768 E F0 1.267(th directory \(counting from the left of the list sho)B 1.267(wn by)-.25 F F1(dirs)180 710.4 Q F0 2.5(,s)C (tarting with zero\) is at the top.)-2.5 E(GNU Bash 5.2)72 768 Q -(2023 May 23)148.175 E(72)197.335 E 0 Cg EP +(2023 June 13)148.175 E(72)197.335 E 0 Cg EP %%Page: 73 73 %%BeginPageSetup BP @@ -9016,7 +9017,7 @@ E(har)-.15 E(s)-.1 E F0 .609(characters are read.)180 648 R .608 (wline, before attempting to read)-.25 F(an)180 708 Q 2.5(yi)-.15 G 2.5 (nput. The)-2.5 F (prompt is displayed only if input is coming from a terminal.)2.5 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(73)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(73)197.335 E 0 Cg EP %%Page: 74 74 %%BeginPageSetup BP @@ -9154,7 +9155,7 @@ G -.18(rg)-3.08 G .58(uments remaining after op-).18 F .16 2.661(,t)-.4 G(o)-2.661 E F1($1)2.661 E F0(,)A F1($2)144 715.2 Q F0(,)A F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E(GNU Bash 5.2)72 768 -Q(2023 May 23)148.175 E(74)197.335 E 0 Cg EP +Q(2023 June 13)148.175 E(74)197.335 E 0 Cg EP %%Page: 75 75 %%BeginPageSetup BP @@ -9261,7 +9262,7 @@ H(nder).15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF (fect is as if the shell command)-.25 F/F5 10/Courier@0 SF(IGNOREEOF=10) 4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224 726 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(75)197.335 E 0 Cg EP +.15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(75)197.335 E 0 Cg EP %%Page: 76 76 %%BeginPageSetup BP @@ -9363,7 +9364,7 @@ E F1144 642 Q F0 1.206(The shell performs brace e)184 642 R 1.206 F .839(mands e)184 714 R -.15(xe)-.15 G .839(cuted in a subshell en).15 F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 (trap is normally not inherited in)3.338 F(such cases.)184 726 Q -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(76)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(76)197.335 E 0 Cg EP %%Page: 77 77 %%BeginPageSetup BP @@ -9469,20 +9470,22 @@ R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)4.044 F (When setting or unsetting options, the return status is zero unless an) 144 600 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell) -.25 F(option.)144 612 Q(The list of)144 628.8 Q F1(shopt)2.5 E F0 -(options is:)2.5 E F1(assoc_expand_once)144 646.8 Q F0 1.945 +(options is:)2.5 E F1(array_expand_once)144 646.8 Q F0 1.832 (If set, the shell suppresses multiple e)184 658.8 R -.25(va)-.25 G -1.944(luation of associati).25 F 2.244 -.15(ve a)-.25 H 1.944 -(rray subscripts during).15 F .885(arithmetic e)184 670.8 R .885 -(xpression e)-.15 F -.25(va)-.25 G .885(luation, while e).25 F -.15(xe) --.15 G .885(cuting b).15 F .885(uiltins that can perform v)-.2 F .885 -(ariable as-)-.25 F(signments, and while e)184 682.8 Q -.15(xe)-.15 G -(cuting b).15 E(uiltins that perform array dereferencing.)-.2 E F1 -(autocd)144 694.8 Q F0 .2 -(If set, a command name that is the name of a directory is e)184 694.8 R +1.832(luation of associati).25 F 2.131 -.15(ve a)-.25 H 1.831(nd inde) +.15 F -.15(xe)-.15 G 4.331(da).15 G 1.831(rray sub-)-4.331 F .025 +(scripts during arithmetic e)184 670.8 R .025(xpression e)-.15 F -.25 +(va)-.25 G .025(luation, while e).25 F -.15(xe)-.15 G .025(cuting b).15 +F .025(uiltins that can perform)-.2 F -.25(va)184 682.8 S +(riable assignments, and while e).25 E -.15(xe)-.15 G(cuting b).15 E +(uiltins that perform array dereferencing.)-.2 E F1(assoc_expand_once) +144 694.8 Q F0(Deprecated; a synon)184 706.8 Q(ym for)-.15 E F1 +(array_expand_once)2.5 E F0(.)A F1(autocd)144 718.8 Q F0 .2 +(If set, a command name that is the name of a directory is e)184 718.8 R -.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E -(ment to the)184 706.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F +(ment to the)184 730.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(77)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(77)197.335 E 0 Cg EP %%Page: 78 78 %%BeginPageSetup BP @@ -9582,7 +9585,7 @@ E F1(dotglob)144 679.2 Q F0 .165(If set,)184 679.2 R F1(bash)2.665 E F0 (cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the)184 720 Q F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F1(exec)2.5 E F0 --.1(fa)2.5 G(ils.).1 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(78) +-.1(fa)2.5 G(ils.).1 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(78) 197.335 E 0 Cg EP %%Page: 79 79 %%BeginPageSetup @@ -9678,7 +9681,7 @@ E F1(globstar)144 643.2 Q F0 .519(If set, the pattern)184 643.2 R F1(**) 2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184 667.2 Q F1(gnu_errfmt)144 684 Q F0(If set, shell error messages are wri\ tten in the standard GNU error message format.)184 696 Q(GNU Bash 5.2)72 -768 Q(2023 May 23)148.175 E(79)197.335 E 0 Cg EP +768 Q(2023 June 13)148.175 E(79)197.335 E 0 Cg EP %%Page: 80 80 %%BeginPageSetup BP @@ -9763,8 +9766,8 @@ F1(nocaseglob)144 679.2 Q F0 .437(If set,)184 691.2 R F1(bash)2.937 E F0 .436(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f) -.25 H .436(ashion when performing pathname).05 F -.15(ex)184 703.2 S (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(80) -197.335 E 0 Cg EP +-.15(ve)-.15 G(\).).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E +(80)197.335 E 0 Cg EP %%Page: 81 81 %%BeginPageSetup BP @@ -9847,7 +9850,7 @@ F .771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771 .753(rride this and).15 F .107(force the suspension.)144 693.6 R .107(T\ he return status is 0 unless the shell is a login shell or job control \ is not en-)5.107 F(abled and)144 705.6 Q F12.5 E F0 -(is not supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(81) +(is not supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(81) 197.335 E 0 Cg EP %%Page: 82 82 %%BeginPageSetup @@ -9962,7 +9965,7 @@ F2(sigspec)2.605 E F0 2.605(\)o)C(r)-2.605 E F12.605 E F0 2.605(,e)C 3.456 E F0 .626(is the null string the signal speci-)3.366 F (\214ed by each)144 728.4 Q F2(sigspec)2.84 E F0 (is ignored by the shell and by the commands it in)2.81 E -.2(vo)-.4 G --.1(ke).2 G(s.).1 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(82) +-.1(ke).2 G(s.).1 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(82) 197.335 E 0 Cg EP %%Page: 83 83 %%BeginPageSetup @@ -10119,7 +10122,7 @@ E F0([)2.5 E F2(limit)A F0(]])A(Pro)144 698.4 Q .243(vides control o) (options specify that the hard or soft limit is set for the)3.444 F(gi) 144 722.4 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208 (hard limit cannot be increased by a non-root user once it is set; a so\ -ft limit may)2.708 F(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(83) +ft limit may)2.708 F(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(83) 197.335 E 0 Cg EP %%Page: 84 84 %%BeginPageSetup @@ -10239,7 +10242,7 @@ F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v) .719(rather than the v)144 727.2 R .719(ariable it references.)-.25 F F1 5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1 3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(84)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(84)197.335 E 0 Cg EP %%Page: 85 85 %%BeginPageSetup BP @@ -10388,7 +10391,7 @@ G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the) -.15 F F2 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va) 3.607 G .502(riable is preferred, and it).25 F (is required for bash-5.1 and later v)108 722.4 Q(ersions.)-.15 E -(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E(85)197.335 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E(85)197.335 E 0 Cg EP %%Page: 86 86 %%BeginPageSetup BP @@ -10492,7 +10495,7 @@ F 1.321(tional message to that ef)180 693.6 R 1.321(fect, e)-.25 F -.15 (ve)-.25 G 3.821(nw).15 G 1.321 (hen producing output that can be reused as input.)-3.821 F (Bash-5.1 suppresses that message when the)180 705.6 Q F12.5 E F0 -(option is supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E +(option is supplied.)2.5 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E (86)197.335 E 0 Cg EP %%Page: 87 87 %%BeginPageSetup @@ -10577,7 +10580,7 @@ E F0(The personal initialization \214le, e)144 667.2 Q -.15(xe)-.15 G (-shell startup \214le).15 E F5(~/.bash_lo)109.666 703.2 Q(gout)-.1 E F0 (The indi)144 715.2 Q(vidual login shell cleanup \214le, e)-.25 E -.15 (xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E(GNU Bash 5.2)72 -768 Q(2023 May 23)148.175 E(87)197.335 E 0 Cg EP +768 Q(2023 June 13)148.175 E(87)197.335 E 0 Cg EP %%Page: 88 88 %%BeginPageSetup BP @@ -10640,7 +10643,7 @@ place the sequence of commands between parentheses to force it into a) -.25 F(subshell, which may be stopped as a unit.)108 542.4 Q(Array v)108 559.2 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E (There may be only one acti)108 576 Q .3 -.15(ve c)-.25 H -(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2023 May 23)148.175 E +(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2023 June 13)148.175 E (88)197.335 E 0 Cg EP %%Trailer end diff --git a/doc/bashref.dvi b/doc/bashref.dvi index d3e30f35..567a385c 100644 Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ diff --git a/doc/bashref.html b/doc/bashref.html index 52dfa280..0b54ab63 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -4,9 +4,9 @@