From: Chet Ramey Date: Tue, 22 Apr 2025 14:39:43 +0000 (-0400) Subject: fix for read builtin and invalid multibyte characters followed by the delimiter;... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7731dc5c4d405ab147fc562e3af2a375ca593554;p=thirdparty%2Fbash.git fix for read builtin and invalid multibyte characters followed by the delimiter; updated formatted documentation; new bash.pot file with updated strings; updated translations --- diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index 443af97a..2f3f1e13 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -11142,3 +11142,12 @@ bashline.c - check_extglob: break check for extended glob out into separate function, call from attempted_shell_completion, set in_command_position to -1 if it returns 1, as with the old call to check_redir + + 4/21 + ---- +builtins/read.def + - read_mbchar: if we read a delimiter character that makes an + incomplete multibyte character into an invalid multibyte character, + only push the delimiter back if we read that character ourselves + (i > 1). + Report from Greg Wooledge diff --git a/builtins/read.def b/builtins/read.def index 3e908dc7..98bb0470 100644 --- a/builtins/read.def +++ b/builtins/read.def @@ -1192,14 +1192,14 @@ read_mbchar (int fd, char *string, int ind, int ch, int delim, int unbuffered) } else if (ret == (size_t)-1) { - /* If we read a delimiter character that makes this an invalid - multibyte character, we can't just add it to the input string - and treat it as a byte. We need to push it back so a subsequent - zread will pick it up. */ - if ((unsigned char)c == delim) + /* If we read (i > 1) a delimiter character (c == delimiter) + that makes this an invalid multibyte character, we can't just + add it to the input string and treat it as a byte. + We need to push it back so a subsequent zread will pick it up. */ + if (i > 1 && (unsigned char)c == delim) { zungetc ((unsigned char)c); - mbchar[--i] = '\0'; /* unget the delimiter */ + i--; } break; /* invalid multibyte character */ } diff --git a/doc/bash.0 b/doc/bash.0 index 37deeb58..9d95e20b 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -1345,13 +1345,17 @@ PPAARRAAMMEETTEERRSS HHIISSTTFFIILLEESSIIZZEE The maximum number of lines contained in the history file. When this variable is assigned a value, the history file is trun- - cated, if necessary, to contain no more than that number of - lines by removing the oldest entries. The history file is also - truncated to this size after writing it when a shell exits or by - the hhiissttoorryy builtin. If the value is 0, the history file is - truncated to zero size. Non-numeric values and numeric values - less than zero inhibit truncation. The shell sets the default - value to the value of HHIISSTTSSIIZZEE after reading any startup files. + cated, if necessary, to contain no more than the number of his- + tory entries that total no more than that number of lines by re- + moving the oldest entries. If the history list contains multi- + line entries, the history file may contain more lines than this + maximum to avoid leaving partial history entries. The history + file is also truncated to this size after writing it when a + shell exits or by the hhiissttoorryy builtin. If the value is 0, the + history file is truncated to zero size. Non-numeric values and + numeric values less than zero inhibit truncation. The shell + sets the default value to the value of HHIISSTTSSIIZZEE after reading + any startup files. HHIISSTTIIGGNNOORREE A colon-separated list of patterns used to decide which command lines should be saved on the history list. If a command line @@ -5730,21 +5734,23 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS on EEXXIITT is executed before the shell terminates. eexxppoorrtt [--ffnn] [_n_a_m_e[=_v_a_l_u_e]] ... - eexxppoorrtt --pp + eexxppoorrtt --pp [[--ff]] The supplied _n_a_m_e_s are marked for automatic export to the envi- ronment of subsequently executed commands. If the --ff option is given, the _n_a_m_e_s refer to functions. The --nn option unexports, or removes the export attribute, from - each _n_a_m_e. If no _n_a_m_e_s are given, or if the --pp option is sup- - plied, eexxppoorrtt prints a list of names of all exported variables - on the standard output. + each _n_a_m_e. If no _n_a_m_e_s are given, or if only the --pp option is + supplied, eexxppoorrtt displays a list of names of all exported vari- + ables on the standard output. Using --pp and --ff together displays + exported functions. The --pp option displays output in a form + that may be reused as input. - eexxppoorrtt allows the value of a variable to be set when it is ex- + eexxppoorrtt allows the value of a variable to be set when it is ex- ported or unexported by following the variable name with =_v_a_l_u_e. This sets the value of the variable to _v_a_l_u_e while modifying the - export attribute. eexxppoorrtt returns an exit status of 0 unless an - invalid option is encountered, one of the _n_a_m_e_s is not a valid + export attribute. eexxppoorrtt returns an exit status of 0 unless an + invalid option is encountered, one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a function. @@ -5752,141 +5758,141 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t] ffcc --ss [_p_a_t=_r_e_p] [_c_m_d] - The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t - from the history list and displays or edits and re-executes - them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate - the last command beginning with that string) or as a number (an - index into the history list, where a negative number is used as + The first form selects a range of commands from _f_i_r_s_t to _l_a_s_t + from the history list and displays or edits and re-executes + them. _F_i_r_s_t and _l_a_s_t may be specified as a string (to locate + the last command beginning with that string) or as a number (an + index into the history list, where a negative number is used as an offset from the current command number). When listing, a _f_i_r_s_t or _l_a_s_t of 0 is equivalent to -1 and -0 is equivalent to the current command (usually the ffcc command); oth- - erwise 0 is equivalent to -1 and -0 is invalid. If _l_a_s_t is not + erwise 0 is equivalent to -1 and -0 is invalid. If _l_a_s_t is not specified, it is set to the current command for listing (so that "fc -l -10" prints the last 10 commands) and to _f_i_r_s_t otherwise. If _f_i_r_s_t is not specified, it is set to the previous command for editing and -16 for listing. - If the --ll option is supplied, the commands are listed on the - standard output. The --nn option suppresses the command numbers + If the --ll option is supplied, the commands are listed on the + standard output. The --nn option suppresses the command numbers when listing. The --rr option reverses the order of the commands. - Otherwise, ffcc invokes the editor named by _e_n_a_m_e on a file con- - taining those commands. If _e_n_a_m_e is not supplied, ffcc uses the - value of the FFCCEEDDIITT variable, and the value of EEDDIITTOORR if FFCCEEDDIITT - is not set. If neither variable is set, ffcc uses _v_i_. When edit- - ing is complete, ffcc reads the file containing the edited com- + Otherwise, ffcc invokes the editor named by _e_n_a_m_e on a file con- + taining those commands. If _e_n_a_m_e is not supplied, ffcc uses the + value of the FFCCEEDDIITT variable, and the value of EEDDIITTOORR if FFCCEEDDIITT + is not set. If neither variable is set, ffcc uses _v_i_. When edit- + ing is complete, ffcc reads the file containing the edited com- mands and echoes and executes them. - In the second form, ffcc re-executes _c_o_m_m_a_n_d after replacing each - instance of _p_a_t with _r_e_p. _C_o_m_m_a_n_d is interpreted the same as + In the second form, ffcc re-executes _c_o_m_m_a_n_d after replacing each + instance of _p_a_t with _r_e_p. _C_o_m_m_a_n_d is interpreted the same as _f_i_r_s_t above. - A useful alias to use with ffcc is "r="fc -s"", so that typing "r + A useful alias to use with ffcc is "r="fc -s"", so that typing "r cc" runs the last command beginning with "cc" and typing "r" re- executes the last command. - If the first form is used, the return value is zero unless an - invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history - lines out of range. When editing and re-executing a file of + If the first form is used, the return value is zero unless an + invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history + lines out of range. When editing and re-executing a file of commands, the return value is the value of the last command exe- cuted or failure if an error occurs with the temporary file. If the second form is used, the return status is that of the re-ex- - ecuted command, unless _c_m_d does not specify a valid history en- + ecuted command, unless _c_m_d does not specify a valid history en- try, in which case ffcc returns a non-zero status. ffgg [_j_o_b_s_p_e_c] - Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. - If _j_o_b_s_p_e_c is not present, ffgg uses the shell's notion of the - _c_u_r_r_e_n_t _j_o_b. The return value is that of the command placed - into the foreground, or failure if run when job control is dis- + Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. + If _j_o_b_s_p_e_c is not present, ffgg uses the shell's notion of the + _c_u_r_r_e_n_t _j_o_b. The return value is that of the command placed + into the foreground, or failure if run when job control is dis- abled or, when run with job control enabled, if _j_o_b_s_p_e_c does not - specify a valid job or _j_o_b_s_p_e_c specifies a job that was started + specify a valid job or _j_o_b_s_p_e_c specifies a job that was started without job control. ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g ...] - ggeettooppttss is used by shell scripts and functions to parse posi- - tional parameters and obtain options and their arguments. _o_p_t_- - _s_t_r_i_n_g contains the option characters to be recognized; if a + ggeettooppttss is used by shell scripts and functions to parse posi- + tional parameters and obtain options and their arguments. _o_p_t_- + _s_t_r_i_n_g contains the option characters to be recognized; if a character is followed by a colon, the option is expected to have - an argument, which should be separated from it by white space. + an argument, which should be separated from it by white space. The colon and question mark characters may not be used as option characters. - Each time it is invoked, ggeettooppttss places the next option in the + Each time it is invoked, ggeettooppttss places the next option in the shell variable _n_a_m_e, initializing _n_a_m_e if it does not exist, and the index of the next argument to be processed into the variable - OOPPTTIINNDD. OOPPTTIINNDD is initialized to 1 each time the shell or a - shell script is invoked. When an option requires an argument, + OOPPTTIINNDD. OOPPTTIINNDD is initialized to 1 each time the shell or a + shell script is invoked. When an option requires an argument, ggeettooppttss places that argument into the variable OOPPTTAARRGG. - The shell does not reset OOPPTTIINNDD automatically; it must be manu- - ally reset between multiple calls to ggeettooppttss within the same + The shell does not reset OOPPTTIINNDD automatically; it must be manu- + ally reset between multiple calls to ggeettooppttss within the same shell invocation to use a new set of parameters. - When it reaches the end of options, ggeettooppttss exits with a return - value greater than zero. OOPPTTIINNDD is set to the index of the + When it reaches the end of options, ggeettooppttss exits with a return + value greater than zero. OOPPTTIINNDD is set to the index of the first non-option argument, and _n_a_m_e is set to ?. - ggeettooppttss normally parses the positional parameters, but if more - arguments are supplied as _a_r_g values, ggeettooppttss parses those in- + ggeettooppttss normally parses the positional parameters, but if more + arguments are supplied as _a_r_g values, ggeettooppttss parses those in- stead. - ggeettooppttss can report errors in two ways. If the first character - of _o_p_t_s_t_r_i_n_g is a colon, ggeettooppttss uses _s_i_l_e_n_t error reporting. - In normal operation, ggeettooppttss prints diagnostic messages when it - encounters invalid options or missing option arguments. If the - variable OOPPTTEERRRR is set to 0, ggeettooppttss does not display any error - messages, even if the first character of _o_p_t_s_t_r_i_n_g is not a + ggeettooppttss can report errors in two ways. If the first character + of _o_p_t_s_t_r_i_n_g is a colon, ggeettooppttss uses _s_i_l_e_n_t error reporting. + In normal operation, ggeettooppttss prints diagnostic messages when it + encounters invalid options or missing option arguments. If the + variable OOPPTTEERRRR is set to 0, ggeettooppttss does not display any error + messages, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon. If ggeettooppttss detects an invalid option, it places ? into _n_a_m_e and, - if not silent, prints an error message and unsets OOPPTTAARRGG. If - ggeettooppttss is silent, it assigns the option character found to OOPP-- + if not silent, prints an error message and unsets OOPPTTAARRGG. If + ggeettooppttss is silent, it assigns the option character found to OOPP-- TTAARRGG and does not print a diagnostic message. - If a required argument is not found, and ggeettooppttss is not silent, + If a required argument is not found, and ggeettooppttss is not silent, it sets the value of _n_a_m_e to a question mark (??), unsets OOPPTTAARRGG, - and prints a diagnostic message. If ggeettooppttss is silent, it sets - the value of _n_a_m_e to a colon (::) and sets OOPPTTAARRGG to the option + and prints a diagnostic message. If ggeettooppttss is silent, it sets + the value of _n_a_m_e to a colon (::) and sets OOPPTTAARRGG to the option character found. - ggeettooppttss returns true if an option, specified or unspecified, is + ggeettooppttss returns true if an option, specified or unspecified, is found. It returns false if the end of options is encountered or an error occurs. hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e] Each time hhaasshh is invoked, it remembers the full pathname of the - command _n_a_m_e as determined by searching the directories in - $$PPAATTHH. Any previously-remembered pathname associated with _n_a_m_e - is discarded. If the --pp option is supplied, hhaasshh uses _f_i_l_e_n_a_m_e + command _n_a_m_e as determined by searching the directories in + $$PPAATTHH. Any previously-remembered pathname associated with _n_a_m_e + is discarded. If the --pp option is supplied, hhaasshh uses _f_i_l_e_n_a_m_e as the full pathname of the command. - The --rr option causes the shell to forget all remembered loca- - tions. Assigning to the PPAATTHH variable also clears all hashed - filenames. The --dd option causes the shell to forget the remem- + The --rr option causes the shell to forget all remembered loca- + tions. Assigning to the PPAATTHH variable also clears all hashed + filenames. The --dd option causes the shell to forget the remem- bered location of each _n_a_m_e. If the --tt option is supplied, hhaasshh prints the full pathname cor- - responding to each _n_a_m_e. If multiple _n_a_m_e arguments are sup- - plied with --tt, hhaasshh prints the _n_a_m_e before the corresponding + responding to each _n_a_m_e. If multiple _n_a_m_e arguments are sup- + plied with --tt, hhaasshh prints the _n_a_m_e before the corresponding hashed full pathname. The --ll option displays output in a format that may be reused as input. - If no arguments are given, or if only --ll is supplied, hhaasshh - prints information about remembered commands. The --tt, --dd, and - --pp options (the options that act on the _n_a_m_e arguments) are mu- + If no arguments are given, or if only --ll is supplied, hhaasshh + prints information about remembered commands. The --tt, --dd, and + --pp options (the options that act on the _n_a_m_e arguments) are mu- tually exclusive. Only one will be active. If more than one is - supplied, --tt has higher priority than --pp, and both have higher + supplied, --tt has higher priority than --pp, and both have higher priority than --dd. - The return status is zero unless a _n_a_m_e is not found or an in- + The return status is zero unless a _n_a_m_e is not found or an in- valid option is supplied. hheellpp [--ddmmss] [_p_a_t_t_e_r_n] - Display helpful information about builtin commands. If _p_a_t_t_e_r_n - is specified, hheellpp gives detailed help on all commands matching - _p_a_t_t_e_r_n as described below; otherwise it displays a list of all + Display helpful information about builtin commands. If _p_a_t_t_e_r_n + is specified, hheellpp gives detailed help on all commands matching + _p_a_t_t_e_r_n as described below; otherwise it displays a list of all the builtins and shell compound commands. Options, if supplied, have the follow meanings: @@ -5896,13 +5902,13 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS format --ss Display only a short usage synopsis for each _p_a_t_t_e_r_n - If _p_a_t_t_e_r_n contains pattern matching characters (see PPaatttteerrnn - MMaattcchhiinngg above) it's treated as a shell pattern and hheellpp prints + If _p_a_t_t_e_r_n contains pattern matching characters (see PPaatttteerrnn + MMaattcchhiinngg above) it's treated as a shell pattern and hheellpp prints the description of each help topic matching _p_a_t_t_e_r_n. - If not, and _p_a_t_t_e_r_n exactly matches the name of a help topic, - hheellpp prints the description associated with that topic. Other- - wise, hheellpp performs prefix matching and prints the descriptions + If not, and _p_a_t_t_e_r_n exactly matches the name of a help topic, + hheellpp prints the description associated with that topic. Other- + wise, hheellpp performs prefix matching and prints the descriptions of all matching help topics. The return status is 0 unless no command matches _p_a_t_t_e_r_n. @@ -5914,18 +5920,18 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS hhiissttoorryy --aannrrww [_f_i_l_e_n_a_m_e] hhiissttoorryy --pp _a_r_g [_a_r_g ...] hhiissttoorryy --ss _a_r_g [_a_r_g ...] - With no options, display the command history list with numbers. - Entries prefixed with a ** have been modified. An argument of _n - lists only the last _n entries. If the shell variable HHIISSTTTTIIMMEE-- - FFOORRMMAATT is set and not null, it is used as a format string for - _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis- - played history entry. If hhiissttoorryy uses HHIISSTTTTIIMMEEFFOORRMMAATT, it does - not print an intervening space between the formatted time stamp + With no options, display the command history list with numbers. + Entries prefixed with a ** have been modified. An argument of _n + lists only the last _n entries. If the shell variable HHIISSTTTTIIMMEE-- + FFOORRMMAATT is set and not null, it is used as a format string for + _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis- + played history entry. If hhiissttoorryy uses HHIISSTTTTIIMMEEFFOORRMMAATT, it does + not print an intervening space between the formatted time stamp and the history entry. If _f_i_l_e_n_a_m_e is supplied, hhiissttoorryy uses it as the name of the his- - tory file; if not, it uses the value of HHIISSTTFFIILLEE. If _f_i_l_e_n_a_m_e - is not supplied and HHIISSTTFFIILLEE is unset or null, the --aa,, --nn,, --rr,, + tory file; if not, it uses the value of HHIISSTTFFIILLEE. If _f_i_l_e_n_a_m_e + is not supplied and HHIISSTTFFIILLEE is unset or null, the --aa,, --nn,, --rr,, and --ww options have no effect. Options, if supplied, have the following meanings: @@ -5933,20 +5939,20 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS can be used with the other options to replace the history list. --dd _o_f_f_s_e_t - Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t + Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t is negative, it is interpreted as relative to one greater than the last history position, so negative indices count - back from the end of the history, and an index of -1 + back from the end of the history, and an index of -1 refers to the current hhiissttoorryy --dd command. --dd _s_t_a_r_t-_e_n_d - Delete the range of history entries between positions - _s_t_a_r_t and _e_n_d, inclusive. Positive and negative values + Delete the range of history entries between positions + _s_t_a_r_t and _e_n_d, inclusive. Positive and negative values for _s_t_a_r_t and _e_n_d are interpreted as described above. - --aa Append the "new" history lines to the history file. - These are history lines entered since the beginning of + --aa Append the "new" history lines to the history file. + These are history lines entered since the beginning of the current bbaasshh session, but not already appended to the history file. - --nn Read the history lines not already read from the history + --nn Read the history lines not already read from the history file and add them to the current history list. These are lines appended to the history file since the beginning of the current bbaasshh session. @@ -5954,24 +5960,24 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS rent history list. --ww Write the current history list to the history file, over- writing the history file. - --pp Perform history substitution on the following _a_r_g_s and - display the result on the standard output, without stor- - ing the results in the history list. Each _a_r_g must be + --pp Perform history substitution on the following _a_r_g_s and + display the result on the standard output, without stor- + ing the results in the history list. Each _a_r_g must be quoted to disable normal history expansion. - --ss Store the _a_r_g_s in the history list as a single entry. - The last command in the history list is removed before + --ss Store the _a_r_g_s in the history list as a single entry. + The last command in the history list is removed before adding the _a_r_g_s. - If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, hhiissttoorryy writes the time + If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, hhiissttoorryy writes the time stamp information associated with each history entry to the his- - tory file, marked with the history comment character as de- - scribed above. When the history file is read, lines beginning - with the history comment character followed immediately by a - digit are interpreted as timestamps for the following history + tory file, marked with the history comment character as de- + scribed above. When the history file is read, lines beginning + with the history comment character followed immediately by a + digit are interpreted as timestamps for the following history entry. - The return value is 0 unless an invalid option is encountered, - an error occurs while reading or writing the history file, an + The return value is 0 unless an invalid option is encountered, + an error occurs while reading or writing the history file, an invalid _o_f_f_s_e_t or range is supplied as an argument to --dd, or the history expansion supplied as an argument to --pp fails. @@ -5980,14 +5986,14 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS The first form lists the active jobs. The options have the fol- lowing meanings: --ll List process IDs in addition to the normal information. - --nn Display information only about jobs that have changed + --nn Display information only about jobs that have changed status since the user was last notified of their status. - --pp List only the process ID of the job's process group + --pp List only the process ID of the job's process group leader. --rr Display only running jobs. --ss Display only stopped jobs. - If _j_o_b_s_p_e_c is supplied, jjoobbss restricts output to information + If _j_o_b_s_p_e_c is supplied, jjoobbss restricts output to information about that job. The return status is 0 unless an invalid option is encountered or an invalid _j_o_b_s_p_e_c is supplied. @@ -5997,433 +6003,433 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] _i_d [ ... ] kkiillll --ll|--LL [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s] - Send the signal specified by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes + Send the signal specified by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes named by each _i_d. Each _i_d may be a job specification _j_o_b_s_p_e_c or - a process ID _p_i_d. _s_i_g_s_p_e_c is either a case-insensitive signal - name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or a sig- - nal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not sup- + a process ID _p_i_d. _s_i_g_s_p_e_c is either a case-insensitive signal + name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or a sig- + nal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not sup- plied, then kkiillll sends SSIIGGTTEERRMM. The --ll option lists the signal names. If any arguments are sup- plied when --ll is given, kkiillll lists the names of the signals cor- - responding to the arguments, and the return status is 0. The - _e_x_i_t___s_t_a_t_u_s argument to --ll is a number specifying either a sig- - nal number or the exit status of a process terminated by a sig- - nal; if it is supplied, kkiillll prints the name of the signal that + responding to the arguments, and the return status is 0. The + _e_x_i_t___s_t_a_t_u_s argument to --ll is a number specifying either a sig- + nal number or the exit status of a process terminated by a sig- + nal; if it is supplied, kkiillll prints the name of the signal that caused the process to terminate. kkiillll assumes that process exit statuses are greater than 128; anything less than that is a sig- nal number. The --LL option is equivalent to --ll. - kkiillll returns true if at least one signal was successfully sent, + kkiillll returns true if at least one signal was successfully sent, or false if an error occurs or an invalid option is encountered. lleett _a_r_g [_a_r_g ...] - Each _a_r_g is evaluated as an arithmetic expression (see AARRIITTHH-- - MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett + Each _a_r_g is evaluated as an arithmetic expression (see AARRIITTHH-- + MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett returns 1; otherwise lleett returns 0. llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ... | - ] For each argument, create a local variable named _n_a_m_e and assign - it _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted by ddee-- - ccllaarree. When llooccaall is used within a function, it causes the - variable _n_a_m_e to have a visible scope restricted to that func- - tion and its children. It is an error to use llooccaall when not + it _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted by ddee-- + ccllaarree. When llooccaall is used within a function, it causes the + variable _n_a_m_e to have a visible scope restricted to that func- + tion and its children. It is an error to use llooccaall when not within a function. - If _n_a_m_e is -, it makes the set of shell options local to the - function in which llooccaall is invoked: any shell options changed - using the sseett builtin inside the function after the call to lloo-- - ccaall are restored to their original values when the function re- - turns. The restore is performed as if a series of sseett commands - were executed to restore the values that were in place before + If _n_a_m_e is -, it makes the set of shell options local to the + function in which llooccaall is invoked: any shell options changed + using the sseett builtin inside the function after the call to lloo-- + ccaall are restored to their original values when the function re- + turns. The restore is performed as if a series of sseett commands + were executed to restore the values that were in place before the function. - With no operands, llooccaall writes a list of local variables to the + With no operands, llooccaall writes a list of local variables to the standard output. - The return status is 0 unless llooccaall is used outside a function, + The return status is 0 unless llooccaall is used outside a function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly variable. llooggoouutt [[_n]] - Exit a login shell, returning a status of _n to the shell's par- + Exit a login shell, returning a status of _n to the shell's par- ent. mmaappffiillee [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] rreeaaddaarrrraayy [--dd _d_e_l_i_m] [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - Read lines from the standard input, or from file descriptor _f_d - if the --uu option is supplied, into the indexed array variable - _a_r_r_a_y. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if + Read lines from the standard input, or from file descriptor _f_d + if the --uu option is supplied, into the indexed array variable + _a_r_r_a_y. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if supplied, have the following meanings: - --dd Use the first character of _d_e_l_i_m to terminate each input + --dd Use the first character of _d_e_l_i_m to terminate each input line, rather than newline. If _d_e_l_i_m is the empty string, mmaappffiillee will terminate a line when it reads a NUL charac- ter. --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, copy all lines. - --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default + --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default index is 0. --ss Discard the first _c_o_u_n_t lines read. - --tt Remove a trailing _d_e_l_i_m (default newline) from each line + --tt Remove a trailing _d_e_l_i_m (default newline) from each line read. - --uu Read lines from file descriptor _f_d instead of the stan- + --uu Read lines from file descriptor _f_d instead of the stan- dard input. - --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The + --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The --cc option specifies _q_u_a_n_t_u_m. - --cc Specify the number of lines read between each call to + --cc Specify the number of lines read between each call to _c_a_l_l_b_a_c_k. - If --CC is specified without --cc, the default quantum is 5000. + If --CC is specified without --cc, the default quantum is 5000. When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next array element to be assigned and the line to be assigned to that - element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after + element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after the line is read but before the array element is assigned. - If not supplied with an explicit origin, mmaappffiillee will clear _a_r_- + If not supplied with an explicit origin, mmaappffiillee will clear _a_r_- _r_a_y before assigning to it. mmaappffiillee returns zero unless an invalid option or option argument - is supplied, _a_r_r_a_y is invalid or unassignable, or if _a_r_r_a_y is + is supplied, _a_r_r_a_y is invalid or unassignable, or if _a_r_r_a_y is not an indexed array. ppooppdd [-nn] [+_n] [-_n] - Remove entries from the directory stack. The elements are num- - bered from 0 starting at the first directory listed by ddiirrss, so - ppooppdd is equivalent to "popd +0." With no arguments, ppooppdd re- - moves the top directory from the stack, and changes to the new + Remove entries from the directory stack. The elements are num- + bered from 0 starting at the first directory listed by ddiirrss, so + ppooppdd is equivalent to "popd +0." With no arguments, ppooppdd re- + moves the top directory from the stack, and changes to the new top directory. Arguments, if supplied, have the following mean- ings: --nn Suppress the normal change of directory when removing di- rectories from the stack, only manipulate the stack. - ++_n Remove the _nth entry counting from the left of the list - shown by ddiirrss, starting with zero, from the stack. For + ++_n Remove the _nth entry counting from the left of the list + shown by ddiirrss, starting with zero, from the stack. For example: "popd +0" removes the first directory, "popd +1" the second. - --_n Remove the _nth entry counting from the right of the list - shown by ddiirrss, starting with zero. For example: "popd - -0" removes the last directory, "popd -1" the next to + --_n Remove the _nth entry counting from the right of the list + shown by ddiirrss, starting with zero. For example: "popd + -0" removes the last directory, "popd -1" the next to last. - If the top element of the directory stack is modified, and the - _-_n option was not supplied, ppooppdd uses the ccdd builtin to change + If the top element of the directory stack is modified, and the + _-_n option was not supplied, ppooppdd uses the ccdd builtin to change to the directory at the top of the stack. If the ccdd fails, ppooppdd returns a non-zero value. - Otherwise, ppooppdd returns false if an invalid option is supplied, - the directory stack is empty, or _n specifies a non-existent di- + Otherwise, ppooppdd returns false if an invalid option is supplied, + the directory stack is empty, or _n specifies a non-existent di- rectory stack entry. - If the ppooppdd command is successful, bbaasshh runs ddiirrss to show the - final contents of the directory stack, and the return status is + If the ppooppdd command is successful, bbaasshh runs ddiirrss to show the + final contents of the directory stack, and the return status is 0. pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s] - Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the - control of the _f_o_r_m_a_t. The --vv option assigns the output to the + Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the + control of the _f_o_r_m_a_t. The --vv option assigns the output to the variable _v_a_r rather than printing it to the standard output. - The _f_o_r_m_a_t is a character string which contains three types of - objects: plain characters, which are simply copied to standard - output, character escape sequences, which are converted and - copied to the standard output, and format specifications, each - of which causes printing of the next successive _a_r_g_u_m_e_n_t. In - addition to the standard _p_r_i_n_t_f(3) format characters ccCCssSS-- + The _f_o_r_m_a_t is a character string which contains three types of + objects: plain characters, which are simply copied to standard + output, character escape sequences, which are converted and + copied to the standard output, and format specifications, each + of which causes printing of the next successive _a_r_g_u_m_e_n_t. In + addition to the standard _p_r_i_n_t_f(3) format characters ccCCssSS-- nnddiioouuxxXXeeEEffFFggGGaaAA, pprriinnttff interprets the following additional for- mat specifiers: %%bb causes pprriinnttff to expand backslash escape sequences in the corresponding _a_r_g_u_m_e_n_t in the same way as eecchhoo --ee. - %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a - format that can be reused as shell input. %%qq and %%QQ use - the $$'''' quoting style if any characters in the argument - string require it, and backslash quoting otherwise. If - the format string uses the _p_r_i_n_t_f alternate form, these + %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a + format that can be reused as shell input. %%qq and %%QQ use + the $$'''' quoting style if any characters in the argument + string require it, and backslash quoting otherwise. If + the format string uses the _p_r_i_n_t_f alternate form, these two formats quote the argument string using single quotes. - %%QQ like %%qq, but applies any supplied precision to the _a_r_g_u_- + %%QQ like %%qq, but applies any supplied precision to the _a_r_g_u_- _m_e_n_t before quoting it. %%((_d_a_t_e_f_m_t))TT - causes pprriinnttff to output the date-time string resulting - from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3). + causes pprriinnttff to output the date-time string resulting + from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3). The corresponding _a_r_g_u_m_e_n_t is an integer representing the number of seconds since the epoch. This format specifier recognizes two special argument values: -1 represents the - current time, and -2 represents the time the shell was + current time, and -2 represents the time the shell was invoked. If no argument is specified, conversion behaves - as if -1 had been supplied. This is an exception to the + as if -1 had been supplied. This is an exception to the usual pprriinnttff behavior. The %b, %q, and %T format specifiers all use the field width and precision arguments from the format specification and write that - many bytes from (or use that wide a field for) the expanded ar- - gument, which usually contains more characters than the origi- + many bytes from (or use that wide a field for) the expanded ar- + gument, which usually contains more characters than the origi- nal. The %n format specifier accepts a corresponding argument that is treated as a shell variable name. - The %s and %c format specifiers accept an l (long) modifier, + The %s and %c format specifiers accept an l (long) modifier, which forces them to convert the argument string to a wide-char- acter string and apply any supplied field width and precision in terms of characters, not bytes. The %S and %C format specifiers are equivalent to %ls and %lc, respectively. - Arguments to non-string format specifiers are treated as C con- + Arguments to non-string format specifiers are treated as C con- stants, except that a leading plus or minus sign is allowed, and - if the leading character is a single or double quote, the value - is the numeric value of the following character, using the cur- + if the leading character is a single or double quote, the value + is the numeric value of the following character, using the cur- rent locale. - The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- + The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- _m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied, - the extra format specifications behave as if a zero value or - null string, as appropriate, had been supplied. The return - value is zero on success, non-zero if an invalid option is sup- + the extra format specifications behave as if a zero value or + null string, as appropriate, had been supplied. The return + value is zero on success, non-zero if an invalid option is sup- plied or a write or assignment error occurs. ppuusshhdd [--nn] [+_n] [-_n] ppuusshhdd [--nn] [_d_i_r] Add a directory to the top of the directory stack, or rotate the - stack, making the new top of the stack the current working di- - rectory. With no arguments, ppuusshhdd exchanges the top two ele- - ments of the directory stack. Arguments, if supplied, have the + stack, making the new top of the stack the current working di- + rectory. With no arguments, ppuusshhdd exchanges the top two ele- + ments of the directory stack. Arguments, if supplied, have the following meanings: - --nn Suppress the normal change of directory when rotating or - adding directories to the stack, only manipulate the + --nn Suppress the normal change of directory when rotating or + adding directories to the stack, only manipulate the stack. ++_n Rotate the stack so that the _nth directory (counting from - the left of the list shown by ddiirrss, starting with zero) + the left of the list shown by ddiirrss, starting with zero) is at the top. - --_n Rotates the stack so that the _nth directory (counting - from the right of the list shown by ddiirrss, starting with + --_n Rotates the stack so that the _nth directory (counting + from the right of the list shown by ddiirrss, starting with zero) is at the top. _d_i_r Adds _d_i_r to the directory stack at the top. After the stack has been modified, if the --nn option was not sup- - plied, ppuusshhdd uses the ccdd builtin to change to the directory at + plied, ppuusshhdd uses the ccdd builtin to change to the directory at the top of the stack. If the ccdd fails, ppuusshhdd returns a non-zero value. - Otherwise, if no arguments are supplied, ppuusshhdd returns zero un- - less the directory stack is empty. When rotating the directory + Otherwise, if no arguments are supplied, ppuusshhdd returns zero un- + less the directory stack is empty. When rotating the directory stack, ppuusshhdd returns zero unless the directory stack is empty or _n specifies a non-existent directory stack element. - If the ppuusshhdd command is successful, bbaasshh runs ddiirrss to show the + If the ppuusshhdd command is successful, bbaasshh runs ddiirrss to show the final contents of the directory stack. ppwwdd [--LLPP] - Print the absolute pathname of the current working directory. + Print the absolute pathname of the current working directory. The pathname printed contains no symbolic links if the --PP option is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command - is enabled. If the --LL option is used, the pathname printed may - contain symbolic links. The return status is 0 unless an error + is enabled. If the --LL option is used, the pathname printed may + contain symbolic links. The return status is 0 unless an error occurs while reading the name of the current directory or an in- valid option is supplied. rreeaadd [--EEeerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp _p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...] Read one line from the standard input, or from the file descrip- - tor _f_d supplied as an argument to the --uu option, split it into - words as described above under WWoorrdd SSpplliittttiinngg, and assign the - first word to the first _n_a_m_e, the second word to the second - _n_a_m_e, and so on. If there are more words than names, the re- - maining words and their intervening delimiters are assigned to - the last _n_a_m_e. If there are fewer words read from the input - stream than names, the remaining names are assigned empty val- - ues. The characters in the value of the IIFFSS variable are used + tor _f_d supplied as an argument to the --uu option, split it into + words as described above under WWoorrdd SSpplliittttiinngg, and assign the + first word to the first _n_a_m_e, the second word to the second + _n_a_m_e, and so on. If there are more words than names, the re- + maining words and their intervening delimiters are assigned to + the last _n_a_m_e. If there are fewer words read from the input + stream than names, the remaining names are assigned empty val- + ues. The characters in the value of the IIFFSS variable are used to split the line into words using the same rules the shell uses for expansion (described above under WWoorrdd SSpplliittttiinngg). The back- - slash character (\\) removes any special meaning for the next + slash character (\\) removes any special meaning for the next character read and is used for line continuation. Options, if supplied, have the following meanings: --aa _a_n_a_m_e The words are assigned to sequential indices of the array variable _a_n_a_m_e, starting at 0. _a_n_a_m_e is unset before any - new values are assigned. Other _n_a_m_e arguments are ig- + new values are assigned. Other _n_a_m_e arguments are ig- nored. --dd _d_e_l_i_m - The first character of _d_e_l_i_m terminates the input line, - rather than newline. If _d_e_l_i_m is the empty string, rreeaadd + The first character of _d_e_l_i_m terminates the input line, + rather than newline. If _d_e_l_i_m is the empty string, rreeaadd will terminate a line when it reads a NUL character. - --ee If the standard input is coming from a terminal, rreeaadd - uses rreeaaddlliinnee (see RREEAADDLLIINNEE above) to obtain the line. - RReeaaddlliinnee uses the current (or default, if line editing - was not previously active) editing settings, but uses + --ee If the standard input is coming from a terminal, rreeaadd + uses rreeaaddlliinnee (see RREEAADDLLIINNEE above) to obtain the line. + RReeaaddlliinnee uses the current (or default, if line editing + was not previously active) editing settings, but uses rreeaaddlliinnee's default filename completion. - --EE If the standard input is coming from a terminal, rreeaadd - uses rreeaaddlliinnee (see RREEAADDLLIINNEE above) to obtain the line. - RReeaaddlliinnee uses the current (or default, if line editing - was not previously active) editing settings, but uses + --EE If the standard input is coming from a terminal, rreeaadd + uses rreeaaddlliinnee (see RREEAADDLLIINNEE above) to obtain the line. + RReeaaddlliinnee uses the current (or default, if line editing + was not previously active) editing settings, but uses bash's default completion, including programmable comple- tion. --ii _t_e_x_t - If rreeaaddlliinnee is being used to read the line, rreeaadd places + If rreeaaddlliinnee is being used to read the line, rreeaadd places _t_e_x_t into the editing buffer before editing begins. --nn _n_c_h_a_r_s - rreeaadd returns after reading _n_c_h_a_r_s characters rather than - waiting for a complete line of input, unless it encoun- - ters EOF or rreeaadd times out, but honors a delimiter if it + rreeaadd returns after reading _n_c_h_a_r_s characters rather than + waiting for a complete line of input, unless it encoun- + ters EOF or rreeaadd times out, but honors a delimiter if it reads fewer than _n_c_h_a_r_s characters before the delimiter. --NN _n_c_h_a_r_s - rreeaadd returns after reading exactly _n_c_h_a_r_s characters - rather than waiting for a complete line of input, unless + rreeaadd returns after reading exactly _n_c_h_a_r_s characters + rather than waiting for a complete line of input, unless it encounters EOF or rreeaadd times out. Any delimiter char- - acters in the input are not treated specially and do not + acters in the input are not treated specially and do not cause rreeaadd to return until it has read _n_c_h_a_r_s characters. The result is not split on the characters in IIFFSS; the in- tent is that the variable is assigned exactly the charac- - ters read (with the exception of backslash; see the --rr + ters read (with the exception of backslash; see the --rr option below). --pp _p_r_o_m_p_t Display _p_r_o_m_p_t on standard error, without a trailing new- - line, before attempting to read any input, but only if + line, before attempting to read any input, but only if input is coming from a terminal. --rr Backslash does not act as an escape character. The back- - slash is considered to be part of the line. In particu- - lar, a backslash-newline pair may not then be used as a + slash is considered to be part of the line. In particu- + lar, a backslash-newline pair may not then be used as a line continuation. --ss Silent mode. If input is coming from a terminal, charac- ters are not echoed. --tt _t_i_m_e_o_u_t - Cause rreeaadd to time out and return failure if it does not - read a complete line of input (or a specified number of - characters) within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a - decimal number with a fractional portion following the - decimal point. This option is only effective if rreeaadd is - reading input from a terminal, pipe, or other special - file; it has no effect when reading from regular files. - If rreeaadd times out, it saves any partial input read into - the specified variable _n_a_m_e, and the exit status is - greater than 128. If _t_i_m_e_o_u_t is 0, rreeaadd returns immedi- - ately, without trying to read any data. In this case, - the exit status is 0 if input is available on the speci- - fied file descriptor, or the read will return EOF, non- + Cause rreeaadd to time out and return failure if it does not + read a complete line of input (or a specified number of + characters) within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a + decimal number with a fractional portion following the + decimal point. This option is only effective if rreeaadd is + reading input from a terminal, pipe, or other special + file; it has no effect when reading from regular files. + If rreeaadd times out, it saves any partial input read into + the specified variable _n_a_m_e, and the exit status is + greater than 128. If _t_i_m_e_o_u_t is 0, rreeaadd returns immedi- + ately, without trying to read any data. In this case, + the exit status is 0 if input is available on the speci- + fied file descriptor, or the read will return EOF, non- zero otherwise. - --uu _f_d Read input from file descriptor _f_d instead of the stan- + --uu _f_d Read input from file descriptor _f_d instead of the stan- dard input. - Other than the case where _d_e_l_i_m is the empty string, rreeaadd ig- + Other than the case where _d_e_l_i_m is the empty string, rreeaadd ig- nores any NUL characters in the input. - If no _n_a_m_e_s are supplied, rreeaadd assigns the line read, without - the ending delimiter but otherwise unmodified, to the variable + If no _n_a_m_e_s are supplied, rreeaadd assigns the line read, without + the ending delimiter but otherwise unmodified, to the variable RREEPPLLYY. The exit status is zero, unless end-of-file is encountered, rreeaadd - times out (in which case the status is greater than 128), a + times out (in which case the status is greater than 128), a variable assignment error (such as assigning to a readonly vari- - able) occurs, or an invalid file descriptor is supplied as the + able) occurs, or an invalid file descriptor is supplied as the argument to --uu. rreeaaddoonnllyy [--aaAAff] [--pp] [_n_a_m_e[=_w_o_r_d] ...] - The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s + The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s may not be changed by subsequent assignment or unset. If the --ff - option is supplied, each _n_a_m_e refers to a shell function. The - --aa option restricts the variables to indexed arrays; the --AA op- + option is supplied, each _n_a_m_e refers to a shell function. The + --aa option restricts the variables to indexed arrays; the --AA op- tion restricts the variables to associative arrays. If both op- - tions are supplied, --AA takes precedence. If no _n_a_m_e arguments - are supplied, or if the --pp option is supplied, print a list of - all readonly names. The other options may be used to restrict + tions are supplied, --AA takes precedence. If no _n_a_m_e arguments + are supplied, or if the --pp option is supplied, print a list of + all readonly names. The other options may be used to restrict the output to a subset of the set of readonly names. The --pp op- tion displays output in a format that may be reused as input. - rreeaaddoonnllyy allows the value of a variable to be set at the same + rreeaaddoonnllyy allows the value of a variable to be set at the same time the readonly attribute is changed by following the variable - name with =_v_a_l_u_e. This sets the value of the variable is to + name with =_v_a_l_u_e. This sets the value of the variable is to _v_a_l_u_e while modifying the readonly attribute. - The return status is 0 unless an invalid option is encountered, - one of the _n_a_m_e_s is not a valid shell variable name, or --ff is + The return status is 0 unless an invalid option is encountered, + one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a function. rreettuurrnn [_n] - Stop executing a shell function or sourced file and return the + Stop executing a shell function or sourced file and return the value specified by _n to its caller. If _n is omitted, the return - status is that of the last command executed. If rreettuurrnn is exe- - cuted by a trap handler, the last command used to determine the + status is that of the last command executed. If rreettuurrnn is exe- + cuted by a trap handler, the last command used to determine the status is the last command executed before the trap handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the last command used to - determine the status is the last command executed by the trap + determine the status is the last command executed by the trap handler before rreettuurrnn was invoked. When rreettuurrnn is used to terminate execution of a script being ex- - ecuted by the .. (ssoouurrccee) command, it causes the shell to stop - executing that script and return either _n or the exit status of - the last command executed within the script as the exit status - of the script. If _n is supplied, the return value is its least + ecuted by the .. (ssoouurrccee) command, it causes the shell to stop + executing that script and return either _n or the exit status of + the last command executed within the script as the exit status + of the script. If _n is supplied, the return value is its least significant 8 bits. - Any command associated with the RREETTUURRNN trap is executed before + Any command associated with the RREETTUURRNN trap is executed before execution resumes after the function or script. - The return status is non-zero if rreettuurrnn is supplied a non-nu- + The return status is non-zero if rreettuurrnn is supplied a non-nu- meric argument, or is used outside a function and not during ex- ecution of a script by .. or ssoouurrccee. sseett [--aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [----] [--] [_a_r_g ...] sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [----] [--] [_a_r_g ...] sseett --oo - sseett ++oo Without options, display the name and value of each shell vari- - able in a format that can be reused as input for setting or re- + sseett ++oo Without options, display the name and value of each shell vari- + able in a format that can be reused as input for setting or re- setting the currently-set variables. Read-only variables cannot - be reset. In posix mode, only shell variables are listed. The - output is sorted according to the current locale. When options - are specified, they set or unset shell attributes. Any argu- - ments remaining after option processing are treated as values + be reset. In posix mode, only shell variables are listed. The + output is sorted according to the current locale. When options + are specified, they set or unset shell attributes. Any argu- + ments remaining after option processing are treated as values for the positional parameters and are assigned, in order, to $$11, - $$22, ..., $$_n. Options, if specified, have the following mean- + $$22, ..., $$_n. Options, if specified, have the following mean- ings: --aa Each variable or function that is created or modified is - given the export attribute and marked for export to the + given the export attribute and marked for export to the environment of subsequent commands. - --bb Report the status of terminated background jobs immedi- + --bb Report the status of terminated background jobs immedi- ately, rather than before the next primary prompt or af- - ter a foreground command terminates. This is effective + ter a foreground command terminates. This is effective only when job control is enabled. - --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a - single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d + --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a + single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d (see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero status. - The shell does not exit if the command that fails is - part of the command list immediately following a wwhhiillee - or uunnttiill reserved word, part of the test following the - iiff or eelliiff reserved words, part of any command executed - in a &&&& or |||| list except the command following the fi- - nal &&&& or ||||, any command in a pipeline but the last - (subject to the state of the ppiippeeffaaiill shell option), or - if the command's return value is being inverted with !!. - If a compound command other than a subshell returns a - non-zero status because a command failed while --ee was - being ignored, the shell does not exit. A trap on EERRRR, + The shell does not exit if the command that fails is + part of the command list immediately following a wwhhiillee + or uunnttiill reserved word, part of the test following the + iiff or eelliiff reserved words, part of any command executed + in a &&&& or |||| list except the command following the fi- + nal &&&& or ||||, any command in a pipeline but the last + (subject to the state of the ppiippeeffaaiill shell option), or + if the command's return value is being inverted with !!. + If a compound command other than a subshell returns a + non-zero status because a command failed while --ee was + being ignored, the shell does not exit. A trap on EERRRR, if set, is executed before the shell exits. This option applies to the shell environment and each subshell envi- - ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT + ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT above), and may cause subshells to exit before executing all the commands in the subshell. - If a compound command or shell function executes in a - context where --ee is being ignored, none of the commands - executed within the compound command or function body - will be affected by the --ee setting, even if --ee is set - and a command returns a failure status. If a compound - command or shell function sets --ee while executing in a - context where --ee is ignored, that setting will not have - any effect until the compound command or the command + If a compound command or shell function executes in a + context where --ee is being ignored, none of the commands + executed within the compound command or function body + will be affected by the --ee setting, even if --ee is set + and a command returns a failure status. If a compound + command or shell function sets --ee while executing in a + context where --ee is ignored, that setting will not have + any effect until the compound command or the command containing the function call completes. --ff Disable pathname expansion. - --hh Remember the location of commands as they are looked up + --hh Remember the location of commands as they are looked up for execution. This is enabled by default. - --kk All arguments in the form of assignment statements are - placed in the environment for a command, not just those + --kk All arguments in the form of assignment statements are + placed in the environment for a command, not just those that precede the command name. - --mm Monitor mode. Job control is enabled. This option is - on by default for interactive shells on systems that - support it (see JJOOBB CCOONNTTRROOLL above). All processes run + --mm Monitor mode. Job control is enabled. This option is + on by default for interactive shells on systems that + support it (see JJOOBB CCOONNTTRROOLL above). All processes run in a separate process group. When a background job com- pletes, the shell prints a line containing its exit sta- tus. --nn Read commands but do not execute them. This may be used - to check a shell script for syntax errors. This is ig- + to check a shell script for syntax errors. This is ig- nored by interactive shells. --oo _o_p_t_i_o_n_-_n_a_m_e The _o_p_t_i_o_n_-_n_a_m_e can be one of the following: @@ -6431,10 +6437,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Same as --aa. bbrraacceeeexxppaanndd Same as --BB. - eemmaaccss Use an emacs-style command line editing inter- + eemmaaccss Use an emacs-style command line editing inter- face. This is enabled by default when the shell is interactive, unless the shell is started with - the ----nnooeeddiittiinngg option. This also affects the + the ----nnooeeddiittiinngg option. This also affects the editing interface used for rreeaadd --ee. eerrrreexxiitt Same as --ee. eerrrrttrraaccee @@ -6448,7 +6454,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command + The effect is as if the shell command "IGNOREEOF=10" had been executed (see SShheellll VVaarriiaabblleess above). kkeeyywwoorrdd Same as --kk. @@ -6464,184 +6470,184 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS pphhyyssiiccaall Same as --PP. ppiippeeffaaiill - If set, the return value of a pipeline is the - value of the last (rightmost) command to exit - with a non-zero status, or zero if all commands - in the pipeline exit successfully. This option + If set, the return value of a pipeline is the + value of the last (rightmost) command to exit + with a non-zero status, or zero if all commands + in the pipeline exit successfully. This option is disabled by default. - ppoossiixx Enable posix mode; change the behavior of bbaasshh - where the default operation differs from the - POSIX standard to match the standard. See SSEEEE - AALLSSOO below for a reference to a document that + ppoossiixx Enable posix mode; change the behavior of bbaasshh + where the default operation differs from the + POSIX standard to match the standard. See SSEEEE + AALLSSOO below for a reference to a document that details how posix mode affects bash's behavior. pprriivviilleeggeedd Same as --pp. vveerrbboossee Same as --vv. - vvii Use a vi-style command line editing interface. + vvii Use a vi-style command line editing interface. This also affects the editing interface used for rreeaadd --ee. xxttrraaccee Same as --xx. - If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, sseett prints the - current shell option settings. If ++oo is supplied with - no _o_p_t_i_o_n_-_n_a_m_e, sseett prints a series of sseett commands to - recreate the current option settings on the standard + If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, sseett prints the + current shell option settings. If ++oo is supplied with + no _o_p_t_i_o_n_-_n_a_m_e, sseett prints a series of sseett commands to + recreate the current option settings on the standard output. - --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the shell does - not read the $$EENNVV and $$BBAASSHH__EENNVV files, shell functions - are not inherited from the environment, and the SSHHEELL-- - LLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if - they appear in the environment, are ignored. If the - shell is started with the effective user (group) id not - equal to the real user (group) id, and the --pp option is - not supplied, these actions are taken and the effective + --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the shell does + not read the $$EENNVV and $$BBAASSHH__EENNVV files, shell functions + are not inherited from the environment, and the SSHHEELL-- + LLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if + they appear in the environment, are ignored. If the + shell is started with the effective user (group) id not + equal to the real user (group) id, and the --pp option is + not supplied, these actions are taken and the effective user id is set to the real user id. If the --pp option is supplied at startup, the effective user id is not reset. - Turning this option off causes the effective user and + Turning this option off causes the effective user and group ids to be set to the real user and group ids. --rr Enable restricted shell mode. This option cannot be un- set once it has been set. --tt Exit after reading and executing one command. --uu Treat unset variables and parameters other than the spe- - cial parameters "@" and "*", or array variables sub- - scripted with "@" or "*", as an error when performing - parameter expansion. If expansion is attempted on an - unset variable or parameter, the shell prints an error - message, and, if not interactive, exits with a non-zero + cial parameters "@" and "*", or array variables sub- + scripted with "@" or "*", as an error when performing + parameter expansion. If expansion is attempted on an + unset variable or parameter, the shell prints an error + message, and, if not interactive, exits with a non-zero status. --vv Print shell input lines as they are read. - --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee + --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee command, sseelleecctt command, or arithmetic ffoorr command, dis- - play the expanded value of PPSS44, followed by the command - and its expanded arguments or associated word list, to + play the expanded value of PPSS44, followed by the command + and its expanded arguments or associated word list, to the standard error. - --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn + --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn above). This is on by default. - --CC If set, bbaasshh does not overwrite an existing file with - the >>, >>&&, and <<>> redirection operators. Using the - redirection operator >>|| instead of >> will override this + --CC If set, bbaasshh does not overwrite an existing file with + the >>, >>&&, and <<>> redirection operators. Using the + redirection operator >>|| instead of >> will override this and force the creation of an output file. --EE If set, any trap on EERRRR is inherited by shell functions, - command substitutions, and commands executed in a sub- - shell environment. The EERRRR trap is normally not inher- + command substitutions, and commands executed in a sub- + shell environment. The EERRRR trap is normally not inher- ited in such cases. --HH Enable !! style history substitution. This option is on by default when the shell is interactive. - --PP If set, the shell does not resolve symbolic links when - executing commands such as ccdd that change the current + --PP If set, the shell does not resolve symbolic links when + executing commands such as ccdd that change the current working directory. It uses the physical directory structure instead. By default, bbaasshh follows the logical - chain of directories when performing commands which + chain of directories when performing commands which change the current directory. - --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by + --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by shell functions, command substitutions, and commands ex- - ecuted in a subshell environment. The DDEEBBUUGG and RREETTUURRNN + ecuted in a subshell environment. The DDEEBBUUGG and RREETTUURRNN traps are normally not inherited in such cases. ---- If no arguments follow this option, unset the positional parameters. Otherwise, set the positional parameters to the _a_r_gs, even if some of them begin with a --. -- Signal the end of options, and assign all remaining _a_r_gs to the positional parameters. The --xx and --vv options are - turned off. If there are no _a_r_gs, the positional para- + turned off. If there are no _a_r_gs, the positional para- meters remain unchanged. - The options are off by default unless otherwise noted. Using + - rather than - causes these options to be turned off. The op- + The options are off by default unless otherwise noted. Using + + rather than - causes these options to be turned off. The op- tions can also be specified as arguments to an invocation of the - shell. The current set of options may be found in $$--. The re- - turn status is always zero unless an invalid option is encoun- + shell. The current set of options may be found in $$--. The re- + turn status is always zero unless an invalid option is encoun- tered. sshhiifftt [_n] Rename positional parameters from _n+1 ... to $$11 ........ Parameters - represented by the numbers $$## down to $$##-_n+1 are unset. _n must - be a non-negative number less than or equal to $$##. If _n is 0, - no parameters are changed. If _n is not given, it is assumed to - be 1. If _n is greater than $$##, the positional parameters are - not changed. The return status is greater than zero if _n is + represented by the numbers $$## down to $$##-_n+1 are unset. _n must + be a non-negative number less than or equal to $$##. If _n is 0, + no parameters are changed. If _n is not given, it is assumed to + be 1. If _n is greater than $$##, the positional parameters are + not changed. The return status is greater than zero if _n is greater than $$## or less than zero; otherwise 0. sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...] - Toggle the values of settings controlling optional shell behav- - ior. The settings can be either those listed below, or, if the + Toggle the values of settings controlling optional shell behav- + ior. The settings can be either those listed below, or, if the --oo option is used, those available with the --oo option to the sseett builtin command. - With no options, or with the --pp option, display a list of all - settable options, with an indication of whether or not each is - set; if any _o_p_t_n_a_m_e_s are supplied, the output is restricted to + With no options, or with the --pp option, display a list of all + settable options, with an indication of whether or not each is + set; if any _o_p_t_n_a_m_e_s are supplied, the output is restricted to those options. The --pp option displays output in a form that may be reused as input. Other options have the following meanings: --ss Enable (set) each _o_p_t_n_a_m_e. --uu Disable (unset) each _o_p_t_n_a_m_e. - --qq Suppresses normal output (quiet mode); the return status + --qq Suppresses normal output (quiet mode); the return status indicates whether the _o_p_t_n_a_m_e is set or unset. If multi- - ple _o_p_t_n_a_m_e arguments are supplied with --qq, the return + ple _o_p_t_n_a_m_e arguments are supplied with --qq, the return status is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero oth- erwise. - --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for + --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for the --oo option to the sseett builtin. - If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt - shows only those options which are set or unset, respectively. - Unless otherwise noted, the sshhoopptt options are disabled (unset) + If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, sshhoopptt + shows only those options which are set or unset, respectively. + Unless otherwise noted, the sshhoopptt options are disabled (unset) by default. - The return status when listing options is zero if all _o_p_t_n_a_m_e_s - are enabled, non-zero otherwise. When setting or unsetting op- - tions, the return status is zero unless an _o_p_t_n_a_m_e is not a + The return status when listing options is zero if all _o_p_t_n_a_m_e_s + are enabled, non-zero otherwise. When setting or unsetting op- + tions, the return status is zero unless an _o_p_t_n_a_m_e is not a valid shell option. The list of sshhoopptt options is: aarrrraayy__eexxppaanndd__oonnccee - If set, the shell suppresses multiple evaluation of as- + If set, the shell suppresses multiple evaluation of as- sociative and indexed array subscripts during arithmetic expression evaluation, while executing builtins that can - perform variable assignments, and while executing + 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- + 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. bbaasshh__ssoouurrccee__ffuullllppaatthh - If set, filenames added to the BBAASSHH__SSOOUURRCCEE array vari- - able are converted to full pathnames (see SShheellll VVaarrii-- + If set, filenames added to the BBAASSHH__SSOOUURRCCEE array vari- + able are converted to full pathnames (see SShheellll VVaarrii-- aabblleess above). ccddaabbllee__vvaarrss - If set, an argument to the ccdd builtin command that is - not a directory is assumed to be the name of a variable + If set, an argument to the ccdd builtin command that is + not a directory is assumed to be the name of a variable whose value is the directory to change to. - ccddssppeellll If set, the ccdd command attempts to correct minor errors - in the spelling of a directory component. Minor errors - include transposed characters, a missing character, and + ccddssppeellll If set, the ccdd command attempts to correct minor errors + in the spelling of a directory component. Minor errors + include transposed characters, a missing character, and one extra character. If ccdd corrects the directory name, - it prints the corrected filename, and the command pro- + it prints the corrected filename, and the command pro- ceeds. This option is only used by interactive shells. cchheecckkhhaasshh If set, bbaasshh checks that a command found in the hash ta- - ble exists before trying to execute it. If a hashed - command no longer exists, bbaasshh performs a normal path + ble exists before trying to execute it. If a hashed + command no longer exists, bbaasshh performs a normal path search. cchheecckkjjoobbss If set, bbaasshh lists the status of any stopped and running - jobs before exiting an interactive shell. If any jobs + jobs before exiting an interactive shell. If any jobs are running, bbaasshh defers the exit until a second exit is - attempted without an intervening command (see JJOOBB CCOONN-- - TTRROOLL above). The shell always postpones exiting if any + attempted without an intervening command (see JJOOBB CCOONN-- + TTRROOLL above). The shell always postpones exiting if any jobs are stopped. cchheecckkwwiinnssiizzee - If set, bbaasshh checks the window size after each external - (non-builtin) command and, if necessary, updates the - values of LLIINNEESS and CCOOLLUUMMNNSS, using the file descriptor - associated with the standard error if it is a terminal. + If set, bbaasshh checks the window size after each external + (non-builtin) command and, if necessary, updates the + values of LLIINNEESS and CCOOLLUUMMNNSS, using the file descriptor + associated with the standard error if it is a terminal. This option is enabled by default. - ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- - line command in the same history entry. This allows - easy re-editing of multi-line commands. This option is - enabled by default, but only has an effect if command + ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- + line command in the same history entry. This allows + easy re-editing of multi-line commands. This option is + enabled by default, but only has an effect if command history is enabled, as described above under HHIISSTTOORRYY. ccoommppaatt3311 ccoommppaatt3322 @@ -6650,143 +6656,143 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS ccoommppaatt4422 ccoommppaatt4433 ccoommppaatt4444 - These control aspects of the shell's compatibility mode + These control aspects of the shell's compatibility mode (see SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE below). ccoommpplleettee__ffuullllqquuoottee - If set, bbaasshh quotes all shell metacharacters in file- - names and directory names when performing completion. + If set, bbaasshh quotes all shell metacharacters in file- + names and directory names when performing completion. If not set, bbaasshh removes metacharacters such as the dol- - lar sign from the set of characters that will be quoted - in completed filenames when these metacharacters appear - in shell variable references in words to be completed. - This means that dollar signs in variable names that ex- - pand to directories will not be quoted; however, any - dollar signs appearing in filenames will not be quoted, - either. This is active only when bash is using back- - slashes to quote completed filenames. This variable is - set by default, which is the default bash behavior in + lar sign from the set of characters that will be quoted + in completed filenames when these metacharacters appear + in shell variable references in words to be completed. + This means that dollar signs in variable names that ex- + pand to directories will not be quoted; however, any + dollar signs appearing in filenames will not be quoted, + either. This is active only when bash is using back- + slashes to quote completed filenames. This variable is + set by default, which is the default bash behavior in versions through 4.2. ddiirreexxppaanndd - If set, bbaasshh replaces directory names with the results - of word expansion when performing filename completion. + If set, bbaasshh replaces directory names with the results + of word expansion when performing filename completion. This changes the contents of the rreeaaddlliinnee editing - buffer. If not set, bbaasshh attempts to preserve what the + buffer. If not set, bbaasshh attempts to preserve what the user typed. ddiirrssppeellll - If set, bbaasshh attempts spelling correction on directory - names during word completion if the directory name ini- + If set, bbaasshh attempts spelling correction on directory + names during word completion if the directory name ini- tially supplied does not exist. - ddoottgglloobb If set, bbaasshh includes filenames beginning with a "." in - the results of pathname expansion. The filenames _. and + ddoottgglloobb If set, bbaasshh includes filenames beginning with a "." in + the results of pathname expansion. The filenames _. and _._. must always be matched explicitly, even if ddoottgglloobb is set. eexxeeccffaaiill If set, a non-interactive shell will not exit if it can- - not execute the file specified as an argument to the - eexxeecc builtin. An interactive shell does not exit if + not execute the file specified as an argument to the + eexxeecc builtin. An interactive shell does not exit if eexxeecc fails. eexxppaanndd__aalliiaasseess - If set, aliases are expanded as described above under + If set, aliases are expanded as described above under AALLIIAASSEESS. This option is enabled by default for interac- tive shells. eexxttddeebbuugg - If set at shell invocation, or in a shell startup file, + If set at shell invocation, or in a shell startup file, arrange to execute the debugger profile before the shell - starts, identical to the ----ddeebbuuggggeerr option. If set af- - ter invocation, behavior intended for use by debuggers + starts, identical to the ----ddeebbuuggggeerr option. If set af- + ter invocation, behavior intended for use by debuggers is enabled: 11.. The --FF option to the ddeeccllaarree builtin displays the source file name and line number corresponding to each function name supplied as an argument. - 22.. If the command run by the DDEEBBUUGG trap returns a - non-zero value, the next command is skipped and + 22.. If the command run by the DDEEBBUUGG trap returns a + non-zero value, the next command is skipped and not executed. - 33.. If the command run by the DDEEBBUUGG trap returns a - value of 2, and the shell is executing in a sub- - routine (a shell function or a shell script exe- - cuted by the .. or ssoouurrccee builtins), the shell + 33.. If the command run by the DDEEBBUUGG trap returns a + value of 2, and the shell is executing in a sub- + routine (a shell function or a shell script exe- + cuted by the .. or ssoouurrccee builtins), the shell simulates a call to rreettuurrnn. - 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described + 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described in their descriptions above). - 55.. Function tracing is enabled: command substitu- + 55.. Function tracing is enabled: command substitu- tion, shell functions, and subshells invoked with (( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps. - 66.. Error tracing is enabled: command substitution, - shell functions, and subshells invoked with (( + 66.. Error tracing is enabled: command substitution, + shell functions, and subshells invoked with (( _c_o_m_m_a_n_d )) inherit the EERRRR trap. - eexxttgglloobb If set, enable the extended pattern matching features + eexxttgglloobb If set, enable the extended pattern matching features described above under PPaatthhnnaammee EExxppaannssiioonn. eexxttqquuoottee - If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed - within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double + If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed + within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double quotes. This option is enabled by default. ffaaiillgglloobb - If set, patterns which fail to match filenames during + If set, patterns which fail to match filenames during pathname expansion result in an expansion error. ffoorrccee__ffiiggnnoorree - If set, the suffixes specified by the FFIIGGNNOORREE shell - variable cause words to be ignored when performing word + If set, the suffixes specified by the FFIIGGNNOORREE shell + variable cause words to be ignored when performing word completion even if the ignored words are the only possi- - ble completions. See SShheellll VVaarriiaabblleess above for a de- - scription of FFIIGGNNOORREE. This option is enabled by de- + ble completions. See SShheellll VVaarriiaabblleess above for a de- + scription of FFIIGGNNOORREE. This option is enabled by de- fault. gglloobbaasscciiiirraannggeess - If set, range expressions used in pattern matching - bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave - as if in the traditional C locale when performing com- - parisons. That is, pattern matching does not take the - current locale's collating sequence into account, so bb - will not collate between AA and BB, and upper-case and + If set, range expressions used in pattern matching + bracket expressions (see PPaatttteerrnn MMaattcchhiinngg above) behave + as if in the traditional C locale when performing com- + parisons. That is, pattern matching does not take the + current locale's collating sequence into account, so bb + will not collate between AA and BB, and upper-case and lower-case ASCII characters will collate together. gglloobbsskkiippddoottss - If set, pathname expansion will never match the file- - names _. and _._., even if the pattern begins with a ".". + If set, pathname expansion will never match the file- + names _. and _._., even if the pattern begins with a ".". This option is enabled by default. gglloobbssttaarr If set, the pattern **** used in a pathname expansion con- - text will match all files and zero or more directories - and subdirectories. If the pattern is followed by a //, + text will match all files and zero or more directories + and subdirectories. If the pattern is followed by a //, only directories and subdirectories match. ggnnuu__eerrrrffmmtt If set, shell error messages are written in the standard GNU error message format. hhiissttaappppeenndd - If set, the history list is appended to the file named + If set, the history list is appended to the file named by the value of the HHIISSTTFFIILLEE variable when the shell ex- its, rather than overwriting the file. hhiissttrreeeeddiitt - If set, and rreeaaddlliinnee is being used, the user is given - the opportunity to re-edit a failed history substitu- + If set, and rreeaaddlliinnee is being used, the user is given + the opportunity to re-edit a failed history substitu- tion. hhiissttvveerriiffyy - If set, and rreeaaddlliinnee is being used, the results of his- - tory substitution are not immediately passed to the - shell parser. Instead, the resulting line is loaded + If set, and rreeaaddlliinnee is being used, the results of his- + tory substitution are not immediately passed to the + shell parser. Instead, the resulting line is loaded into the rreeaaddlliinnee editing buffer, allowing further modi- fication. hhoossttccoommpplleettee If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to - perform hostname completion when a word containing a @@ - is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE + perform hostname completion when a word containing a @@ + is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE above). This is enabled by default. hhuuppoonneexxiitt If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter- active login shell exits. iinnhheerriitt__eerrrreexxiitt - If set, command substitution inherits the value of the - eerrrreexxiitt option, instead of unsetting it in the subshell - environment. This option is enabled when posix mode is + If set, command substitution inherits the value of the + eerrrreexxiitt option, instead of unsetting it in the subshell + environment. This option is enabled when posix mode is enabled. iinntteerraaccttiivvee__ccoommmmeennttss - In an interactive shell, a word beginning with ## causes - that word and all remaining characters on that line to - be ignored, as in a non-interactive shell (see CCOOMMMMEENNTTSS + In an interactive shell, a word beginning with ## causes + that word and all remaining characters on that line to + be ignored, as in a non-interactive shell (see CCOOMMMMEENNTTSS above). This option is enabled by default. llaassttppiippee - If set, and job control is not active, the shell runs + If set, and job control is not active, the shell runs the last command of a pipeline not executed in the back- ground in the current shell environment. - lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line + lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line commands are saved to the history with embedded newlines rather than using semicolon separators where possible. llooccaallvvaarr__iinnhheerriitt @@ -6795,37 +6801,37 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS scope before any new value is assigned. The nameref at- tribute is not inherited. llooccaallvvaarr__uunnsseett - If set, calling uunnsseett on local variables in previous - function scopes marks them so subsequent lookups find + If set, calling uunnsseett on local variables in previous + function scopes marks them so subsequent lookups find them unset until that function returns. This is identi- - cal to the behavior of unsetting local variables at the + cal to the behavior of unsetting local variables at the current function scope. llooggiinn__sshheellll - The shell sets this option if it is started as a login - shell (see IINNVVOOCCAATTIIOONN above). The value may not be + The shell sets this option if it is started as a login + shell (see IINNVVOOCCAATTIIOONN above). The value may not be changed. mmaaiillwwaarrnn - If set, and a file that bbaasshh is checking for mail has - been accessed since the last time it was checked, bbaasshh - displays the message "The mail in _m_a_i_l_f_i_l_e has been + If set, and a file that bbaasshh is checking for mail has + been accessed since the last time it was checked, bbaasshh + displays the message "The mail in _m_a_i_l_f_i_l_e has been read". nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn If set, and rreeaaddlliinnee is being used, bbaasshh does not search - PPAATTHH for possible completions when completion is at- + PPAATTHH for possible completions when completion is at- tempted on an empty line. nnooccaasseegglloobb - If set, bbaasshh matches filenames in a case-insensitive + If set, bbaasshh matches filenames in a case-insensitive fashion when performing pathname expansion (see PPaatthhnnaammee EExxppaannssiioonn above). nnooccaasseemmaattcchh - If set, bbaasshh matches patterns in a case-insensitive + If set, bbaasshh matches patterns in a case-insensitive fashion when performing matching while executing ccaassee or [[[[ conditional commands, when performing pattern substi- - tution word expansions, or when filtering possible com- + tution word expansions, or when filtering possible com- pletions as part of programmable completion. nnooeexxppaanndd__ttrraannssllaattiioonn - If set, bbaasshh encloses the translated results of $$""..."" - quoting in single quotes instead of double quotes. If + If set, bbaasshh encloses the translated results of $$""..."" + quoting in single quotes instead of double quotes. If the string is not translated, this has no effect. nnuullllgglloobb If set, pathname expansion patterns which match no files @@ -6833,73 +6839,73 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS removed, rather than expanding to themselves. ppaattssuubb__rreeppllaacceemmeenntt If set, bbaasshh expands occurrences of && in the replacement - string of pattern substitution to the text matched by - the pattern, as described under PPaarraammeetteerr EExxppaannssiioonn + string of pattern substitution to the text matched by + the pattern, as described under PPaarraammeetteerr EExxppaannssiioonn above. This option is enabled by default. pprrooggccoommpp - If set, enable the programmable completion facilities + If set, enable the programmable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn above). This option is en- abled by default. pprrooggccoommpp__aalliiaass - If set, and programmable completion is enabled, bbaasshh - treats a command name that doesn't have any completions + If set, and programmable completion is enabled, bbaasshh + treats a command name that doesn't have any completions as a possible alias and attempts alias expansion. If it - has an alias, bbaasshh attempts programmable completion us- + has an alias, bbaasshh attempts programmable completion us- ing the command word resulting from the expanded alias. pprroommppttvvaarrss If set, prompt strings undergo parameter expansion, com- - mand substitution, arithmetic expansion, and quote re- - moval after being expanded as described in PPRROOMMPPTTIINNGG + mand substitution, arithmetic expansion, and quote re- + moval after being expanded as described in PPRROOMMPPTTIINNGG above. This option is enabled by default. rreessttrriicctteedd__sshheellll - The shell sets this option if it is started in re- - stricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value - may not be changed. This is not reset when the startup - files are executed, allowing the startup files to dis- + The shell sets this option if it is started in re- + stricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value + may not be changed. This is not reset when the startup + files are executed, allowing the startup files to dis- cover whether or not a shell is restricted. sshhiifftt__vveerrbboossee - If set, the sshhiifftt builtin prints an error message when + If set, the sshhiifftt builtin prints an error message when the shift count exceeds the number of positional parame- ters. ssoouurrcceeppaatthh If set, the .. (ssoouurrccee) builtin uses the value of PPAATTHH to - find the directory containing the file supplied as an - argument when the --pp option is not supplied. This op- + find the directory containing the file supplied as an + argument when the --pp option is not supplied. This op- tion is enabled by default. vvaarrrreeddiirr__cclloossee - If set, the shell automatically closes file descriptors - assigned using the _{_v_a_r_n_a_m_e_} redirection syntax (see + If set, the shell automatically closes file descriptors + assigned using the _{_v_a_r_n_a_m_e_} redirection syntax (see RREEDDIIRREECCTTIIOONN above) instead of leaving them open when the command completes. xxppgg__eecchhoo - If set, the eecchhoo builtin expands backslash-escape se- - quences by default. If the ppoossiixx shell option is also + If set, the eecchhoo builtin expands backslash-escape se- + quences by default. If the ppoossiixx shell option is also enabled, eecchhoo does not interpret any options. ssuussppeenndd [--ff] - Suspend the execution of this shell until it receives a SSIIGGCCOONNTT - signal. A login shell, or a shell without job control enabled, - cannot be suspended; the --ff option will override this and force - the suspension. The return status is 0 unless the shell is a - login shell or job control is not enabled and --ff is not sup- + Suspend the execution of this shell until it receives a SSIIGGCCOONNTT + signal. A login shell, or a shell without job control enabled, + cannot be suspended; the --ff option will override this and force + the suspension. The return status is 0 unless the shell is a + login shell or job control is not enabled and --ff is not sup- plied. tteesstt _e_x_p_r [[ _e_x_p_r ]] Return a status of 0 (true) or 1 (false) depending on the evalu- - ation of the conditional expression _e_x_p_r. Each operator and - operand must be a separate argument. Expressions are composed - of the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. - tteesstt does not accept any options, nor does it accept and ignore + ation of the conditional expression _e_x_p_r. Each operator and + operand must be a separate argument. Expressions are composed + of the primaries described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. + tteesstt does not accept any options, nor does it accept and ignore an argument of ---- as signifying the end of options. - Expressions may be combined using the following operators, - listed in decreasing order of precedence. The evaluation de- + Expressions may be combined using the following operators, + listed in decreasing order of precedence. The evaluation de- pends on the number of arguments; see below. tteesstt uses operator precedence when there are five or more arguments. !! _e_x_p_r True if _e_x_p_r is false. (( _e_x_p_r )) - Returns the value of _e_x_p_r. This may be used to override + Returns the value of _e_x_p_r. This may be used to override normal operator precedence. _e_x_p_r_1 -aa _e_x_p_r_2 True if both _e_x_p_r_1 and _e_x_p_r_2 are true. @@ -6916,111 +6922,111 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS null. 2 arguments If the first argument is !!, the expression is true if and - only if the second argument is null. If the first argu- - ment is one of the unary conditional operators listed - above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is + only if the second argument is null. If the first argu- + ment is one of the unary conditional operators listed + above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is true if the unary test is true. If the first argument is not a valid unary conditional operator, the expression is false. 3 arguments The following conditions are applied in the order listed. - If the second argument is one of the binary conditional + If the second argument is one of the binary conditional operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the result of the expression is the result of the binary test - using the first and third arguments as operands. The --aa - and --oo operators are considered binary operators when - there are three arguments. If the first argument is !!, - the value is the negation of the two-argument test using + using the first and third arguments as operands. The --aa + and --oo operators are considered binary operators when + there are three arguments. If the first argument is !!, + the value is the negation of the two-argument test using the second and third arguments. If the first argument is exactly (( and the third argument is exactly )), the result - is the one-argument test of the second argument. Other- + is the one-argument test of the second argument. Other- wise, the expression is false. 4 arguments The following conditions are applied in the order listed. If the first argument is !!, the result is the negation of - the three-argument expression composed of the remaining - arguments. If the first argument is exactly (( and the + the three-argument expression composed of the remaining + arguments. If the first argument is exactly (( and the fourth argument is exactly )), the result is the two-argu- - ment test of the second and third arguments. Otherwise, - the expression is parsed and evaluated according to + ment test of the second and third arguments. Otherwise, + the expression is parsed and evaluated according to precedence using the rules listed above. 5 or more arguments - The expression is parsed and evaluated according to + The expression is parsed and evaluated according to precedence using the rules listed above. When the shell is in posix mode, or if the expression is part of the [[[[ command, the << and >> operators sort using the current lo- - cale. If the shell is not in posix mode, the tteesstt and [[ com- + cale. If the shell is not in posix mode, the tteesstt and [[ com- mands sort lexicographically using ASCII ordering. - The historical operator-precedence parsing with 4 or more argu- - ments can lead to ambiguities when it encounters strings that - look like primaries. The POSIX standard has deprecated the --aa - and --oo primaries and enclosing expressions within parentheses. - Scripts should no longer use them. It's much more reliable to - restrict test invocations to a single primary, and to replace + The historical operator-precedence parsing with 4 or more argu- + ments can lead to ambiguities when it encounters strings that + look like primaries. The POSIX standard has deprecated the --aa + and --oo primaries and enclosing expressions within parentheses. + Scripts should no longer use them. It's much more reliable to + restrict test invocations to a single primary, and to replace uses of --aa and --oo with the shell's &&&& and |||| list operators. - ttiimmeess Print the accumulated user and system times for the shell and + ttiimmeess Print the accumulated user and system times for the shell and for processes run from the shell. The return status is 0. ttrraapp [--llppPP] [[_a_c_t_i_o_n] _s_i_g_s_p_e_c ...] The _a_c_t_i_o_n is a command that is read and executed when the shell - receives any of the signals _s_i_g_s_p_e_c. If _a_c_t_i_o_n is absent (and + receives any of the signals _s_i_g_s_p_e_c. If _a_c_t_i_o_n is absent (and there is a single _s_i_g_s_p_e_c) or --, each specified _s_i_g_s_p_e_c is reset - to the value it had when the shell was started. If _a_c_t_i_o_n is - the null string the signal specified by each _s_i_g_s_p_e_c is ignored + to the value it had when the shell was started. If _a_c_t_i_o_n is + the null string the signal specified by each _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. - If no arguments are supplied, ttrraapp displays the actions associ- + If no arguments are supplied, ttrraapp displays the actions associ- ated with each trapped signal as a set of ttrraapp commands that can - be reused as shell input to restore the current signal disposi- - tions. If --pp is given, and _a_c_t_i_o_n is not present, then ttrraapp - displays the actions associated with each _s_i_g_s_p_e_c or, if none + be reused as shell input to restore the current signal disposi- + tions. If --pp is given, and _a_c_t_i_o_n is not present, then ttrraapp + displays the actions associated with each _s_i_g_s_p_e_c or, if none are supplied, for all trapped signals, as a set of ttrraapp commands - that can be reused as shell input to restore the current signal - dispositions. The --PP option behaves similarly, but displays - only the actions associated with each _s_i_g_s_p_e_c argument. --PP re- - quires at least one _s_i_g_s_p_e_c argument. The --PP or --pp options may - be used in a subshell environment (e.g., command substitution) - and, as long as they are used before ttrraapp is used to change a + that can be reused as shell input to restore the current signal + dispositions. The --PP option behaves similarly, but displays + only the actions associated with each _s_i_g_s_p_e_c argument. --PP re- + quires at least one _s_i_g_s_p_e_c argument. The --PP or --pp options may + be used in a subshell environment (e.g., command substitution) + and, as long as they are used before ttrraapp is used to change a signal's handling, will display the state of its parent's traps. - The --ll option prints a list of signal names and their corre- - sponding numbers. Each _s_i_g_s_p_e_c is either a signal name defined + The --ll option prints a list of signal names and their corre- + sponding numbers. Each _s_i_g_s_p_e_c is either a signal name defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are case insen- - sitive and the SSIIGG prefix is optional. If --ll is supplied with + sitive and the SSIIGG prefix is optional. If --ll is supplied with no _s_i_g_s_p_e_c arguments, it prints a list of valid signal names. - If a _s_i_g_s_p_e_c is EEXXIITT (0), _a_c_t_i_o_n is executed on exit from the - shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, _a_c_t_i_o_n is executed before every - _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, _s_e_l_e_c_t command, (( - arithmetic command, [[ conditional command, arithmetic _f_o_r com- - mand, and before the first command executes in a shell function - (see SSHHEELLLL GGRRAAMMMMAARR above). Refer to the description of the - eexxttddeebbuugg shell option (see sshhoopptt above) for details of its ef- - fect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is RREETTUURRNN, _a_c_t_i_o_n is exe- + If a _s_i_g_s_p_e_c is EEXXIITT (0), _a_c_t_i_o_n is executed on exit from the + shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, _a_c_t_i_o_n is executed before every + _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, _s_e_l_e_c_t command, (( + arithmetic command, [[ conditional command, arithmetic _f_o_r com- + mand, and before the first command executes in a shell function + (see SSHHEELLLL GGRRAAMMMMAARR above). Refer to the description of the + eexxttddeebbuugg shell option (see sshhoopptt above) for details of its ef- + fect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is RREETTUURRNN, _a_c_t_i_o_n is exe- cuted each time a shell function or a script executed with the .. or ssoouurrccee builtins finishes executing. - If a _s_i_g_s_p_e_c is EERRRR, _a_c_t_i_o_n is executed whenever a pipeline - (which may consist of a single simple command), a list, or a - compound command returns a non-zero exit status, subject to the - following conditions. The EERRRR trap is not executed if the + If a _s_i_g_s_p_e_c is EERRRR, _a_c_t_i_o_n is executed whenever a pipeline + (which may consist of a single simple command), a list, or a + compound command returns a non-zero exit status, subject to the + following conditions. The EERRRR trap is not executed if the failed command is part of the command list immediately following a wwhhiillee or uunnttiill reserved word, part of the test in an _i_f state- - ment, part of a command executed in a &&&& or |||| list except the - command following the final &&&& or ||||, any command in a pipeline - but the last (subject to the state of the ppiippeeffaaiill shell op- - tion), or if the command's return value is being inverted using + ment, part of a command executed in a &&&& or |||| list except the + command following the final &&&& or ||||, any command in a pipeline + but the last (subject to the state of the ppiippeeffaaiill shell op- + tion), or if the command's return value is being inverted using !!. These are the same conditions obeyed by the eerrrreexxiitt (--ee) op- tion. When the shell is not interactive, signals ignored upon entry to the shell cannot be trapped or reset. Interactive shells permit trapping signals ignored on entry. Trapped signals that are not - being ignored are reset to their original values in a subshell - or subshell environment when one is created. The return status + being ignored are reset to their original values in a subshell + or subshell environment when one is created. The return status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true. ttrruuee Does nothing, returns a 0 status. @@ -7029,61 +7035,61 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Indicate how each _n_a_m_e would be interpreted if used as a command name. - If the --tt option is used, ttyyppee prints a string which is one of - _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or _f_i_l_e if _n_a_m_e is an alias, - shell reserved word, function, builtin, or executable file, re- - spectively. If the _n_a_m_e is not found, ttyyppee prints nothing and + If the --tt option is used, ttyyppee prints a string which is one of + _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or _f_i_l_e if _n_a_m_e is an alias, + shell reserved word, function, builtin, or executable file, re- + spectively. If the _n_a_m_e is not found, ttyyppee prints nothing and returns a non-zero exit status. - If the --pp option is used, ttyyppee either returns the pathname of - the executable file that would be found by searching $$PPAATTHH for + If the --pp option is used, ttyyppee either returns the pathname of + the executable file that would be found by searching $$PPAATTHH for _n_a_m_e or nothing if "type -t name" would not return _f_i_l_e. The --PP - option forces a PPAATTHH search for each _n_a_m_e, even if "type -t + option forces a PPAATTHH search for each _n_a_m_e, even if "type -t name" would not return _f_i_l_e. If _n_a_m_e is present in the table of - hashed commands, --pp and --PP print the hashed value, which is not + hashed commands, --pp and --PP print the hashed value, which is not necessarily the file that appears first in PPAATTHH. - If the --aa option is used, ttyyppee prints all of the places that - contain a command named _n_a_m_e. This includes aliases, reserved - words, functions, and builtins, but the path search options (--pp - and --PP) can be supplied to restrict the output to executable - files. ttyyppee does not consult the table of hashed commands when + If the --aa option is used, ttyyppee prints all of the places that + contain a command named _n_a_m_e. This includes aliases, reserved + words, functions, and builtins, but the path search options (--pp + and --PP) can be supplied to restrict the output to executable + files. ttyyppee does not consult the table of hashed commands when using --aa with --pp, and only performs a PPAATTHH search for _n_a_m_e. The --ff option suppresses shell function lookup, as with the ccoomm-- - mmaanndd builtin. ttyyppee returns true if all of the arguments are + mmaanndd builtin. ttyyppee returns true if all of the arguments are found, false if any are not found. uulliimmiitt [--HHSS] --aa uulliimmiitt [--HHSS] [--bbccddeeffiikkllmmnnppqqrrssttuuvvxxPPRRTT [_l_i_m_i_t]] - Provides control over the resources available to the shell and + Provides control over the resources available to the shell and to processes it starts, on systems that allow such control. - The --HH and --SS options specify whether the hard or soft limit is + The --HH and --SS options specify whether the hard or soft limit is set for the given resource. A hard limit cannot be increased by a non-root user once it is set; a soft limit may be increased up - to the value of the hard limit. If neither --HH nor --SS is speci- + to the value of the hard limit. If neither --HH nor --SS is speci- fied, uulliimmiitt sets both the soft and hard limits. The value of _l_i_m_i_t can be a number in the unit specified for the - resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, - which stand for the current hard limit, the current soft limit, - and no limit, respectively. If _l_i_m_i_t is omitted, uulliimmiitt prints - the current value of the soft limit of the resource, unless the - --HH option is given. When more than one resource is specified, - the limit name and unit, if appropriate, are printed before the + resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, + which stand for the current hard limit, the current soft limit, + and no limit, respectively. If _l_i_m_i_t is omitted, uulliimmiitt prints + the current value of the soft limit of the resource, unless the + --HH option is given. When more than one resource is specified, + the limit name and unit, if appropriate, are printed before the value. Other options are interpreted as follows: --aa Report all current limits; no limits are set. --bb The maximum socket buffer size. --cc The maximum size of core files created. --dd The maximum size of a process's data segment. --ee The maximum scheduling priority ("nice"). - --ff The maximum size of files written by the shell and its + --ff The maximum size of files written by the shell and its children. --ii The maximum number of pending signals. --kk The maximum number of kqueues that may be allocated. --ll The maximum size that may be locked into memory. - --mm The maximum resident set size (many systems do not honor + --mm The maximum resident set size (many systems do not honor this limit). --nn The maximum number of open file descriptors (most systems do not allow this value to be set). @@ -7092,146 +7098,146 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr The maximum real-time scheduling priority. --ss The maximum stack size. --tt The maximum amount of cpu time in seconds. - --uu The maximum number of processes available to a single + --uu The maximum number of processes available to a single user. - --vv The maximum amount of virtual memory available to the + --vv The maximum amount of virtual memory available to the shell and, on some systems, to its children. --xx The maximum number of file locks. --PP The maximum number of pseudoterminals. - --RR The maximum time a real-time process can run before + --RR The maximum time a real-time process can run before blocking, in microseconds. --TT The maximum number of threads. - If _l_i_m_i_t is supplied, and the --aa option is not used, _l_i_m_i_t is - the new value of the specified resource. If no option is sup- + If _l_i_m_i_t is supplied, and the --aa option is not used, _l_i_m_i_t is + the new value of the specified resource. If no option is sup- plied, then --ff is assumed. - Values are in 1024-byte increments, except for --tt, which is in - seconds; --RR, which is in microseconds; --pp, which is in units of - 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled - values; and, when in posix mode, --cc and --ff, which are in - 512-byte increments. The return status is 0 unless an invalid + Values are in 1024-byte increments, except for --tt, which is in + seconds; --RR, which is in microseconds; --pp, which is in units of + 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and --uu, which are unscaled + values; and, when in posix mode, --cc and --ff, which are in + 512-byte increments. The return status is 0 unless an invalid option or argument is supplied, or an error occurs while setting a new limit. uummaasskk [--pp] [--SS] [_m_o_d_e] - Set the user file-creation mask to _m_o_d_e. If _m_o_d_e begins with a + Set the user file-creation mask to _m_o_d_e. If _m_o_d_e begins with a digit, it is interpreted as an octal number; otherwise it is in- - terpreted as a symbolic mode mask similar to that accepted by + terpreted as a symbolic mode mask similar to that accepted by _c_h_m_o_d(1). If _m_o_d_e is omitted, uummaasskk prints the current value of the mask. The --SS option without a _m_o_d_e argument prints the mask in a symbolic format; the default output is an octal number. If the --pp option is supplied, and _m_o_d_e is omitted, the output is in - a form that may be reused as input. The return status is zero - if the mode was successfully changed or if no _m_o_d_e argument was + a form that may be reused as input. The return status is zero + if the mode was successfully changed or if no _m_o_d_e argument was supplied, and non-zero otherwise. uunnaalliiaass [-aa] [_n_a_m_e ...] - Remove each _n_a_m_e from the list of defined aliases. If --aa is - supplied, remove all alias definitions. The return value is + Remove each _n_a_m_e from the list of defined aliases. If --aa is + supplied, remove all alias definitions. The return value is true unless a supplied _n_a_m_e is not a defined alias. uunnsseett [-ffvv] [-nn] [_n_a_m_e ...] - For each _n_a_m_e, remove the corresponding variable or function. + For each _n_a_m_e, remove the corresponding variable or function. If the --vv option is given, each _n_a_m_e refers to a shell variable, - and that variable is removed. If --ff is specified, each _n_a_m_e - refers to a shell function, and the function definition is re- - moved. If the --nn option is supplied, and _n_a_m_e is a variable - with the _n_a_m_e_r_e_f attribute, _n_a_m_e will be unset rather than the - variable it references. --nn has no effect if the --ff option is - supplied. Read-only variables and functions may not be unset. - When variables or functions are removed, they are also removed - from the environment passed to subsequent commands. If no op- - tions are supplied, each _n_a_m_e refers to a variable; if there is - no variable by that name, a function with that name, if any, is - unset. Some shell variables may not be unset. If any of + and that variable is removed. If --ff is specified, each _n_a_m_e + refers to a shell function, and the function definition is re- + moved. If the --nn option is supplied, and _n_a_m_e is a variable + with the _n_a_m_e_r_e_f attribute, _n_a_m_e will be unset rather than the + variable it references. --nn has no effect if the --ff option is + supplied. Read-only variables and functions may not be unset. + When variables or functions are removed, they are also removed + from the environment passed to subsequent commands. If no op- + tions are supplied, each _n_a_m_e refers to a variable; if there is + no variable by that name, a function with that name, if any, is + unset. Some shell variables may not be unset. If any of BBAASSHH__AALLIIAASSEESS, BBAASSHH__AARRGGVV00, BBAASSHH__CCMMDDSS, BBAASSHH__CCOOMMMMAANNDD, BBAASSHH__SSUUBB-- - SSHHEELLLL, BBAASSHHPPIIDD, CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, - EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECC-- - OONNDDSS, or SSRRAANNDDOOMM are unset, they lose their special properties, - even if they are subsequently reset. The exit status is true + SSHHEELLLL, BBAASSHHPPIIDD, CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, + EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECC-- + OONNDDSS, or SSRRAANNDDOOMM are unset, they lose their special properties, + even if they are subsequently reset. The exit status is true unless a _n_a_m_e is readonly or may not be unset. wwaaiitt [--ffnn] [--pp _v_a_r_n_a_m_e] [_i_d ...] Wait for each specified child process _i_d and return the termina- - tion status of the last _i_d. Each _i_d may be a process ID _p_i_d or - a job specification _j_o_b_s_p_e_c; if a jobspec is supplied, wwaaiitt + tion status of the last _i_d. Each _i_d may be a process ID _p_i_d or + a job specification _j_o_b_s_p_e_c; if a jobspec is supplied, wwaaiitt waits for all processes in the job. - If no options or _i_ds are supplied, wwaaiitt waits for all running - background jobs and the last-executed process substitution, if + If no options or _i_ds are supplied, wwaaiitt waits for all running + background jobs and the last-executed process substitution, if its process id is the same as $$!!, and the return status is zero. - If the --nn option is supplied, wwaaiitt waits for any one of the + If the --nn option is supplied, wwaaiitt waits for any one of the given _i_ds or, if no _i_ds are supplied, any job or process substi- tution, to complete and returns its exit status. If none of the - supplied _i_ds is a child of the shell, or if no _i_ds are supplied - and the shell has no unwaited-for children, the exit status is + supplied _i_ds is a child of the shell, or if no _i_ds are supplied + and the shell has no unwaited-for children, the exit status is 127. - If the --pp option is supplied, wwaaiitt assigns the process or job - identifier of the job for which the exit status is returned to - the variable _v_a_r_n_a_m_e named by the option argument. The vari- - able, which cannot be readonly, will be unset initially, before - any assignment. This is useful only when used with the --nn op- + If the --pp option is supplied, wwaaiitt assigns the process or job + identifier of the job for which the exit status is returned to + the variable _v_a_r_n_a_m_e named by the option argument. The vari- + able, which cannot be readonly, will be unset initially, before + any assignment. This is useful only when used with the --nn op- tion. - Supplying the --ff option, when job control is enabled, forces - wwaaiitt to wait for each _i_d to terminate before returning its sta- + Supplying the --ff option, when job control is enabled, forces + wwaaiitt to wait for each _i_d to terminate before returning its sta- tus, instead of returning when it changes status. - If none of the _i_ds specify one of the shell's active child - processes, the return status is 127. If wwaaiitt is interrupted by - a signal, any _v_a_r_n_a_m_e will remain unset, and the return status - will be greater than 128, as described under SSIIGGNNAALLSS above. + If none of the _i_ds specify one of the shell's active child + processes, the return status is 127. If wwaaiitt is interrupted by + a signal, any _v_a_r_n_a_m_e will remain unset, and the return status + will be greater than 128, as described under SSIIGGNNAALLSS above. Otherwise, the return status is the exit status of the last _i_d. SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE - Bash-4.0 introduced the concept of a _s_h_e_l_l _c_o_m_p_a_t_i_b_i_l_i_t_y _l_e_v_e_l, speci- + Bash-4.0 introduced the concept of a _s_h_e_l_l _c_o_m_p_a_t_i_b_i_l_i_t_y _l_e_v_e_l, speci- fied as a set of options to the shopt builtin (ccoommppaatt3311, ccoommppaatt3322, ccoomm-- - ppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibility + ppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibility level -- each option is mutually exclusive. The compatibility level is - intended to allow users to select behavior from previous versions that - is incompatible with newer versions while they migrate scripts to use - current features and behavior. It's intended to be a temporary solu- + intended to allow users to select behavior from previous versions that + is incompatible with newer versions while they migrate scripts to use + current features and behavior. It's intended to be a temporary solu- tion. - This section does not mention behavior that is standard for a particu- - lar version (e.g., setting ccoommppaatt3322 means that quoting the right hand - side of the regexp matching operator quotes special regexp characters - in the word, which is default behavior in bash-3.2 and subsequent ver- + This section does not mention behavior that is standard for a particu- + lar version (e.g., setting ccoommppaatt3322 means that quoting the right hand + side of the regexp matching operator quotes special regexp characters + in the word, which is default behavior in bash-3.2 and subsequent ver- sions). - If a user enables, say, ccoommppaatt3322, it may affect the behavior of other - compatibility levels up to and including the current compatibility - level. The idea is that each compatibility level controls behavior - that changed in that version of bbaasshh, but that behavior may have been - present in earlier versions. For instance, the change to use locale- - based comparisons with the [[[[ command came in bash-4.1, and earlier + If a user enables, say, ccoommppaatt3322, it may affect the behavior of other + compatibility levels up to and including the current compatibility + level. The idea is that each compatibility level controls behavior + that changed in that version of bbaasshh, but that behavior may have been + present in earlier versions. For instance, the change to use locale- + based comparisons with the [[[[ command came in bash-4.1, and earlier versions used ASCII-based comparisons, so enabling ccoommppaatt3322 will enable - ASCII-based comparisons as well. That granularity may not be suffi- - cient for all uses, and as a result users should employ compatibility - levels carefully. Read the documentation for a particular feature to + ASCII-based comparisons as well. That granularity may not be suffi- + cient for all uses, and as a result users should employ compatibility + levels carefully. Read the documentation for a particular feature to find out the current behavior. - Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as- + Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as- signed to this variable (a decimal version number like 4.2, or an inte- - ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com- + ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com- patibility level. Starting with bash-4.4, bbaasshh began deprecating older compatibility lev- els. Eventually, the options will be removed in favor of BBAASSHH__CCOOMMPPAATT. - Bash-5.0 was the final version for which there was an individual shopt - option for the previous version. BBAASSHH__CCOOMMPPAATT is the only mechanism to + Bash-5.0 was the final version for which there was an individual shopt + option for the previous version. BBAASSHH__CCOOMMPPAATT is the only mechanism to control the compatibility level in versions newer than bash-5.0. - The following table describes the behavior changes controlled by each + The following table describes the behavior changes controlled by each compatibility level setting. The ccoommppaatt_N_N tag is used as shorthand for setting the compatibility level to _N_N using one of the following mecha- - nisms. For versions prior to bash-5.0, the compatibility level may be - set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and - later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re- + nisms. For versions prior to bash-5.0, the compatibility level may be + set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and + later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re- quired for bash-5.1 and later versions. ccoommppaatt3311 @@ -7239,173 +7245,173 @@ SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE ator (=~) has no special effect. ccoommppaatt3322 - +o The << and >> operators to the [[[[ command do not consider + +o The << and >> operators to the [[[[ command do not consider the current locale when comparing strings; they use ASCII ordering. ccoommppaatt4400 - +o The << and >> operators to the [[[[ command do not consider + +o The << and >> operators to the [[[[ command do not consider the current locale when comparing strings; they use ASCII ordering. BBaasshh versions prior to bash-4.1 use ASCII col- - lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current + lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current locale's collation sequence and _s_t_r_c_o_l_l(3). ccoommppaatt4411 - +o In posix mode, ttiimmee may be followed by options and still + +o In posix mode, ttiimmee may be followed by options and still be recognized as a reserved word (this is POSIX interpre- tation 267). +o In _p_o_s_i_x mode, the parser requires that an even number of - single quotes occur in the _w_o_r_d portion of a double- - quoted parameter expansion and treats them specially, so - that characters within the single quotes are considered + single quotes occur in the _w_o_r_d portion of a double- + quoted parameter expansion and treats them specially, so + that characters within the single quotes are considered quoted (this is POSIX interpretation 221). ccoommppaatt4422 +o The replacement string in double-quoted pattern substitu- - tion does not undergo quote removal, as it does in ver- + tion does not undergo quote removal, as it does in ver- sions after bash-4.2. - +o In posix mode, single quotes are considered special when - expanding the _w_o_r_d portion of a double-quoted parameter - expansion and can be used to quote a closing brace or - other special character (this is part of POSIX interpre- - tation 221); in later versions, single quotes are not + +o In posix mode, single quotes are considered special when + expanding the _w_o_r_d portion of a double-quoted parameter + expansion and can be used to quote a closing brace or + other special character (this is part of POSIX interpre- + tation 221); in later versions, single quotes are not special within double-quoted word expansions. ccoommppaatt4433 - +o Word expansion errors are considered non-fatal errors - that cause the current command to fail, even in posix - mode (the default behavior is to make them fatal errors + +o Word expansion errors are considered non-fatal errors + that cause the current command to fail, even in posix + mode (the default behavior is to make them fatal errors that cause the shell to exit). - +o When executing a shell function, the loop state + +o When executing a shell function, the loop state (while/until/etc.) is not reset, so bbrreeaakk or ccoonnttiinnuuee in that function will break or continue loops in the calling context. Bash-4.4 and later reset the loop state to pre- vent this. ccoommppaatt4444 - +o The shell sets up the values used by BBAASSHH__AARRGGVV and - BBAASSHH__AARRGGCC so they can expand to the shell's positional - parameters even if extended debugging mode is not en- + +o The shell sets up the values used by BBAASSHH__AARRGGVV and + BBAASSHH__AARRGGCC so they can expand to the shell's positional + parameters even if extended debugging mode is not en- abled. - +o A subshell inherits loops from its parent context, so - bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit. - Bash-5.0 and later reset the loop state to prevent the + +o A subshell inherits loops from its parent context, so + bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit. + Bash-5.0 and later reset the loop state to prevent the exit - +o Variable assignments preceding builtins like eexxppoorrtt and + +o Variable assignments preceding builtins like eexxppoorrtt and rreeaaddoonnllyy that set attributes continue to affect variables with the same name in the calling environment even if the shell is not in posix mode. ccoommppaatt5500 - +o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro- - duce slightly more randomness. If the shell compatibil- + +o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro- + duce slightly more randomness. If the shell compatibil- ity level is set to 50 or lower, it reverts to the method - from bash-5.0 and previous versions, so seeding the ran- - dom number generator by assigning a value to RRAANNDDOOMM will + from bash-5.0 and previous versions, so seeding the ran- + dom number generator by assigning a value to RRAANNDDOOMM will produce the same sequence as in bash-5.0. - +o If the command hash table is empty, bash versions prior - to bash-5.1 printed an informational message to that ef- - fect, even when producing output that can be reused as - input. Bash-5.1 suppresses that message when the --ll op- + +o If the command hash table is empty, bash versions prior + to bash-5.1 printed an informational message to that ef- + fect, even when producing output that can be reused as + input. Bash-5.1 suppresses that message when the --ll op- tion is supplied. ccoommppaatt5511 - +o The uunnsseett builtin treats attempts to unset array sub- - scripts @@ and ** differently depending on whether the ar- - ray is indexed or associative, and differently than in + +o The uunnsseett builtin treats attempts to unset array sub- + scripts @@ and ** differently depending on whether the ar- + ray is indexed or associative, and differently than in previous versions. +o Arithmetic commands ( ((((...)))) ) and the expressions in an arithmetic for statement can be expanded more than once. - +o Expressions used as arguments to arithmetic operators in - the [[[[ conditional command can be expanded more than + +o Expressions used as arguments to arithmetic operators in + the [[[[ conditional command can be expanded more than once. - +o The expressions in substring parameter brace expansion + +o The expressions in substring parameter brace expansion can be expanded more than once. +o The expressions in the $$((((...)))) word expansion can be ex- panded more than once. - +o Arithmetic expressions used as indexed array subscripts + +o Arithmetic expressions used as indexed array subscripts can be expanded more than once. - +o tteesstt --vv, when given an argument of AA[[@@]], where AA is an + +o tteesstt --vv, when given an argument of AA[[@@]], where AA is an existing associative array, will return true if the array - has any set elements. Bash-5.2 will look for and report + has any set elements. Bash-5.2 will look for and report on a key named @@. +o The ${_p_a_r_a_m_e_t_e_r[[::]]==_v_a_l_u_e} word expansion will return - _v_a_l_u_e, before any variable-specific transformations have + _v_a_l_u_e, before any variable-specific transformations have been performed (e.g., converting to lowercase). Bash-5.2 will return the final value assigned to the variable. - +o Parsing command substitutions will behave as if extended + +o Parsing command substitutions will behave as if extended globbing (see the description of the sshhoopptt builtin above) - is enabled, so that parsing a command substitution con- + is enabled, so that parsing a command substitution con- taining an extglob pattern (say, as part of a shell func- - tion) will not fail. This assumes the intent is to en- - able extglob before the command is executed and word ex- - pansions are performed. It will fail at word expansion - time if extglob hasn't been enabled by the time the com- + tion) will not fail. This assumes the intent is to en- + able extglob before the command is executed and word ex- + pansions are performed. It will fail at word expansion + time if extglob hasn't been enabled by the time the com- mand is executed. ccoommppaatt5522 - +o The tteesstt builtin uses its historical algorithm to parse - parenthesized subexpressions when given five or more ar- + +o The tteesstt builtin uses its historical algorithm to parse + parenthesized subexpressions when given five or more ar- guments. - +o If the --pp or --PP option is supplied to the bbiinndd builtin, + +o If the --pp or --PP option is supplied to the bbiinndd builtin, bbiinndd treats any arguments remaining after option process- - ing as bindable command names, and displays any key se- - quences bound to those commands, instead of treating the + ing as bindable command names, and displays any key se- + quences bound to those commands, instead of treating the arguments as key sequences to bind. RREESSTTRRIICCTTEEDD SSHHEELLLL If bbaasshh is started with the name rrbbaasshh, or the --rr option is supplied at - invocation, the shell becomes _r_e_s_t_r_i_c_t_e_d. A restricted shell is used - to set up an environment more controlled than the standard shell. It - behaves identically to bbaasshh with the exception that the following are + invocation, the shell becomes _r_e_s_t_r_i_c_t_e_d. A restricted shell is used + to set up an environment more controlled than the standard shell. It + behaves identically to bbaasshh with the exception that the following are disallowed or not performed: +o Changing directories with ccdd. - +o Setting or unsetting the values of SSHHEELLLL, PPAATTHH, HHIISSTTFFIILLEE, EENNVV, + +o Setting or unsetting the values of SSHHEELLLL, PPAATTHH, HHIISSTTFFIILLEE, EENNVV, or BBAASSHH__EENNVV. +o Specifying command names containing //. - +o Specifying a filename containing a // as an argument to the .. + +o Specifying a filename containing a // as an argument to the .. builtin command. - +o Using the --pp option to the .. builtin command to specify a + +o Using the --pp option to the .. builtin command to specify a search path. - +o Specifying a filename containing a slash as an argument to the + +o Specifying a filename containing a slash as an argument to the hhiissttoorryy builtin command. - +o Specifying a filename containing a slash as an argument to the + +o Specifying a filename containing a slash as an argument to the --pp option to the hhaasshh builtin command. - +o Importing function definitions from the shell environment at + +o Importing function definitions from the shell environment at startup. - +o Parsing the values of BBAASSHHOOPPTTSS and SSHHEELLLLOOPPTTSS from the shell en- + +o Parsing the values of BBAASSHHOOPPTTSS and SSHHEELLLLOOPPTTSS from the shell en- vironment at startup. - +o Redirecting output using the >, >|, <>, >&, &>, and >> redirec- + +o Redirecting output using the >, >|, <>, >&, &>, and >> redirec- tion operators. +o Using the eexxeecc builtin command to replace the shell with another command. - +o Adding or deleting builtin commands with the --ff and --dd options + +o Adding or deleting builtin commands with the --ff and --dd options to the eennaabbllee builtin command. - +o Using the eennaabbllee builtin command to enable disabled shell + +o Using the eennaabbllee builtin command to enable disabled shell builtins. +o Specifying the --pp option to the ccoommmmaanndd builtin command. - +o Turning off restricted mode with sseett ++rr or sshhoopptt --uu rree-- + +o Turning off restricted mode with sseett ++rr or sshhoopptt --uu rree-- ssttrriicctteedd__sshheellll. These restrictions are enforced after any startup files are read. When a command that is found to be a shell script is executed (see CCOOMM-- - MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell + MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell spawned to execute the script. SSEEEE AALLSSOO @@ -7430,10 +7436,10 @@ FFIILLEESS _~_/_._b_a_s_h_r_c The individual per-interactive-shell startup file _~_/_._b_a_s_h___l_o_g_o_u_t - The individual login shell cleanup file, executed when a login + The individual login shell cleanup file, executed when a login shell exits _~_/_._b_a_s_h___h_i_s_t_o_r_y - The default value of HHIISSTTFFIILLEE, the file in which bash saves the + The default value of HHIISSTTFFIILLEE, the file in which bash saves the command history _~_/_._i_n_p_u_t_r_c Individual _r_e_a_d_l_i_n_e initialization file @@ -7447,15 +7453,15 @@ AAUUTTHHOORRSS BBUUGG RREEPPOORRTTSS If you find a bug in bbaasshh, you should report it. But first, you should - make sure that it really is a bug, and that it appears in the latest - version of bbaasshh. The latest version is always available from + make sure that it really is a bug, and that it appears in the latest + version of bbaasshh. The latest version is always available from _f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_g_n_u_/_b_a_s_h_/ and _h_t_t_p_:_/_/_g_i_t_._s_a_v_a_n_- _n_a_h_._g_n_u_._o_r_g_/_c_g_i_t_/_b_a_s_h_._g_i_t_/_s_n_a_p_s_h_o_t_/_b_a_s_h_-_m_a_s_t_e_r_._t_a_r_._g_z. - Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g - command to submit a bug report. If you have a fix, you are encouraged + Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g + command to submit a bug report. If you have a fix, you are encouraged to mail that as well! You may send suggestions and "philosophical" bug - reports to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or post them to the Usenet newsgroup + reports to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or post them to the Usenet newsgroup ggnnuu..bbaasshh..bbuugg. ALL bug reports should include: @@ -7466,7 +7472,7 @@ BBUUGG RREEPPOORRTTSS A description of the bug behavior A short script or "recipe" which exercises the bug - _b_a_s_h_b_u_g inserts the first three items automatically into the template + _b_a_s_h_b_u_g inserts the first three items automatically into the template it provides for filing a bug report. Comments and bug reports concerning this manual page should be directed @@ -7482,14 +7488,14 @@ BBUUGGSS Shell builtin commands and functions are not stoppable/restartable. - Compound commands and command lists of the form "a ; b ; c" are not - handled gracefully when combined with process suspension. When a - process is stopped, the shell immediately executes the next command in - the list or breaks out of any existing loops. It suffices to enclose - the command in parentheses to force it into a subshell, which may be - stopped as a unit, or to start the command in the background and imme- + Compound commands and command lists of the form "a ; b ; c" are not + handled gracefully when combined with process suspension. When a + process is stopped, the shell immediately executes the next command in + the list or breaks out of any existing loops. It suffices to enclose + the command in parentheses to force it into a subshell, which may be + stopped as a unit, or to start the command in the background and imme- diately bring it into the foreground. Array variables may not (yet) be exported. -GNU Bash 5.3 2025 February 24 _B_A_S_H(1) +GNU Bash 5.3 2025 April 7 _B_A_S_H(1) diff --git a/doc/bash.html b/doc/bash.html index fa06a35b..3a13c3d2 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ -
BASH(1)2025 February 24BASH(1) +BASH(1)2025 April 7BASH(1)

Index @@ -3291,8 +3291,13 @@ the shell does not save the command history when it exits.
The maximum number of lines contained in the history file. When this variable is assigned a value, the history file is truncated, -if necessary, to contain no more than that number of lines +if necessary, to contain no more than +the number of history entries +that total no more than that number of lines by removing the oldest entries. +If the history list contains multi-line entries, +the history file may contain more lines than this maximum +to avoid leaving partial history entries. The history file is also truncated to this size after writing it when a shell exits or by the history @@ -12740,7 +12745,7 @@ Any trap on is executed before the shell terminates.
export [-fn] [name[=value]] ...
-
export -p +
export -p [-f]
@@ -12764,11 +12769,14 @@ option unexports, or removes the export attribute, from each name. If no names -are given, or if the +are given, or if only the -p -option is supplied, export prints a list of names of all exported +option is supplied, +export displays a list of names of all exported variables on the standard output. +Using -p and -f together displays exported functions. +The -p option displays output in a form that may be reused as input.
export allows the value of a variable to be set when it is exported or unexported by following the variable name with =value. @@ -16813,7 +16821,7 @@ Array variables may not (yet) be exported.
-
GNU Bash 5.32025 February 24BASH(1) +GNU Bash 5.32025 April 7BASH(1)

@@ -16922,7 +16930,7 @@ Array variables may not (yet) be exported.
BUGS

-This document was created by man2html from /usr/local/src/bash/bash-20250331/doc/bash.1.
-Time: 31 March 2025 10:28:25 EDT +This document was created by man2html from /usr/local/src/bash/bash-20250418/doc/bash.1.
+Time: 22 April 2025 10:00:07 EDT diff --git a/doc/bash.info b/doc/bash.info index 625ddd0c..c95e7dc5 100644 --- a/doc/bash.info +++ b/doc/bash.info @@ -1,9 +1,9 @@ This is bash.info, produced by makeinfo version 7.1 from bashref.texi. This text is a brief description of the features that are present in the -Bash shell (version 5.3, 24 February 2025). +Bash shell (version 5.3, 7 April 2025). - This is Edition 5.3, last updated 24 February 2025, of ‘The GNU Bash + This is Edition 5.3, last updated 7 April 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, 24 February 2025). The Bash home page is +Bash shell (version 5.3, 7 April 2025). The Bash home page is . - This is Edition 5.3, last updated 24 February 2025, of ‘The GNU Bash + This is Edition 5.3, last updated 7 April 2025, of ‘The GNU Bash Reference Manual’, for ‘Bash’, Version 5.3. Bash contains features that appear in other popular shells, and some @@ -3597,9 +3597,10 @@ standard. to shell functions; otherwise the names refer to shell variables. The ‘-n’ option means to unexport each name: no longer mark it for - export. If no NAMEs are supplied, or if the ‘-p’ option is given, - ‘export’ displays a list of names of all exported variables on the - standard output. The ‘-p’ option displays output in a form that + export. If no NAMEs are supplied, or if only the ‘-p’ option is + given, ‘export’ displays a list of names of all exported variables + on the standard output. Using ‘-p’ and ‘-f’ together displays + exported functions. The ‘-p’ option displays output in a form that may be reused as input. ‘export’ allows the value of a variable to be set at the same time @@ -6104,13 +6105,16 @@ Variables::). ‘HISTFILESIZE’ The maximum number of lines contained in the history file. When this variable is assigned a value, the history file is truncated, - if necessary, to contain no more than that number of lines by - removing the oldest entries. The history file is also truncated to - this size after writing it when a shell exits or by the ‘history’ - builtin. If the value is 0, the history file is truncated to zero - size. Non-numeric values and numeric values less than zero inhibit - truncation. The shell sets the default value to the value of - ‘HISTSIZE’ after reading any startup files. + if necessary, to contain no more than the number of history entries + that total no more than that number of lines by removing the oldest + entries. If the history list contains multi-line entries, the + history file may contain more lines than this maximum to avoid + leaving partial history entries. The history file is also + truncated to this size after writing it when a shell exits or by + the ‘history’ builtin. If the value is 0, the history file is + truncated to zero size. Non-numeric values and numeric values less + than zero inhibit truncation. The shell sets the default value to + the value of ‘HISTSIZE’ after reading any startup files. ‘HISTIGNORE’ A colon-separated list of patterns used to decide which command @@ -12825,7 +12829,7 @@ D.1 Index of Shell Builtin Commands * .: Bourne Shell Builtins. (line 17) * [: Bourne Shell Builtins. - (line 338) + (line 339) * alias: Bash Builtins. (line 11) * bg: Job Control Builtins. (line 7) @@ -12861,15 +12865,15 @@ D.1 Index of Shell Builtin Commands * export: Bourne Shell Builtins. (line 152) * false: Bourne Shell Builtins. - (line 174) + (line 175) * fc: Bash History Builtins. (line 10) * fg: Job Control Builtins. (line 17) * getopts: Bourne Shell Builtins. - (line 179) + (line 180) * hash: Bourne Shell Builtins. - (line 231) + (line 232) * help: Bash Builtins. (line 375) * history: Bash History Builtins. (line 59) @@ -12885,38 +12889,38 @@ D.1 Index of Shell Builtin Commands (line 37) * printf: Bash Builtins. (line 488) * pushd: Directory Stack Builtins. - (line 70) + (line 71) * pwd: Bourne Shell Builtins. - (line 263) + (line 264) * read: Bash Builtins. (line 558) * readarray: Bash Builtins. (line 669) * readonly: Bourne Shell Builtins. - (line 275) + (line 276) * return: Bourne Shell Builtins. - (line 300) + (line 301) * set: The Set Builtin. (line 11) * shift: Bourne Shell Builtins. - (line 325) + (line 326) * shopt: The Shopt Builtin. (line 9) * source: Bash Builtins. (line 678) * suspend: Job Control Builtins. (line 139) * test: Bourne Shell Builtins. - (line 338) + (line 339) * times: Bourne Shell Builtins. - (line 438) + (line 439) * trap: Bourne Shell Builtins. - (line 444) + (line 445) * true: Bourne Shell Builtins. - (line 510) + (line 511) * type: Bash Builtins. (line 683) * typeset: Bash Builtins. (line 720) * ulimit: Bash Builtins. (line 726) * umask: Bourne Shell Builtins. - (line 515) + (line 516) * unalias: Bash Builtins. (line 834) * unset: Bourne Shell Builtins. - (line 533) + (line 534) * wait: Job Control Builtins. (line 86) @@ -13093,51 +13097,51 @@ D.3 Parameter and Variable Index * HISTCONTROL: Bash Variables. (line 443) * HISTFILE: Bash Variables. (line 461) * HISTFILESIZE: Bash Variables. (line 467) -* HISTIGNORE: Bash Variables. (line 478) +* HISTIGNORE: Bash Variables. (line 481) * history-preserve-point: Readline Init File Syntax. (line 234) * history-size: Readline Init File Syntax. (line 240) -* HISTSIZE: Bash Variables. (line 502) -* HISTTIMEFORMAT: Bash Variables. (line 509) +* 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) -* HOSTFILE: Bash Variables. (line 518) -* HOSTNAME: Bash Variables. (line 529) -* HOSTTYPE: Bash Variables. (line 532) +* HOSTFILE: Bash Variables. (line 521) +* HOSTNAME: Bash Variables. (line 532) +* HOSTTYPE: Bash Variables. (line 535) * IFS: Bourne Shell Variables. (line 18) -* IGNOREEOF: Bash Variables. (line 535) +* IGNOREEOF: Bash Variables. (line 538) * input-meta: Readline Init File Syntax. (line 258) -* INPUTRC: Bash Variables. (line 544) -* INSIDE_EMACS: Bash Variables. (line 548) +* INPUTRC: Bash Variables. (line 547) +* INSIDE_EMACS: Bash Variables. (line 551) * isearch-terminators: Readline Init File Syntax. (line 269) * keymap: Readline Init File Syntax. (line 276) * LANG: Creating Internationalized Scripts. (line 51) -* LANG <1>: Bash Variables. (line 554) -* LC_ALL: Bash Variables. (line 558) -* LC_COLLATE: Bash Variables. (line 562) -* LC_CTYPE: Bash Variables. (line 569) +* LANG <1>: Bash Variables. (line 557) +* LC_ALL: Bash Variables. (line 561) +* LC_COLLATE: Bash Variables. (line 565) +* LC_CTYPE: Bash Variables. (line 572) * LC_MESSAGES: Creating Internationalized Scripts. (line 51) -* LC_MESSAGES <1>: Bash Variables. (line 574) -* LC_NUMERIC: Bash Variables. (line 578) -* LC_TIME: Bash Variables. (line 582) -* LINENO: Bash Variables. (line 586) -* LINES: Bash Variables. (line 593) -* MACHTYPE: Bash Variables. (line 599) +* LC_MESSAGES <1>: Bash Variables. (line 577) +* LC_NUMERIC: Bash Variables. (line 581) +* LC_TIME: Bash Variables. (line 585) +* LINENO: Bash Variables. (line 589) +* LINES: Bash Variables. (line 596) +* MACHTYPE: Bash Variables. (line 602) * MAIL: Bourne Shell Variables. (line 24) -* MAILCHECK: Bash Variables. (line 603) +* MAILCHECK: Bash Variables. (line 606) * MAILPATH: Bourne Shell Variables. (line 29) -* MAPFILE: Bash Variables. (line 611) +* MAPFILE: Bash Variables. (line 614) * mark-modified-lines: Readline Init File Syntax. (line 306) * mark-symlinked-directories: Readline Init File Syntax. @@ -13148,46 +13152,46 @@ D.3 Parameter and Variable Index (line 323) * meta-flag: Readline Init File Syntax. (line 258) -* OLDPWD: Bash Variables. (line 615) +* OLDPWD: Bash Variables. (line 618) * OPTARG: Bourne Shell Variables. (line 36) -* OPTERR: Bash Variables. (line 618) +* OPTERR: Bash Variables. (line 621) * OPTIND: Bourne Shell Variables. (line 40) -* OSTYPE: Bash Variables. (line 623) +* OSTYPE: Bash Variables. (line 626) * output-meta: Readline Init File Syntax. (line 328) * page-completions: Readline Init File Syntax. (line 337) * PATH: Bourne Shell Variables. (line 44) -* PIPESTATUS: Bash Variables. (line 626) -* POSIXLY_CORRECT: Bash Variables. (line 636) -* PPID: Bash Variables. (line 646) -* PROMPT_COMMAND: Bash Variables. (line 650) -* PROMPT_DIRTRIM: Bash Variables. (line 656) -* PS0: Bash Variables. (line 662) +* PIPESTATUS: Bash Variables. (line 629) +* POSIXLY_CORRECT: Bash Variables. (line 639) +* PPID: Bash Variables. (line 649) +* PROMPT_COMMAND: Bash Variables. (line 653) +* PROMPT_DIRTRIM: Bash Variables. (line 659) +* PS0: Bash Variables. (line 665) * PS1: Bourne Shell Variables. (line 53) * PS2: Bourne Shell Variables. (line 58) -* PS3: Bash Variables. (line 667) -* PS4: Bash Variables. (line 672) -* PWD: Bash Variables. (line 680) -* RANDOM: Bash Variables. (line 683) -* READLINE_ARGUMENT: Bash Variables. (line 691) -* READLINE_LINE: Bash Variables. (line 695) -* READLINE_MARK: Bash Variables. (line 699) -* READLINE_POINT: Bash Variables. (line 705) -* REPLY: Bash Variables. (line 709) +* PS3: Bash Variables. (line 670) +* PS4: Bash Variables. (line 675) +* PWD: Bash Variables. (line 683) +* RANDOM: Bash Variables. (line 686) +* READLINE_ARGUMENT: Bash Variables. (line 694) +* READLINE_LINE: Bash Variables. (line 698) +* READLINE_MARK: Bash Variables. (line 702) +* READLINE_POINT: Bash Variables. (line 708) +* REPLY: Bash Variables. (line 712) * revert-all-at-newline: Readline Init File Syntax. (line 350) * search-ignore-case: Readline Init File Syntax. (line 357) -* SECONDS: Bash Variables. (line 713) -* SHELL: Bash Variables. (line 723) -* SHELLOPTS: Bash Variables. (line 728) -* SHLVL: Bash Variables. (line 738) +* 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) * show-all-if-unmodified: Readline Init File Syntax. @@ -13196,15 +13200,15 @@ D.3 Parameter and Variable Index (line 377) * skip-completed-text: Readline Init File Syntax. (line 383) -* SRANDOM: Bash Variables. (line 743) +* SRANDOM: Bash Variables. (line 746) * TEXTDOMAIN: Creating Internationalized Scripts. (line 51) * TEXTDOMAINDIR: Creating Internationalized Scripts. (line 51) -* TIMEFORMAT: Bash Variables. (line 752) -* TMOUT: Bash Variables. (line 791) -* TMPDIR: Bash Variables. (line 803) -* UID: Bash Variables. (line 807) +* TIMEFORMAT: Bash Variables. (line 755) +* TMOUT: Bash Variables. (line 794) +* TMPDIR: Bash Variables. (line 806) +* UID: Bash Variables. (line 810) * vi-cmd-mode-string: Readline Init File Syntax. (line 396) * vi-ins-mode-string: Readline Init File Syntax. @@ -13599,138 +13603,138 @@ D.5 Concept Index  Tag Table: -Node: Top901 -Node: Introduction2842 -Node: What is Bash?3055 -Node: What is a shell?4188 -Node: Definitions6798 -Node: Basic Shell Features10125 -Node: Shell Syntax11349 -Node: Shell Operation12376 -Node: Quoting13667 -Node: Escape Character15005 -Node: Single Quotes15540 -Node: Double Quotes15889 -Node: ANSI-C Quoting17234 -Node: Locale Translation18628 -Node: Creating Internationalized Scripts20031 -Node: Comments24229 -Node: Shell Commands24996 -Node: Reserved Words25935 -Node: Simple Commands26800 -Node: Pipelines27462 -Node: Lists30718 -Node: Compound Commands32590 -Node: Looping Constructs33599 -Node: Conditional Constructs36148 -Node: Command Grouping51218 -Node: Coprocesses52710 -Node: GNU Parallel55396 -Node: Shell Functions56314 -Node: Shell Parameters64762 -Node: Positional Parameters69663 -Node: Special Parameters70753 -Node: Shell Expansions74214 -Node: Brace Expansion76403 -Node: Tilde Expansion79739 -Node: Shell Parameter Expansion82694 -Node: Command Substitution103337 -Node: Arithmetic Expansion106866 -Node: Process Substitution108042 -Node: Word Splitting109150 -Node: Filename Expansion111594 -Node: Pattern Matching114818 -Node: Quote Removal120541 -Node: Redirections120845 -Node: Executing Commands131108 -Node: Simple Command Expansion131775 -Node: Command Search and Execution133883 -Node: Command Execution Environment136327 -Node: Environment139775 -Node: Exit Status141678 -Node: Signals143736 -Node: Shell Scripts148665 -Node: Shell Builtin Commands151963 -Node: Bourne Shell Builtins154074 -Node: Bash Builtins180644 -Node: Modifying Shell Behavior217568 -Node: The Set Builtin217910 -Node: The Shopt Builtin229904 -Node: Special Builtins246956 -Node: Shell Variables247945 -Node: Bourne Shell Variables248379 -Node: Bash Variables250887 -Node: Bash Features289792 -Node: Invoking Bash290806 -Node: Bash Startup Files297390 -Node: Interactive Shells302632 -Node: What is an Interactive Shell?303040 -Node: Is this Shell Interactive?303702 -Node: Interactive Shell Behavior304526 -Node: Bash Conditional Expressions308287 -Node: Shell Arithmetic313704 -Node: Aliases317033 -Node: Arrays320167 -Node: The Directory Stack327755 -Node: Directory Stack Builtins328552 -Node: Controlling the Prompt332997 -Node: The Restricted Shell335882 -Node: Bash POSIX Mode338764 -Node: Shell Compatibility Mode357121 -Node: Job Control366128 -Node: Job Control Basics366585 -Node: Job Control Builtins372953 -Node: Job Control Variables379635 -Node: Command Line Editing380866 -Node: Introduction and Notation382569 -Node: Readline Interaction384921 -Node: Readline Bare Essentials386109 -Node: Readline Movement Commands387917 -Node: Readline Killing Commands388913 -Node: Readline Arguments390936 -Node: Searching391993 -Node: Readline Init File394236 -Node: Readline Init File Syntax395539 -Node: Conditional Init Constructs422364 -Node: Sample Init File426749 -Node: Bindable Readline Commands429869 -Node: Commands For Moving431407 -Node: Commands For History433871 -Node: Commands For Text439261 -Node: Commands For Killing443386 -Node: Numeric Arguments446174 -Node: Commands For Completion447326 -Node: Keyboard Macros453022 -Node: Miscellaneous Commands453723 -Node: Readline vi Mode460290 -Node: Programmable Completion461267 -Node: Programmable Completion Builtins470004 -Node: A Programmable Completion Example481741 -Node: Using History Interactively487086 -Node: Bash History Facilities487767 -Node: Bash History Builtins491502 -Node: History Interaction497973 -Node: Event Designators502923 -Node: Word Designators504501 -Node: Modifiers506893 -Node: Installing Bash508830 -Node: Basic Installation509946 -Node: Compilers and Options513822 -Node: Compiling For Multiple Architectures514572 -Node: Installation Names516325 -Node: Specifying the System Type518559 -Node: Sharing Defaults519305 -Node: Operation Controls520019 -Node: Optional Features521038 -Node: Reporting Bugs533418 -Node: Major Differences From The Bourne Shell534775 -Node: GNU Free Documentation License556201 -Node: Indexes581378 -Node: Builtin Index581829 -Node: Reserved Word Index588927 -Node: Variable Index591372 -Node: Function Index608785 -Node: Concept Index622780 +Node: Top893 +Node: Introduction2826 +Node: What is Bash?3039 +Node: What is a shell?4172 +Node: Definitions6782 +Node: Basic Shell Features10109 +Node: Shell Syntax11333 +Node: Shell Operation12360 +Node: Quoting13651 +Node: Escape Character14989 +Node: Single Quotes15524 +Node: Double Quotes15873 +Node: ANSI-C Quoting17218 +Node: Locale Translation18612 +Node: Creating Internationalized Scripts20015 +Node: Comments24213 +Node: Shell Commands24980 +Node: Reserved Words25919 +Node: Simple Commands26784 +Node: Pipelines27446 +Node: Lists30702 +Node: Compound Commands32574 +Node: Looping Constructs33583 +Node: Conditional Constructs36132 +Node: Command Grouping51202 +Node: Coprocesses52694 +Node: GNU Parallel55380 +Node: Shell Functions56298 +Node: Shell Parameters64746 +Node: Positional Parameters69647 +Node: Special Parameters70737 +Node: Shell Expansions74198 +Node: Brace Expansion76387 +Node: Tilde Expansion79723 +Node: Shell Parameter Expansion82678 +Node: Command Substitution103321 +Node: Arithmetic Expansion106850 +Node: Process Substitution108026 +Node: Word Splitting109134 +Node: Filename Expansion111578 +Node: Pattern Matching114802 +Node: Quote Removal120525 +Node: Redirections120829 +Node: Executing Commands131092 +Node: Simple Command Expansion131759 +Node: Command Search and Execution133867 +Node: Command Execution Environment136311 +Node: Environment139759 +Node: Exit Status141662 +Node: Signals143720 +Node: Shell Scripts148649 +Node: Shell Builtin Commands151947 +Node: Bourne Shell Builtins154058 +Node: Bash Builtins180705 +Node: Modifying Shell Behavior217629 +Node: The Set Builtin217971 +Node: The Shopt Builtin229965 +Node: Special Builtins247017 +Node: Shell Variables248006 +Node: Bourne Shell Variables248440 +Node: Bash Variables250948 +Node: Bash Features290072 +Node: Invoking Bash291086 +Node: Bash Startup Files297670 +Node: Interactive Shells302912 +Node: What is an Interactive Shell?303320 +Node: Is this Shell Interactive?303982 +Node: Interactive Shell Behavior304806 +Node: Bash Conditional Expressions308567 +Node: Shell Arithmetic313984 +Node: Aliases317313 +Node: Arrays320447 +Node: The Directory Stack328035 +Node: Directory Stack Builtins328832 +Node: Controlling the Prompt333277 +Node: The Restricted Shell336162 +Node: Bash POSIX Mode339044 +Node: Shell Compatibility Mode357401 +Node: Job Control366408 +Node: Job Control Basics366865 +Node: Job Control Builtins373233 +Node: Job Control Variables379915 +Node: Command Line Editing381146 +Node: Introduction and Notation382849 +Node: Readline Interaction385201 +Node: Readline Bare Essentials386389 +Node: Readline Movement Commands388197 +Node: Readline Killing Commands389193 +Node: Readline Arguments391216 +Node: Searching392273 +Node: Readline Init File394516 +Node: Readline Init File Syntax395819 +Node: Conditional Init Constructs422644 +Node: Sample Init File427029 +Node: Bindable Readline Commands430149 +Node: Commands For Moving431687 +Node: Commands For History434151 +Node: Commands For Text439541 +Node: Commands For Killing443666 +Node: Numeric Arguments446454 +Node: Commands For Completion447606 +Node: Keyboard Macros453302 +Node: Miscellaneous Commands454003 +Node: Readline vi Mode460570 +Node: Programmable Completion461547 +Node: Programmable Completion Builtins470284 +Node: A Programmable Completion Example482021 +Node: Using History Interactively487366 +Node: Bash History Facilities488047 +Node: Bash History Builtins491782 +Node: History Interaction498253 +Node: Event Designators503203 +Node: Word Designators504781 +Node: Modifiers507173 +Node: Installing Bash509110 +Node: Basic Installation510226 +Node: Compilers and Options514102 +Node: Compiling For Multiple Architectures514852 +Node: Installation Names516605 +Node: Specifying the System Type518839 +Node: Sharing Defaults519585 +Node: Operation Controls520299 +Node: Optional Features521318 +Node: Reporting Bugs533698 +Node: Major Differences From The Bourne Shell535055 +Node: GNU Free Documentation License556481 +Node: Indexes581658 +Node: Builtin Index582109 +Node: Reserved Word Index589207 +Node: Variable Index591652 +Node: Function Index609065 +Node: Concept Index623060  End Tag Table diff --git a/doc/bash.pdf b/doc/bash.pdf index a6f47818..d9c80d93 100644 Binary files a/doc/bash.pdf and b/doc/bash.pdf differ diff --git a/doc/bash.ps b/doc/bash.ps index 783546f0..bc281c88 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.23.0 -%%CreationDate: Mon Mar 31 10:31:21 2025 +%%CreationDate: Tue Apr 22 10:00:28 2025 %%DocumentNeededResources: font Times-Italic %%+ font Times-Roman %%+ font Times-Bold @@ -378,8 +378,8 @@ Q F1(A)158 626.4 Q F33.363 E F1 .864 F .474(xtended deb)-.15 F(ug-)-.2 E (ging mode \(see the description of the)144 720 Q F3(extdeb)2.5 E(ug)-.2 E F1(option to the)2.5 E F3(shopt)2.5 E F1 -.2(bu)2.5 G(iltin belo).2 E -(w\).)-.25 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(1)193.45 E -0 Cg EP +(w\).)-.25 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(1)203.445 E 0 +Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -487,7 +487,7 @@ Q F2(bash)2.895 E F1 .395(is in)2.895 F -.2(vo)-.4 G -.1(ke).2 G 2.895 E F0(\001/.pr)4.872 E(o\214le)-.45 E F1 3.206(,i)1.666 G 3.206(nt)-3.206 G .707(hat order)-3.206 F 3.207(,a)-.4 G .707(nd reads and e)-3.207 F -.15(xe)-.15 G .707(cutes commands).15 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(2)193.45 E 0 Cg EP +(2025 April 7)149.285 E(2)203.445 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -627,8 +627,8 @@ S(rd).1 E F1 2.5(As)144 640.8 S E F2(identi\214er)2.5 E F1(.)A F2(metacharacter)108 676.8 Q F1 2.5(Ac) 144 688.8 S(haracter that, when unquoted, separates w)-2.5 E 2.5 (ords. One)-.1 F(of the follo)2.5 E(wing:)-.25 E F2 5(|&;\(\)<>s)144 -700.8 S 2.5(pace tab newline)-5 F F1(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(3)193.45 E 0 Cg EP +700.8 S 2.5(pace tab newline)-5 F F1(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(3)203.445 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -750,8 +750,8 @@ e of one or more pipelines separated by one of the operators)2.85 F F2 3.46 E F1(ha)3.46 E 1.26 -.15(ve e)-.2 H .961(qual precedence, follo).15 F .961(wed by)-.25 F F2(;)3.461 E F1(and)3.461 E F2(&)3.461 E F1 3.461 (,w)C .961(hich ha)-3.461 F 1.261 -.15(ve e)-.2 H .961(qual prece-).15 F -(dence.)108 727.2 Q(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(4) -193.45 E 0 Cg EP +(dence.)108 727.2 Q(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(4) +203.445 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP @@ -876,7 +876,7 @@ F(If)5.807 E(an)144 708 Q 3.1(yp)-.15 G .6(art of the pattern is quoted\ .599(ry character in the).15 F (quoted portion matches itself, instead of ha)144 720 Q(ving an)-.2 E 2.5(ys)-.15 G(pecial pattern matching meaning.)-2.5 E(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(5)193.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(5)203.445 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP @@ -1002,8 +1002,8 @@ F F0 -.2(ex)3.909 G(pr2).2 E F1 -.25(eva)3.909 G 1.409 F2(br)3.356 E(eak)-.18 E F1(and)3.356 E F2(continue)3.356 E F1 -.2(bu) 3.356 G .857(iltins \(see).2 F F4 .857(SHELL B)3.357 F(UIL)-.09 E .857 (TIN COMMANDS)-.828 F F1(belo)3.107 E .857(w\) to control loop)-.25 F --.15(exe)144 691.2 S(cution.).15 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(6)193.45 E 0 Cg EP +-.15(exe)144 691.2 S(cution.).15 E(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(6)203.445 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP @@ -1142,7 +1142,7 @@ E F1(])A .599(This creates a coprocess named)108 667.2 R F0 -.27(NA) (The recommended form to use for a coprocess is)108 708 Q F2(copr)144 724.8 Q(oc)-.18 E F0 -.27(NA)2.5 G(ME).27 E F1({)2.5 E F0(command)2.5 E F1([)2.5 E F0 -.37(re)C(dir).37 E(ections)-.37 E F1(]; })A(GNU Bash 5.3) -72 768 Q(2025 February 24)139.29 E(7)193.45 E 0 Cg EP +72 768 Q(2025 April 7)149.285 E(7)203.445 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP @@ -1274,7 +1274,7 @@ R F0(metac)2.789 E(har)-.15 E(acter)-.15 E(s)-.1 E F1 .288(listed abo) 2.789 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS)2.788 E F1 .288 (has special meaning to the shell and must be)2.538 F (quoted if it is to represent itself.)108 724.8 Q(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(8)193.45 E 0 Cg EP +(2025 April 7)149.285 E(8)203.445 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP @@ -1382,8 +1382,7 @@ F3(LC_MES-)4.136 E(SA)108 715.2 Q(GES)-.55 E F1(,)A F3(TEXTDOMAINDIR) (C)2.76 E F1(or)2.76 E F3(POSIX)2.76 E F1(,)A 1.213 (if there are no translations a)108 727.2 R -.25(va)-.2 G 1.214(ilable,\ or if the string is not translated, the dollar sign is ignored, and th\ -e).25 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(9)193.45 E 0 Cg -EP +e).25 F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(9)203.445 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP @@ -1538,7 +1537,7 @@ R(ariable)-.25 E F2 -.18(re)2.885 G(f).18 E F1 .385(whose v)2.885 F .385 (ariable from each en)-.25 F .611(vironment v)-.4 F(ariable)-.25 E (that has a v)108 708 Q(alid name, as described belo)-.25 E 2.5(w\()-.25 G(see)-2.5 E F3(ENVIR)2.5 E(ONMENT)-.27 E F4(\).)A F1(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(10)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(10)198.445 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP @@ -1671,7 +1670,7 @@ F1 2.554(,a)C 2.554(nu)-2.554 G .055 -.1 E F2 -.3(BA)108 696 S(SH).3 E F1 (Expands to the full \214lename used to in)144 696 Q -.2(vo)-.4 G .2 -.1 (ke t).2 H(his instance of).1 E F2(bash)2.5 E F1(.)A(GNU Bash 5.3)72 768 -Q(2025 February 24)139.29 E(11)188.45 E 0 Cg EP +Q(2025 April 7)149.285 E(11)198.445 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP @@ -1805,7 +1804,7 @@ E F2(${FUNCN)17.172 E(AME[)-.2 E F0($i)A F2(]})A F1 -.1(wa)17.172 G -.3 E F0($i\2551)A F2(]})A F1 1.257 (if referenced within another shell function\).)3.757 F(Use)6.256 E F3 (LINENO)3.756 E F1 1.256(to obtain)3.506 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(12)188.45 E 0 Cg EP +(2025 April 7)149.285 E(12)198.445 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP @@ -1920,7 +1919,7 @@ F .667(If the)5.667 F .535 -.15 F -.2(vo)144 720 S -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G (he programmable completion f)-2.5 E(acilities \(see)-.1 E F3(Pr)2.5 E (ogrammable Completion)-.18 E F1(belo)2.5 E(w\).)-.25 E(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(13)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(13)198.445 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP @@ -2039,8 +2038,8 @@ E .571(ments to)144 688.8 R F3(GR)3.071 E(OUPS)-.27 E F1(ha)2.822 E .872 (GR)3.072 E(OUPS)-.27 E F1 .572 (is unset, it loses its special properties, e)2.822 F -.15(ve)-.25 G 3.072(ni).15 G 3.072(fi)-3.072 G 3.072(ti)-3.072 G(s)-3.072 E -(subsequently reset.)144 700.8 Q(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(14)188.45 E 0 Cg EP +(subsequently reset.)144 700.8 Q(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(14)198.445 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP @@ -2139,7 +2138,7 @@ F1 1.694(line b)4.194 F(uf)-.2 E(fer)-.25 E 4.194(,f)-.4 G 1.693 (\(see)144 720 Q F3 1.017(SHELL B)3.517 F(UIL)-.09 E 1.017(TIN COMMANDS) -.828 F F1(belo)3.267 E 3.516(w\). The)-.25 F 1.016 (characters between the insertion point and the)3.516 F(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(15)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(15)198.445 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP @@ -2263,7 +2262,7 @@ rd error)144 693.6 R 5.583(.N)-.55 G .583(ote that)-5.583 F(setting)144 705.6 Q F3 -.27(BA)2.996 G(SH_XTRA).27 E(CEFD)-.495 E F1 .495(to 2 \(th\ e standard error \214le descriptor\) and then unsetting it will result) 2.746 F(in the standard error being closed.)144 717.6 Q(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(16)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(16)198.445 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP @@ -2378,8 +2377,8 @@ G .979 (ft).15 G .894(he non-name k)-3.394 F -.15(ey)-.1 G 3.394(sc).15 G .894 (ompare as equal \(e.g., if tw)-3.394 F 3.394<6f8c>-.1 G(les)-3.394 E (are the same size\), sorting uses the name as a secondary sort k)144 -712.8 Q -.15(ey)-.1 G(.)-.5 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(17)188.45 E 0 Cg EP +712.8 Q -.15(ey)-.1 G(.)-.5 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 +E(17)198.445 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP @@ -2454,1217 +2453,1217 @@ F 1.074 -.15(ve t)-.2 H .774(he com-).15 F(mand history when it e)144 410.4 Q(xits.)-.15 E F2(HISTFILESIZE)108 422.4 Q F1 1.622 (The maximum number of lines contained in the history \214le.)144 434.4 R 1.623(When this v)6.623 F 1.623(ariable is assigned a)-.25 F -.25(va) -144 446.4 S .125(lue, the history \214le is truncated, if necessary).25 -F 2.625(,t)-.65 G 2.624(oc)-2.625 G .124 -(ontain no more than that number of lines by re-)-2.624 F(mo)144 458.4 Q -.065(ving the oldest entries.)-.15 F .066(The history \214le is also tr\ -uncated to this size after writing it when a shell)5.065 F -.15(ex)144 -470.4 S .408(its or by the).15 F F2(history)2.908 E F1 -.2(bu)2.908 G -2.908(iltin. If).2 F .408(the v)2.908 F .408 -(alue is 0, the history \214le is truncated to zero size.)-.25 F -(Non-nu-)5.407 E .405(meric v)144 482.4 R .405(alues and numeric v)-.25 -F .405(alues less than zero inhibit truncation.)-.25 F .406 -(The shell sets the def)5.405 F .406(ault v)-.1 F(alue)-.25 E(to the v) -144 494.4 Q(alue of)-.25 E F3(HISTSIZE)2.5 E F1(after reading an)2.25 E -2.5(ys)-.15 G(tartup \214les.)-2.5 E F2(HISTIGNORE)108 506.4 Q F1 2.658 -(Ac)144 518.4 S .158(olon-separated list of patterns used to decide whi\ -ch command lines should be sa)-2.658 F -.15(ve)-.2 G 2.657(do).15 G -2.657(nt)-2.657 G .157(he his-)-2.657 F .996(tory list.)144 530.4 R .996 +144 446.4 S .41(lue, the history \214le is truncated, if necessary).25 F +2.909(,t)-.65 G 2.909(oc)-2.909 G .409 +(ontain no more than the number of history en-)-2.909 F .312 +(tries that total no more than that number of lines by remo)144 458.4 R +.312(ving the oldest entries.)-.15 F .313(If the history list)5.313 F +1.311(contains multi-line entries, the history \214le may contain more \ +lines than this maximum to a)144 470.4 R -.2(vo)-.2 G(id).2 E(lea)144 +482.4 Q .383(ving partial history entries.)-.2 F .384(The history \214l\ +e is also truncated to this size after writing it when a)5.383 F 1.329 +(shell e)144 494.4 R 1.329(xits or by the)-.15 F F2(history)3.829 E F1 +-.2(bu)3.829 G 3.829(iltin. If).2 F 1.328(the v)3.829 F 1.328 +(alue is 0, the history \214le is truncated to zero size.)-.25 F 1.024 +(Non-numeric v)144 506.4 R 1.024(alues and numeric v)-.25 F 1.024 +(alues less than zero inhibit truncation.)-.25 F 1.025 +(The shell sets the de-)6.024 F -.1(fa)144 518.4 S(ult v).1 E +(alue to the v)-.25 E(alue of)-.25 E F3(HISTSIZE)2.5 E F1 +(after reading an)2.25 E 2.5(ys)-.15 G(tartup \214les.)-2.5 E F2 +(HISTIGNORE)108 530.4 Q F1 2.658(Ac)144 542.4 S .158(olon-separated lis\ +t of patterns used to decide which command lines should be sa)-2.658 F +-.15(ve)-.2 G 2.657(do).15 G 2.657(nt)-2.657 G .157(he his-)-2.657 F +.996(tory list.)144 554.4 R .996 (If a command line matches one of the patterns in the v)5.996 F .997 (alue of)-.25 F F3(HISTIGNORE)3.497 E F4(,)A F1 .997(it is not)3.247 F -(sa)144 542.4 Q -.15(ve)-.2 G 2.772(do).15 G 2.772(nt)-2.772 G .271 +(sa)144 566.4 Q -.15(ve)-.2 G 2.772(do).15 G 2.772(nt)-2.772 G .271 (he history list.)-2.772 F .271(Each pattern is anchored at the be)5.271 F .271(ginning of the line and must match the)-.15 F .086 -(complete line \()144 554.4 R F2(bash)A F1 .086(does not)2.586 F .086 +(complete line \()144 578.4 R F2(bash)A F1 .086(does not)2.586 F .086 (implicitly append a \231)5.086 F F2(*)A F1 2.586(\232\). Each)B .086 (pattern is tested ag)2.586 F .087(ainst the line after)-.05 F 2.252 -(the checks speci\214ed by)144 566.4 R F3(HISTCONTR)4.752 E(OL)-.27 E F1 +(the checks speci\214ed by)144 590.4 R F3(HISTCONTR)4.752 E(OL)-.27 E F1 2.252(are applied.)4.502 F 2.252 (In addition to the normal shell pattern)7.252 F 1.385 -(matching characters, \231)144 578.4 R F2(&)A F1 3.885<9a6d>C 1.385 +(matching characters, \231)144 602.4 R F2(&)A F1 3.885<9a6d>C 1.385 (atches the pre)-3.885 F 1.385(vious history line.)-.25 F 3.886(Ab)6.385 G 1.386(ackslash escapes the \231)-3.886 F F2(&)A F1 1.386(\232; the)B -.776(backslash is remo)144 590.4 R -.15(ve)-.15 G 3.276(db).15 G .776 +.776(backslash is remo)144 614.4 R -.15(ve)-.15 G 3.276(db).15 G .776 (efore attempting a match.)-3.276 F .775 (If the \214rst line of a multi-line compound com-)5.775 F .76(mand w) -144 602.4 R .76(as sa)-.1 F -.15(ve)-.2 G .76(d, the second and subsequ\ +144 626.4 R .76(as sa)-.1 F -.15(ve)-.2 G .76(d, the second and subsequ\ ent lines are not tested, and are added to the history re-).15 F -.05 -(ga)144 614.4 S .58(rdless of the v).05 F .579(alue of)-.25 F F3 +(ga)144 638.4 S .58(rdless of the v).05 F .579(alue of)-.25 F F3 (HISTIGNORE)3.079 E F4(.)A F1 .579(If the \214rst line w)5.079 F .579 (as not sa)-.1 F -.15(ve)-.2 G .579(d, the second and subsequent).15 F -.261(lines of the command are not sa)144 626.4 R -.15(ve)-.2 G 2.761(de) +.261(lines of the command are not sa)144 650.4 R -.15(ve)-.2 G 2.761(de) .15 G(ither)-2.761 E 5.261(.T)-.55 G .261 (he pattern matching honors the setting of the)-5.261 F F2(extglob)2.762 -E F1(shell option.)144 638.4 Q F3(HISTIGNORE)144 650.4 Q F1 .083 +E F1(shell option.)144 662.4 Q F3(HISTIGNORE)144 674.4 Q F1 .083 (subsumes some of the function of)2.333 F F3(HISTCONTR)2.583 E(OL)-.27 E F4(.)A F1 2.583(Ap)4.583 G .083(attern of \231&\232 is identical to) -2.583 F .322(\231ignoredups\232, and a pattern of \231[ ]*\232 is iden\ -tical to \231ignorespace\232.)144 662.4 R .322(Combining these tw)5.322 +tical to \231ignorespace\232.)144 686.4 R .322(Combining these tw)5.322 F 2.823(op)-.1 G(atterns,)-2.823 E(separating them with a colon, pro)144 -674.4 Q(vides the functionality of \231ignoreboth\232.)-.15 E F2 -(HISTSIZE)108 686.4 Q F1 1.387 -(The number of commands to remember in the command history \(see)144 -698.4 R F3(HIST)3.887 E(OR)-.162 E(Y)-.315 E F1(belo)3.637 E 3.887 -(w\). If)-.25 F(the)3.887 E -.25(va)144 710.4 S 1.32 -(lue is 0, commands are not sa).25 F -.15(ve)-.2 G 3.82(di).15 G 3.821 -(nt)-3.82 G 1.321(he history list.)-3.821 F 1.321(Numeric v)6.321 F -1.321(alues less than zero result in)-.25 F -2.15 -.25(ev e)144 722.4 T -.437(ry command being sa).25 F -.15(ve)-.2 G 2.937(do).15 G 2.937(nt) --2.937 G .437(he history list \(there is no limit\).)-2.937 F .436 -(The shell sets the def)5.436 F .436(ault v)-.1 F(alue)-.25 E -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(18)188.45 E 0 Cg EP +698.4 Q(vides the functionality of \231ignoreboth\232.)-.15 E +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(18)198.445 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(to 500 after reading an)144 84 Q 2.5(ys)-.15 G -(tartup \214les.)-2.5 E/F2 10/Times-Bold@0 SF(HISTTIMEFORMA)108 96 Q(T) --.95 E F1 .925(If this v)144 108 R .925 +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(HISTSIZE)108 84 Q F1 1.387 +(The number of commands to remember in the command history \(see)144 96 +R/F3 9/Times-Bold@0 SF(HIST)3.887 E(OR)-.162 E(Y)-.315 E F1(belo)3.637 E +3.887(w\). If)-.25 F(the)3.887 E -.25(va)144 108 S 1.32 +(lue is 0, commands are not sa).25 F -.15(ve)-.2 G 3.82(di).15 G 3.821 +(nt)-3.82 G 1.321(he history list.)-3.821 F 1.321(Numeric v)6.321 F +1.321(alues less than zero result in)-.25 F -2.15 -.25(ev e)144 120 T +.437(ry command being sa).25 F -.15(ve)-.2 G 2.937(do).15 G 2.937(nt) +-2.937 G .437(he history list \(there is no limit\).)-2.937 F .436 +(The shell sets the def)5.436 F .436(ault v)-.1 F(alue)-.25 E +(to 500 after reading an)144 132 Q 2.5(ys)-.15 G(tartup \214les.)-2.5 E +F2(HISTTIMEFORMA)108 144 Q(T)-.95 E F1 .925(If this v)144 156 R .925 (ariable is set and not null, its v)-.25 F .926 (alue is used as a format string for)-.25 F F0(strftime)3.766 E F1 .926 (\(3\) to print the).18 F .673 -(time stamp associated with each history entry displayed by the)144 120 +(time stamp associated with each history entry displayed by the)144 168 R F2(history)3.173 E F1 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v) 3.172 F .672(ariable is)-.25 F .454 -(set, the shell writes time stamps to the history \214le so the)144 132 +(set, the shell writes time stamps to the history \214le so the)144 180 R 2.954(ym)-.15 G .454(ay be preserv)-2.954 F .455 (ed across shell sessions.)-.15 F(This uses the history comment charact\ -er to distinguish timestamps from other history lines.)144 144 Q F2 -(HOME)108 156 Q F1 1.27(The home directory of the current user; the def) -144 168 R 1.27(ault ar)-.1 F 1.27(gument for the)-.18 F F2(cd)3.77 E F1 --.2(bu)3.77 G 1.27(iltin command.).2 F(The)6.27 E -.25(va)144 180 S +er to distinguish timestamps from other history lines.)144 192 Q F2 +(HOME)108 204 Q F1 1.27(The home directory of the current user; the def) +144 216 R 1.27(ault ar)-.1 F 1.27(gument for the)-.18 F F2(cd)3.77 E F1 +-.2(bu)3.77 G 1.27(iltin command.).2 F(The)6.27 E -.25(va)144 228 S (lue of this v).25 E(ariable is also used when performing tilde e)-.25 E -(xpansion.)-.15 E F2(HOSTFILE)108 192 Q F1 1.015 -(Contains the name of a \214le in the same format as)144 204 R F0 +(xpansion.)-.15 E F2(HOSTFILE)108 240 Q F1 1.015 +(Contains the name of a \214le in the same format as)144 252 R F0 (/etc/hosts)5.181 E F1 1.015(that should be read when the shell)5.181 F -.551(needs to complete a hostname.)144 216 R .551 +.551(needs to complete a hostname.)144 264 R .551 (The list of possible hostname completions may be changed while)5.551 F -1.058(the shell is running; the ne)144 228 R 1.059 +1.058(the shell is running; the ne)144 276 R 1.059 (xt time hostname completion is attempted after the v)-.15 F 1.059 -(alue is changed,)-.25 F F2(bash)144 240 Q F1 .138 +(alue is changed,)-.25 F F2(bash)144 288 Q F1 .138 (adds the contents of the ne)2.639 F 2.638<778c>-.25 G .138(le to the e) --2.638 F .138(xisting list.)-.15 F(If)5.138 E/F3 9/Times-Bold@0 SF -(HOSTFILE)2.638 E F1 .138(is set, b)2.388 F .138(ut has no v)-.2 F .138 -(alue, or)-.25 F .517(does not name a readable \214le,)144 252 R F2 -(bash)3.017 E F1 .517(attempts to read)3.017 F F0(/etc/hosts)4.684 E F1 -.518(to obtain the list of possible host-)4.684 F(name completions.)144 -264 Q(When)5 E F3(HOSTFILE)2.5 E F1(is unset,)2.25 E F2(bash)2.5 E F1 -(clears the hostname list.)2.5 E F2(IFS)108 276 Q F1(The)144 276 Q F0 +-2.638 F .138(xisting list.)-.15 F(If)5.138 E F3(HOSTFILE)2.638 E F1 +.138(is set, b)2.388 F .138(ut has no v)-.2 F .138(alue, or)-.25 F .517 +(does not name a readable \214le,)144 300 R F2(bash)3.017 E F1 .517 +(attempts to read)3.017 F F0(/etc/hosts)4.684 E F1 .518 +(to obtain the list of possible host-)4.684 F(name completions.)144 312 +Q(When)5 E F3(HOSTFILE)2.5 E F1(is unset,)2.25 E F2(bash)2.5 E F1 +(clears the hostname list.)2.5 E F2(IFS)108 324 Q F1(The)144 324 Q F0 .556(Internal F)3.636 F .556(ield Separ)-.45 F(ator)-.15 E F1 .556 (that is used for w)3.786 F .556(ord splitting after e)-.1 F .555 -(xpansion and to split lines into)-.15 F -.1(wo)144 288 S .053 +(xpansion and to split lines into)-.15 F -.1(wo)144 336 S .053 (rds with the).1 F F2 -.18(re)2.553 G(ad).18 E F1 -.2(bu)2.553 G .053 (iltin command.).2 F -.8(Wo)5.053 G .054(rd splitting is described belo) .8 F 2.554(wu)-.25 G(nder)-2.554 E F3(EXP)2.554 E(ANSION)-.666 E/F4 9 -/Times-Roman@0 SF(.)A F1(The)4.554 E(def)144 300 Q(ault v)-.1 E +/Times-Roman@0 SF(.)A F1(The)4.554 E(def)144 348 Q(ault v)-.1 E (alue is \231\232.)-.25 E F2(IGNOREEOF)108 -312 Q F1 .503(Controls the action of an interacti)144 324 R .803 -.15 +360 Q F1 .503(Controls the action of an interacti)144 372 R .803 -.15 (ve s)-.25 H .503(hell on receipt of an).15 F F3(EOF)3.003 E F1 .503 (character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v) -144 336 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F3 +144 384 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F3 (EOF)3.076 E F1 .426 (characters which must be typed as the \214rst characters)2.676 F .46 -(on an input line before)144 348 R F2(bash)2.96 E F1 -.15(ex)2.96 G 2.96 +(on an input line before)144 396 R F2(bash)2.96 E F1 -.15(ex)2.96 G 2.96 (its. If).15 F .46(the v)2.96 F .46(ariable is set b)-.25 F .46 (ut does not ha)-.2 F .76 -.15(ve a n)-.2 H .46(umeric v).15 F .46 -(alue, or the)-.25 F -.25(va)144 360 S(lue is null, the def).25 E +(alue, or the)-.25 F -.25(va)144 408 S(lue is null, the def).25 E (ault v)-.1 E(alue is 10.)-.25 E(If it is unset,)5 E F3(EOF)2.5 E F1 -(signi\214es the end of input to the shell.)2.25 E F2(INPUTRC)108 372 Q -F1 .111(The \214lename for the)144 384 R F2 -.18(re)2.612 G(adline).18 E +(signi\214es the end of input to the shell.)2.25 E F2(INPUTRC)108 420 Q +F1 .111(The \214lename for the)144 432 R F2 -.18(re)2.612 G(adline).18 E F1 .112(startup \214le, o)2.612 F -.15(ve)-.15 G .112(rriding the def) .15 F .112(ault of)-.1 F F0(\001/.inputr)4.278 E(c)-.37 E F1(\(see)4.278 -E F3(READLINE)2.612 E F1(be-)2.362 E(lo)144 396 Q(w\).)-.25 E F2 -(INSIDE_EMA)108 408 Q(CS)-.55 E F1 .034(If this v)144 420 R .034 +E F3(READLINE)2.612 E F1(be-)2.362 E(lo)144 444 Q(w\).)-.25 E F2 +(INSIDE_EMA)108 456 Q(CS)-.55 E F1 .034(If this v)144 468 R .034 (ariable appears in the en)-.25 F .034(vironment when the shell starts,) -.4 F F2(bash)2.533 E F1 .033(assumes that it is running in-)2.533 F -(side an Emacs shell b)144 432 Q(uf)-.2 E +(side an Emacs shell b)144 480 Q(uf)-.2 E (fer and may disable line editing, depending on the v)-.25 E(alue of) --.25 E F3(TERM)2.5 E F4(.)A F2(LANG)108 444 Q F1 1.239 -(Used to determine the locale cate)144 444 R 1.239(gory for an)-.15 F +-.25 E F3(TERM)2.5 E F4(.)A F2(LANG)108 492 Q F1 1.239 +(Used to determine the locale cate)144 492 R 1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.24 (gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E -(starting with)144 456 Q F2(LC_)2.5 E F1(.)A F2(LC_ALL)108 468 Q F1 .974 -(This v)144 480 R .974(ariable o)-.25 F -.15(ve)-.15 G .974 +(starting with)144 504 Q F2(LC_)2.5 E F1(.)A F2(LC_ALL)108 516 Q F1 .974 +(This v)144 528 R .974(ariable o)-.25 F -.15(ve)-.15 G .974 (rrides the v).15 F .973(alue of)-.25 F F3(LANG)3.473 E F1 .973(and an) 3.223 F 3.473(yo)-.15 G(ther)-3.473 E F2(LC_)3.473 E F1 -.25(va)3.473 G -.973(riable specifying a locale cate-).25 F(gory)144 492 Q(.)-.65 E F2 -(LC_COLLA)108 504 Q(TE)-.95 E F1 .411(This v)144 516 R .412(ariable det\ +.973(riable specifying a locale cate-).25 F(gory)144 540 Q(.)-.65 E F2 +(LC_COLLA)108 552 Q(TE)-.95 E F1 .411(This v)144 564 R .412(ariable det\ ermines the collation order used when sorting the results of pathname e) --.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 528 R 1.465 +-.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 576 R 1.465 (vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va)-.25 G 1.464(lence classes, and collating sequences).25 F(within pathname e)144 -540 Q(xpansion and pattern matching.)-.15 E F2(LC_CTYPE)108 552 Q F1 -1.935(This v)144 564 R 1.936 +588 Q(xpansion and pattern matching.)-.15 E F2(LC_CTYPE)108 600 Q F1 +1.935(This v)144 612 R 1.936 (ariable determines the interpretation of characters and the beha)-.25 F -1.936(vior of character classes)-.2 F(within pathname e)144 576 Q -(xpansion and pattern matching.)-.15 E F2(LC_MESSA)108 588 Q(GES)-.55 E -F1(This v)144 600 Q(ariable determines the locale used to translate dou\ +1.936(vior of character classes)-.2 F(within pathname e)144 624 Q +(xpansion and pattern matching.)-.15 E F2(LC_MESSA)108 636 Q(GES)-.55 E +F1(This v)144 648 Q(ariable determines the locale used to translate dou\ ble-quoted strings preceded by a)-.25 E F2($)2.5 E F1(.)A F2(LC_NUMERIC) -108 612 Q F1(This v)144 624 Q(ariable determines the locale cate)-.25 E -(gory used for number formatting.)-.15 E F2(LC_TIME)108 636 Q F1(This v) -144 648 Q(ariable determines the locale cate)-.25 E -(gory used for data and time formatting.)-.15 E F2(LINES)108 660 Q F1 -.055(Used by the)144 660 R F2(select)2.555 E F1 .054(compound command t\ -o determine the column length for printing selection lists.)2.555 F .264 -(Automatically set if the)144 672 R F2(checkwinsize)2.764 E F1 .264 -(option is enabled or in an interacti)2.764 F .565 -.15(ve s)-.25 H .265 -(hell upon receipt of a).15 F F3(SIGWINCH)144 684 Q F4(.)A F2(MAIL)108 -696 Q F1 .464(If the v)144 696 R .464 -(alue is set to a \214le or directory name and the)-.25 F F3(MAILP)2.964 -E -.855(AT)-.666 G(H).855 E F1 -.25(va)2.714 G .463(riable is not set,) -.25 F F2(bash)2.963 E F1(informs)2.963 E(the user of the arri)144 708 Q --.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G -(ail in the speci\214ed \214le or Maildir)-2.5 E(-format directory)-.2 E -(.)-.65 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(19)188.45 E 0 -Cg EP +108 660 Q F1(This v)144 672 Q(ariable determines the locale cate)-.25 E +(gory used for number formatting.)-.15 E F2(LC_TIME)108 684 Q F1(This v) +144 696 Q(ariable determines the locale cate)-.25 E +(gory used for data and time formatting.)-.15 E(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(19)198.445 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(MAILCHECK)108 84 Q F1 .098 -(Speci\214es ho)144 96 R 2.598(wo)-.25 G .098(ften \(in seconds\))-2.598 -F F2(bash)2.598 E F1 .098(checks for mail.)2.598 F .098(The def)5.098 F -.098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224(to che\ -ck for mail, the shell does so before displaying the primary prompt.)144 -108 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F -(or set to a v)144 120 Q(alue that is not a number greater than or equa\ -l to zero, the shell disables mail checking.)-.25 E F2(MAILP)108 132 Q --.95(AT)-.74 G(H).95 E F1 2.99(Ac)144 144 S .49 -(olon-separated list of \214lenames to be check)-2.99 F .49 +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(LINES)108 84 Q F1 .055 +(Used by the)144 84 R F2(select)2.555 E F1 .054(compound command to det\ +ermine the column length for printing selection lists.)2.555 F .264 +(Automatically set if the)144 96 R F2(checkwinsize)2.764 E F1 .264 +(option is enabled or in an interacti)2.764 F .565 -.15(ve s)-.25 H .265 +(hell upon receipt of a).15 F/F3 9/Times-Bold@0 SF(SIGWINCH)144 108 Q/F4 +9/Times-Roman@0 SF(.)A F2(MAIL)108 120 Q F1 .464(If the v)144 120 R .464 +(alue is set to a \214le or directory name and the)-.25 F F3(MAILP)2.964 +E -.855(AT)-.666 G(H).855 E F1 -.25(va)2.714 G .463(riable is not set,) +.25 F F2(bash)2.963 E F1(informs)2.963 E(the user of the arri)144 132 Q +-.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G +(ail in the speci\214ed \214le or Maildir)-2.5 E(-format directory)-.2 E +(.)-.65 E F2(MAILCHECK)108 144 Q F1 .098(Speci\214es ho)144 156 R 2.598 +(wo)-.25 G .098(ften \(in seconds\))-2.598 F F2(bash)2.598 E F1 .098 +(checks for mail.)2.598 F .098(The def)5.098 F .098(ault is 60 seconds.) +-.1 F .099(When it is time)5.099 F .224(to check for mail, the shell do\ +es so before displaying the primary prompt.)144 168 R .223(If this v) +5.223 F .223(ariable is unset,)-.25 F(or set to a v)144 180 Q(alue that\ + is not a number greater than or equal to zero, the shell disables mail\ + checking.)-.25 E F2(MAILP)108 192 Q -.95(AT)-.74 G(H).95 E F1 2.99(Ac) +144 204 S .49(olon-separated list of \214lenames to be check)-2.99 F .49 (ed for mail.)-.1 F .49(The message to be printed when mail)5.49 F(arri) -144 156 Q -.15(ve)-.25 G 3.634(si).15 G 3.634(nap)-3.634 G 1.134(articu\ +144 216 Q -.15(ve)-.25 G 3.634(si).15 G 3.634(nap)-3.634 G 1.134(articu\ lar \214le may be speci\214ed by separating the \214lename from the mes\ -sage with a)-3.634 F 2.558(\231?\232. When)144 168 R .059 +sage with a)-3.634 F 2.558(\231?\232. When)144 228 R .059 (used in the te)2.559 F .059(xt of the message,)-.15 F F2($_)2.559 E F1 -.15(ex)2.559 G .059(pands to the name of the current mail\214le.).15 F --.15(Fo)5.059 G 2.559(re).15 G(x-)-2.709 E(ample:)144 180 Q/F3 10 -/Courier-Bold@0 SF(MAILPATH)144 192 Q/F4 10/Courier@0 SF(=\010/var/mail\ +-.15(Fo)5.059 G 2.559(re).15 G(x-)-2.709 E(ample:)144 240 Q/F5 10 +/Courier-Bold@0 SF(MAILPATH)144 252 Q/F6 10/Courier@0 SF(=\010/var/mail\ /bfox?"You have mail":\001/shell\255mail?"$_ has mail!"\010)A F2(Bash) -144 204 Q F1 .015(can be con\214gured to supply a def)2.515 F .015 +144 264 Q F1 .015(can be con\214gured to supply a def)2.515 F .015 (ault v)-.1 F .015(alue for this v)-.25 F .015(ariable \(there is no v) -.25 F .015(alue by def)-.25 F .015(ault\), b)-.1 F(ut)-.2 E(the locati\ on of the user mail \214les that it uses is system dependent \(e.g., /v) -144 216 Q(ar/mail/)-.25 E F2($USER)A F1(\).)A F2(OPTERR)108 228 Q F1 -.389(If set to the v)144 240 R .389(alue 1,)-.25 F F2(bash)2.889 E F1 +144 276 Q(ar/mail/)-.25 E F2($USER)A F1(\).)A F2(OPTERR)108 288 Q F1 +.389(If set to the v)144 300 R .389(alue 1,)-.25 F F2(bash)2.889 E F1 .389(displays error messages generated by the)2.889 F F2(getopts)2.89 E -F1 -.2(bu)2.89 G .39(iltin command \(see).2 F/F5 9/Times-Bold@0 SF .36 -(SHELL B)144 252 R(UIL)-.09 E .36(TIN COMMANDS)-.828 F F1(belo)2.61 E -(w\).)-.25 E F5(OPTERR)5.36 E F1 .359 -(is initialized to 1 each time the shell is in)2.61 F -.2(vo)-.4 G -.1 -(ke).2 G(d).1 E(or a shell script is e)144 264 Q -.15(xe)-.15 G(cuted.) -.15 E F2 -.74(PA)108 276 S(TH)-.21 E F1 .587 -(The search path for commands.)144 276 R .588 +F1 -.2(bu)2.89 G .39(iltin command \(see).2 F F3 .36(SHELL B)144 312 R +(UIL)-.09 E .36(TIN COMMANDS)-.828 F F1(belo)2.61 E(w\).)-.25 E F3 +(OPTERR)5.36 E F1 .359(is initialized to 1 each time the shell is in) +2.61 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 324 Q +-.15(xe)-.15 G(cuted.).15 E F2 -.74(PA)108 336 S(TH)-.21 E F1 .587 +(The search path for commands.)144 336 R .588 (It is a colon-separated list of directories in which the shell looks) -5.587 F .472(for commands \(see)144 288 R F5 .472(COMMAND EXECUTION) +5.587 F .472(for commands \(see)144 348 R F3 .472(COMMAND EXECUTION) 2.972 F F1(belo)2.722 E 2.972(w\). A)-.25 F .471 -(zero-length \(null\) directory name in the)2.972 F -.25(va)144 300 S -.535(lue of).25 F F5 -.666(PA)3.035 G(TH)-.189 E F1 .535 +(zero-length \(null\) directory name in the)2.972 F -.25(va)144 360 S +.535(lue of).25 F F3 -.666(PA)3.035 G(TH)-.189 E F1 .535 (indicates the current directory)2.785 F 5.535(.A)-.65 G .535 (null directory name may appear as tw)-2.5 F 3.036(oa)-.1 G(djacent) --3.036 E .868(colons, or as an initial or trailing colon.)144 312 R .868 +-3.036 E .868(colons, or as an initial or trailing colon.)144 372 R .868 (The def)5.868 F .867(ault path is system-dependent, and is set by the) --.1 F(administrator who installs)144 324 Q F2(bash)2.5 E F1 5(.A)C -(common v)-2.5 E(alue is)-.25 E F4 -(/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)169 336 Q -F2(POSIXL)108 348 Q(Y_CORRECT)-.92 E F1 .401(If this v)144 360 R .401 +-.1 F(administrator who installs)144 384 Q F2(bash)2.5 E F1 5(.A)C +(common v)-2.5 E(alue is)-.25 E F6 +(/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)169 396 Q +F2(POSIXL)108 408 Q(Y_CORRECT)-.92 E F1 .401(If this v)144 420 R .401 (ariable is in the en)-.25 F .401(vironment when)-.4 F F2(bash)2.901 E F1 .402(starts, the shell enters posix mode before reading)2.901 F .011 -(the startup \214les, as if the)144 372 R F2(\255\255posix)2.511 E F1 +(the startup \214les, as if the)144 432 R F2(\255\255posix)2.511 E F1 (in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011 -(If it is set while the shell is)5.011 F(running,)144 384 Q F2(bash) +(If it is set while the shell is)5.011 F(running,)144 444 Q F2(bash) 3.344 E F1 .844(enables posix mode, as if the command \231set \255o pos\ ix\232 had been e)3.344 F -.15(xe)-.15 G 3.344(cuted. When).15 F -(the shell enters posix mode, it sets this v)144 396 Q(ariable if it w) --.25 E(as not already set.)-.1 E F2(PR)108 408 Q(OMPT_COMMAND)-.3 E F1 -.155(If this v)144 420 R .155(ariable is set, and is an array)-.25 F +(the shell enters posix mode, it sets this v)144 456 Q(ariable if it w) +-.25 E(as not already set.)-.1 E F2(PR)108 468 Q(OMPT_COMMAND)-.3 E F1 +.155(If this v)144 480 R .155(ariable is set, and is an array)-.25 F 2.655(,t)-.65 G .155(he v)-2.655 F .155(alue of each set element is e) -.25 F -.15(xe)-.15 G .155(cuted as a command prior).15 F .407 -(to issuing each primary prompt.)144 432 R .407(If this is set b)5.407 F +(to issuing each primary prompt.)144 492 R .407(If this is set b)5.407 F .407(ut not an array v)-.2 F .407(ariable, its v)-.25 F .407 -(alue is used as a com-)-.25 F(mand to e)144 444 Q -.15(xe)-.15 G -(cute instead.).15 E F2(PR)108 456 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F1 .676 -(If set to a number greater than zero, the v)144 468 R .676 +(alue is used as a com-)-.25 F(mand to e)144 504 Q -.15(xe)-.15 G +(cute instead.).15 E F2(PR)108 516 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F1 .676 +(If set to a number greater than zero, the v)144 528 R .676 (alue is used as the number of trailing directory compo-)-.25 F .923 -(nents to retain when e)144 480 R .923(xpanding the)-.15 F F2(\\w)3.423 +(nents to retain when e)144 540 R .923(xpanding the)-.15 F F2(\\w)3.423 E F1(and)3.423 E F2(\\W)3.423 E F1 .923(prompt string escapes \(see) -3.423 F F5(PR)3.423 E(OMPTING)-.27 E F1(belo)3.173 E(w\).)-.25 E -(Characters remo)144 492 Q -.15(ve)-.15 G 2.5(da).15 G -(re replaced with an ellipsis.)-2.5 E F2(PS0)108 504 Q F1 1.174(The v) -144 504 R 1.174(alue of this parameter is e)-.25 F 1.174(xpanded \(see) --.15 F F5(PR)3.674 E(OMPTING)-.27 E F1(belo)3.424 E 1.174 +3.423 F F3(PR)3.423 E(OMPTING)-.27 E F1(belo)3.173 E(w\).)-.25 E +(Characters remo)144 552 Q -.15(ve)-.15 G 2.5(da).15 G +(re replaced with an ellipsis.)-2.5 E F2(PS0)108 564 Q F1 1.174(The v) +144 564 R 1.174(alue of this parameter is e)-.25 F 1.174(xpanded \(see) +-.15 F F3(PR)3.674 E(OMPTING)-.27 E F1(belo)3.424 E 1.174 (w\) and displayed by interacti)-.25 F -.15(ve)-.25 G -(shells after reading a command and before the command is e)144 516 Q --.15(xe)-.15 G(cuted.).15 E F2(PS1)108 528 Q F1 .064(The v)144 528 R -.065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15 F F5(PR) +(shells after reading a command and before the command is e)144 576 Q +-.15(xe)-.15 G(cuted.).15 E F2(PS1)108 588 Q F1 .064(The v)144 588 R +.065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15 F F3(PR) 2.565 E(OMPTING)-.27 E F1(belo)2.315 E .065 -(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 540 R +(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 600 R (def)2.5 E(ault v)-.1 E(alue is \231\\s\255\\v\\$ \232.)-.25 E F2(PS2) -108 552 Q F1 .118(The v)144 552 R .118(alue of this parameter is e)-.25 -F .118(xpanded as with)-.15 F F5(PS1)2.617 E F1 .117 +108 612 Q F1 .118(The v)144 612 R .118(alue of this parameter is e)-.25 +F .118(xpanded as with)-.15 F F3(PS1)2.617 E F1 .117 (and used as the secondary prompt string.)2.367 F(The)5.117 E(def)144 -564 Q(ault is \231> \232.)-.1 E F2(PS3)108 576 Q F1 1.115(The v)144 576 +624 Q(ault is \231> \232.)-.1 E F2(PS3)108 636 Q F1 1.115(The v)144 636 R 1.115(alue of this parameter is used as the prompt for the)-.25 F F2 -(select)3.615 E F1 1.116(command \(see)3.616 F F5 1.116(SHELL GRAM-) -3.616 F(MAR)144 588 Q F1(abo)2.25 E -.15(ve)-.15 G(\).).15 E F2(PS4)108 -600 Q F1 .101(The v)144 600 R .101(alue of this parameter is e)-.25 F -.101(xpanded as with)-.15 F F5(PS1)2.6 E F1 .1(and the v)2.35 F .1 -(alue is printed before each command)-.25 F F2(bash)144 612 Q F1 .334 +(select)3.615 E F1 1.116(command \(see)3.616 F F3 1.116(SHELL GRAM-) +3.616 F(MAR)144 648 Q F1(abo)2.25 E -.15(ve)-.15 G(\).).15 E F2(PS4)108 +660 Q F1 .101(The v)144 660 R .101(alue of this parameter is e)-.25 F +.101(xpanded as with)-.15 F F3(PS1)2.6 E F1 .1(and the v)2.35 F .1 +(alue is printed before each command)-.25 F F2(bash)144 672 Q F1 .334 (displays during an e)2.834 F -.15(xe)-.15 G .335(cution trace.).15 F .335(The \214rst character of the e)5.335 F .335(xpanded v)-.15 F .335 -(alue of)-.25 F F5(PS4)2.835 E F1 .335(is repli-)2.585 F -(cated multiple times, as necessary)144 624 Q 2.5(,t)-.65 G 2.5(oi)-2.5 +(alue of)-.25 F F3(PS4)2.835 E F1 .335(is repli-)2.585 F +(cated multiple times, as necessary)144 684 Q 2.5(,t)-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G(ls of indirection.).15 E -(The def)5 E(ault is \231+ \232.)-.1 E F2(SHELL)108 636 Q F1 .543 -(This v)144 648 R .543(ariable e)-.25 F .543 +(The def)5 E(ault is \231+ \232.)-.1 E F2(SHELL)108 696 Q F1 .543 +(This v)144 708 R .543(ariable e)-.25 F .543 (xpands to the full pathname to the shell.)-.15 F .542 (If it is not set when the shell starts,)5.543 F F2(bash)3.042 E F1 -(assigns to it the full pathname of the current user')144 660 Q 2.5(sl) --.55 G(ogin shell.)-2.5 E F2(TIMEFORMA)108 672 Q(T)-.95 E F1 .826(The v) -144 684 R .826 -(alue of this parameter is used as a format string specifying ho)-.25 F -3.327(wt)-.25 G .827(he timing information for)-3.327 F .649 -(pipelines pre\214x)144 696 R .649(ed with the)-.15 F F2(time)3.149 E F1 -(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F -(The)5.648 E F2(%)3.148 E F1 .648(character introduces)3.148 F .711 -(an escape sequence that is e)144 708 R .711(xpanded to a time v)-.15 F -.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F -(and their meanings are as follo)144 720 Q(ws; the brack)-.25 E -(ets denote optional portions.)-.1 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(20)188.45 E 0 Cg EP +(assigns to it the full pathname of the current user')144 720 Q 2.5(sl) +-.55 G(ogin shell.)-2.5 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E +(20)198.445 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(%%)144 84 Q F1 2.5(Al)194 84 -S(iteral)-2.5 E F2(%)2.5 E F1(.)A F2(%[)144 96 Q F0(p)A F2(][l]R)A F1 -(The elapsed time in seconds.)194 96 Q F2(%[)144 108 Q F0(p)A F2(][l]U)A -F1(The number of CPU seconds spent in user mode.)194 108 Q F2(%[)144 120 -Q F0(p)A F2(][l]S)A F1(The number of CPU seconds spent in system mode.) -194 120 Q F2(%P)144 132 Q F1 -(The CPU percentage, computed as \(%U + %S\) / %R.)194 132 Q .87 -(The optional)144 148.8 R F0(p)3.37 E F1 .87(is a digit specifying the) +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(TIMEFORMA)108 84 Q(T)-.95 E +F1 .826(The v)144 96 R .826 +(alue of this parameter is used as a format string specifying ho)-.25 F +3.327(wt)-.25 G .827(he timing information for)-3.327 F .649 +(pipelines pre\214x)144 108 R .649(ed with the)-.15 F F2(time)3.149 E F1 +(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F +(The)5.648 E F2(%)3.148 E F1 .648(character introduces)3.148 F .711 +(an escape sequence that is e)144 120 R .711(xpanded to a time v)-.15 F +.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F +(and their meanings are as follo)144 132 Q(ws; the brack)-.25 E +(ets denote optional portions.)-.1 E F2(%%)144 144 Q F1 2.5(Al)194 144 S +(iteral)-2.5 E F2(%)2.5 E F1(.)A F2(%[)144 156 Q F0(p)A F2(][l]R)A F1 +(The elapsed time in seconds.)194 156 Q F2(%[)144 168 Q F0(p)A F2(][l]U) +A F1(The number of CPU seconds spent in user mode.)194 168 Q F2(%[)144 +180 Q F0(p)A F2(][l]S)A F1 +(The number of CPU seconds spent in system mode.)194 180 Q F2(%P)144 192 +Q F1(The CPU percentage, computed as \(%U + %S\) / %R.)194 192 Q .87 +(The optional)144 208.8 R F0(p)3.37 E F1 .87(is a digit specifying the) 3.37 F F0(pr)3.37 E(ecision)-.37 E F1 3.37(,t)C .87 (he number of fractional digits after a decimal)-3.37 F 2.669(point. A) -144 160.8 R -.25(va)2.669 G .169 +144 220.8 R -.25(va)2.669 G .169 (lue of 0 causes no decimal point or fraction to be output.).25 F F2 (time)5.17 E F1 .17(prints at most six digits)2.67 F 1.211 -(after the decimal point; v)144 172.8 R 1.211(alues of)-.25 F F0(p)3.711 +(after the decimal point; v)144 232.8 R 1.211(alues of)-.25 F F0(p)3.711 E F1 1.211(greater than 6 are changed to 6.)3.711 F(If)6.21 E F0(p)3.71 E F1 1.21(is not speci\214ed,)3.71 F F2(time)3.71 E F1 -(prints three digits after the decimal point.)144 184.8 Q .667 -(The optional)144 201.6 R F2(l)3.167 E F1 .668 +(prints three digits after the decimal point.)144 244.8 Q .667 +(The optional)144 261.6 R F2(l)3.167 E F1 .668 (speci\214es a longer format, including minutes, of the form)3.168 F F0 (MM)3.168 E F1(m)A F0(SS)A F1(.)A F0(FF)A F1 3.168(s. The)B -.25(va) -3.168 G(lue).25 E(of)144 213.6 Q F0(p)2.5 E F1 +3.168 G(lue).25 E(of)144 273.6 Q F0(p)2.5 E F1 (determines whether or not the fraction is included.)2.5 E 13.365 -(If this v)144 230.4 R 13.365(ariable is not set,)-.25 F F2(bash)15.865 +(If this v)144 290.4 R 13.365(ariable is not set,)-.25 F F2(bash)15.865 E F1 13.364(acts as if it had the v)15.865 F(alue)-.25 E F2($\010\\nr) -144 242.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys\\t%3lS\010)-.18 E F1 5.292 +144 302.4 Q(eal\\t%3lR\\nuser\\t%3lU\\nsys\\t%3lS\010)-.18 E F1 5.292 (.I)C 2.792(ft)-5.292 G .292(he v)-2.792 F .293(alue is null,)-.25 F F2 (bash)2.793 E F1 .293(does not display an)2.793 F 2.793(yt)-.15 G(iming) --2.793 E 2.5(information. A)144 254.4 R(trailing ne)2.5 E +-2.793 E 2.5(information. A)144 314.4 R(trailing ne)2.5 E (wline is added when the format string is displayed.)-.25 E F2(TMOUT)108 -266.4 Q F1 .226(If set to a v)144 278.4 R .225 +326.4 Q F1 .226(If set to a v)144 338.4 R .225 (alue greater than zero, the)-.25 F F2 -.18(re)2.725 G(ad).18 E F1 -.2 (bu)2.725 G .225(iltin uses the v).2 F .225(alue as its def)-.25 F .225 (ault timeout.)-.1 F(The)5.225 E F2(select)2.725 E F1 .68 -(command terminates if input does not arri)144 290.4 R .98 -.15(ve a) +(command terminates if input does not arri)144 350.4 R .98 -.15(ve a) -.25 H(fter).15 E/F3 9/Times-Bold@0 SF(TMOUT)3.18 E F1 .68 -(seconds when input is coming from a)2.93 F 2.555(terminal. In)144 302.4 +(seconds when input is coming from a)2.93 F 2.555(terminal. In)144 362.4 R .055(an interacti)2.555 F .355 -.15(ve s)-.25 H .055(hell, the v).15 F .055(alue is interpreted as the number of seconds to w)-.25 F .055 (ait for a line)-.1 F .836(of input after issuing the primary prompt.) -144 314.4 R F2(Bash)5.836 E F1 .836(terminates after w)3.336 F .836 +144 374.4 R F2(Bash)5.836 E F1 .836(terminates after w)3.336 F .836 (aiting for that number of sec-)-.1 F -(onds if a complete line of input does not arri)144 326.4 Q -.15(ve)-.25 -G(.).15 E F2(TMPDIR)108 338.4 Q F1 .391(If set,)144 350.4 R F2(bash) +(onds if a complete line of input does not arri)144 386.4 Q -.15(ve)-.25 +G(.).15 E F2(TMPDIR)108 398.4 Q F1 .391(If set,)144 410.4 R F2(bash) 2.891 E F1 .391(uses its v)2.891 F .391 (alue as the name of a directory in which)-.25 F F2(bash)2.89 E F1 .39 -(creates temporary \214les for the)2.89 F(shell')144 362.4 Q 2.5(su)-.55 -G(se.)-2.5 E F2(auto_r)108 374.4 Q(esume)-.18 E F1 .53(This v)144 386.4 +(creates temporary \214les for the)2.89 F(shell')144 422.4 Q 2.5(su)-.55 +G(se.)-2.5 E F2(auto_r)108 434.4 Q(esume)-.18 E F1 .53(This v)144 446.4 R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531 (he shell interacts with the user and job control.)-3.03 F .531 (If this v)5.531 F .531(ariable is set,)-.25 F .409 -(simple commands consisting of only a single w)144 398.4 R .409 +(simple commands consisting of only a single w)144 458.4 R .409 (ord, without redirections, are treated as candidates)-.1 F 1.017 -(for resumption of an e)144 410.4 R 1.017(xisting stopped job)-.15 F +(for resumption of an e)144 470.4 R 1.017(xisting stopped job)-.15 F 6.017(.T)-.4 G 1.018(here is no ambiguity allo)-6.017 F 1.018 -(wed; if there is more than)-.25 F 1.002(one job be)144 422.4 R 1.002 +(wed; if there is more than)-.25 F 1.002(one job be)144 482.4 R 1.002 (ginning with or containing the w)-.15 F 1.002 (ord, this selects the most recently accessed job)-.1 F 6.002(.T)-.4 G -(he)-6.002 E F0(name)144.36 434.4 Q F1 .603 +(he)-6.002 E F0(name)144.36 494.4 Q F1 .603 (of a stopped job, in this conte)3.283 F .603 (xt, is the command line used to start it, as displayed by)-.15 F F2 -(jobs)3.104 E F1(.)A 1.079(If set to the v)144 446.4 R(alue)-.25 E F0 +(jobs)3.104 E F1(.)A 1.079(If set to the v)144 506.4 R(alue)-.25 E F0 -.2(ex)3.579 G(act).2 E F1 3.579(,t).68 G 1.079(he w)-3.579 F 1.078 (ord must match the name of a stopped job e)-.1 F 1.078 -(xactly; if set to)-.15 F F0(sub-)3.918 E(string)144 458.4 Q F1 2.571 +(xactly; if set to)-.15 F F0(sub-)3.918 E(string)144 518.4 Q F1 2.571 (,t).22 G .071(he w)-2.571 F .072 (ord needs to match a substring of the name of a stopped job)-.1 F 5.072 (.T)-.4 G(he)-5.072 E F0(substring)2.912 E F1 -.25(va)2.792 G .072 -(lue pro-).25 F .576(vides functionality analogous to the)144 470.4 R F2 +(lue pro-).25 F .576(vides functionality analogous to the)144 530.4 R F2 (%?)3.076 E F1 .576(job identi\214er \(see)5.576 F F3 .576(JOB CONTR) 3.076 F(OL)-.27 E F1(belo)2.826 E 3.076(w\). If)-.25 F .576(set to an) -3.076 F(y)-.15 E .842(other v)144 482.4 R .842(alue \(e.g.,)-.25 F F0 +3.076 F(y)-.15 E .842(other v)144 542.4 R .842(alue \(e.g.,)-.25 F F0 (pr)4.592 E(e\214x)-.37 E F1 .842(\), the w).53 F .842 (ord must be a pre\214x of a stopped job')-.1 F 3.343(sn)-.55 G .843 (ame; this pro)-3.343 F .843(vides func-)-.15 F -(tionality analogous to the)144 494.4 Q F2(%)2.5 E F0(string)A F1 -(job identi\214er)2.5 E(.)-.55 E F2(histchars)108 506.4 Q F1 .673 -(The tw)144 518.4 R 3.173(oo)-.1 G 3.173(rt)-3.173 G .673 +(tionality analogous to the)144 554.4 Q F2(%)2.5 E F0(string)A F1 +(job identi\214er)2.5 E(.)-.55 E F2(histchars)108 566.4 Q F1 .673 +(The tw)144 578.4 R 3.173(oo)-.1 G 3.173(rt)-3.173 G .673 (hree characters which control history e)-3.173 F .672 (xpansion, quick substitution, and tok)-.15 F(enization)-.1 E(\(see)144 -530.4 Q F3(HIST)4.065 E(OR)-.162 E 3.815(YE)-.315 G(XP)-3.815 E(ANSION) +590.4 Q F3(HIST)4.065 E(OR)-.162 E 3.815(YE)-.315 G(XP)-3.815 E(ANSION) -.666 E F1(belo)3.815 E 4.065(w\). The)-.25 F 1.565 (\214rst character is the)4.065 F F0 1.566(history e)4.066 F(xpansion) -.2 E F1(character)4.066 E 4.066(,t)-.4 G(he)-4.066 E .571 -(character which be)144 542.4 R .571(gins a history e)-.15 F .571 +(character which be)144 602.4 R .571(gins a history e)-.15 F .571 (xpansion, normally \231)-.15 F F2(!)A F1 3.071(\232. The)B .57 (second character is the)3.071 F F0(quic)3.07 E 3.07(ks)-.2 G(ub-)-3.07 -E(stitution)144 554.4 Q F1(character)2.784 E 2.784(,n)-.4 G .284 +E(stitution)144 614.4 Q F1(character)2.784 E 2.784(,n)-.4 G .284 (ormally \231)-2.784 F F2<00>A F1 2.784(\232. When)B .285 (it appears as the \214rst character on the line, history substi-)2.784 -F .016(tution repeats the pre)144 566.4 R .015 +F .016(tution repeats the pre)144 626.4 R .015 (vious command, replacing one string with another)-.25 F 5.015(.T)-.55 G -.015(he optional third charac-)-5.015 F .543(ter is the)144 578.4 R F0 +.015(he optional third charac-)-5.015 F .543(ter is the)144 638.4 R F0 .543(history comment)3.043 F F1(character)3.043 E 5.543(,n)-.4 G .543 (ormally \231)-5.543 F F2(#)A F1 .544 (\232, which indicates that the remainder of the line)B .25 -(is a comment when it appears as the \214rst character of a w)144 590.4 +(is a comment when it appears as the \214rst character of a w)144 650.4 R 2.75(ord. The)-.1 F .25(history comment character dis-)2.75 F 1.094 -(ables history substitution for the remaining w)144 602.4 R 1.095 +(ables history substitution for the remaining w)144 662.4 R 1.095 (ords on the line.)-.1 F 1.095(It does not necessarily cause the)6.095 F -(shell parser to treat the rest of the line as a comment.)144 614.4 Q F2 -(Arrays)87 631.2 Q(Bash)108 643.2 Q F1(pro)3.391 E .891 +(shell parser to treat the rest of the line as a comment.)144 674.4 Q F2 +(Arrays)87 691.2 Q(Bash)108 703.2 Q F1(pro)3.391 E .891 (vides one-dimensional inde)-.15 F -.15(xe)-.15 G 3.391(da).15 G .891 (nd associati)-3.391 F 1.191 -.15(ve a)-.25 H .891(rray v).15 F 3.391 (ariables. An)-.25 F 3.391(yv)-.15 G .89(ariable may be used as an) --3.641 F(inde)108 655.2 Q -.15(xe)-.15 G 2.697(da).15 G .197(rray; the) +-3.641 F(inde)108 715.2 Q -.15(xe)-.15 G 2.697(da).15 G .197(rray; the) -2.697 F F2(declar)2.697 E(e)-.18 E F1 -.2(bu)2.697 G .197(iltin e).2 F .197(xplicitly declares an array)-.15 F 5.197(.T)-.65 G .197 -(here is no maximum limit on the size of an)-5.197 F(array)108 667.2 Q -3.705(,n)-.65 G 1.205(or an)-3.705 F 3.705(yr)-.15 G 1.205 -(equirement that members be inde)-3.705 F -.15(xe)-.15 G 3.705(do).15 G -3.705(ra)-3.705 G 1.205(ssigned contiguously)-3.705 F 6.205(.I)-.65 G -(nde)-6.205 E -.15(xe)-.15 G 3.705(da).15 G 1.205(rrays are refer)-3.705 -F(-)-.2 E .974(enced using arithmetic e)108 679.2 R .974 -(xpressions that must e)-.15 F .974(xpand to an inte)-.15 F .974 -(ger \(see)-.15 F F3 .975(ARITHMETIC EV)3.475 F(ALU)-1.215 E -.855(AT) --.54 G(ION).855 E F1(be-)3.225 E(lo)108 691.2 Q .599 -(w\) and are zero-based; associati)-.25 F .899 -.15(ve a)-.25 H .598 -(rrays are referenced using arbitrary strings.).15 F .598 -(Unless otherwise noted,)5.598 F(inde)108 703.2 Q -.15(xe)-.15 G 2.5(da) -.15 G(rray indices must be non-ne)-2.5 E -.05(ga)-.15 G(ti).05 E .3 -.15 -(ve i)-.25 H(nte).15 E(gers.)-.15 E 1.652 -(The shell performs parameter and v)108 720 R 1.652(ariable e)-.25 F -1.652(xpansion, arithmetic e)-.15 F 1.652 -(xpansion, command substitution, and)-.15 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(21)188.45 E 0 Cg EP +(here is no maximum limit on the size of an)-5.197 F(array)108 727.2 Q +5.683(,n)-.65 G 3.183(or an)-5.683 F 5.683(yr)-.15 G 3.182 +(equirement that members be inde)-5.683 F -.15(xe)-.15 G 5.682(do).15 G +5.682(ra)-5.682 G 3.182(ssigned contiguously)-5.682 F 8.182(.I)-.65 G +(nde)-8.182 E -.15(xe)-.15 G 5.682(da).15 G 3.182(rrays are)-5.682 F +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(21)198.445 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .553(quote remo)108 84 R -.25(va)-.15 G 3.053(lo) -.25 G 3.053(ni)-3.053 G(nde)-3.053 E -.15(xe)-.15 G 3.053(da).15 G .553 -(rray subscripts.)-3.053 F .552 +.25 E F1(\(1\)).95 E .734(referenced using arithmetic e)108 84 R .734 +(xpressions that must e)-.15 F .735(xpand to an inte)-.15 F .735 +(ger \(see)-.15 F/F2 9/Times-Bold@0 SF .735(ARITHMETIC EV)3.235 F(ALU) +-1.215 E -.855(AT)-.54 G(ION).855 E F1(belo)108 96 Q 2.13 +(w\) and are zero-based; associati)-.25 F 2.43 -.15(ve a)-.25 H 2.13 +(rrays are referenced using arbitrary strings.).15 F 2.13 +(Unless otherwise)7.13 F(noted, inde)108 108 Q -.15(xe)-.15 G 2.5(da).15 +G(rray indices must be non-ne)-2.5 E -.05(ga)-.15 G(ti).05 E .3 -.15 +(ve i)-.25 H(nte).15 E(gers.)-.15 E 1.652 +(The shell performs parameter and v)108 124.8 R 1.652(ariable e)-.25 F +1.652(xpansion, arithmetic e)-.15 F 1.652 +(xpansion, command substitution, and)-.15 F .553(quote remo)108 136.8 R +-.25(va)-.15 G 3.053(lo).25 G 3.053(ni)-3.053 G(nde)-3.053 E -.15(xe) +-.15 G 3.053(da).15 G .553(rray subscripts.)-3.053 F .552 (Since this can potentially result in empty strings, subscript in-)5.553 -F(de)108 96 Q(xing treats those as e)-.15 E(xpressions that e)-.15 E +F(de)108 148.8 Q(xing treats those as e)-.15 E(xpressions that e)-.15 E -.25(va)-.25 G(luate to 0.).25 E .115(The shell performs tilde e)108 -112.8 R .116(xpansion, parameter and v)-.15 F .116(ariable e)-.25 F .116 +165.6 R .116(xpansion, parameter and v)-.15 F .116(ariable e)-.25 F .116 (xpansion, arithmetic e)-.15 F .116(xpansion, command sub-)-.15 F .046 -(stitution, and quote remo)108 124.8 R -.25(va)-.15 G 2.546(lo).25 G +(stitution, and quote remo)108 177.6 R -.25(va)-.15 G 2.546(lo).25 G 2.546(na)-2.546 G(ssociati)-2.546 E .345 -.15(ve a)-.25 H .045 (rray subscripts.).15 F .045(Empty strings cannot be used as associati) -5.045 F .345 -.15(ve a)-.25 H -.2(r-).15 G(ray k)108 136.8 Q -.15(ey)-.1 -G(s.).15 E/F2 10/Times-Bold@0 SF(Bash)108 153.6 Q F1 +5.045 F .345 -.15(ve a)-.25 H -.2(r-).15 G(ray k)108 189.6 Q -.15(ey)-.1 +G(s.).15 E/F3 10/Times-Bold@0 SF(Bash)108 206.4 Q F1 (automatically creates an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G (rray if an)-2.5 E 2.5(yv)-.15 G -(ariable is assigned to using the syntax)-2.75 E F0(name)144 165.6 Q F1 -([)A F0(subscript)A F1(]=)A F0(value)A F1(.)2.5 E(The)108 177.6 Q F0 +(ariable is assigned to using the syntax)-2.75 E F0(name)144 218.4 Q F1 +([)A F0(subscript)A F1(]=)A F0(value)A F1(.)2.5 E(The)108 230.4 Q F0 (subscript)3.181 E F1 .341(is treated as an arithmetic e)3.521 F .342 (xpression that must e)-.15 F -.25(va)-.25 G .342 -(luate to a number greater than or equal to).25 F 2.5(zero. T)108 189.6 +(luate to a number greater than or equal to).25 F 2.5(zero. T)108 242.4 R 2.5(oe)-.8 G(xplicitly declare an inde)-2.65 E -.15(xe)-.15 G 2.5(da) -.15 G(rray)-2.5 E 2.5(,u)-.65 G(se)-2.5 E F2(declar)144 201.6 Q 2.5 -<65ad>-.18 G(a)-2.5 E F0(name)2.86 E F1(\(see)108 213.6 Q/F3 9 -/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo) -2.25 E(w\).)-.25 E F2(declar)144 225.6 Q 2.5<65ad>-.18 G(a)-2.5 E F0 -(name)2.5 E F1([)A F0(subscript)A F1(])A(is also accepted; the)108 237.6 -Q F0(subscript)2.5 E F1(is ignored.)2.5 E(Associati)108 254.4 Q .3 -.15 -(ve a)-.25 H(rrays are created using).15 E F2(declar)144 266.4 Q 2.5 -<65ad>-.18 G(A)-2.5 E F0(name)2.86 E F1(.)108 278.4 Q(Attrib)108 295.2 Q -.941(utes may be speci\214ed for an array v)-.2 F .941 -(ariable using the)-.25 F F2(declar)3.441 E(e)-.18 E F1(and)3.44 E F2 --.18(re)3.44 G(adonly).18 E F1 -.2(bu)3.44 G 3.44(iltins. Each).2 F -(attrib)3.44 E(ute)-.2 E(applies to all members of an array)108 307.2 Q -(.)-.65 E .417 -(Arrays are assigned using compound assignments of the form)108 324 R F0 -(name)2.918 E F1(=)A F2(\()A F1 -.25(va)C(lue).25 E F0(1)A F1 -2.914 -1.666(... v)2.918 H(alue)-1.916 E F0(n)A F2(\))A F1 2.918(,w)C .418 +.15 G(rray)-2.5 E 2.5(,u)-.65 G(se)-2.5 E F3(declar)144 254.4 Q 2.5 +<65ad>-.18 G(a)-2.5 E F0(name)2.86 E F1(\(see)108 266.4 Q F2(SHELL B)2.5 +E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\).)-.25 E F3(declar) +144 278.4 Q 2.5<65ad>-.18 G(a)-2.5 E F0(name)2.5 E F1([)A F0(subscript)A +F1(])A(is also accepted; the)108 290.4 Q F0(subscript)2.5 E F1 +(is ignored.)2.5 E(Associati)108 307.2 Q .3 -.15(ve a)-.25 H +(rrays are created using).15 E F3(declar)144 319.2 Q 2.5<65ad>-.18 G(A) +-2.5 E F0(name)2.86 E F1(.)108 331.2 Q(Attrib)108 348 Q .941 +(utes may be speci\214ed for an array v)-.2 F .941(ariable using the) +-.25 F F3(declar)3.441 E(e)-.18 E F1(and)3.44 E F3 -.18(re)3.44 G +(adonly).18 E F1 -.2(bu)3.44 G 3.44(iltins. Each).2 F(attrib)3.44 E(ute) +-.2 E(applies to all members of an array)108 360 Q(.)-.65 E .417 +(Arrays are assigned using compound assignments of the form)108 376.8 R +F0(name)2.918 E F1(=)A F3(\()A F1 -.25(va)C(lue).25 E F0(1)A F1 -2.914 +1.666(... v)2.918 H(alue)-1.916 E F0(n)A F3(\))A F1 2.918(,w)C .418 (here each)-2.918 F F0(value)2.918 E F1 .156(may be of the form [)108 -336 R F0(subscript)A F1(]=)A F0(string)A F1 5.156(.I)C(nde)-5.156 E -.15 -(xe)-.15 G 2.656(da).15 G .156(rray assignments do not require an)-2.656 -F .156(ything b)-.15 F(ut)-.2 E F0(string)2.656 E F1 5.156(.E)C(ach) --5.156 E F0(value)108 348 Q F1 .216(in the list is e)2.715 F .216 +388.8 R F0(subscript)A F1(]=)A F0(string)A F1 5.156(.I)C(nde)-5.156 E +-.15(xe)-.15 G 2.656(da).15 G .156(rray assignments do not require an) +-2.656 F .156(ything b)-.15 F(ut)-.2 E F0(string)2.656 E F1 5.156(.E)C +(ach)-5.156 E F0(value)108 400.8 Q F1 .216(in the list is e)2.715 F .216 (xpanded using the shell e)-.15 F .216(xpansions described belo)-.15 F -2.716(wu)-.25 G(nder)-2.716 E F3(EXP)2.716 E(ANSION)-.666 E/F4 9 +2.716(wu)-.25 G(nder)-2.716 E F2(EXP)2.716 E(ANSION)-.666 E/F4 9 /Times-Roman@0 SF(,)A F1 -.2(bu)2.466 G(t).2 E F0(value)2.716 E F1 2.716 -(st)C(hat)-2.716 E 1.326(are v)108 360 R 1.326(alid v)-.25 F 1.326 +(st)C(hat)-2.716 E 1.326(are v)108 412.8 R 1.326(alid v)-.25 F 1.326 (ariable assignments including the brack)-.25 F 1.326 (ets and subscript do not under)-.1 F 1.325(go brace e)-.18 F 1.325 -(xpansion and)-.15 F -.1(wo)108 372 S(rd splitting, as with indi).1 E +(xpansion and)-.15 F -.1(wo)108 424.8 S(rd splitting, as with indi).1 E (vidual v)-.25 E(ariable assignments.)-.25 E .163 -(When assigning to inde)108 388.8 R -.15(xe)-.15 G 2.663(da).15 G .163 +(When assigning to inde)108 441.6 R -.15(xe)-.15 G 2.663(da).15 G .163 (rrays, if the optional brack)-2.663 F .163 (ets and subscript are supplied, that inde)-.1 F 2.664(xi)-.15 G 2.664 -(sa)-2.664 G(ssigned)-2.664 E .46(to; otherwise the inde)108 400.8 R +(sa)-2.664 G(ssigned)-2.664 E .46(to; otherwise the inde)108 453.6 R 2.96(xo)-.15 G 2.96(ft)-2.96 G .46(he element assigned is the last inde) -2.96 F 2.959(xa)-.15 G .459(ssigned to by the statement plus one.) --2.959 F(In-)5.459 E(de)108 412.8 Q(xing starts at zero.)-.15 E 1.288 -(When assigning to an associati)108 429.6 R 1.588 -.15(ve a)-.25 H(rray) +-2.959 F(In-)5.459 E(de)108 465.6 Q(xing starts at zero.)-.15 E 1.288 +(When assigning to an associati)108 482.4 R 1.588 -.15(ve a)-.25 H(rray) .15 E 3.788(,t)-.65 G 1.288(he w)-3.788 F 1.288 (ords in a compound assignment may be either assignment)-.1 F .608 (statements, for which the subscript is required, or a list of w)108 -441.6 R .608(ords that is interpreted as a sequence of alter)-.1 F(-)-.2 -E 1.734(nating k)108 453.6 R -.15(ey)-.1 G 4.234(sa).15 G 1.734(nd v) --4.234 F(alues:)-.25 E F0(name)4.234 E F1(=)A F2(\()A F0 -.1(ke)4.234 G +494.4 R .608(ords that is interpreted as a sequence of alter)-.1 F(-)-.2 +E 1.734(nating k)108 506.4 R -.15(ey)-.1 G 4.234(sa).15 G 1.734(nd v) +-4.234 F(alues:)-.25 E F0(name)4.234 E F1(=)A F3(\()A F0 -.1(ke)4.234 G 1.734(y1 value1 k)-.2 F -.3(ey)-.1 G 4.235(2v).3 G(alue2)-4.235 E F1 -1.666(...)4.235 G F2(\))-1.666 E F1 6.735(.T)C 1.735 -(hese are treated identically to)-6.735 F F0(name)4.235 E F1(=)A F2(\()A -F1([)108 465.6 Q F0 -.1(ke)C(y1)-.2 E F1(]=)A F0(value1)A F1([)2.911 E -F0 -.1(ke)C(y2)-.2 E F1(]=)A F0(value2)A F1 1.666(...)2.911 G F2(\)) +1.666(...)4.235 G F3(\))-1.666 E F1 6.735(.T)C 1.735 +(hese are treated identically to)-6.735 F F0(name)4.235 E F1(=)A F3(\()A +F1([)108 518.4 Q F0 -.1(ke)C(y1)-.2 E F1(]=)A F0(value1)A F1([)2.911 E +F0 -.1(ke)C(y2)-.2 E F1(]=)A F0(value2)A F1 1.666(...)2.911 G F3(\)) -1.666 E F1 5.411(.T)C .411(he \214rst w)-5.411 F .411 (ord in the list determines ho)-.1 F 2.91(wt)-.25 G .41(he remaining w) -2.91 F .41(ords are inter)-.1 F(-)-.2 E .153 -(preted; all assignments in a list must be of the same type.)108 477.6 R +(preted; all assignments in a list must be of the same type.)108 530.4 R .154(When using k)5.154 F -.15(ey)-.1 G(/v).15 E .154(alue pairs, the k) -.25 F -.15(ey)-.1 G 2.654(sm).15 G .154(ay not be)-2.654 F -(missing or empty; a \214nal missing v)108 489.6 Q(alue is treated lik) +(missing or empty; a \214nal missing v)108 542.4 Q(alue is treated lik) -.25 E 2.5(et)-.1 G(he empty string.)-2.5 E .24 -(This syntax is also accepted by the)108 506.4 R F2(declar)2.74 E(e)-.18 +(This syntax is also accepted by the)108 559.2 R F3(declar)2.74 E(e)-.18 E F1 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239 (vidual array elements may be assigned to using the)-.25 F F0(name)108 -518.4 Q F1([)A F0(subscript)A F1(]=)A F0(value)A F1 +571.2 Q F1([)A F0(subscript)A F1(]=)A F0(value)A F1 (syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E .025 -(When assigning to an inde)108 535.2 R -.15(xe)-.15 G 2.525(da).15 G -(rray)-2.525 E 2.525(,i)-.65 G(f)-2.525 E F0(name)2.885 E F1 .025 +(When assigning to an inde)108 588 R -.15(xe)-.15 G 2.525(da).15 G(rray) +-2.525 E 2.525(,i)-.65 G(f)-2.525 E F0(name)2.885 E F1 .025 (is subscripted by a ne)2.705 F -.05(ga)-.15 G(ti).05 E .326 -.15(ve n) -.25 H(umber).15 E 2.526(,t)-.4 G .026(hat number is interpreted)-2.526 -F .317(as relati)108 547.2 R .617 -.15(ve t)-.25 H 2.817(oo).15 G .317 +F .317(as relati)108 600 R .617 -.15(ve t)-.25 H 2.817(oo).15 G .317 (ne greater than the maximum inde)-2.817 F 2.816(xo)-.15 G(f)-2.816 E F0 (name)2.816 E F1 2.816(,s)C 2.816(on)-2.816 G -2.25 -.15(eg a)-2.816 H (ti).15 E .616 -.15(ve i)-.25 H .316(ndices count back from the end of) -.15 F(the array)108 559.2 Q 2.5(,a)-.65 G(nd an inde)-2.5 E 2.5(xo)-.15 -G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G(eferences the last element.)-2.5 E .051 -(The \231+=\232 operator appends to an array v)108 576 R .052 +.15 F(the array)108 612 Q 2.5(,a)-.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G +2.5<66ad>-2.5 G 2.5(1r)-2.5 G(eferences the last element.)-2.5 E .051 +(The \231+=\232 operator appends to an array v)108 628.8 R .052 (ariable when assigning using the compound assignment syntax; see)-.25 F -F3 -.666(PA)108 588 S(RAMETERS).666 E F1(abo)2.25 E -.15(ve)-.15 G(.).15 -E .684(An array element is referenced using ${)108 604.8 R F0(name)A F1 -([)A F0(subscript)A F1 3.184(]}. The)B .683(braces are required to a) +F2 -.666(PA)108 640.8 S(RAMETERS).666 E F1(abo)2.25 E -.15(ve)-.15 G(.) +.15 E .684(An array element is referenced using ${)108 657.6 R F0(name)A +F1([)A F0(subscript)A F1 3.184(]}. The)B .683(braces are required to a) 3.184 F -.2(vo)-.2 G .683(id con\215icts with).2 F .297(pathname e)108 -616.8 R 2.797(xpansion. If)-.15 F F0(subscript)2.797 E F1(is)2.797 E F2 -(@)2.797 E F1(or)2.797 E F2(*)2.797 E F1 2.797(,t)C .297(he w)-2.797 F +669.6 R 2.797(xpansion. If)-.15 F F0(subscript)2.797 E F1(is)2.797 E F3 +(@)2.797 E F1(or)2.797 E F3(*)2.797 E F1 2.797(,t)C .297(he w)-2.797 F .297(ord e)-.1 F .297(xpands to all members of)-.15 F F0(name)2.798 E F1 2.798(,u)C .298(nless noted in the)-2.798 F .145(description of a b)108 -628.8 R .145(uiltin or w)-.2 F .145(ord e)-.1 F 2.644(xpansion. These) +681.6 R .145(uiltin or w)-.2 F .145(ord e)-.1 F 2.644(xpansion. These) -.15 F .144(subscripts dif)2.644 F .144(fer only when the w)-.25 F .144 -(ord appears within dou-)-.1 F .094(ble quotes.)108 640.8 R .094 +(ord appears within dou-)-.1 F .094(ble quotes.)108 693.6 R .094 (If the w)5.094 F .094(ord is double-quoted, ${)-.1 F F0(name)A F1 .094 ([*]} e)B .094(xpands to a single w)-.15 F .095(ord with the v)-.1 F .095(alue of each array)-.25 F .257 -(member separated by the \214rst character of the)108 652.8 R F3(IFS) +(member separated by the \214rst character of the)108 705.6 R F2(IFS) 2.756 E F1 .256(special v)2.506 F .256(ariable, and ${)-.25 F F0(name)A -F1 .256([@]} e)B .256(xpands each element)-.15 F(of)108 664.8 Q F0(name) +F1 .256([@]} e)B .256(xpands each element)-.15 F(of)108 717.6 Q F0(name) 3.46 E F1 .96(to a separate w)3.46 F 3.46(ord. When)-.1 F .961 (there are no array members, ${)3.46 F F0(name)A F1 .961([@]} e)B .961 -(xpands to nothing.)-.15 F .961(If the)5.961 F .727(double-quoted e)108 -676.8 R .727(xpansion occurs within a w)-.15 F .727(ord, the e)-.1 F -.727(xpansion of the \214rst parameter is joined with the be-)-.15 F .8 -(ginning part of the e)108 688.8 R .8(xpansion of the original w)-.15 F -.8(ord, and the e)-.1 F .8 -(xpansion of the last parameter is joined with)-.15 F .554 -(the last part of the e)108 700.8 R .554(xpansion of the original w)-.15 -F 3.054(ord. This)-.1 F .554(is analogous to the e)3.054 F .553 -(xpansion of the special para-)-.15 F(meters)108 712.8 Q F2(*)2.5 E F1 -(and)2.5 E F2(@)2.5 E F1(\(see)2.5 E F2(Special P)2.5 E(arameters)-.1 E -F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E(${#)108 729.6 Q F0(name)A F1([)A -F0(subscript)A F1 .33(]} e)B .33(xpands to the length of ${)-.15 F F0 -(name)A F1([)A F0(subscript)A F1 2.83(]}. If)B F0(subscript)2.83 E F1 -(is)2.83 E F2(*)2.83 E F1(or)2.83 E F2(@)2.83 E F1 2.83(,t)C .33(he e) --2.83 F .33(xpansion is)-.15 F(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(22)188.45 E 0 Cg EP +(xpands to nothing.)-.15 F .961(If the)5.961 F 1.794(double-quoted e)108 +729.6 R 1.794(xpansion occurs within a w)-.15 F 1.793(ord, the e)-.1 F +1.793(xpansion of the \214rst parameter is joined with the)-.15 F +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(22)198.445 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(the number of elements in the array)108 84 Q(.)-.65 -E .386(If the)108 100.8 R F0(subscript)3.226 E F1 .386 +.25 E F1(\(1\)).95 E(be)108 84 Q .283(ginning part of the e)-.15 F .284 +(xpansion of the original w)-.15 F .284(ord, and the e)-.1 F .284 +(xpansion of the last parameter is joined with)-.15 F .554 +(the last part of the e)108 96 R .554(xpansion of the original w)-.15 F +3.054(ord. This)-.1 F .554(is analogous to the e)3.054 F .553 +(xpansion of the special para-)-.15 F(meters)108 108 Q/F2 10 +/Times-Bold@0 SF(*)2.5 E F1(and)2.5 E F2(@)2.5 E F1(\(see)2.5 E F2 +(Special P)2.5 E(arameters)-.1 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E +(${#)108 124.8 Q F0(name)A F1([)A F0(subscript)A F1 .33(]} e)B .33 +(xpands to the length of ${)-.15 F F0(name)A F1([)A F0(subscript)A F1 +2.83(]}. If)B F0(subscript)2.83 E F1(is)2.83 E F2(*)2.83 E F1(or)2.83 E +F2(@)2.83 E F1 2.83(,t)C .33(he e)-2.83 F .33(xpansion is)-.15 F +(the number of elements in the array)108 136.8 Q(.)-.65 E .386(If the) +108 153.6 R F0(subscript)3.226 E F1 .386 (used to reference an element of an inde)3.566 F -.15(xe)-.15 G 2.886 (da).15 G .386(rray e)-2.886 F -.25(va)-.25 G .386 (luates to a number less than zero, it is).25 F .686 -(interpreted as relati)108 112.8 R .986 -.15(ve t)-.25 H 3.186(oo).15 G +(interpreted as relati)108 165.6 R .986 -.15(ve t)-.25 H 3.186(oo).15 G .686(ne greater than the maximum inde)-3.186 F 3.187(xo)-.15 G 3.187(ft) -3.187 G .687(he array)-3.187 F 3.187(,s)-.65 G 3.187(on)-3.187 G -2.25 -.15(eg a)-3.187 H(ti).15 E .987 -.15(ve i)-.25 H .687 -(ndices count back).15 F(from the end of the array)108 124.8 Q 2.5(,a) +(ndices count back).15 F(from the end of the array)108 177.6 Q 2.5(,a) -.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G (eferences the last element.)-2.5 E .595(Referencing an array v)108 -141.6 R .595(ariable without a subscript is equi)-.25 F -.25(va)-.25 G +194.4 R .595(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .595(lent to referencing the array with a subscript of).25 F 2.5(0. An) -108 153.6 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25 -E(alid subscript is v)-.25 E(alid;)-.25 E/F2 10/Times-Bold@0 SF(bash)2.5 -E F1(creates an array if necessary)2.5 E(.)-.65 E(An array v)108 170.4 Q +108 206.4 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25 +E(alid subscript is v)-.25 E(alid;)-.25 E F2(bash)2.5 E F1 +(creates an array if necessary)2.5 E(.)-.65 E(An array v)108 223.2 Q (ariable is considered set if a subscript has been assigned a v)-.25 E 2.5(alue. The)-.25 F(null string is a v)2.5 E(alid v)-.25 E(alue.)-.25 E -.417(It is possible to obtain the k)108 187.2 R -.15(ey)-.1 G 2.918(s\() +.417(It is possible to obtain the k)108 240 R -.15(ey)-.1 G 2.918(s\() .15 G .418(indices\) of an array as well as the v)-2.918 F 2.918 (alues. ${)-.25 F F2(!)A F0(name)A F1([)A F0(@)A F1 .418(]} and ${)B F2 -(!)A F0(name)A F1([)A F0(*)A F1(]})A -.15(ex)108 199.2 S .75 +(!)A F0(name)A F1([)A F0(*)A F1(]})A -.15(ex)108 252 S .75 (pand to the indices assigned in array v).15 F(ariable)-.25 E F0(name) 3.249 E F1 5.749(.T)C .749 -(he treatment when in double quotes is similar to)-5.749 F(the e)108 -211.2 Q(xpansion of the special parameters)-.15 E F0(@)2.5 E F1(and)2.5 -E F0(*)2.5 E F1(within double quotes.)2.5 E(The)108 228 Q F2(unset)3.281 -E F1 -.2(bu)3.281 G .781(iltin is used to destro).2 F 3.281(ya)-.1 G +(he treatment when in double quotes is similar to)-5.749 F(the e)108 264 +Q(xpansion of the special parameters)-.15 E F0(@)2.5 E F1(and)2.5 E F0 +(*)2.5 E F1(within double quotes.)2.5 E(The)108 280.8 Q F2(unset)3.281 E +F1 -.2(bu)3.281 G .781(iltin is used to destro).2 F 3.281(ya)-.1 G (rrays.)-3.281 E F2(unset)5.781 E F0(name)3.281 E F1([)A F0(subscript)A F1 3.281(]u)C .782(nsets the array element at inde)-3.281 F(x)-.15 E F0 -(sub-)3.282 E(script)108 240 Q F1 2.858(,f)C .358(or both inde)-2.858 F --.15(xe)-.15 G 2.858(da).15 G .358(nd associati)-2.858 F .658 -.15(ve a) --.25 H 2.858(rrays. Ne).15 F -.05(ga)-.15 G(ti).05 E .658 -.15(ve s)-.25 -H .358(ubscripts to inde).15 F -.15(xe)-.15 G 2.858(da).15 G .358 -(rrays are interpreted as de-)-2.858 F 1.204(scribed abo)108 252 R -.15 -(ve)-.15 G 6.204(.U).15 G 1.204(nsetting the last element of an array v) --6.204 F 1.205(ariable does not unset the v)-.25 F(ariable.)-.25 E F2 -(unset)6.205 E F0(name)3.705 E F1(,)A(where)108 264 Q F0(name)2.908 E F1 -.407(is an array)2.908 F 2.907(,r)-.65 G(emo)-2.907 E -.15(ve)-.15 G -2.907(st).15 G .407(he entire array)-2.907 F(.)-.65 E F2(unset)5.407 E -F0(name)2.907 E F1([)A F0(subscript)A F1 2.907(]b)C(eha)-2.907 E -.15 -(ve)-.2 G 2.907(sd).15 G(if)-2.907 E .407(ferently depending on)-.25 F -(whether)108 276 Q F0(name)2.914 E F1 .414(is an inde)2.914 F -.15(xe) +(sub-)3.282 E(script)108 292.8 Q F1 2.858(,f)C .358(or both inde)-2.858 +F -.15(xe)-.15 G 2.858(da).15 G .358(nd associati)-2.858 F .658 -.15 +(ve a)-.25 H 2.858(rrays. Ne).15 F -.05(ga)-.15 G(ti).05 E .658 -.15 +(ve s)-.25 H .358(ubscripts to inde).15 F -.15(xe)-.15 G 2.858(da).15 G +.358(rrays are interpreted as de-)-2.858 F 1.204(scribed abo)108 304.8 R +-.15(ve)-.15 G 6.204(.U).15 G 1.204 +(nsetting the last element of an array v)-6.204 F 1.205 +(ariable does not unset the v)-.25 F(ariable.)-.25 E F2(unset)6.205 E F0 +(name)3.705 E F1(,)A(where)108 316.8 Q F0(name)2.908 E F1 .407 +(is an array)2.908 F 2.907(,r)-.65 G(emo)-2.907 E -.15(ve)-.15 G 2.907 +(st).15 G .407(he entire array)-2.907 F(.)-.65 E F2(unset)5.407 E F0 +(name)2.907 E F1([)A F0(subscript)A F1 2.907(]b)C(eha)-2.907 E -.15(ve) +-.2 G 2.907(sd).15 G(if)-2.907 E .407(ferently depending on)-.25 F +(whether)108 328.8 Q F0(name)2.914 E F1 .414(is an inde)2.914 F -.15(xe) -.15 G 2.914(do).15 G 2.915(ra)-2.914 G(ssociati)-2.915 E .715 -.15 (ve a)-.25 H .415(rray when).15 F F0(subscript)2.915 E F1(is)2.915 E F2 (*)2.915 E F1(or)2.915 E F2(@)2.915 E F1 5.415(.I)C(f)-5.415 E F0(name) 2.915 E F1 .415(is an associati)2.915 F .715 -.15(ve a)-.25 H(rray).15 E -(,)-.65 E .937(this unsets the element with subscript)108 288 R F2(*) +(,)-.65 E .937(this unsets the element with subscript)108 340.8 R F2(*) 3.437 E F1(or)3.437 E F2(@)3.437 E F1 5.937(.I)C(f)-5.937 E F0(name) 3.437 E F1 .937(is an inde)3.437 F -.15(xe)-.15 G 3.437(da).15 G(rray) -3.437 E 3.437(,u)-.65 G .937(nset remo)-3.437 F -.15(ve)-.15 G 3.437 -(sa).15 G .937(ll of the ele-)-3.437 F(ments b)108 300 Q +(sa).15 G .937(ll of the ele-)-3.437 F(ments b)108 352.8 Q (ut does not remo)-.2 E .3 -.15(ve t)-.15 H(he array itself.).15 E .028 -(When using a v)108 316.8 R .028(ariable name with a subscript as an ar) +(When using a v)108 369.6 R .028(ariable name with a subscript as an ar) -.25 F .029(gument to a command, such as with)-.18 F F2(unset)2.529 E F1 -2.529(,w)C .029(ithout us-)-2.529 F .515(ing the w)108 328.8 R .515 +2.529(,w)C .029(ithout us-)-2.529 F .515(ing the w)108 381.6 R .515 (ord e)-.1 F .515(xpansion syntax described abo)-.15 F -.15(ve)-.15 G 3.015(,\().15 G .515(e.g., unset a[4]\), the ar)-3.015 F .515 (gument is subject to pathname e)-.18 F(x-)-.15 E 2.5(pansion. Quote)108 -340.8 R(the ar)2.5 E(gument if pathname e)-.18 E +393.6 R(the ar)2.5 E(gument if pathname e)-.18 E (xpansion is not desired \(e.g., unset \010a[4]\010\).)-.15 E(The)108 -357.6 Q F2(declar)2.683 E(e)-.18 E F1(,)A F2(local)2.683 E F1 2.683(,a)C +410.4 Q F2(declar)2.683 E(e)-.18 E F1(,)A F2(local)2.683 E F1 2.683(,a)C (nd)-2.683 E F2 -.18(re)2.683 G(adonly).18 E F1 -.2(bu)2.683 G .184 (iltins each accept a).2 F F22.684 E F1 .184 (option to specify an inde)2.684 F -.15(xe)-.15 G 2.684(da).15 G .184 (rray and a)-2.684 F F22.684 E F1(op-)2.684 E .042 -(tion to specify an associati)108 369.6 R .341 -.15(ve a)-.25 H(rray).15 +(tion to specify an associati)108 422.4 R .341 -.15(ve a)-.25 H(rray).15 E 5.041(.I)-.65 G 2.541(fb)-5.041 G .041(oth options are supplied,) -2.541 F F22.541 E F1(tak)2.541 E .041(es precedence.)-.1 F(The) 5.041 E F2 -.18(re)2.541 G(ad).18 E F1 -.2(bu)2.541 G .041(iltin ac-).2 -F .863(cepts a)108 381.6 R F23.363 E F1 .864 +F .863(cepts a)108 434.4 R F23.363 E F1 .864 (option to assign a list of w)3.363 F .864 (ords read from the standard input to an array)-.1 F 5.864(.T)-.65 G(he) -5.864 E F2(set)3.364 E F1(and)3.364 E F2(declar)3.364 E(e)-.18 E F1 -.2 -(bu)108 393.6 S .686(iltins display array v).2 F .686(alues in a w)-.25 +(bu)108 446.4 S .686(iltins display array v).2 F .686(alues in a w)-.25 F .686(ay that allo)-.1 F .686(ws them to be reused as assignments.)-.25 F .685(Other b)5.686 F .685(uiltins accept)-.2 F .732(array name ar)108 -405.6 R .732(guments as well \(e.g.,)-.18 F F2(map\214le)3.233 E F1 .733 +458.4 R .732(guments as well \(e.g.,)-.18 F F2(map\214le)3.233 E F1 .733 (\); see the descriptions of indi)B .733(vidual b)-.25 F .733 (uiltins belo)-.2 F 3.233(wf)-.25 G .733(or details.)-3.233 F -(The shell pro)108 417.6 Q(vides a number of b)-.15 E(uiltin array v)-.2 -E(ariables.)-.25 E/F3 10.95/Times-Bold@0 SF(EXP)72 434.4 Q(ANSION)-.81 E +(The shell pro)108 470.4 Q(vides a number of b)-.15 E(uiltin array v)-.2 +E(ariables.)-.25 E/F3 10.95/Times-Bold@0 SF(EXP)72 487.2 Q(ANSION)-.81 E F1 .764(Expansion is performed on the command line after it has been sp\ -lit into w)108 446.4 R 3.264(ords. The)-.1 F .764(shell performs these) -3.264 F -.15(ex)108 458.4 S(pansions:).15 E F0(br)3.797 E 1.027(ace e) +lit into w)108 499.2 R 3.264(ords. The)-.1 F .764(shell performs these) +3.264 F -.15(ex)108 511.2 S(pansions:).15 E F0(br)3.797 E 1.027(ace e) -.15 F(xpansion)-.2 E F1(,).24 E F0 1.027(tilde e)3.657 F(xpansion)-.2 E F1(,).24 E F0(par)4.777 E 1.027(ameter and variable e)-.15 F(xpansion) -.2 E F1(,).24 E F0 1.027(command substitution)3.727 F F1(,).24 E F0 -(arithmetic e)108.33 470.4 Q(xpansion)-.2 E F1(,).24 E F0(wor)2.84 E 2.5 +(arithmetic e)108.33 523.2 Q(xpansion)-.2 E F1(,).24 E F0(wor)2.84 E 2.5 (ds)-.37 G(plitting)-2.5 E F1(,).22 E F0(pathname e)3.75 E(xpansion)-.2 E F1 2.5(,a).24 G(nd)-2.5 E F0(quote r)2.75 E(emo)-.37 E(val)-.1 E F1(.) -.51 E .419(The order of e)108 487.2 R .419(xpansions is: brace e)-.15 F +.51 E .419(The order of e)108 540 R .419(xpansions is: brace e)-.15 F .418(xpansion; tilde e)-.15 F .418(xpansion, parameter and v)-.15 F .418 -(ariable e)-.25 F .418(xpansion, arithmetic)-.15 F -.15(ex)108 499.2 S -.28(pansion, and command substitution \(done in a left-to-right f).15 F -.28(ashion\); w)-.1 F .28(ord splitting; pathname e)-.1 F(xpansion;)-.15 -E(and quote remo)108 511.2 Q -.25(va)-.15 G(l.).25 E .257 -(On systems that can support it, there is an additional e)108 528 R .257 -(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F0(pr)2.757 E .257 +(ariable e)-.25 F .418(xpansion, arithmetic)-.15 F -.15(ex)108 552 S .28 +(pansion, and command substitution \(done in a left-to-right f).15 F .28 +(ashion\); w)-.1 F .28(ord splitting; pathname e)-.1 F(xpansion;)-.15 E +(and quote remo)108 564 Q -.25(va)-.15 G(l.).25 E .257 +(On systems that can support it, there is an additional e)108 580.8 R +.257(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F0(pr)2.757 E .257 (ocess substitution)-.45 F F1 5.257(.T)C .256(his is per)-5.257 F(-)-.2 -E(formed at the same time as tilde, parameter)108 540 Q 2.5(,v)-.4 G +E(formed at the same time as tilde, parameter)108 592.8 Q 2.5(,v)-.4 G (ariable, and arithmetic e)-2.75 E(xpansion and command substitution.) --.15 E F0 .249(Quote r)108 556.8 R(emo)-.37 E(val)-.1 E F1 .249(is al) +-.15 E F0 .249(Quote r)108 609.6 R(emo)-.37 E(val)-.1 E F1 .249(is al) 2.749 F -.1(wa)-.1 G .249(ys performed last.).1 F .249(It remo)5.249 F -.15(ve)-.15 G 2.749(sq).15 G .25 (uote characters present in the original w)-2.749 F .25(ord, not ones) --.1 F(resulting from one of the other e)108 568.8 Q +-.1 F(resulting from one of the other e)108 621.6 Q (xpansions, unless the)-.15 E 2.5(yh)-.15 G -2.25 -.2(av e)-2.5 H -(been quoted themselv)2.7 E(es.)-.15 E .172(Only brace e)108 585.6 R +(been quoted themselv)2.7 E(es.)-.15 E .172(Only brace e)108 638.4 R .172(xpansion, w)-.15 F .171(ord splitting, and pathname e)-.1 F .171 (xpansion can increase the number of w)-.15 F .171(ords of the e)-.1 F -(x-)-.15 E .776(pansion; other e)108 597.6 R .776(xpansions e)-.15 F +(x-)-.15 E .776(pansion; other e)108 650.4 R .776(xpansions e)-.15 F .776(xpand a single w)-.15 F .776(ord to a single w)-.1 F 3.276 (ord. The)-.1 F .776(only e)3.276 F .776(xceptions to this are the e) --.15 F(x-)-.15 E .329(pansions of)108 609.6 R F2("$@")2.829 E F1(and) +-.15 F(x-)-.15 E .329(pansions of)108 662.4 R F2("$@")2.829 E F1(and) 2.829 E F2("${)2.829 E F0(name)A F2([@]}")A F1 2.828(,a)C .328 (nd, in most cases,)-2.828 F F2($*)2.828 E F1(and)2.828 E F2(${)2.828 E F0(name)A F2([*]})A F1 .328(as e)2.828 F .328(xplained abo)-.15 F .628 -.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.828 G(-).666 -E(RAMETERS)108 621.6 Q/F5 9/Times-Roman@0 SF(\).)A F2(Brace Expansion)87 -638.4 Q F0(Br)108.58 650.4 Q .306(ace e)-.15 F(xpansion)-.2 E F1 .307(i\ +E(RAMETERS)108 674.4 Q/F5 9/Times-Roman@0 SF(\).)A F2(Brace Expansion)87 +691.2 Q F0(Br)108.58 703.2 Q .306(ace e)-.15 F(xpansion)-.2 E F1 .307(i\ s a mechanism to generate arbitrary strings sharing a common pre\214x a\ nd suf)3.046 F .307(\214x, either of)-.25 F .578(which can be empty)108 -662.4 R 5.578(.T)-.65 G .577(his mechanism is similar to)-5.578 F F0 +715.2 R 5.578(.T)-.65 G .577(his mechanism is similar to)-5.578 F F0 .577(pathname e)3.077 F(xpansion)-.2 E F1 3.077(,b)C .577 -(ut the \214lenames generated need)-3.277 F .265(not e)108 674.4 R 2.765 +(ut the \214lenames generated need)-3.277 F .265(not e)108 727.2 R 2.765 (xist. P)-.15 F .265(atterns to be brace e)-.15 F .265 (xpanded are formed from an optional)-.15 F F0(pr)4.015 E(eamble)-.37 E -F1 2.766(,f).18 G(ollo)-2.766 E .266(wed by either a series)-.25 F 1.316 -(of comma-separated strings or a sequence e)108 686.4 R 1.315 -(xpression between a pair of braces, follo)-.15 F 1.315 -(wed by an optional)-.25 F F0(postscript)109.25 698.4 Q F1 5.659(.T).68 -G .659(he preamble is pre\214x)-5.659 F .659(ed to each string containe\ -d within the braces, and the postscript is then)-.15 F -(appended to each resulting string, e)108 710.4 Q -(xpanding left to right.)-.15 E 1.744(Brace e)108 727.2 R 1.744 -(xpansions may be nested.)-.15 F 1.744(The results of each e)6.744 F -1.744(xpanded string are not sorted; brace e)-.15 F(xpansion)-.15 E -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(23)188.45 E 0 Cg EP +F1 2.766(,f).18 G(ollo)-2.766 E .266(wed by either a series)-.25 F +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(23)198.445 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(preserv)108 84 Q(es left to right order)-.15 E 5 -(.F)-.55 G(or e)-5.15 E(xample, a)-.15 E/F2 10/Times-Bold@0 SF({)A F1 -(d,c,b)A F2(})A F1 2.5(ee)C(xpands into \231ade ace abe\232.)-2.65 E -3.612(As)108 100.8 S 1.112(equence e)-3.612 F 1.112(xpression tak)-.15 F -1.112(es the form)-.1 F F0(x)3.612 E F2(..)A F0(y)A F2([..)A F0(incr)A -F2(])A F1 3.612(,w)C(here)-3.612 E F0(x)3.612 E F1(and)3.612 E F0(y) -3.612 E F1 1.113(are either inte)3.612 F 1.113 -(gers or single letters, and)-.15 F F0(incr)108 112.8 Q F1 2.615(,a)C -2.615(no)-2.615 G .115(ptional increment, is an inte)-2.615 F(ger)-.15 E -5.115(.W)-.55 G .115(hen inte)-5.115 F .115(gers are supplied, the e) --.15 F .115(xpression e)-.15 F .115(xpands to each num-)-.15 F 1.105 -(ber between)108 124.8 R F0(x)3.605 E F1(and)3.605 E F0(y)3.605 E F1 -3.605(,i)C(nclusi)-3.605 E -.15(ve)-.25 G 6.105(.I).15 G 3.605(fe)-6.105 -G(ither)-3.605 E F0(x)3.605 E F1(or)3.605 E F0(y)3.605 E F1(be)3.606 E -1.106(gins with a zero, each generated term will contain the)-.15 F .02 -(same number of digits, zero-padding where necessary)108 136.8 R 5.019 +.25 E F1(\(1\)).95 E 1.316(of comma-separated strings or a sequence e) +108 84 R 1.315(xpression between a pair of braces, follo)-.15 F 1.315 +(wed by an optional)-.25 F F0(postscript)109.25 96 Q F1 5.659(.T).68 G +.659(he preamble is pre\214x)-5.659 F .659(ed to each string contained \ +within the braces, and the postscript is then)-.15 F +(appended to each resulting string, e)108 108 Q(xpanding left to right.) +-.15 E .473(Brace e)108 124.8 R .473(xpansions may be nested.)-.15 F +.473(The results of each e)5.473 F .472 +(xpanded string are not sorted; brace e)-.15 F .472(xpansion pre-)-.15 F +(serv)108 136.8 Q(es left to right order)-.15 E 5(.F)-.55 G(or e)-5.15 E +(xample, a)-.15 E/F2 10/Times-Bold@0 SF({)A F1(d,c,b)A F2(})A F1 2.5(ee) +C(xpands into \231ade ace abe\232.)-2.65 E 3.612(As)108 153.6 S 1.112 +(equence e)-3.612 F 1.112(xpression tak)-.15 F 1.112(es the form)-.1 F +F0(x)3.612 E F2(..)A F0(y)A F2([..)A F0(incr)A F2(])A F1 3.612(,w)C +(here)-3.612 E F0(x)3.612 E F1(and)3.612 E F0(y)3.612 E F1 1.113 +(are either inte)3.612 F 1.113(gers or single letters, and)-.15 F F0 +(incr)108 165.6 Q F1 2.615(,a)C 2.615(no)-2.615 G .115 +(ptional increment, is an inte)-2.615 F(ger)-.15 E 5.115(.W)-.55 G .115 +(hen inte)-5.115 F .115(gers are supplied, the e)-.15 F .115 +(xpression e)-.15 F .115(xpands to each num-)-.15 F 1.105(ber between) +108 177.6 R F0(x)3.605 E F1(and)3.605 E F0(y)3.605 E F1 3.605(,i)C +(nclusi)-3.605 E -.15(ve)-.25 G 6.105(.I).15 G 3.605(fe)-6.105 G(ither) +-3.605 E F0(x)3.605 E F1(or)3.605 E F0(y)3.605 E F1(be)3.606 E 1.106 +(gins with a zero, each generated term will contain the)-.15 F .02 +(same number of digits, zero-padding where necessary)108 189.6 R 5.019 (.W)-.65 G .019(hen letters are supplied, the e)-5.019 F .019 (xpression e)-.15 F .019(xpands to)-.15 F .054(each character le)108 -148.8 R .054(xicographically between)-.15 F F0(x)2.554 E F1(and)2.554 E +201.6 R .054(xicographically between)-.15 F F0(x)2.554 E F1(and)2.554 E F0(y)2.554 E F1 2.554(,i)C(nclusi)-2.554 E -.15(ve)-.25 G 2.554(,u).15 G .054(sing the C locale.)-2.554 F .055(Note that both)5.055 F F0(x)2.555 E F1(and)2.555 E F0(y)2.555 E F1(must)2.555 E .249 -(be of the same type \(inte)108 160.8 R .249(ger or letter\).)-.15 F +(be of the same type \(inte)108 213.6 R .249(ger or letter\).)-.15 F .248(When the increment is supplied, it is used as the dif)5.249 F .248 -(ference between)-.25 F(each term.)108 172.8 Q(The def)5 E +(ference between)-.25 F(each term.)108 225.6 Q(The def)5 E (ault increment is 1 or \2551 as appropriate.)-.1 E .581(Brace e)108 -189.6 R .581(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581 +242.4 R .581(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581 (ther e)-3.081 F .581(xpansions, and an)-.15 F 3.082(yc)-.15 G .582 (haracters special to other e)-3.082 F(xpansions)-.15 E .016 -(are preserv)108 201.6 R .016(ed in the result.)-.15 F .016 +(are preserv)108 254.4 R .016(ed in the result.)-.15 F .016 (It is strictly te)5.016 F(xtual.)-.15 E F2(Bash)5.016 E F1 .015 (does not apply an)2.516 F 2.515(ys)-.15 G .015 -(yntactic interpretation to the con-)-2.515 F(te)108 213.6 Q +(yntactic interpretation to the con-)-2.515 F(te)108 266.4 Q (xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.) --.15 E 2.501(Ac)108 230.4 S .001(orrectly-formed brace e)-2.501 F .001(\ +-.15 E 2.501(Ac)108 283.2 S .001(orrectly-formed brace e)-2.501 F .001(\ xpansion must contain unquoted opening and closing braces, and at least\ - one un-)-.15 F(quoted comma or a v)108 242.4 Q(alid sequence e)-.25 E + one un-)-.15 F(quoted comma or a v)108 295.2 Q(alid sequence e)-.25 E 2.5(xpression. An)-.15 F 2.5(yi)-.15 G(ncorrectly formed brace e)-2.5 E -(xpansion is left unchanged.)-.15 E 2.753<4199>108 259.2 S .253 +(xpansion is left unchanged.)-.15 E 2.753<4199>108 312 S .253 ({\232 or Q , may be quoted with a backslash to pre)-2.753 F -.15(ve) -.25 G .253(nt its being considered part of a brace e).15 F 2.752 -(xpression. T)-.15 F(o)-.8 E -.2(avo)108 271.2 S .068 +(xpression. T)-.15 F(o)-.8 E -.2(avo)108 324 S .068 (id con\215icts with parameter e).2 F .069 (xpansion, the string \231${\232 is not considered eligible for brace e) --.15 F .069(xpansion, and)-.15 F(inhibits brace e)108 283.2 Q +-.15 F .069(xpansion, and)-.15 F(inhibits brace e)108 336 Q (xpansion until the closing \231}\232.)-.15 E 1.476(This construct is t\ ypically used as shorthand when the common pre\214x of the strings to b\ -e generated is)108 300 R(longer than in the abo)108 312 Q .3 -.15(ve ex) --.15 H(ample:).15 E/F3 10/Courier@0 SF -(mkdir /usr/local/src/bash/{old,new,dist,bugs})144 328.8 Q F1(or)108 -340.8 Q F3(chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}})144 352.8 -Q F1 .618(Brace e)108 369.6 R .618 +e generated is)108 352.8 R(longer than in the abo)108 364.8 Q .3 -.15 +(ve ex)-.15 H(ample:).15 E/F3 10/Courier@0 SF +(mkdir /usr/local/src/bash/{old,new,dist,bugs})144 381.6 Q F1(or)108 +393.6 Q F3(chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}})144 405.6 +Q F1 .618(Brace e)108 422.4 R .618 (xpansion introduces a slight incompatibility with historical v)-.15 F .618(ersions of)-.15 F F2(sh)3.118 E F1(.)A F2(sh)5.618 E F1 .618 (does not treat open-)3.118 F .248 -(ing or closing braces specially when the)108 381.6 R 2.748(ya)-.15 G +(ing or closing braces specially when the)108 434.4 R 2.748(ya)-.15 G .247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247 -(es them in the output.)-.15 F F2(Bash)5.247 E F1(remo)108 393.6 Q -.15 +(es them in the output.)-.15 F F2(Bash)5.247 E F1(remo)108 446.4 Q -.15 (ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03 (ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03 (or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F2(sh) 3.53 E F1(as)3.53 E .384 -(\231\214le{1,2}\232 appears identically in the output.)108 405.6 R F2 +(\231\214le{1,2}\232 appears identically in the output.)108 458.4 R F2 (Bash)5.384 E F1 .384(outputs that w)2.884 F .384 (ord as \231\214le1 \214le2\232 after brace e)-.1 F(xpansion.)-.15 E -(Start)108 417.6 Q F2(bash)3.962 E F1 1.462(with the)3.962 F F2(+B)3.962 +(Start)108 470.4 Q F2(bash)3.962 E F1 1.462(with the)3.962 F F2(+B)3.962 E F1 1.463(option or disable brace e)3.963 F 1.463(xpansion with the) -.15 F F2(+B)3.963 E F1 1.463(option to the)3.963 F F2(set)3.963 E F1 -1.463(command \(see)3.963 F/F4 9/Times-Bold@0 SF(SHELL B)108 429.6 Q +1.463(command \(see)3.963 F/F4 9/Times-Bold@0 SF(SHELL B)108 482.4 Q (UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\) for strict)-.25 E F2 -(sh)2.5 E F1(compatibility)2.5 E(.)-.65 E F2 -.18(Ti)87 446.4 S -(lde Expansion).18 E F1 .846(If a w)108 458.4 R .846(ord be)-.1 F .846 +(sh)2.5 E F1(compatibility)2.5 E(.)-.65 E F2 -.18(Ti)87 499.2 S +(lde Expansion).18 E F1 .846(If a w)108 511.2 R .846(ord be)-.1 F .846 (gins with an unquoted tilde character \(\231)-.15 F F2<01>A F1 .846 (\232\), all of the characters preceding the \214rst unquoted)B .185(sl\ ash \(or all characters, if there is no unquoted slash\) are considered\ - a)108 470.4 R F0(tilde-pr)2.685 E(e\214x)-.37 E F1 5.185(.I)C 2.685(fn) + a)108 523.2 R F0(tilde-pr)2.685 E(e\214x)-.37 E F1 5.185(.I)C 2.685(fn) -5.185 G .185(one of the characters)-2.685 F .726(in the tilde-pre\214x\ - are quoted, the characters in the tilde-pre\214x follo)108 482.4 R .725 -(wing the tilde are treated as a possible)-.25 F F0(lo)108 494.4 Q .522 + are quoted, the characters in the tilde-pre\214x follo)108 535.2 R .725 +(wing the tilde are treated as a possible)-.25 F F0(lo)108 547.2 Q .522 (gin name)-.1 F F1 5.522(.I)C 3.022(ft)-5.522 G .522 (his login name is the null string, the tilde is replaced with the v) --3.022 F .523(alue of the shell parameter)-.25 F F4(HOME)108 506.4 Q/F5 +-3.022 F .523(alue of the shell parameter)-.25 F F4(HOME)108 559.2 Q/F5 9/Times-Roman@0 SF(.)A F1(If)5.077 E F4(HOME)3.077 E F1 .577 (is unset, the tilde e)2.827 F .577 (xpands to the home directory of the user e)-.15 F -.15(xe)-.15 G .576 (cuting the shell instead.).15 F(Otherwise, the tilde-pre\214x is repla\ ced with the home directory associated with the speci\214ed login name.) -108 518.4 Q .368(If the tilde-pre\214x is a \231\001+\232, the v)108 -535.2 R .368(alue of the shell v)-.25 F(ariable)-.25 E F4(PWD)2.868 E F1 -.368(replaces the tilde-pre\214x.)2.618 F .368(If the tilde-pre\214x) -5.368 F .227(is a \231\001\255\232, the shell substitutes the v)108 -547.2 R .227(alue of the shell v)-.25 F(ariable)-.25 E F4(OLDPWD)2.727 E -F5(,)A F1 .227(if it is set.)2.477 F .227(If the characters follo)5.227 -F(w-)-.25 E .296 -(ing the tilde in the tilde-pre\214x consist of a number)108 559.2 R F0 -(N)2.796 E F1 2.796(,o)C .296(ptionally pre\214x)-2.796 F .296 +108 571.2 Q .368(If the tilde-pre\214x is a \231\001+\232, the v)108 588 +R .368(alue of the shell v)-.25 F(ariable)-.25 E F4(PWD)2.868 E F1 .368 +(replaces the tilde-pre\214x.)2.618 F .368(If the tilde-pre\214x)5.368 F +.227(is a \231\001\255\232, the shell substitutes the v)108 600 R .227 +(alue of the shell v)-.25 F(ariable)-.25 E F4(OLDPWD)2.727 E F5(,)A F1 +.227(if it is set.)2.477 F .227(If the characters follo)5.227 F(w-)-.25 +E .296(ing the tilde in the tilde-pre\214x consist of a number)108 612 R +F0(N)2.796 E F1 2.796(,o)C .296(ptionally pre\214x)-2.796 F .296 (ed by a \231+\232 or a \231\255\232, the tilde-pre\214x)-.15 F .814(is\ replaced with the corresponding element from the directory stack, as i\ -t w)108 571.2 R .813(ould be displayed by the)-.1 F F2(dirs)3.313 E F1 --.2(bu)108 583.2 S .698(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 3.198(dw) -.1 G .698(ith the characters follo)-3.198 F .699 +t w)108 624 R .813(ould be displayed by the)-.1 F F2(dirs)3.313 E F1 -.2 +(bu)108 636 S .698(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 3.198(dw).1 G +.698(ith the characters follo)-3.198 F .699 (wing the tilde in the tilde-pre\214x as an ar)-.25 F 3.199(gument. If) --.18 F .699(the characters)3.199 F(follo)108 595.2 Q .482(wing the tild\ -e in the tilde-pre\214x consist of a number without a leading \231+\232\ - or \231\255\232, tilde e)-.25 F .481(xpansion as-)-.15 F -(sumes \231+\232.)108 607.2 Q .54(The results of tilde e)108 624 R .54 +-.18 F .699(the characters)3.199 F(follo)108 648 Q .482(wing the tilde \ +in the tilde-pre\214x consist of a number without a leading \231+\232 o\ +r \231\255\232, tilde e)-.25 F .481(xpansion as-)-.15 F +(sumes \231+\232.)108 660 Q .54(The results of tilde e)108 676.8 R .54 (xpansion are treated as if the)-.15 F 3.04(yw)-.15 G .54 (ere quoted, so the replacement is not subject to w)-3.04 F(ord)-.1 E -(splitting and pathname e)108 636 Q(xpansion.)-.15 E -(If the login name is in)108 652.8 Q -.25(va)-.4 G(lid, or the tilde e) +(splitting and pathname e)108 688.8 Q(xpansion.)-.15 E +(If the login name is in)108 705.6 Q -.25(va)-.4 G(lid, or the tilde e) .25 E(xpansion f)-.15 E(ails, the tilde-pre\214x is unchanged.)-.1 E F2 -(Bash)108 669.6 Q F1 .578(checks each v)3.078 F .578 +(Bash)108 722.4 Q F1 .578(checks each v)3.078 F .578 (ariable assignment for unquoted tilde-pre\214x)-.25 F .578 (es immediately follo)-.15 F .578(wing a)-.25 F F2(:)3.078 E F1 .578 -(or the \214rst)3.078 F F2(=)3.078 E F1(,)A 1.041(and performs tilde e) -108 681.6 R 1.041(xpansion in these cases.)-.15 F(Consequently)6.041 E -3.541(,o)-.65 G 1.042(ne may use \214lenames with tildes in assign-) --3.541 F(ments to)108 693.6 Q F4 -.666(PA)2.5 G(TH)-.189 E F5(,)A F4 -(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F5(,)A F1(and)2.25 E F4(CDP)2.5 -E -.855(AT)-.666 G(H).855 E F5(,)A F1(and the shell assigns the e)2.25 E -(xpanded v)-.15 E(alue.)-.25 E F2(Bash)108 710.4 Q F1 1.769 -(also performs tilde e)4.269 F 1.769(xpansion on w)-.15 F 1.768 -(ords satisfying the conditions of v)-.1 F 1.768 -(ariable assignments \(as de-)-.25 F .463(scribed abo)108 722.4 R .763 --.15(ve u)-.15 H(nder).15 E F4 -.666(PA)2.963 G(RAMETERS).666 E F5(\))A -F1 .463(when the)2.713 F 2.963(ya)-.15 G .463(ppear as ar)-2.963 F .464 -(guments to simple commands.)-.18 F F2(Bash)5.464 E F1 .464(does not) -2.964 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(24)188.45 E 0 Cg -EP +(or the \214rst)3.078 F F2(=)3.078 E F1(,)A(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(24)198.445 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(do this, e)108 84 Q(xcept for the)-.15 E F0(declar) +.25 E F1(\(1\)).95 E 1.041(and performs tilde e)108 84 R 1.041 +(xpansion in these cases.)-.15 F(Consequently)6.041 E 3.541(,o)-.65 G +1.042(ne may use \214lenames with tildes in assign-)-3.541 F(ments to) +108 96 Q/F2 9/Times-Bold@0 SF -.666(PA)2.5 G(TH)-.189 E/F3 9 +/Times-Roman@0 SF(,)A F2(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F3(,)A +F1(and)2.25 E F2(CDP)2.5 E -.855(AT)-.666 G(H).855 E F3(,)A F1 +(and the shell assigns the e)2.25 E(xpanded v)-.15 E(alue.)-.25 E/F4 10 +/Times-Bold@0 SF(Bash)108 112.8 Q F1 1.769(also performs tilde e)4.269 F +1.769(xpansion on w)-.15 F 1.768(ords satisfying the conditions of v)-.1 +F 1.768(ariable assignments \(as de-)-.25 F .463(scribed abo)108 124.8 R +.763 -.15(ve u)-.15 H(nder).15 E F2 -.666(PA)2.963 G(RAMETERS).666 E F3 +(\))A F1 .463(when the)2.713 F 2.963(ya)-.15 G .463(ppear as ar)-2.963 F +.464(guments to simple commands.)-.18 F F4(Bash)5.464 E F1 .464 +(does not)2.964 F(do this, e)108 136.8 Q(xcept for the)-.15 E F0(declar) 2.5 E(ation)-.15 E F1(commands listed abo)2.5 E -.15(ve)-.15 G 2.5(,w) -.15 G(hen in posix mode.)-2.5 E/F2 10/Times-Bold@0 SF -.1(Pa)87 100.8 S -(rameter Expansion).1 E F1 .015(The \231)108 112.8 R F2($)A F1 2.515 -<9a63>C .014(haracter introduces parameter e)-2.515 F .014 +.15 G(hen in posix mode.)-2.5 E F4 -.1(Pa)87 153.6 S(rameter Expansion) +.1 E F1 .015(The \231)108 165.6 R F4($)A F1 2.515<9a63>C .014 +(haracter introduces parameter e)-2.515 F .014 (xpansion, command substitution, or arithmetic e)-.15 F 2.514 (xpansion. The)-.15 F(pa-)2.514 E .314(rameter name or symbol to be e) -108 124.8 R .314 +108 177.6 R .314 (xpanded may be enclosed in braces, which are optional b)-.15 F .314 (ut serv)-.2 F 2.814(et)-.15 G 2.814(op)-2.814 G(rotect)-2.814 E .415 -(the v)108 136.8 R .415(ariable to be e)-.25 F .415 +(the v)108 189.6 R .415(ariable to be e)-.25 F .415 (xpanded from characters immediately follo)-.15 F .414 (wing it which could be interpreted as part of)-.25 F(the name.)108 -148.8 Q 1.072 +201.6 Q 1.072 (When braces are used, the matching ending brace is the \214rst \231)108 -165.6 R F2(})A F1 3.573<9a6e>C 1.073 +218.4 R F4(})A F1 3.573<9a6e>C 1.073 (ot escaped by a backslash or within a)-3.573 F .822 -(quoted string, and not within an embedded arithmetic e)108 177.6 R .821 +(quoted string, and not within an embedded arithmetic e)108 230.4 R .821 (xpansion, command substitution, or parameter e)-.15 F(x-)-.15 E -(pansion.)108 189.6 Q(The basic form of parameter e)108 206.4 Q -(xpansion is)-.15 E(${)108 223.2 Q F0(par)A(ameter)-.15 E F1(})A .284 -(which substitutes the v)108 240 R .284(alue of)-.25 F F0(par)2.784 E +(pansion.)108 242.4 Q(The basic form of parameter e)108 259.2 Q +(xpansion is)-.15 E(${)108 276 Q F0(par)A(ameter)-.15 E F1(})A .284 +(which substitutes the v)108 292.8 R .284(alue of)-.25 F F0(par)2.784 E (ameter)-.15 E F1 5.285(.T)C .285(he braces are required when)-5.285 F F0(par)4.035 E(ameter)-.15 E F1 .285(is a positional parame-)3.515 F -.067(ter with more than one digit, or when)108 252 R F0(par)3.817 E +.067(ter with more than one digit, or when)108 304.8 R F0(par)3.817 E (ameter)-.15 E F1 .067(is follo)3.297 F .066 (wed by a character which is not to be interpreted as)-.25 F .406 -(part of its name.)108 264 R(The)5.406 E F0(par)2.906 E(ameter)-.15 E F1 -.406(is a shell parameter as described abo)2.906 F -.15(ve)-.15 G F2 +(part of its name.)108 316.8 R(The)5.406 E F0(par)2.906 E(ameter)-.15 E +F1 .406(is a shell parameter as described abo)2.906 F -.15(ve)-.15 G F4 -.74(PA)3.057 G(RAMETERS).74 E F1 2.907(\)o)C 2.907(ra)-2.907 G 2.907 -(na)-2.907 G .407(rray ref-)-2.907 F(erence \()108 276 Q F2(Arrays)A F1 -(\).)A .347(If the \214rst character of)108 292.8 R F0(par)2.846 E +(na)-2.907 G .407(rray ref-)-2.907 F(erence \()108 328.8 Q F4(Arrays)A +F1(\).)A .347(If the \214rst character of)108 345.6 R F0(par)2.846 E (ameter)-.15 E F1 .346(is an e)2.846 F .346(xclamation point \()-.15 F -F2(!)A F1 .346(\), and)B F0(par)2.846 E(ameter)-.15 E F1 .346(is not a) +F4(!)A F1 .346(\), and)B F0(par)2.846 E(ameter)-.15 E F1 .346(is not a) 2.846 F F0(namer)2.846 E(ef)-.37 E F1 2.846(,i)C 2.846(ti)-2.846 G -(ntroduces)-2.846 E 2.906(al)108 304.8 S -2.15 -.25(ev e)-2.906 H 2.906 -(lo).25 G 2.906(fi)-2.906 G(ndirection.)-2.906 E F2(Bash)5.406 E F1 .406 +(ntroduces)-2.846 E 2.906(al)108 357.6 S -2.15 -.25(ev e)-2.906 H 2.906 +(lo).25 G 2.906(fi)-2.906 G(ndirection.)-2.906 E F4(Bash)5.406 E F1 .406 (uses the v)2.906 F .406(alue formed by e)-.25 F .406 (xpanding the rest of)-.15 F F0(par)2.906 E(ameter)-.15 E F1 .406 -(as the ne)2.906 F(w)-.25 E F0(par)2.907 E(ame-)-.15 E(ter)108 316.8 Q +(as the ne)2.906 F(w)-.25 E F0(par)2.907 E(ame-)-.15 E(ter)108 369.6 Q F1 2.936(;t)C .436(his ne)-2.936 F 2.936(wp)-.25 G .436 (arameter is then e)-2.936 F .436(xpanded and that v)-.15 F .435 (alue is used in the rest of the e)-.25 F .435 -(xpansion, rather than the)-.15 F -.15(ex)108 328.8 S .291 +(xpansion, rather than the)-.15 F -.15(ex)108 381.6 S .291 (pansion of the original).15 F F0(par)2.791 E(ameter)-.15 E F1 5.291(.T) C .291(his is kno)-5.291 F .291(wn as)-.25 F F0(indir)2.791 E .291 (ect e)-.37 F(xpansion)-.2 E F1 5.291(.T)C .291(he v)-5.291 F .292 (alue is subject to tilde e)-.25 F(x-)-.15 E .164(pansion, parameter e) -108 340.8 R .163(xpansion, command substitution, and arithmetic e)-.15 F +108 393.6 R .163(xpansion, command substitution, and arithmetic e)-.15 F 2.663(xpansion. If)-.15 F F0(par)2.663 E(ameter)-.15 E F1 .163 -(is a nameref,)2.663 F .462(this e)108 352.8 R .462 +(is a nameref,)2.663 F .462(this e)108 405.6 R .462 (xpands to the name of the parameter referenced by)-.15 F F0(par)2.963 E (ameter)-.15 E F1 .463(instead of performing the complete in-)2.963 F -3.636(direct e)108 364.8 R 3.636(xpansion, for compatibility)-.15 F +3.636(direct e)108 417.6 R 3.636(xpansion, for compatibility)-.15 F 8.636(.T)-.65 G 3.636(he e)-8.636 F 3.635(xceptions to this are the e) --.15 F 3.635(xpansions of ${)-.15 F F2(!)A F0(pr)A(e\214x)-.37 E F2(*)A -F1 6.135(}a)C(nd)-6.135 E(${)108 376.8 Q F2(!)A F0(name)A F1([)A F0(@)A +-.15 F 3.635(xpansions of ${)-.15 F F4(!)A F0(pr)A(e\214x)-.37 E F4(*)A +F1 6.135(}a)C(nd)-6.135 E(${)108 429.6 Q F4(!)A F0(name)A F1([)A F0(@)A F1 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65 F .763 (xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G .763 -(he left brace in order to)-3.263 F(introduce indirection.)108 388.8 Q -.334(In each of the cases belo)108 405.6 R -.65(w,)-.25 G F0(wor)3.484 E +(he left brace in order to)-3.263 F(introduce indirection.)108 441.6 Q +.334(In each of the cases belo)108 458.4 R -.65(w,)-.25 G F0(wor)3.484 E (d)-.37 E F1 .334(is subject to tilde e)2.834 F .334 (xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15 -F(and arithmetic e)108 417.6 Q(xpansion.)-.15 E .066 -(When not performing substring e)108 434.4 R .067 +F(and arithmetic e)108 470.4 Q(xpansion.)-.15 E .066 +(When not performing substring e)108 487.2 R .067 (xpansion, using the forms documented belo)-.15 F 2.567(w\()-.25 G -(e.g.,)-2.567 E F2(:-)2.567 E F1(\),)A F2(bash)2.567 E F1 .067 -(tests for a pa-)2.567 F(rameter that is unset or null.)108 446.4 Q +(e.g.,)-2.567 E F4(:-)2.567 E F1(\),)A F4(bash)2.567 E F1 .067 +(tests for a pa-)2.567 F(rameter that is unset or null.)108 499.2 Q (Omitting the colon tests only for a parameter that is unset.)5 E(${)108 -463.2 Q F0(par)A(ameter)-.15 E F2<3aad>A F0(wor)A(d)-.37 E F1(})A F2 -.723(Use Default V)144 475.2 R(alues)-.92 E F1 5.723(.I)C(f)-5.723 E F0 -(par)4.473 E(ameter)-.15 E F1 .723(is unset or null, the e)3.953 F .722 +516 Q F0(par)A(ameter)-.15 E F4<3aad>A F0(wor)A(d)-.37 E F1(})A F4 .723 +(Use Default V)144 528 R(alues)-.92 E F1 5.723(.I)C(f)-5.723 E F0(par) +4.473 E(ameter)-.15 E F1 .723(is unset or null, the e)3.953 F .722 (xpansion of)-.15 F F0(wor)3.562 E(d)-.37 E F1 .722(is substituted.) -3.992 F(Other)5.722 E(-)-.2 E(wise, the v)144 487.2 Q(alue of)-.25 E F0 -(par)3.75 E(ameter)-.15 E F1(is substituted.)3.23 E(${)108 504 Q F0(par) -A(ameter)-.15 E F2(:=)A F0(wor)A(d)-.37 E F1(})A F2 .265 -(Assign Default V)144 516 R(alues)-.92 E F1 5.265(.I)C(f)-5.265 E F0 +3.992 F(Other)5.722 E(-)-.2 E(wise, the v)144 540 Q(alue of)-.25 E F0 +(par)3.75 E(ameter)-.15 E F1(is substituted.)3.23 E(${)108 556.8 Q F0 +(par)A(ameter)-.15 E F4(:=)A F0(wor)A(d)-.37 E F1(})A F4 .265 +(Assign Default V)144 568.8 R(alues)-.92 E F1 5.265(.I)C(f)-5.265 E F0 (par)4.015 E(ameter)-.15 E F1 .266(is unset or null, the e)3.495 F .266 (xpansion of)-.15 F F0(wor)3.106 E(d)-.37 E F1 .266(is assigned to)3.536 -F F0(par)4.016 E(a-)-.15 E(meter)144 528 Q F1 2.958(,a).73 G .458 +F F0(par)4.016 E(a-)-.15 E(meter)144 580.8 Q F1 2.958(,a).73 G .458 (nd the e)-2.958 F .458(xpansion is the \214nal v)-.15 F .458(alue of) -.25 F F0(par)4.208 E(ameter)-.15 E F1 5.458(.P).73 G .458 (ositional parameters and special para-)-5.458 F -(meters may not be assigned in this w)144 540 Q(ay)-.1 E(.)-.65 E(${)108 -556.8 Q F0(par)A(ameter)-.15 E F2(:?)A F0(wor)A(d)-.37 E F1(})A F2 .724 -(Display Err)144 568.8 R .724(or if Null or Unset)-.18 F F1 5.724(.I)C -(f)-5.724 E F0(par)4.474 E(ameter)-.15 E F1 .724 +(meters may not be assigned in this w)144 592.8 Q(ay)-.1 E(.)-.65 E(${) +108 609.6 Q F0(par)A(ameter)-.15 E F4(:?)A F0(wor)A(d)-.37 E F1(})A F4 +.724(Display Err)144 621.6 R .724(or if Null or Unset)-.18 F F1 5.724 +(.I)C(f)-5.724 E F0(par)4.474 E(ameter)-.15 E F1 .724 (is null or unset, the shell writes the e)3.954 F .725(xpansion of)-.15 -F F0(wor)144 580.8 Q(d)-.37 E F1 .293(\(or a message to that ef)2.793 F +F F0(wor)144 633.6 Q(d)-.37 E F1 .293(\(or a message to that ef)2.793 F .293(fect if)-.25 F F0(wor)3.133 E(d)-.37 E F1 .292 (is not present\) to the standard error and, if it is not inter)3.562 F -(-)-.2 E(acti)144 592.8 Q -.15(ve)-.25 G 3.638(,e).15 G 1.138 +(-)-.2 E(acti)144 645.6 Q -.15(ve)-.25 G 3.638(,e).15 G 1.138 (xits with a non-zero status.)-3.788 F 1.138(An interacti)6.138 F 1.438 -.15(ve s)-.25 H 1.138(hell does not e).15 F 1.138(xit, b)-.15 F 1.138 (ut does not e)-.2 F -.15(xe)-.15 G 1.139(cute the).15 F -(command associated with the e)144 604.8 Q 2.5(xpansion. Otherwise,)-.15 +(command associated with the e)144 657.6 Q 2.5(xpansion. Otherwise,)-.15 F(the v)2.5 E(alue of)-.25 E F0(par)2.5 E(ameter)-.15 E F1 -(is substituted.)2.5 E(${)108 621.6 Q F0(par)A(ameter)-.15 E F2(:+)A F0 -(wor)A(d)-.37 E F1(})A F2 .745(Use Alter)144 633.6 R .745(nate V)-.15 F +(is substituted.)2.5 E(${)108 674.4 Q F0(par)A(ameter)-.15 E F4(:+)A F0 +(wor)A(d)-.37 E F1(})A F4 .745(Use Alter)144 686.4 R .745(nate V)-.15 F (alue)-.92 E F1 5.745(.I)C(f)-5.745 E F0(par)4.495 E(ameter)-.15 E F1 .745(is null or unset, nothing is substituted, otherwise the e)3.975 F -(xpan-)-.15 E(sion of)144 645.6 Q F0(wor)2.84 E(d)-.37 E F1 +(xpan-)-.15 E(sion of)144 698.4 Q F0(wor)2.84 E(d)-.37 E F1 (is substituted.)3.27 E(The v)5 E(alue of)-.25 E F0(par)2.5 E(ameter) --.15 E F1(is not used.)2.5 E(${)108 662.4 Q F0(par)A(ameter)-.15 E F2(:) -A F0(of)A(fset)-.18 E F1(})A(${)108 674.4 Q F0(par)A(ameter)-.15 E F2(:) -A F0(of)A(fset)-.18 E F2(:)A F0(length)A F1(})A F2 .002 -(Substring Expansion)144 686.4 R F1 5.002(.E)C .002(xpands to up to) --5.002 F F0(length)2.502 E F1 .002(characters of the v)2.502 F .002 -(alue of)-.25 F F0(par)2.502 E(ameter)-.15 E F1 .002(starting at the) -2.502 F .004(character speci\214ed by)144 698.4 R F0(of)2.504 E(fset) --.18 E F1 5.003(.I)C(f)-5.003 E F0(par)2.503 E(ameter)-.15 E F1(is)2.503 -E F2(@)2.503 E F1(or)2.503 E F2(*)2.503 E F1 2.503(,a)C 2.503(ni)-2.503 -G(nde)-2.503 E -.15(xe)-.15 G 2.503(da).15 G .003(rray subscripted by) --2.503 F F2(@)2.503 E F1(or)2.503 E F2(*)2.503 E F1 2.503(,o)C 2.503(ra) --2.503 G(n)-2.503 E(associati)144 710.4 Q 1.104 -.15(ve a)-.25 H .804 -(rray name, the results dif).15 F .805(fer as described belo)-.25 F -4.605 -.65(w. I)-.25 H(f).65 E F2(:)3.305 E F0(length)A F1 .805 -(is omitted \(the \214rst form)3.305 F(abo)144 722.4 Q -.15(ve)-.15 G -.795(\), this e).15 F .795(xpands to the substring of the v)-.15 F .795 -(alue of)-.25 F F0(par)3.295 E(ameter)-.15 E F1 .794 -(starting at the character speci\214ed)3.294 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(25)188.45 E 0 Cg EP +-.15 E F1(is not used.)2.5 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 +E(25)198.445 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(by)144 84 Q F0(of)3.114 E(fset)-.18 E F1 .614 -(and e)3.114 F .614(xtending to the end of the v)-.15 F 3.114(alue. If) --.25 F F0(of)3.114 E(fset)-.18 E F1 .614 +.25 E F1(\(1\)).95 E(${)108 84 Q F0(par)A(ameter)-.15 E/F2 10 +/Times-Bold@0 SF(:)A F0(of)A(fset)-.18 E F1(})A(${)108 96 Q F0(par)A +(ameter)-.15 E F2(:)A F0(of)A(fset)-.18 E F2(:)A F0(length)A F1(})A F2 +.002(Substring Expansion)144 108 R F1 5.002(.E)C .002(xpands to up to) +-5.002 F F0(length)2.502 E F1 .002(characters of the v)2.502 F .002 +(alue of)-.25 F F0(par)2.502 E(ameter)-.15 E F1 .002(starting at the) +2.502 F .004(character speci\214ed by)144 120 R F0(of)2.504 E(fset)-.18 +E F1 5.003(.I)C(f)-5.003 E F0(par)2.503 E(ameter)-.15 E F1(is)2.503 E F2 +(@)2.503 E F1(or)2.503 E F2(*)2.503 E F1 2.503(,a)C 2.503(ni)-2.503 G +(nde)-2.503 E -.15(xe)-.15 G 2.503(da).15 G .003(rray subscripted by) +-2.503 F F2(@)2.503 E F1(or)2.503 E F2(*)2.503 E F1 2.503(,o)C 2.503(ra) +-2.503 G(n)-2.503 E(associati)144 132 Q 1.104 -.15(ve a)-.25 H .804 +(rray name, the results dif).15 F .805(fer as described belo)-.25 F +4.605 -.65(w. I)-.25 H(f).65 E F2(:)3.305 E F0(length)A F1 .805 +(is omitted \(the \214rst form)3.305 F(abo)144 144 Q -.15(ve)-.15 G .795 +(\), this e).15 F .795(xpands to the substring of the v)-.15 F .795 +(alue of)-.25 F F0(par)3.295 E(ameter)-.15 E F1 .794 +(starting at the character speci\214ed)3.294 F(by)144 156 Q F0(of)3.114 +E(fset)-.18 E F1 .614(and e)3.114 F .614(xtending to the end of the v) +-.15 F 3.114(alue. If)-.25 F F0(of)3.114 E(fset)-.18 E F1 .614 (is omitted, it is treated as 0.)3.114 F(If)5.615 E F0(length)3.115 E F1 -(is)3.115 E .499(omitted, b)144 96 R .499(ut the colon after)-.2 F F0 +(is)3.115 E .499(omitted, b)144 168 R .499(ut the colon after)-.2 F F0 (of)2.999 E(fset)-.18 E F1 .499(is present, it is treated as 0.)2.999 F F0(length)5.499 E F1(and)2.999 E F0(of)2.999 E(fset)-.18 E F1 .498 -(are arithmetic e)2.999 F(x-)-.15 E(pressions \(see)144 108 Q/F2 9 +(are arithmetic e)2.999 F(x-)-.15 E(pressions \(see)144 180 Q/F3 9 /Times-Bold@0 SF(ARITHMETIC EV)2.5 E(ALU)-1.215 E -.855(AT)-.54 G(ION) -.855 E F1(belo)2.25 E(w\).)-.25 E(If)144 124.8 Q F0(of)3.028 E(fset)-.18 +.855 E F1(belo)2.25 E(w\).)-.25 E(If)144 196.8 Q F0(of)3.028 E(fset)-.18 E F1 -.25(eva)3.029 G .529(luates to a number less than zero, the v).25 F .529(alue is used as an of)-.25 F .529(fset in characters from the) --.25 F .046(end of the v)144 136.8 R .046(alue of)-.25 F F0(par)2.546 E +-.25 F .046(end of the v)144 208.8 R .046(alue of)-.25 F F0(par)2.546 E (ameter)-.15 E F1 5.046(.I)C(f)-5.046 E F0(length)2.546 E F1 -.25(eva) 2.546 G .046(luates to a number less than zero, it is interpreted as an) -.25 F(of)144 148.8 Q .202(fset in characters from the end of the v)-.25 +.25 F(of)144 220.8 Q .202(fset in characters from the end of the v)-.25 F .202(alue of)-.25 F F0(par)2.702 E(ameter)-.15 E F1 .203 -(rather than a number of characters, and)2.702 F .558(the e)144 160.8 R +(rather than a number of characters, and)2.702 F .558(the e)144 232.8 R .558(xpansion is the characters between)-.15 F F0(of)3.058 E(fset)-.18 E F1 .558(and that result.)3.058 F .557(Note that a ne)5.557 F -.05(ga) -.15 G(ti).05 E .857 -.15(ve o)-.25 H -.25(ff).15 G .557(set must be).25 -F(separated from the colon by at least one space to a)144 172.8 Q -.2 -(vo)-.2 G(id being confused with the).2 E/F3 10/Times-Bold@0 SF(:-)2.5 E -F1 -.15(ex)2.5 G(pansion.).15 E(If)144 189.6 Q F0(par)3.283 E(ameter) --.15 E F1(is)3.283 E F3(@)3.283 E F1(or)3.283 E F3(*)3.284 E F1 3.284 -(,t)C .784(he result is)-3.284 F F0(length)3.284 E F1 .784 +F(separated from the colon by at least one space to a)144 244.8 Q -.2 +(vo)-.2 G(id being confused with the).2 E F2(:-)2.5 E F1 -.15(ex)2.5 G +(pansion.).15 E(If)144 261.6 Q F0(par)3.283 E(ameter)-.15 E F1(is)3.283 +E F2(@)3.283 E F1(or)3.283 E F2(*)3.284 E F1 3.284(,t)C .784 +(he result is)-3.284 F F0(length)3.284 E F1 .784 (positional parameters be)3.284 F .784(ginning at)-.15 F F0(of)3.284 E (fset)-.18 E F1 5.784(.A)C(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve) --.25 G F0(of)144 201.6 Q(fset)-.18 E F1 .167(is tak)2.667 F .167 +-.25 G F0(of)144 273.6 Q(fset)-.18 E F1 .167(is tak)2.667 F .167 (en relati)-.1 F .467 -.15(ve t)-.25 H 2.667(oo).15 G .167 (ne greater than the greatest positional parameter)-2.667 F 2.666(,s)-.4 G 2.666(oa)-2.666 G 2.666(no)-2.666 G -.25(ff)-2.666 G .166 (set of \2551 e).25 F -.25(va)-.25 G(l-).25 E .023(uates to the last po\ sitional parameter \(or 0 if there are no positional parameters\).)144 -213.6 R .023(It is an e)5.023 F(xpansion)-.15 E(error if)144 225.6 Q F0 +285.6 R .023(It is an e)5.023 F(xpansion)-.15 E(error if)144 297.6 Q F0 (length)2.5 E F1 -.25(eva)2.5 G(luates to a number less than zero.).25 E -(If)144 242.4 Q F0(par)3.014 E(ameter)-.15 E F1 .514(is an inde)3.014 F +(If)144 314.4 Q F0(par)3.014 E(ameter)-.15 E F1 .514(is an inde)3.014 F -.15(xe)-.15 G 3.014(da).15 G .514 (rray name subscripted by @ or *, the result is the)-3.014 F F0(length) -3.014 E F1 .513(members of)3.013 F 1.081(the array be)144 254.4 R 1.081 +3.014 E F1 .513(members of)3.013 F 1.081(the array be)144 326.4 R 1.081 (ginning with ${)-.15 F F0(par)A(ameter)-.15 E F1([)A F0(of)A(fset)-.18 E F1 3.581(]}. A)B(ne)3.581 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F0 (of)3.732 E(fset)-.18 E F1 1.082(is tak)3.582 F 1.082(en relati)-.1 F 1.382 -.15(ve t)-.25 H 3.582(oo).15 G 1.082(ne greater)-3.582 F 1.08 -(than the maximum inde)144 266.4 R 3.58(xo)-.15 G 3.58(ft)-3.58 G 1.08 +(than the maximum inde)144 338.4 R 3.58(xo)-.15 G 3.58(ft)-3.58 G 1.08 (he speci\214ed array)-3.58 F 6.079(.I)-.65 G 3.579(ti)-6.079 G 3.579 (sa)-3.579 G 3.579(ne)-3.579 G 1.079(xpansion error if)-3.729 F F0 (length)3.579 E F1 -.25(eva)3.579 G 1.079(luates to a).25 F -(number less than zero.)144 278.4 Q(Substring e)144 295.2 Q +(number less than zero.)144 350.4 Q(Substring e)144 367.2 Q (xpansion applied to an associati)-.15 E .3 -.15(ve a)-.25 H -(rray produces unde\214ned results.).15 E .82(Substring inde)144 312 R +(rray produces unde\214ned results.).15 E .82(Substring inde)144 384 R .821(xing is zero-based unless the positional parameters are used, in w\ -hich case the in-)-.15 F(de)144 324 Q .159(xing starts at 1 by def)-.15 +hich case the in-)-.15 F(de)144 396 Q .159(xing starts at 1 by def)-.15 F 2.659(ault. If)-.1 F F0(of)2.659 E(fset)-.18 E F1 .159 -(is 0, and the positional parameters are used,)2.659 F F3($0)2.659 E F1 -.159(is pre\214x)2.659 F .158(ed to)-.15 F(the list.)144 336 Q(${)108 -352.8 Q F3(!)A F0(pr)A(e\214x)-.37 E F3(*)A F1(})A(${)108 364.8 Q F3(!)A -F0(pr)A(e\214x)-.37 E F3(@)A F1(})A F3 .084(Names matching pr)144 376.8 +(is 0, and the positional parameters are used,)2.659 F F2($0)2.659 E F1 +.159(is pre\214x)2.659 F .158(ed to)-.15 F(the list.)144 408 Q(${)108 +424.8 Q F2(!)A F0(pr)A(e\214x)-.37 E F2(*)A F1(})A(${)108 436.8 Q F2(!)A +F0(pr)A(e\214x)-.37 E F2(@)A F1(})A F2 .084(Names matching pr)144 448.8 R(e\214x)-.18 E F1 5.084(.E)C .084(xpands to the names of v)-5.084 F .084(ariables whose names be)-.25 F .085(gin with)-.15 F F0(pr)2.585 E (e\214x)-.37 E F1 2.585(,s)C(epa-)-2.585 E .258 -(rated by the \214rst character of the)144 388.8 R F2(IFS)2.758 E F1 +(rated by the \214rst character of the)144 460.8 R F3(IFS)2.758 E F1 .257(special v)2.507 F 2.757(ariable. When)-.25 F F0(@)2.757 E F1 .257 (is used and the e)2.757 F .257(xpansion appears)-.15 F -(within double quotes, each v)144 400.8 Q(ariable name e)-.25 E -(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 417.6 Q F3(!)A F0(name) -A F1([)A F0(@)A F1(]})A(${)108 429.6 Q F3(!)A F0(name)A F1([)A F0(*)A F1 -(]})A F3 1.136(List of array k)144 441.6 R(eys)-.1 E F1 6.136(.I)C(f) +(within double quotes, each v)144 472.8 Q(ariable name e)-.25 E +(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 489.6 Q F2(!)A F0(name) +A F1([)A F0(@)A F1(]})A(${)108 501.6 Q F2(!)A F0(name)A F1([)A F0(*)A F1 +(]})A F2 1.136(List of array k)144 513.6 R(eys)-.1 E F1 6.136(.I)C(f) -6.136 E F0(name)3.636 E F1 1.136(is an array v)3.636 F 1.136 (ariable, e)-.25 F 1.136(xpands to the list of array indices \(k)-.15 F --.15(ey)-.1 G 1.137(s\) as-).15 F .397(signed in)144 453.6 R F0(name) +-.15(ey)-.1 G 1.137(s\) as-).15 F .397(signed in)144 525.6 R F0(name) 2.897 E F1 5.397(.I)C(f)-5.397 E F0(name)2.897 E F1 .397 (is not an array)2.897 F 2.897(,e)-.65 G .397(xpands to 0 if)-3.047 F F0 (name)2.897 E F1 .397(is set and null otherwise.)2.897 F(When)5.397 E F0 -(@)2.897 E F1(is used and the e)144 465.6 Q +(@)2.897 E F1(is used and the e)144 537.6 Q (xpansion appears within double quotes, each k)-.15 E .3 -.15(ey ex)-.1 -H(pands to a separate w).15 E(ord.)-.1 E(${)108 482.4 Q F3(#)A F0(par)A -(ameter)-.15 E F1(})A F3 -.1(Pa)144 494.4 S 1.18(rameter length).1 F F1 +H(pands to a separate w).15 E(ord.)-.1 E(${)108 554.4 Q F2(#)A F0(par)A +(ameter)-.15 E F1(})A F2 -.1(Pa)144 566.4 S 1.18(rameter length).1 F F1 6.18(.S)C 1.18(ubstitutes the length in characters of the e)-6.18 F 1.18 (xpanded v)-.15 F 1.18(alue of)-.25 F F0(par)3.68 E(ameter)-.15 E F1 -6.18(.I)C(f)-6.18 E F0(par)145.25 506.4 Q(ameter)-.15 E F1(is)3.282 E F3 -(*)2.552 E F1(or)2.552 E F3(@)2.552 E F1 2.552(,t)C .052(he v)-2.552 F +6.18(.I)C(f)-6.18 E F0(par)145.25 578.4 Q(ameter)-.15 E F1(is)3.282 E F2 +(*)2.552 E F1(or)2.552 E F2(@)2.552 E F1 2.552(,t)C .052(he v)-2.552 F .052(alue substituted is the number of positional parameters.)-.25 F(If) 5.052 E F0(par)3.801 E(ameter)-.15 E F1(is)3.281 E .333 -(an array name subscripted by)144 518.4 R F3(*)2.833 E F1(or)2.833 E F3 +(an array name subscripted by)144 590.4 R F2(*)2.833 E F1(or)2.833 E F2 (@)2.833 E F1 2.833(,t)C .333(he v)-2.833 F .334 (alue substituted is the number of elements in the array)-.25 F(.)-.65 E -(If)144 530.4 Q F0(par)5.022 E(ameter)-.15 E F1 1.272(is an inde)4.502 F +(If)144 602.4 Q F0(par)5.022 E(ameter)-.15 E F1 1.272(is an inde)4.502 F -.15(xe)-.15 G 3.772(da).15 G 1.272(rray name subscripted by a ne)-3.772 F -.05(ga)-.15 G(ti).05 E 1.572 -.15(ve n)-.25 H(umber).15 E 3.772(,t) -.4 G 1.272(hat number is inter)-3.772 F(-)-.2 E .565(preted as relati) -144 542.4 R .865 -.15(ve t)-.25 H 3.065(oo).15 G .565 +144 614.4 R .865 -.15(ve t)-.25 H 3.065(oo).15 G .565 (ne greater than the maximum inde)-3.065 F 3.065(xo)-.15 G(f)-3.065 E F0 (par)3.066 E(ameter)-.15 E F1 3.066(,s)C 3.066(on)-3.066 G -2.25 -.15 (eg a)-3.066 H(ti).15 E .866 -.15(ve i)-.25 H .566(ndices count).15 F -(back from the end of the array)144 554.4 Q 2.5(,a)-.65 G(nd an inde) +(back from the end of the array)144 626.4 Q 2.5(,a)-.65 G(nd an inde) -2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G -(eferences the last element.)-2.5 E(${)108 571.2 Q F0(par)A(ameter)-.15 -E F3(#)A F0(wor)A(d)-.37 E F1(})A(${)108 583.2 Q F0(par)A(ameter)-.15 E -F3(##)A F0(wor)A(d)-.37 E F1(})A F3(Remo)144 595.2 Q 1.396 -.1(ve m)-.1 +(eferences the last element.)-2.5 E(${)108 643.2 Q F0(par)A(ameter)-.15 +E F2(#)A F0(wor)A(d)-.37 E F1(})A(${)108 655.2 Q F0(par)A(ameter)-.15 E +F2(##)A F0(wor)A(d)-.37 E F1(})A F2(Remo)144 667.2 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196(e\214x patter)-.18 F(n)-.15 E F1 6.196(.T) C(he)-6.196 E F0(wor)4.036 E(d)-.37 E F1 1.196(is e)4.466 F 1.196 (xpanded to produce a pattern just as in path-)-.15 F .543(name e)144 -607.2 R .544(xpansion, and matched ag)-.15 F .544(ainst the e)-.05 F +679.2 R .544(xpansion, and matched ag)-.15 F .544(ainst the e)-.05 F .544(xpanded v)-.15 F .544(alue of)-.25 F F0(par)4.294 E(ameter)-.15 E -F1 .544(using the rules described)3.774 F(under)144 619.2 Q F3 -.1(Pa) +F1 .544(using the rules described)3.774 F(under)144 691.2 Q F2 -.1(Pa) 3.133 G(tter).1 E 3.133(nM)-.15 G(atching)-3.133 E F1(belo)3.132 E 4.432 -.65(w. I)-.25 H 3.132(ft).65 G .632(he pattern matches the be)-3.132 F .632(ginning of the v)-.15 F .632(alue of)-.25 F F0(par)4.382 E(ameter) --.15 E F1(,).73 E 1.151(then the result of the e)144 631.2 R 1.151 +-.15 E F1(,).73 E 1.151(then the result of the e)144 703.2 R 1.151 (xpansion is the e)-.15 F 1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F0 (par)4.902 E(ameter)-.15 E F1 1.152(with the shortest matching)4.382 F .554(pattern \(the \231#\232 case\) or the longest matching pattern \(t\ -he \231##\232 case\) deleted.)144 643.2 R(If)5.553 E F0(par)4.303 E -(ameter)-.15 E F1(is)3.783 E F3(@)3.053 E F1(or)144 655.2 Q F3(*)3.018 E -F1 3.018(,t)C .518(he pattern remo)-3.018 F -.25(va)-.15 G 3.018(lo).25 -G .518 -(peration is applied to each positional parameter in turn, and the e) --3.018 F(xpan-)-.15 E .304(sion is the resultant list.)144 667.2 R(If) -5.304 E F0(par)4.054 E(ameter)-.15 E F1 .303(is an array v)3.533 F .303 -(ariable subscripted with)-.25 F F3(@)2.803 E F1(or)2.803 E F3(*)2.803 E -F1 2.803(,t)C .303(he pattern re-)-2.803 F(mo)144 679.2 Q -.25(va)-.15 G -2.987(lo).25 G .487 -(peration is applied to each member of the array in turn, and the e) --2.987 F .487(xpansion is the resultant)-.15 F(list.)144 691.2 Q -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(26)188.45 E 0 Cg EP +he \231##\232 case\) deleted.)144 715.2 R(If)5.553 E F0(par)4.303 E +(ameter)-.15 E F1(is)3.783 E F2(@)3.053 E F1(or)144 727.2 Q F2(*)5.023 E +F1 5.023(,t)C 2.523(he pattern remo)-5.023 F -.25(va)-.15 G 5.023(lo).25 +G 2.523 +(peration is applied to each positional parameter in turn, and the) +-5.023 F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(26)198.445 E 0 Cg +EP %%Page: 27 27 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(${)108 84 Q F0(par)A(ameter)-.15 E/F2 10 -/Times-Bold@0 SF(%)A F0(wor)A(d)-.37 E F1(})A(${)108 96 Q F0(par)A -(ameter)-.15 E F2(%%)A F0(wor)A(d)-.37 E F1(})A F2(Remo)144 108 Q .347 --.1(ve m)-.1 H .147(atching suf\214x patter).1 F(n)-.15 E F1 5.147(.T)C -(he)-5.147 E F0(wor)2.647 E(d)-.37 E F1 .147(is e)2.647 F .146 -(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 120 -S .458(pansion, and matched ag).15 F .458(ainst the e)-.05 F .458 +.25 E F1(\(1\)).95 E -.15(ex)144 84 S .445 +(pansion is the resultant list.).15 F(If)5.444 E F0(par)4.194 E(ameter) +-.15 E F1 .444(is an array v)3.674 F .444(ariable subscripted with)-.25 +F/F2 10/Times-Bold@0 SF(@)2.944 E F1(or)2.944 E F2(*)2.944 E F1 2.944 +(,t)C .444(he pat-)-2.944 F .322(tern remo)144 96 R -.25(va)-.15 G 2.822 +(lo).25 G .322 +(peration is applied to each member of the array in turn, and the e) +-2.822 F .323(xpansion is the re-)-.15 F(sultant list.)144 108 Q(${)108 +124.8 Q F0(par)A(ameter)-.15 E F2(%)A F0(wor)A(d)-.37 E F1(})A(${)108 +136.8 Q F0(par)A(ameter)-.15 E F2(%%)A F0(wor)A(d)-.37 E F1(})A F2(Remo) +144 148.8 Q .347 -.1(ve m)-.1 H .147(atching suf\214x patter).1 F(n)-.15 +E F1 5.147(.T)C(he)-5.147 E F0(wor)2.647 E(d)-.37 E F1 .147(is e)2.647 F +.146(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 +160.8 S .458(pansion, and matched ag).15 F .458(ainst the e)-.05 F .458 (xpanded v)-.15 F .458(alue of)-.25 F F0(par)4.209 E(ameter)-.15 E F1 -.459(using the rules described under)3.689 F F2 -.1(Pa)144 132 S(tter).1 -E 2.732(nM)-.15 G(atching)-2.732 E F1(belo)2.732 E 4.032 -.65(w. I)-.25 -H 2.732(ft).65 G .231(he pattern matches a trailing portion of the e) --2.732 F .231(xpanded v)-.15 F .231(alue of)-.25 F F0(par)3.981 E(a-) --.15 E(meter)144 144 Q F1 4.399(,t).73 G 1.899(hen the result of the e) --4.399 F 1.899(xpansion is the e)-.15 F 1.899(xpanded v)-.15 F 1.9 -(alue of)-.25 F F0(par)5.65 E(ameter)-.15 E F1 1.9(with the shortest) -5.13 F .019(matching pattern \(the \231%\232 case\) or the longest matc\ -hing pattern \(the \231%%\232 case\) deleted.)144 156 R(If)5.019 E F0 -(par)3.769 E(a-)-.15 E(meter)144 168 Q F1(is)3.559 E F2(@)2.829 E F1(or) -2.829 E F2(*)2.829 E F1 2.829(,t)C .329(he pattern remo)-2.829 F -.25 -(va)-.15 G 2.829(lo).25 G .33 -(peration is applied to each positional parameter in turn, and)-2.829 F -.64(the e)144 180 R .64(xpansion is the resultant list.)-.15 F(If)5.64 E -F0(par)4.39 E(ameter)-.15 E F1 .64(is an array v)3.87 F .64 +.459(using the rules described under)3.689 F F2 -.1(Pa)144 172.8 S(tter) +.1 E 2.732(nM)-.15 G(atching)-2.732 E F1(belo)2.732 E 4.032 -.65(w. I) +-.25 H 2.732(ft).65 G .231 +(he pattern matches a trailing portion of the e)-2.732 F .231(xpanded v) +-.15 F .231(alue of)-.25 F F0(par)3.981 E(a-)-.15 E(meter)144 184.8 Q F1 +4.399(,t).73 G 1.899(hen the result of the e)-4.399 F 1.899 +(xpansion is the e)-.15 F 1.899(xpanded v)-.15 F 1.9(alue of)-.25 F F0 +(par)5.65 E(ameter)-.15 E F1 1.9(with the shortest)5.13 F .019(matching\ + pattern \(the \231%\232 case\) or the longest matching pattern \(the \ +\231%%\232 case\) deleted.)144 196.8 R(If)5.019 E F0(par)3.769 E(a-)-.15 +E(meter)144 208.8 Q F1(is)3.559 E F2(@)2.829 E F1(or)2.829 E F2(*)2.829 +E F1 2.829(,t)C .329(he pattern remo)-2.829 F -.25(va)-.15 G 2.829(lo) +.25 G .33(peration is applied to each positional parameter in turn, and) +-2.829 F .64(the e)144 220.8 R .64(xpansion is the resultant list.)-.15 +F(If)5.64 E F0(par)4.39 E(ameter)-.15 E F1 .64(is an array v)3.87 F .64 (ariable subscripted with)-.25 F F2(@)3.14 E F1(or)3.14 E F2(*)3.14 E F1 -3.14(,t)C(he)-3.14 E .422(pattern remo)144 192 R -.25(va)-.15 G 2.922 +3.14(,t)C(he)-3.14 E .422(pattern remo)144 232.8 R -.25(va)-.15 G 2.922 (lo).25 G .422 (peration is applied to each member of the array in turn, and the e) --2.922 F .423(xpansion is the)-.15 F(resultant list.)144 204 Q(${)108 -220.8 Q F0(par)A(ameter)-.15 E F2(/)A F0(pattern)A F2(/)A F0(string)A F1 -(})A(${)108 232.8 Q F0(par)A(ameter)-.15 E F2(//)A F0(pattern)A F2(/)A -F0(string)A F1(})A(${)108 244.8 Q F0(par)A(ameter)-.15 E F2(/#)A F0 -(pattern)A F2(/)A F0(string)A F1(})A(${)108 256.8 Q F0(par)A(ameter)-.15 -E F2(/%)A F0(pattern)A F2(/)A F0(string)A F1(})A F2 -.1(Pa)144 268.8 S +-2.922 F .423(xpansion is the)-.15 F(resultant list.)144 244.8 Q(${)108 +261.6 Q F0(par)A(ameter)-.15 E F2(/)A F0(pattern)A F2(/)A F0(string)A F1 +(})A(${)108 273.6 Q F0(par)A(ameter)-.15 E F2(//)A F0(pattern)A F2(/)A +F0(string)A F1(})A(${)108 285.6 Q F0(par)A(ameter)-.15 E F2(/#)A F0 +(pattern)A F2(/)A F0(string)A F1(})A(${)108 297.6 Q F0(par)A(ameter)-.15 +E F2(/%)A F0(pattern)A F2(/)A F0(string)A F1(})A F2 -.1(Pa)144 309.6 S (tter).1 E 3.254(ns)-.15 G(ubstitution)-3.254 E F1 5.754(.T)C(he)-5.754 E F0(pattern)3.254 E F1 .754(is e)3.254 F .753 (xpanded to produce a pattern and matched ag)-.15 F .753(ainst the e) --.05 F(x-)-.15 E 1.163(panded v)144 280.8 R 1.163(alue of)-.25 F F0(par) +-.05 F(x-)-.15 E 1.163(panded v)144 321.6 R 1.163(alue of)-.25 F F0(par) 3.664 E(ameter)-.15 E F1 1.164(as described under)3.664 F F2 -.1(Pa) 3.664 G(tter).1 E 3.664(nM)-.15 G(atching)-3.664 E F1(belo)3.664 E 4.964 --.65(w. T)-.25 H 1.164(he longest match of).65 F F0(pattern)144 292.8 Q +-.65(w. T)-.25 H 1.164(he longest match of).65 F F0(pattern)144 333.6 Q F1 .266(in the e)2.766 F .266(xpanded v)-.15 F .265 (alue is replaced with)-.25 F F0(string)2.765 E F1(.)A F0(string)5.265 E F1(under)2.765 E .265(goes tilde e)-.18 F .265(xpansion, parameter)-.15 -F 1.358(and v)144 304.8 R 1.358(ariable e)-.25 F 1.358 +F 1.358(and v)144 345.6 R 1.358(ariable e)-.25 F 1.358 (xpansion, arithmetic e)-.15 F 1.358 (xpansion, command and process substitution, and quote re-)-.15 F(mo)144 -316.8 Q -.25(va)-.15 G(l.).25 E .652(In the \214rst form abo)144 333.6 R +357.6 Q -.25(va)-.15 G(l.).25 E .652(In the \214rst form abo)144 374.4 R -.15(ve)-.15 G 3.151(,o).15 G .651(nly the \214rst match is replaced.) -3.151 F .651(If there are tw)5.651 F 3.151(os)-.1 G .651 -(lashes separating)-3.151 F F0(par)3.151 E(a-)-.15 E(meter)144 345.6 Q +(lashes separating)-3.151 F F0(par)3.151 E(a-)-.15 E(meter)144 386.4 Q F1(and)2.673 E F0(pattern)2.673 E F1 .173(\(the second form abo)2.673 F -.15(ve)-.15 G .173(\), all matches of).15 F F0(pattern)2.673 E F1 .173 (are replaced with)2.673 F F0(string)2.673 E F1 5.174(.I)C(f)-5.174 E F0 -(pat-)2.674 E(tern)144 357.6 Q F1 .277(is preceded by)2.777 F F2(#)2.776 +(pat-)2.674 E(tern)144 398.4 Q F1 .277(is preceded by)2.777 F F2(#)2.776 E F1 .276(\(the third form abo)2.776 F -.15(ve)-.15 G .276 (\), it must match at the be).15 F .276(ginning of the e)-.15 F .276 -(xpanded v)-.15 F(alue)-.25 E(of)144 369.6 Q F0(par)2.638 E(ameter)-.15 +(xpanded v)-.15 F(alue)-.25 E(of)144 410.4 Q F0(par)2.638 E(ameter)-.15 E F1 5.138(.I)C(f)-5.138 E F0(pattern)2.638 E F1 .138(is preceded by) 2.638 F F2(%)2.638 E F1 .138(\(the fourth form abo)2.638 F -.15(ve)-.15 -G .139(\), it must match at the end of the).15 F -.15(ex)144 381.6 S +G .139(\), it must match at the end of the).15 F -.15(ex)144 422.4 S (panded v).15 E(alue of)-.25 E F0(par)2.5 E(ameter)-.15 E F1(.)A .034 -(If the e)144 398.4 R .034(xpansion of)-.15 F F0(string)2.534 E F1 .034 +(If the e)144 439.2 R .034(xpansion of)-.15 F F0(string)2.534 E F1 .034 (is null, matches of)2.534 F F0(pattern)2.534 E F1 .034 (are deleted and the)2.534 F F2(/)2.534 E F1(follo)2.534 E(wing)-.25 E -F0(pattern)2.534 E F1 .033(may be)2.533 F(omitted.)144 410.4 Q .95 -(If the)144 427.2 R F2(patsub_r)3.45 E(eplacement)-.18 E F1 .95 +F0(pattern)2.534 E F1 .033(may be)2.533 F(omitted.)144 451.2 Q .95 +(If the)144 468 R F2(patsub_r)3.45 E(eplacement)-.18 E F1 .95 (shell option is enabled using)3.45 F F2(shopt)3.45 E F1 3.45(,a)C 1.25 -.15(ny u)-3.45 H .95(nquoted instances of).15 F F2(&)3.45 E F1(in)3.45 -E F0(string)144 439.2 Q F1(are replaced with the matching portion of)2.5 -E F0(pattern)2.5 E F1(.)A .75(Quoting an)144 456 R 3.25(yp)-.15 G .75 +E F0(string)144 480 Q F1(are replaced with the matching portion of)2.5 E +F0(pattern)2.5 E F1(.)A .75(Quoting an)144 496.8 R 3.25(yp)-.15 G .75 (art of)-3.25 F F0(string)3.25 E F1 .749(inhibits replacement in the e) 3.249 F .749(xpansion of the quoted portion, including)-.15 F .808 -(replacement strings stored in shell v)144 468 R 3.308 +(replacement strings stored in shell v)144 508.8 R 3.308 (ariables. Backslash)-.25 F(escapes)3.308 E F2(&)3.308 E F1(in)3.308 E F0(string)3.308 E F1 3.308(;t)C .808(he backslash is re-)-3.308 F(mo)144 -480 Q -.15(ve)-.15 G 3.101(di).15 G 3.101(no)-3.101 G .601 +520.8 Q -.15(ve)-.15 G 3.101(di).15 G 3.101(no)-3.101 G .601 (rder to permit a literal)-3.101 F F2(&)3.101 E F1 .601 (in the replacement string.)3.101 F .6 -(Backslash can also be used to es-)5.6 F 1.428(cape a backslash;)144 492 -R F2(\\\\)3.928 E F1 1.428 +(Backslash can also be used to es-)5.6 F 1.428(cape a backslash;)144 +532.8 R F2(\\\\)3.928 E F1 1.428 (results in a literal backslash in the replacement.)3.928 F 1.428 (Users should tak)6.428 F 3.929(ec)-.1 G 1.429(are if)-3.929 F F0 -(string)144 504 Q F1 .292(is double-quoted to a)2.792 F -.2(vo)-.2 G +(string)144 544.8 Q F1 .292(is double-quoted to a)2.792 F -.2(vo)-.2 G .292(id unw).2 F .292 (anted interactions between the backslash and double-quoting,)-.1 F .053 -(since backslash has special meaning within double quotes.)144 516 R +(since backslash has special meaning within double quotes.)144 556.8 R -.15(Pa)5.053 G .054(ttern substitution performs the check).15 F .07 -(for unquoted)144 528 R F2(&)2.57 E F1 .07(after e)2.57 F(xpanding)-.15 -E F0(string)2.569 E F1 2.569(;s)C .069(hell programmers should quote an) --2.569 F 2.569(yo)-.15 G .069(ccurrences of)-2.569 F F2(&)2.569 E F1 -(the)2.569 E(y)-.15 E -.1(wa)144 540 S 1.112(nt to be tak).1 F 1.112 +(for unquoted)144 568.8 R F2(&)2.57 E F1 .07(after e)2.57 F(xpanding) +-.15 E F0(string)2.569 E F1 2.569(;s)C .069 +(hell programmers should quote an)-2.569 F 2.569(yo)-.15 G .069 +(ccurrences of)-2.569 F F2(&)2.569 E F1(the)2.569 E(y)-.15 E -.1(wa)144 +580.8 S 1.112(nt to be tak).1 F 1.112 (en literally in the replacement and ensure an)-.1 F 3.612(yi)-.15 G 1.112(nstances of)-3.612 F F2(&)3.612 E F1(the)3.612 E 3.613(yw)-.15 G -1.113(ant to be re-)-3.713 F(placed are unquoted.)144 552 Q(Lik)144 -568.8 Q 2.547(et)-.1 G .047(he pattern remo)-2.547 F -.25(va)-.15 G +1.113(ant to be re-)-3.713 F(placed are unquoted.)144 592.8 Q(Lik)144 +609.6 Q 2.547(et)-.1 G .047(he pattern remo)-2.547 F -.25(va)-.15 G 2.547(lo).25 G .047 (perators, double quotes surrounding the replacement string quote the e) -2.547 F(x-)-.15 E 1.061(panded characters, while double quotes enclosi\ -ng the entire parameter substitution do not, since)144 580.8 R(the e)144 -592.8 Q(xpansion is performed in a conte)-.15 E(xt that doesn')-.15 E +ng the entire parameter substitution do not, since)144 621.6 R(the e)144 +633.6 Q(xpansion is performed in a conte)-.15 E(xt that doesn')-.15 E 2.5(tt)-.18 G(ak)-2.5 E 2.5(ea)-.1 G .3 -.15(ny e)-2.5 H -(nclosing double quotes into account.).15 E .687(If the)144 609.6 R F2 +(nclosing double quotes into account.).15 E .687(If the)144 650.4 R F2 (nocasematch)3.187 E F1 .687 (shell option is enabled, the match is performed without re)3.187 F -.05 -(ga)-.15 G .687(rd to the case of).05 F(alphabetic characters.)144 621.6 -Q(If)144 638.4 Q F0(par)4.334 E(ameter)-.15 E F1(is)3.814 E F2(@)3.084 E +(ga)-.15 G .687(rd to the case of).05 F(alphabetic characters.)144 662.4 +Q(If)144 679.2 Q F0(par)4.334 E(ameter)-.15 E F1(is)3.814 E F2(@)3.084 E F1(or)3.084 E F2(*)3.084 E F1 3.084(,t)C .585(he substitution operation\ is applied to each positional parameter in turn,)-3.084 F .51 -(and the e)144 650.4 R .51(xpansion is the resultant list.)-.15 F(If) +(and the e)144 691.2 R .51(xpansion is the resultant list.)-.15 F(If) 5.51 E F0(par)4.259 E(ameter)-.15 E F1 .509(is an array v)3.739 F .509 (ariable subscripted with)-.25 F F2(@)3.009 E F1(or)3.009 E F2(*)3.009 E F1(,)A .495(the substitution operation is applied to each member of the\ - array in turn, and the e)144 662.4 R .496(xpansion is the)-.15 F -(resultant list.)144 674.4 Q(${)108 691.2 Q F0(par)A(ameter)-.15 E F2 -<00>A F0(pattern)A F1(})A(${)108 703.2 Q F0(par)A(ameter)-.15 E F2<0000> -A F0(pattern)A F1(})A(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E -(27)188.45 E 0 Cg EP + array in turn, and the e)144 703.2 R .496(xpansion is the)-.15 F +(resultant list.)144 715.2 Q(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 +E(27)198.445 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP @@ -3672,1610 +3671,1610 @@ BP /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) .25 E F1(\(1\)).95 E(${)108 84 Q F0(par)A(ameter)-.15 E/F2 10 -/Times-Bold@0 SF(,)A F0(pattern)A F1(})A(${)108 96 Q F0(par)A(ameter) --.15 E F2(,,)A F0(pattern)A F1(})A F2 2.346(Case modi\214cation)144 108 -R F1 7.346(.T)C 2.346(his e)-7.346 F 2.345 +/Times-Bold@0 SF<00>A F0(pattern)A F1(})A(${)108 96 Q F0(par)A(ameter) +-.15 E F2<0000>A F0(pattern)A F1(})A(${)108 108 Q F0(par)A(ameter)-.15 E +F2(,)A F0(pattern)A F1(})A(${)108 120 Q F0(par)A(ameter)-.15 E F2(,,)A +F0(pattern)A F1(})A F2 2.346(Case modi\214cation)144 132 R F1 7.346(.T)C +2.346(his e)-7.346 F 2.345 (xpansion modi\214es the case of alphabetic characters in)-.15 F F0(par) -4.845 E(ameter)-.15 E F1(.)A 1.474(First, the)144 120 R F0(pattern)3.974 +4.845 E(ameter)-.15 E F1(.)A 1.474(First, the)144 144 R F0(pattern)3.974 E F1 1.474(is e)3.974 F 1.474 (xpanded to produce a pattern as described belo)-.15 F 3.974(wu)-.25 G (nder)-3.974 E/F3 9/Times-Bold@0 SF -.09(Pa)3.974 G(tter).09 E 3.725(nM) --.135 G(atching)-3.725 E/F4 9/Times-Roman@0 SF(.)A F2(Bash)144 132 Q F1 +-.135 G(atching)-3.725 E/F4 9/Times-Roman@0 SF(.)A F2(Bash)144 156 Q F1 1.06(then e)3.56 F 1.059(xamines characters in the e)-.15 F 1.059 (xpanded v)-.15 F 1.059(alue of)-.25 F F0(par)3.559 E(ameter)-.15 E F1 (ag)3.559 E(ainst)-.05 E F0(pattern)3.559 E F1 1.059(as described)3.559 -F(belo)144 144 Q 4.218 -.65(w. I)-.25 H 2.918(fac).65 G .419 +F(belo)144 168 Q 4.218 -.65(w. I)-.25 H 2.918(fac).65 G .419 (haracter matches the pattern, its case is con)-2.918 F -.15(ve)-.4 G 2.919(rted. The).15 F .419(pattern should not attempt to)2.919 F -(match more than one character)144 156 Q(.)-.55 E .605 -(Using \231\000\232 con)144 172.8 R -.15(ve)-.4 G .605(rts lo).15 F .605 +(match more than one character)144 180 Q(.)-.55 E .605 +(Using \231\000\232 con)144 196.8 R -.15(ve)-.4 G .605(rts lo).15 F .605 (wercase letters matching)-.25 F F0(pattern)3.105 E F1 .605 (to uppercase; \231,)3.105 F 3.105<9a63>-.7 G(on)-3.105 E -.15(ve)-.4 G -.605(rts matching upper).15 F(-)-.2 E .9(case letters to lo)144 184.8 R +.605(rts matching upper).15 F(-)-.2 E .9(case letters to lo)144 208.8 R 3.4(wercase. The)-.25 F F2<00>3.4 E F1(and)3.4 E F2(,)3.4 E F1 -.25(va) 3.4 G .9(riants e).25 F .9(xamine the \214rst character in the e)-.15 F -.9(xpanded v)-.15 F(alue)-.25 E .71(and con)144 196.8 R -.15(ve)-.4 G +.9(xpanded v)-.15 F(alue)-.25 E .71(and con)144 220.8 R -.15(ve)-.4 G .71(rt its case if it matches).15 F F0(pattern)3.21 E F1 3.21(;t)C(he) -3.21 E F2<0000>3.21 E F1(and)3.21 E F2(,,)3.21 E F1 -.25(va)3.21 G .71 (riants e).25 F .71(xamine all characters in the e)-.15 F(x-)-.15 E .047 -(panded v)144 208.8 R .047(alue and con)-.25 F -.15(ve)-.4 G .047 +(panded v)144 232.8 R .047(alue and con)-.25 F -.15(ve)-.4 G .047 (rt each one that matches).15 F F0(pattern)2.547 E F1 5.047(.I)C(f) -5.047 E F0(pattern)2.547 E F1 .047(is omitted, it is treated lik)2.547 -F 2.548(ea)-.1 G F2(?)A F1(,)A(which matches e)144 220.8 Q -.15(ve)-.25 -G(ry character).15 E(.)-.55 E(If)144 237.6 Q F0(par)4.18 E(ameter)-.15 E +F 2.548(ea)-.1 G F2(?)A F1(,)A(which matches e)144 244.8 Q -.15(ve)-.25 +G(ry character).15 E(.)-.55 E(If)144 261.6 Q F0(par)4.18 E(ameter)-.15 E F1(is)3.66 E F2(@)2.93 E F1(or)2.93 E F2(*)2.93 E F1 2.93(,t)C .429(he \ case modi\214cation operation is applied to each positional parameter i\ -n)-2.93 F .523(turn, and the e)144 249.6 R .524 +n)-2.93 F .523(turn, and the e)144 273.6 R .524 (xpansion is the resultant list.)-.15 F(If)5.524 E F0(par)4.274 E (ameter)-.15 E F1 .524(is an array v)3.754 F .524 -(ariable subscripted with)-.25 F F2(@)3.024 E F1(or)144 261.6 Q F2(*) +(ariable subscripted with)-.25 F F2(@)3.024 E F1(or)144 285.6 Q F2(*) 2.569 E F1 2.569(,t)C .068(he case modi\214cation operation is applied \ to each member of the array in turn, and the e)-2.569 F(xpan-)-.15 E -(sion is the resultant list.)144 273.6 Q(${)108 290.4 Q F0(par)A(ameter) --.15 E F2(@)A F0(oper)A(ator)-.15 E F1(})A F2 -.1(Pa)144 302.4 S .86 +(sion is the resultant list.)144 297.6 Q(${)108 314.4 Q F0(par)A(ameter) +-.15 E F2(@)A F0(oper)A(ator)-.15 E F1(})A F2 -.1(Pa)144 326.4 S .86 (rameter transf).1 F(ormation)-.25 E F1 5.86(.T)C .86(he e)-5.86 F .86 (xpansion is either a transformation of the v)-.15 F .86(alue of)-.25 F -F0(par)3.36 E(ameter)-.15 E F1 .154(or information about)144 314.4 R F0 +F0(par)3.36 E(ameter)-.15 E F1 .154(or information about)144 338.4 R F0 (par)2.654 E(ameter)-.15 E F1 .153(itself, depending on the v)2.654 F .153(alue of)-.25 F F0(oper)2.653 E(ator)-.15 E F1 5.153(.E)C(ach)-5.153 E F0(oper)2.653 E(ator)-.15 E F1 .153(is a sin-)2.653 F(gle letter:)144 -326.4 Q F2(U)144 338.4 Q F1 .142(The e)180 338.4 R .142 +350.4 Q F2(U)144 362.4 Q F1 .142(The e)180 362.4 R .142 (xpansion is a string that is the v)-.15 F .142(alue of)-.25 F F0(par) 2.642 E(ameter)-.15 E F1 .142(with lo)2.642 F .143 -(wercase alphabetic charac-)-.25 F(ters con)180 350.4 Q -.15(ve)-.4 G -(rted to uppercase.).15 E F2(u)144 362.4 Q F1 .43(The e)180 362.4 R .43 +(wercase alphabetic charac-)-.25 F(ters con)180 374.4 Q -.15(ve)-.4 G +(rted to uppercase.).15 E F2(u)144 386.4 Q F1 .43(The e)180 386.4 R .43 (xpansion is a string that is the v)-.15 F .429(alue of)-.25 F F0(par) 2.929 E(ameter)-.15 E F1 .429(with the \214rst character con)2.929 F --.15(ve)-.4 G(rted).15 E(to uppercase, if it is alphabetic.)180 374.4 Q -F2(L)144 386.4 Q F1 .124(The e)180 386.4 R .124 +-.15(ve)-.4 G(rted).15 E(to uppercase, if it is alphabetic.)180 398.4 Q +F2(L)144 410.4 Q F1 .124(The e)180 410.4 R .124 (xpansion is a string that is the v)-.15 F .124(alue of)-.25 F F0(par) 2.624 E(ameter)-.15 E F1 .125(with uppercase alphabetic charac-)2.625 F -(ters con)180 398.4 Q -.15(ve)-.4 G(rted to lo).15 E(wercase.)-.25 E F2 -(Q)144 410.4 Q F1 1.065(The e)180 410.4 R 1.065 +(ters con)180 422.4 Q -.15(ve)-.4 G(rted to lo).15 E(wercase.)-.25 E F2 +(Q)144 434.4 Q F1 1.065(The e)180 434.4 R 1.065 (xpansion is a string that is the v)-.15 F 1.065(alue of)-.25 F F0(par) 3.565 E(ameter)-.15 E F1 1.064(quoted in a format that can be)3.565 F -(reused as input.)180 422.4 Q F2(E)144 434.4 Q F1 .44(The e)180 434.4 R +(reused as input.)180 446.4 Q F2(E)144 458.4 Q F1 .44(The e)180 458.4 R .441(xpansion is a string that is the v)-.15 F .441(alue of)-.25 F F0 (par)2.941 E(ameter)-.15 E F1 .441(with backslash escape sequences)2.941 -F -.15(ex)180 446.4 S(panded as with the).15 E F2<2408>2.5 E F1 1.666 -(...)C F2<08>-1.666 E F1(quoting mechanism.)2.5 E F2(P)144 458.4 Q F1 -1.073(The e)180 458.4 R 1.073 +F -.15(ex)180 470.4 S(panded as with the).15 E F2<2408>2.5 E F1 1.666 +(...)C F2<08>-1.666 E F1(quoting mechanism.)2.5 E F2(P)144 482.4 Q F1 +1.073(The e)180 482.4 R 1.073 (xpansion is a string that is the result of e)-.15 F 1.073 (xpanding the v)-.15 F 1.073(alue of)-.25 F F0(par)3.573 E(ameter)-.15 E -F1 1.073(as if it)3.573 F(were a prompt string \(see)180 470.4 Q F2(PR) -2.5 E(OMPTING)-.3 E F1(belo)2.5 E(w\).)-.25 E F2(A)144 482.4 Q F1 1.137 -(The e)180 482.4 R 1.138 +F1 1.073(as if it)3.573 F(were a prompt string \(see)180 494.4 Q F2(PR) +2.5 E(OMPTING)-.3 E F1(belo)2.5 E(w\).)-.25 E F2(A)144 506.4 Q F1 1.137 +(The e)180 506.4 R 1.138 (xpansion is a string in the form of an assignment statement or)-.15 F -F2(declar)3.638 E(e)-.18 E F1(command)3.638 E(that, if e)180 494.4 Q +F2(declar)3.638 E(e)-.18 E F1(command)3.638 E(that, if e)180 518.4 Q -.25(va)-.25 G(luated, recreates).25 E F0(par)2.5 E(ameter)-.15 E F1 -(with its attrib)2.5 E(utes and v)-.2 E(alue.)-.25 E F2(K)144 506.4 Q F1 -1.34(Produces a possibly-quoted v)180 506.4 R 1.339(ersion of the v)-.15 +(with its attrib)2.5 E(utes and v)-.2 E(alue.)-.25 E F2(K)144 530.4 Q F1 +1.34(Produces a possibly-quoted v)180 530.4 R 1.339(ersion of the v)-.15 F 1.339(alue of)-.25 F F0(par)3.839 E(ameter)-.15 E F1 3.839(,e)C 1.339 -(xcept that it prints the)-3.989 F -.25(va)180 518.4 S .257 +(xcept that it prints the)-3.989 F -.25(va)180 542.4 S .257 (lues of inde).25 F -.15(xe)-.15 G 2.757(da).15 G .257(nd associati) -2.757 F .557 -.15(ve a)-.25 H .257(rrays as a sequence of quoted k).15 F -.15(ey)-.1 G(-v).15 E .257(alue pairs \(see)-.25 F F2(Ar)2.758 E(-) --.37 E(rays)180 530.4 Q F1(abo)2.5 E -.15(ve)-.15 G 2.5(\). The).15 F +-.37 E(rays)180 554.4 Q F1(abo)2.5 E -.15(ve)-.15 G 2.5(\). The).15 F -.1(ke)2.5 G(ys and v)-.05 E (alues are quoted in a format that can be reused as input.)-.25 E F2(a) -144 542.4 Q F1(The e)180 542.4 Q +144 566.4 Q F1(The e)180 566.4 Q (xpansion is a string consisting of \215ag v)-.15 E(alues representing) -.25 E F0(par)2.5 E(ameter)-.15 E F1 1.1 -.55('s a)D(ttrib).55 E(utes.) --.2 E F2(k)144 554.4 Q F1(Lik)180 554.4 Q 2.658(et)-.1 G .157 +-.2 E F2(k)144 578.4 Q F1(Lik)180 578.4 Q 2.658(et)-.1 G .157 (he K transformation, b)-2.658 F .157(ut e)-.2 F .157(xpands the k)-.15 F -.15(ey)-.1 G 2.657(sa).15 G .157(nd v)-2.657 F .157(alues of inde) -.25 F -.15(xe)-.15 G 2.657(da).15 G .157(nd associati)-2.657 F .457 --.15(ve a)-.25 H -.2(r-).15 G(rays to separate w)180 566.4 Q -(ords after w)-.1 E(ord splitting.)-.1 E(If)144 583.2 Q F0(par)4.402 E +-.15(ve a)-.25 H -.2(r-).15 G(rays to separate w)180 590.4 Q +(ords after w)-.1 E(ord splitting.)-.1 E(If)144 607.2 Q F0(par)4.402 E (ameter)-.15 E F1(is)3.882 E F2(@)3.152 E F1(or)3.152 E F2(*)3.153 E F1 3.153(,t)C .653(he operation is applied to each positional parameter in\ turn, and the e)-3.153 F(x-)-.15 E .403(pansion is the resultant list.) -144 595.2 R(If)5.403 E F0(par)4.153 E(ameter)-.15 E F1 .403 +144 619.2 R(If)5.403 E F0(par)4.153 E(ameter)-.15 E F1 .403 (is an array v)3.633 F .403(ariable subscripted with)-.25 F F2(@)2.903 E F1(or)2.903 E F2(*)2.903 E F1 2.903(,t)C .402(he opera-)-2.903 F (tion is applied to each member of the array in turn, and the e)144 -607.2 Q(xpansion is the resultant list.)-.15 E .708(The result of the e) -144 624 R .708(xpansion is subject to w)-.15 F .708 +631.2 Q(xpansion is the resultant list.)-.15 E .708(The result of the e) +144 648 R .708(xpansion is subject to w)-.15 F .708 (ord splitting and pathname e)-.1 F .708(xpansion as described be-)-.15 -F(lo)144 636 Q -.65(w.)-.25 G F2(Command Substitution)87 652.8 Q F0 .324 -(Command substitution)108 664.8 R F1(allo)2.824 E .324 +F(lo)144 660 Q -.65(w.)-.25 G F2(Command Substitution)87 676.8 Q F0 .324 +(Command substitution)108 688.8 R F1(allo)2.824 E .324 (ws the output of a command to replace the command itself.)-.25 F .323 -(There are tw)5.323 F 2.823(os)-.1 G(tan-)-2.823 E(dard forms:)108 676.8 -Q F2($\()144 693.6 Q F0(command)A F2(\))1.666 E F1(or \(deprecated\))108 -705.6 Q F2<92>144 717.6 Q F0(command)A F2<92>A F1(.)A(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(28)188.45 E 0 Cg EP +(There are tw)5.323 F 2.823(os)-.1 G(tan-)-2.823 E(dard forms:)108 700.8 +Q F2($\()144 717.6 Q F0(command)A F2(\))1.666 E F1(or \(deprecated\))108 +729.6 Q(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(28)198.445 E 0 Cg +EP %%Page: 29 29 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(Bash)108 84 Q F1 .088 -(performs the e)2.588 F .088(xpansion by e)-.15 F -.15(xe)-.15 G(cuting) -.15 E F0(command)2.588 E F1 .089(in a subshell en)2.589 F .089 -(vironment and replacing the command)-.4 F .41 -(substitution with the standard output of the command, with an)108 96 R -2.91(yt)-.15 G .41(railing ne)-2.91 F .41(wlines deleted.)-.25 F .41 -(Embedded ne)5.41 F(w-)-.25 E .191(lines are not deleted, b)108 108 R -.192(ut the)-.2 F 2.692(ym)-.15 G .192(ay be remo)-2.692 F -.15(ve)-.15 -G 2.692(dd).15 G .192(uring w)-2.692 F .192(ord splitting.)-.1 F .192 -(The command substitution)5.192 F F2($\(cat)2.692 E F0(\214le)2.692 E F2 -(\))A F1(can be replaced by the equi)108 120 Q -.25(va)-.25 G(lent b).25 -E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F0(\214le)2.5 E F2(\))A F1(.)A --.4(Wi)108 136.8 S 1.237(th the old-style backquote form of substitutio\ -n, backslash retains its literal meaning e).4 F 1.237(xcept when fol-) --.15 F(lo)108 148.8 Q .527(wed by)-.25 F F2($)3.027 E F1(,)A F2<92>3.027 -E F1 3.027(,o)C(r)-3.027 E F2(\\)3.027 E F1 5.527(.T)C .528(he \214rst \ -backquote not preceded by a backslash terminates the command substituti\ -on.)-5.527 F .092(When using the $\()108 160.8 R F0(command).833 E F1 -2.592(\)f)1.666 G .092(orm, all characters between the parentheses mak) --2.592 F 2.592(eu)-.1 G 2.592(pt)-2.592 G .092(he command; none are) --2.592 F(treated specially)108 172.8 Q(.)-.65 E -(There is an alternate form of command substitution:)108 189.6 Q F2(${) -144 206.4 Q F0 2.5(cc)C(ommand)-2.5 E F2 1.666(;})C F1 .639(which e)108 -223.2 R -.15(xe)-.15 G(cutes).15 E F0(command)3.139 E F1 .639 +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF<92>144 84 Q F0(command)A F2 +<92>A F1(.)A F2(Bash)108 100.8 Q F1 .088(performs the e)2.588 F .088 +(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F0(command)2.588 E F1 +.089(in a subshell en)2.589 F .089(vironment and replacing the command) +-.4 F .41(substitution with the standard output of the command, with an) +108 112.8 R 2.91(yt)-.15 G .41(railing ne)-2.91 F .41(wlines deleted.) +-.25 F .41(Embedded ne)5.41 F(w-)-.25 E .191(lines are not deleted, b) +108 124.8 R .192(ut the)-.2 F 2.692(ym)-.15 G .192(ay be remo)-2.692 F +-.15(ve)-.15 G 2.692(dd).15 G .192(uring w)-2.692 F .192(ord splitting.) +-.1 F .192(The command substitution)5.192 F F2($\(cat)2.692 E F0(\214le) +2.692 E F2(\))A F1(can be replaced by the equi)108 136.8 Q -.25(va)-.25 +G(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F0(\214le)2.5 E F2 +(\))A F1(.)A -.4(Wi)108 153.6 S 1.237(th the old-style backquote form o\ +f substitution, backslash retains its literal meaning e).4 F 1.237 +(xcept when fol-)-.15 F(lo)108 165.6 Q .527(wed by)-.25 F F2($)3.027 E +F1(,)A F2<92>3.027 E F1 3.027(,o)C(r)-3.027 E F2(\\)3.027 E F1 5.527(.T) +C .528(he \214rst backquote not preceded by a backslash terminates the \ +command substitution.)-5.527 F .092(When using the $\()108 177.6 R F0 +(command).833 E F1 2.592(\)f)1.666 G .092 +(orm, all characters between the parentheses mak)-2.592 F 2.592(eu)-.1 G +2.592(pt)-2.592 G .092(he command; none are)-2.592 F(treated specially) +108 189.6 Q(.)-.65 E +(There is an alternate form of command substitution:)108 206.4 Q F2(${) +144 223.2 Q F0 2.5(cc)C(ommand)-2.5 E F2 1.666(;})C F1 .639(which e)108 +240 R -.15(xe)-.15 G(cutes).15 E F0(command)3.139 E F1 .639 (in the current e)3.139 F -.15(xe)-.15 G .639(cution en).15 F .639 (vironment and captures its output, ag)-.4 F .64(ain with trailing)-.05 -F(ne)108 235.2 Q(wlines remo)-.25 E -.15(ve)-.15 G(d.).15 E .271 -(The character)108 252 R F0(c)2.771 E F1(follo)2.771 E .271 +F(ne)108 252 Q(wlines remo)-.25 E -.15(ve)-.15 G(d.).15 E .271 +(The character)108 268.8 R F0(c)2.771 E F1(follo)2.771 E .271 (wing the open brace must be a space, tab, ne)-.25 F .271(wline, or)-.25 F F2(|)2.771 E F1 2.771(,a)C .271(nd the close brace must be in)-2.771 F -2.821(ap)108 264 S .321(osition where a reserv)-2.821 F .321(ed w)-.15 F -.321(ord may appear \(i.e., preceded by a command terminator such as se\ -micolon\).)-.1 F F2(Bash)108 276 Q F1(allo)2.71 E .21 +2.821(ap)108 280.8 S .321(osition where a reserv)-2.821 F .321(ed w)-.15 +F .321(ord may appear \(i.e., preceded by a command terminator such as \ +semicolon\).)-.1 F F2(Bash)108 292.8 Q F1(allo)2.71 E .21 (ws the close brace to be joined to the remaining characters in the w) -.25 F .209(ord without being follo)-.1 F .209(wed by)-.25 F 2.5(as)108 -288 S(hell metacharacter as a reserv)-2.5 E(ed w)-.15 E(ord w)-.1 E -(ould usually require.)-.1 E(An)108 304.8 Q 3.384(ys)-.15 G .884(ide ef) +304.8 S(hell metacharacter as a reserv)-2.5 E(ed w)-.15 E(ord w)-.1 E +(ould usually require.)-.1 E(An)108 321.6 Q 3.384(ys)-.15 G .884(ide ef) -3.384 F .884(fects of)-.25 F F0(command)3.384 E F1(tak)3.384 E 3.384 (ee)-.1 G -.25(ff)-3.384 G .884(ect immediately in the current e).25 F -.15(xe)-.15 G .884(cution en).15 F .884(vironment and persist in)-.4 F -(the current en)108 316.8 Q +(the current en)108 333.6 Q (vironment after the command completes \(e.g., the)-.4 E F2(exit)2.5 E F1 -.2(bu)2.5 G(iltin e).2 E(xits the shell\).)-.15 E .221 -(This type of command substitution super\214cially resembles e)108 333.6 +(This type of command substitution super\214cially resembles e)108 350.4 R -.15(xe)-.15 G .221(cuting an unnamed shell function: local v).15 F (ari-)-.25 E .172(ables are created as when a shell function is e)108 -345.6 R -.15(xe)-.15 G .172(cuting, and the).15 F F2 -.18(re)2.672 G +362.4 R -.15(xe)-.15 G .172(cuting, and the).15 F F2 -.18(re)2.672 G (tur).18 E(n)-.15 E F1 -.2(bu)2.672 G .172(iltin forces).2 F F0(command) -2.672 E F1 .172(to complete;)2.672 F(ho)108 357.6 Q(we)-.25 E -.15(ve) +2.672 E F1 .172(to complete;)2.672 F(ho)108 374.4 Q(we)-.25 E -.15(ve) -.25 G 2.521 -.4(r, t).15 H 1.721(he rest of the e).4 F -.15(xe)-.15 G 1.721(cution en).15 F 1.721 (vironment, including the positional parameters, is shared with the)-.4 -F(caller)108 369.6 Q(.)-.55 E .392(If the \214rst character follo)108 -386.4 R .392(wing the open brace is a)-.25 F F2(|)2.892 E F1 2.892(,t)C +F(caller)108 386.4 Q(.)-.55 E .392(If the \214rst character follo)108 +403.2 R .392(wing the open brace is a)-.25 F F2(|)2.892 E F1 2.892(,t)C .392(he construct e)-2.892 F .392(xpands to the v)-.15 F .392 (alue of the)-.25 F F2(REPL)2.892 E(Y)-.92 E F1(shell)2.892 E -.25(va) -108 398.4 S .505(riable after).25 F F0(command)3.005 E F1 -.15(exe)3.005 +108 415.2 S .505(riable after).25 F F0(command)3.005 E F1 -.15(exe)3.005 G .505(cutes, without remo).15 F .505(ving an)-.15 F 3.005(yt)-.15 G .505(railing ne)-3.005 F .505(wlines, and the standard output of)-.25 F -F0(com-)3.005 E(mand)108 410.4 Q F1 1.208 +F0(com-)3.005 E(mand)108 427.2 Q F1 1.208 (remains the same as in the calling shell.)3.708 F F2(Bash)6.208 E F1 (creates)3.708 E F2(REPL)3.708 E(Y)-.92 E F1 1.208 -(as an initially-unset local v)3.708 F(ariable)-.25 E(when)108 422.4 Q +(as an initially-unset local v)3.708 F(ariable)-.25 E(when)108 439.2 Q F0(command)3.514 E F1 -.15(exe)3.514 G 1.014(cutes, and restores).15 F F2(REPL)3.514 E(Y)-.92 E F1 1.014(to the v)3.514 F 1.014 (alue it had before the command substitution after)-.25 F F0(command)108 -434.4 Q F1(completes, as with an)2.5 E 2.5(yl)-.15 G(ocal v)-2.5 E -(ariable.)-.25 E .894(Command substitutions may be nested.)108 451.2 R +451.2 Q F1(completes, as with an)2.5 E 2.5(yl)-.15 G(ocal v)-2.5 E +(ariable.)-.25 E .894(Command substitutions may be nested.)108 468 R 2.494 -.8(To n)5.894 H .894 (est when using the backquoted form, escape the inner back-).8 F -(quotes with backslashes.)108 463.2 Q .004 -(If the substitution appears within double quotes,)108 480 R F2(bash) +(quotes with backslashes.)108 480 Q .004 +(If the substitution appears within double quotes,)108 496.8 R F2(bash) 2.504 E F1 .004(does not perform w)2.504 F .004 (ord splitting and pathname e)-.1 F(xpan-)-.15 E(sion on the results.) -108 492 Q F2(Arithmetic Expansion)87 508.8 Q F1 1.139(Arithmetic e)108 -520.8 R 1.139(xpansion e)-.15 F -.25(va)-.25 G 1.139 +108 508.8 Q F2(Arithmetic Expansion)87 525.6 Q F1 1.139(Arithmetic e)108 +537.6 R 1.139(xpansion e)-.15 F -.25(va)-.25 G 1.139 (luates an arithmetic e).25 F 1.139 (xpression and substitutes the result.)-.15 F 1.14 -(The format for arith-)6.139 F(metic e)108 532.8 Q(xpansion is:)-.15 E -F2($\(\()144 549.6 Q F0 -.2(ex)C(pr).2 E(ession)-.37 E F2(\)\))A F1(The) -108 566.4 Q F0 -.2(ex)3.584 G(pr).2 E(ession)-.37 E F1(under)3.824 E +(The format for arith-)6.139 F(metic e)108 549.6 Q(xpansion is:)-.15 E +F2($\(\()144 566.4 Q F0 -.2(ex)C(pr).2 E(ession)-.37 E F2(\)\))A F1(The) +108 583.2 Q F0 -.2(ex)3.584 G(pr).2 E(ession)-.37 E F1(under)3.824 E 1.084(goes the same e)-.18 F 1.084 (xpansions as if it were within double quotes, b)-.15 F 1.084 -(ut unescaped double)-.2 F .652(quote characters in)108 578.4 R F0 -.2 +(ut unescaped double)-.2 F .652(quote characters in)108 595.2 R F0 -.2 (ex)3.152 G(pr).2 E(ession)-.37 E F1 .652 (are not treated specially and are remo)3.152 F -.15(ve)-.15 G 3.153 (d. All).15 F(tok)3.153 E .653(ens in the e)-.1 F .653(xpression un-) --.15 F(der)108 590.4 Q .179(go parameter and v)-.18 F .179(ariable e) +-.15 F(der)108 607.2 Q .179(go parameter and v)-.18 F .179(ariable e) -.25 F .179(xpansion, command substitution, and quote remo)-.15 F -.25 (va)-.15 G 2.678(l. The).25 F .178(result is treated as)2.678 F .354 -(the arithmetic e)108 602.4 R .354(xpression to be e)-.15 F -.25(va)-.25 +(the arithmetic e)108 619.2 R .354(xpression to be e)-.15 F -.25(va)-.25 G 2.854(luated. Since).25 F .354(the w)2.854 F .354 (ay Bash handles double quotes can potentially result)-.1 F .234 -(in empty strings, arithmetic e)108 614.4 R .234 +(in empty strings, arithmetic e)108 631.2 R .234 (xpansion treats those as e)-.15 F .233(xpressions that e)-.15 F -.25 (va)-.25 G .233(luate to 0.).25 F .233(Arithmetic e)5.233 F(xpansions) --.15 E(may be nested.)108 626.4 Q 1.378(The e)108 643.2 R -.25(va)-.25 G +-.15 E(may be nested.)108 643.2 Q 1.378(The e)108 660 R -.25(va)-.25 G 1.378(luation is performed according to the rules listed belo).25 F 3.878(wu)-.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV) 3.878 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.) -A F1(If)5.879 E F0 -.2(ex)108 655.2 S(pr).2 E(ession)-.37 E F1 .022 -(is in)2.762 F -.25(va)-.4 G(lid,).25 E F2(bash)2.522 E F1 .022 +A F1(If)5.879 E F0 -.2(ex)108 672 S(pr).2 E(ession)-.37 E F1 .022(is in) +2.762 F -.25(va)-.4 G(lid,).25 E F2(bash)2.522 E F1 .022 (prints a message to standard error indicating f)2.522 F .022 (ailure, does not perform the substi-)-.1 F(tution, and does not e)108 -667.2 Q -.15(xe)-.15 G(cute the command associated with the e).15 E -(xpansion.)-.15 E F2(Pr)87 684 Q(ocess Substitution)-.18 E F0(Pr)108 696 -Q .405(ocess substitution)-.45 F F1(allo)2.905 E .405(ws a process')-.25 -F 2.905(si)-.55 G .405 +684 Q -.15(xe)-.15 G(cute the command associated with the e).15 E +(xpansion.)-.15 E F2(Pr)87 700.8 Q(ocess Substitution)-.18 E F0(Pr)108 +712.8 Q .405(ocess substitution)-.45 F F1(allo)2.905 E .405 +(ws a process')-.25 F 2.905(si)-.55 G .405 (nput or output to be referred to using a \214lename.)-2.905 F .405 -(It tak)5.405 F .405(es the form)-.1 F(of)108 708 Q F2(<\()3.251 E F0 +(It tak)5.405 F .405(es the form)-.1 F(of)108 724.8 Q F2(<\()3.251 E F0 (list)A F2(\)).833 E F1(or)3.251 E F2(>\()3.251 E F0(list)A F2(\)).833 E F1 5.751(.T)C .751(he process)-5.751 F F0(list)3.251 E F1 .751 (is run asynchronously)3.251 F 3.251(,a)-.65 G .751 -(nd its input or output appears as a \214lename.)-3.251 F -(This \214lename is passed as an ar)108 720 Q -(gument to the current command as the result of the e)-.18 E(xpansion.) --.15 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(29)188.45 E 0 Cg -EP +(nd its input or output appears as a \214lename.)-3.251 F(GNU Bash 5.3) +72 768 Q(2025 April 7)149.285 E(29)198.445 E 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .447(If the)108 84 R/F2 10/Times-Bold@0 SF(>\() -2.947 E F0(list)A F2(\)).833 E F1 .447 -(form is used, writing to the \214le pro)2.947 F .447(vides input for) --.15 F F0(list)2.947 E F1 5.447(.I)C 2.948(ft)-5.447 G(he)-2.948 E F2 -(<\()2.948 E F0(list)A F2(\)).833 E F1 .448(form is used, reading the) -2.948 F .504(\214le obtains the output of)108 96 R F0(list)3.003 E F1 -5.503(.N)C 3.003(os)-5.503 G .503(pace may appear between the)-3.003 F -F2(<)3.003 E F1(or)3.003 E F2(>)3.003 E F1 .503 -(and the left parenthesis, otherwise)3.003 F(the construct w)108 108 Q -(ould be interpreted as a redirection.)-.1 E 1.163(Process substitution\ - is supported on systems that support named pipes \()108 124.8 R F0 -(FIFOs)A F1 3.664(\)o)C 3.664(rt)-3.664 G(he)-3.664 E F0(/de)3.664 E -(v/fd)-.15 E F1 1.164(method of)3.664 F(naming open \214les.)108 136.8 Q -.897(When a)108 153.6 R -.25(va)-.2 G .896(ilable, process substitution\ - is performed simultaneously with parameter and v).25 F .896(ariable e) --.25 F(xpansion,)-.15 E(command substitution, and arithmetic e)108 165.6 -Q(xpansion.)-.15 E F2 -.75(Wo)87 182.4 S(rd Splitting).75 E F1 1.142 -(The shell scans the results of parameter e)108 194.4 R 1.143 +.25 E F1(\(1\)).95 E(This \214lename is passed as an ar)108 84 Q +(gument to the current command as the result of the e)-.18 E(xpansion.) +-.15 E .447(If the)108 100.8 R/F2 10/Times-Bold@0 SF(>\()2.947 E F0 +(list)A F2(\)).833 E F1 .447(form is used, writing to the \214le pro) +2.947 F .447(vides input for)-.15 F F0(list)2.947 E F1 5.447(.I)C 2.948 +(ft)-5.447 G(he)-2.948 E F2(<\()2.948 E F0(list)A F2(\)).833 E F1 .448 +(form is used, reading the)2.948 F .504(\214le obtains the output of)108 +112.8 R F0(list)3.003 E F1 5.503(.N)C 3.003(os)-5.503 G .503 +(pace may appear between the)-3.003 F F2(<)3.003 E F1(or)3.003 E F2(>) +3.003 E F1 .503(and the left parenthesis, otherwise)3.003 F +(the construct w)108 124.8 Q(ould be interpreted as a redirection.)-.1 E +1.163(Process substitution is supported on systems that support named p\ +ipes \()108 141.6 R F0(FIFOs)A F1 3.664(\)o)C 3.664(rt)-3.664 G(he) +-3.664 E F0(/de)3.664 E(v/fd)-.15 E F1 1.164(method of)3.664 F +(naming open \214les.)108 153.6 Q .897(When a)108 170.4 R -.25(va)-.2 G +.896(ilable, process substitution is performed simultaneously with para\ +meter and v).25 F .896(ariable e)-.25 F(xpansion,)-.15 E +(command substitution, and arithmetic e)108 182.4 Q(xpansion.)-.15 E F2 +-.75(Wo)87 199.2 S(rd Splitting).75 E F1 1.142 +(The shell scans the results of parameter e)108 211.2 R 1.143 (xpansion, command substitution, and arithmetic e)-.15 F 1.143 -(xpansion that)-.15 F(did not occur within double quotes for)108 206.4 Q +(xpansion that)-.15 F(did not occur within double quotes for)108 223.2 Q F0(wor)2.84 E 2.5(ds)-.37 G(plitting)-2.5 E F1 5(.W).22 G (ords that were not e)-5.8 E(xpanded are not split.)-.15 E .063 -(The shell treats each character of)108 223.2 R/F3 9/Times-Bold@0 SF -(IFS)2.563 E F1 .063(as a delimiter)2.313 F 2.563(,a)-.4 G .063 +(The shell treats each character of)108 240 R/F3 9/Times-Bold@0 SF(IFS) +2.563 E F1 .063(as a delimiter)2.313 F 2.563(,a)-.4 G .063 (nd splits the results of the other e)-2.563 F .063(xpansions into w) --.15 F(ords)-.1 E(using these characters as \214eld terminators.)108 -235.2 Q(An)108 252 Q F0 .686(IFS whitespace)3.186 F F1 .686 +-.15 F(ords)-.1 E(using these characters as \214eld terminators.)108 252 +Q(An)108 268.8 Q F0 .686(IFS whitespace)3.186 F F1 .686 (character is whitespace as de\214ned abo)3.186 F .986 -.15(ve \()-.15 H (see).15 E F2(De\214nitions)3.186 E F1 3.186(\)t)C .687 -(hat appears in the v)-3.186 F .687(alue of)-.25 F F3(IFS)108 264 Q/F4 9 -/Times-Roman@0 SF(.)A F1 .002(Space, tab, and ne)4.502 F .002 +(hat appears in the v)-3.186 F .687(alue of)-.25 F F3(IFS)108 280.8 Q/F4 +9/Times-Roman@0 SF(.)A F1 .002(Space, tab, and ne)4.502 F .002 (wline are al)-.25 F -.1(wa)-.1 G .002(ys considered IFS whitespace, e) .1 F -.15(ve)-.25 G 2.501(ni).15 G 2.501(ft)-2.501 G(he)-2.501 E 2.501 (yd)-.15 G(on')-2.501 E 2.501(ta)-.18 G .001(ppear in the locale')-2.501 -F(s)-.55 E F2(space)108 276 Q F1(cate)2.5 E(gory)-.15 E(.)-.65 E(If)108 -292.8 Q F3(IFS)2.911 E F1 .411 +F(s)-.55 E F2(space)108 292.8 Q F1(cate)2.5 E(gory)-.15 E(.)-.65 E(If) +108 309.6 Q F3(IFS)2.911 E F1 .411 (is unset, \214eld splitting acts as if its v)2.661 F .411(alue were) -.25 F F2()2.911 E F1 2.911(,a)C .411 -(nd treats these characters)-2.911 F .197(as IFS whitespace.)108 304.8 R +(nd treats these characters)-2.911 F .197(as IFS whitespace.)108 321.6 R .197(If the v)5.197 F .197(alue of)-.25 F F3(IFS)2.697 E F1 .197 (is null, no w)2.447 F .196(ord splitting occurs, b)-.1 F .196 -(ut implicit null ar)-.2 F .196(guments \(see be-)-.18 F(lo)108 316.8 Q -(w\) are still remo)-.25 E -.15(ve)-.15 G(d.).15 E -.8(Wo)108 333.6 S +(ut implicit null ar)-.2 F .196(guments \(see be-)-.18 F(lo)108 333.6 Q +(w\) are still remo)-.25 E -.15(ve)-.15 G(d.).15 E -.8(Wo)108 350.4 S .573(rd splitting be).8 F .573(gins by remo)-.15 F .573 (ving sequences of IFS whitespace characters from the be)-.15 F .574 -(ginning and end of)-.15 F(the results of the pre)108 345.6 Q(vious e) +(ginning and end of)-.15 F(the results of the pre)108 362.4 Q(vious e) -.25 E(xpansions, then splits the remaining w)-.15 E(ords.)-.1 E .383 -(If the v)108 362.4 R .383(alue of)-.25 F F3(IFS)2.883 E F1 .383 +(If the v)108 379.2 R .383(alue of)-.25 F F3(IFS)2.883 E F1 .383 (consists solely of IFS whitespace, an)2.633 F 2.883(ys)-.15 G .382 (equence of IFS whitespace characters delimits a)-2.883 F .299(\214eld,\ so a \214eld consists of characters that are not unquoted IFS whitespa\ -ce, and null \214elds result only from)108 374.4 R(quoting.)108 386.4 Q -(If)108 403.2 Q F3(IFS)3.679 E F1 1.179 +ce, and null \214elds result only from)108 391.2 R(quoting.)108 403.2 Q +(If)108 420 Q F3(IFS)3.679 E F1 1.179 (contains a non-whitespace character)3.429 F 3.679(,t)-.4 G 1.179 (hen an)-3.679 F 3.679(yc)-.15 G 1.179(haracter in the v)-3.679 F 1.179 (alue of)-.25 F F3(IFS)3.679 E F1 1.179(that is not IFS white-)3.429 F -.722(space, along with an)108 415.2 R 3.222(ya)-.15 G .723 +.722(space, along with an)108 432 R 3.222(ya)-.15 G .723 (djacent IFS whitespace characters, delimits a \214eld.)-3.222 F .723 (This means that adjacent non-)5.723 F 1.101 -(IFS-whitespace delimiters produce a null \214eld.)108 427.2 R 3.601(As) +(IFS-whitespace delimiters produce a null \214eld.)108 444 R 3.601(As) 6.101 G 1.1(equence of IFS whitespace characters also delimits a)-3.601 -F(\214eld.)108 439.2 Q .782(Explicit null ar)108 456 R .782(guments \() +F(\214eld.)108 456 Q .782(Explicit null ar)108 472.8 R .782(guments \() -.18 F F2 .833("").833 G F1(or)2.449 E F2 .833<0808>4.115 G F1 3.282 (\)a)C .782(re retained and passed to commands as empty strings.)-3.282 -F .783(Unquoted im-)5.783 F 1.165(plicit null ar)108 468 R 1.165 +F .783(Unquoted im-)5.783 F 1.165(plicit null ar)108 484.8 R 1.165 (guments, resulting from the e)-.18 F 1.165 (xpansion of parameters that ha)-.15 F 1.464 -.15(ve n)-.2 H 3.664(ov) .15 G 1.164(alues, are remo)-3.914 F -.15(ve)-.15 G 3.664(d. Ex-).15 F -.234(panding a parameter with no v)108 480 R .234(alue within double qu\ -otes produces a null \214eld, which is retained and passed)-.25 F -(to a command as an empty string.)108 492 Q 1.166(When a quoted null ar) -108 508.8 R 1.166(gument appears as part of a w)-.18 F 1.166 -(ord whose e)-.1 F 1.166(xpansion is non-null, w)-.15 F 1.165 -(ord splitting re-)-.1 F(mo)108 520.8 Q -.15(ve)-.15 G 3.336(st).15 G -.836(he null ar)-3.336 F .836(gument portion, lea)-.18 F .836 +.234(panding a parameter with no v)108 496.8 R .234(alue within double \ +quotes produces a null \214eld, which is retained and passed)-.25 F +(to a command as an empty string.)108 508.8 Q 1.166 +(When a quoted null ar)108 525.6 R 1.166(gument appears as part of a w) +-.18 F 1.166(ord whose e)-.1 F 1.166(xpansion is non-null, w)-.15 F +1.165(ord splitting re-)-.1 F(mo)108 537.6 Q -.15(ve)-.15 G 3.336(st).15 +G .836(he null ar)-3.336 F .836(gument portion, lea)-.18 F .836 (ving the non-null e)-.2 F 3.337(xpansion. That)-.15 F .837(is, the w) 3.337 F .837<6f72642099ad6408>-.1 F .837(\010\232 becomes \231\255d\232) -.833 F(after w)108 532.8 Q(ord splitting and null ar)-.1 E(gument remo) --.18 E -.25(va)-.15 G(l.).25 E F2 -.1(Pa)87 549.6 S(thname Expansion).1 -E F1 .371(After w)108 561.6 R .371(ord splitting, unless the)-.1 F F2 +.833 F(after w)108 549.6 Q(ord splitting and null ar)-.1 E(gument remo) +-.18 E -.25(va)-.15 G(l.).25 E F2 -.1(Pa)87 566.4 S(thname Expansion).1 +E F1 .371(After w)108 578.4 R .371(ord splitting, unless the)-.1 F F2 2.871 E F1 .371(option has been set,)2.871 F F2(bash)2.871 E F1 .37(scans each w)2.87 F .37(ord for the characters)-.1 F F2(*)2.87 E F1 (,)A F2(?)2.87 E F1 2.87(,a)C(nd)-2.87 E F2([)2.87 E F1(.)A .633 (If one of these characters appears, and is not quoted, then the w)108 -573.6 R .634(ord is re)-.1 F -.05(ga)-.15 G .634(rded as a).05 F F0 +590.4 R .634(ord is re)-.1 F -.05(ga)-.15 G .634(rded as a).05 F F0 (pattern)4.384 E F1 3.134(,a).24 G .634(nd replaced)-3.134 F .282 -(with a sorted list of \214lenames matching the pattern \(see)108 585.6 +(with a sorted list of \214lenames matching the pattern \(see)108 602.4 R F3 -.09(Pa)2.781 G(tter).09 E 2.531(nM)-.135 G(atching)-2.531 E F1 (belo)2.531 E .281(w\) subject to the v)-.25 F .281(alue of the)-.25 F -F2(GLOBSOR)108 597.6 Q(T)-.4 E F1(shell v)2.5 E(ariable.)-.25 E 1.754 -(If no matching \214lenames are found, and the shell option)108 614.4 R +F2(GLOBSOR)108 614.4 Q(T)-.4 E F1(shell v)2.5 E(ariable.)-.25 E 1.754 +(If no matching \214lenames are found, and the shell option)108 631.2 R F2(nullglob)4.254 E F1 1.754(is not enabled, the w)4.254 F 1.754 -(ord is left un-)-.1 F 2.614(changed. If)108 626.4 R(the)2.614 E F2 +(ord is left un-)-.1 F 2.614(changed. If)108 643.2 R(the)2.614 E F2 (nullglob)2.614 E F1 .114 (option is set, and no matches are found, the w)2.614 F .113 (ord is remo)-.1 F -.15(ve)-.15 G 2.613(d. If).15 F(the)2.613 E F2 (failglob)2.613 E F1(shell)2.613 E .579 -(option is set, and no matches are found,)108 638.4 R F2(bash)3.079 E F1 +(option is set, and no matches are found,)108 655.2 R F2(bash)3.079 E F1 .579(prints an error message and does not e)3.079 F -.15(xe)-.15 G .579 -(cute the command.).15 F .689(If the shell option)108 650.4 R F2 +(cute the command.).15 F .689(If the shell option)108 667.2 R F2 (nocaseglob)3.189 E F1 .689 (is enabled, the match is performed without re)3.189 F -.05(ga)-.15 G -.688(rd to the case of alphabetic).05 F(characters.)108 662.4 Q .309 -(When a pattern is used for pathname e)108 679.2 R .309(xpansion, the c\ -haracter \231.\232 at the start of a name or immediately fol-)-.15 F(lo) -108 691.2 Q .191(wing a slash must be matched e)-.25 F(xplicitly)-.15 E +.688(rd to the case of alphabetic).05 F(characters.)108 679.2 Q .309 +(When a pattern is used for pathname e)108 696 R .309(xpansion, the cha\ +racter \231.\232 at the start of a name or immediately fol-)-.15 F(lo) +108 708 Q .191(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.691(,u)-.65 G .191(nless the shell option)-2.691 F F2(dotglob)2.69 E F1 .19(is set.)2.69 F .19(In order to match the \214le-)5.19 F(names)108 -703.2 Q F0(.)4.359 E F1(and)4.359 E F0(..)4.359 E F1 2.693(,t)1.666 G -.193(he pattern must be)-2.693 F .193(gin with \231.\232 \(for e)-.15 F -.193(xample, \231.?\232\), e)-.15 F -.15(ve)-.25 G 2.693(ni).15 G(f) --2.693 E F2(dotglob)2.694 E F1 .194(is set.)2.694 F .194(If the)5.194 F -F2(globskip-)2.694 E(dots)108 715.2 Q F1 1.445 -(shell option is enabled, the \214lenames)3.946 F F0(.)5.611 E F1(and) -5.611 E F0(..)5.611 E F1(ne)5.611 E -.15(ve)-.25 G 3.945(rm).15 G 1.445 -(atch, e)-3.945 F -.15(ve)-.25 G 3.945(ni).15 G 3.945(ft)-3.945 G 1.445 -(he pattern be)-3.945 F 1.445(gins with a \231.\232.)-.15 F(When not ma\ -tching pathnames, the \231.\232 character is not treated specially)108 -727.2 Q(.)-.65 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(30) -188.45 E 0 Cg EP +720 Q F0(.)6.577 E F1(and)6.577 E F0(..)6.578 E F1 4.912(,t)1.666 G +2.412(he pattern must be)-4.912 F 2.412(gin with \231.\232 \(for e)-.15 +F 2.412(xample, \231.?\232\), e)-.15 F -.15(ve)-.25 G 4.912(ni).15 G(f) +-4.912 E F2(dotglob)4.912 E F1 2.412(is set.)4.912 F 2.412(If the)7.412 +F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(30)198.445 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .061 -(When matching a pathname, the slash character must al)108 84 R -.1(wa) --.1 G .061(ys be matched e).1 F .061 -(xplicitly by a slash in the pattern,)-.15 F -.2(bu)108 96 S 3.395(ti).2 -G 3.395(no)-3.395 G .894(ther matching conte)-3.395 F .894 +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(globskipdots)108 84 Q F1 .428 +(shell option is enabled, the \214lenames)2.929 F F0(.)4.594 E F1(and) +4.594 E F0(..)4.594 E F1(ne)4.594 E -.15(ve)-.25 G 2.928(rm).15 G .428 +(atch, e)-2.928 F -.15(ve)-.25 G 2.928(ni).15 G 2.928(ft)-2.928 G .428 +(he pattern be)-2.928 F .428(gins with a)-.15 F 2.5(\231.\232. When)108 +96 R(not matching pathnames, the \231.\232 character is not treated spe\ +cially)2.5 E(.)-.65 E .061 +(When matching a pathname, the slash character must al)108 112.8 R -.1 +(wa)-.1 G .061(ys be matched e).1 F .061 +(xplicitly by a slash in the pattern,)-.15 F -.2(bu)108 124.8 S 3.395 +(ti).2 G 3.395(no)-3.395 G .894(ther matching conte)-3.395 F .894 (xts it can be matched by a special pattern character as described belo) --.15 F 3.394(wu)-.25 G(nder)-3.394 E/F2 9/Times-Bold@0 SF -.09(Pa)108 -108 S(tter).09 E 2.25(nM)-.135 G(atching)-2.25 E/F3 9/Times-Roman@0 SF -(.)A F1 .711(See the description of)108 124.8 R/F4 10/Times-Bold@0 SF -(shopt)3.211 E F1(belo)3.212 E 3.212(wu)-.25 G(nder)-3.212 E F2 .712 -(SHELL B)3.212 F(UIL)-.09 E .712(TIN COMMANDS)-.828 F F1 .712 -(for a description of the)2.962 F F4(nocase-)3.212 E(glob)108 136.8 Q F1 -(,)A F4(nullglob)2.5 E F1(,)A F4(globskipdots)2.5 E F1(,)A F4(failglob) -2.5 E F1 2.5(,a)C(nd)-2.5 E F4(dotglob)2.5 E F1(shell options.)2.5 E -(The)108 153.6 Q F2(GLOBIGNORE)2.562 E F1 .062(shell v)2.312 F .061 +-.15 F 3.394(wu)-.25 G(nder)-3.394 E/F3 9/Times-Bold@0 SF -.09(Pa)108 +136.8 S(tter).09 E 2.25(nM)-.135 G(atching)-2.25 E/F4 9/Times-Roman@0 SF +(.)A F1 .711(See the description of)108 153.6 R F2(shopt)3.211 E F1 +(belo)3.212 E 3.212(wu)-.25 G(nder)-3.212 E F3 .712(SHELL B)3.212 F(UIL) +-.09 E .712(TIN COMMANDS)-.828 F F1 .712(for a description of the)2.962 +F F2(nocase-)3.212 E(glob)108 165.6 Q F1(,)A F2(nullglob)2.5 E F1(,)A F2 +(globskipdots)2.5 E F1(,)A F2(failglob)2.5 E F1 2.5(,a)C(nd)-2.5 E F2 +(dotglob)2.5 E F1(shell options.)2.5 E(The)108 182.4 Q F3(GLOBIGNORE) +2.562 E F1 .062(shell v)2.312 F .061 (ariable may be used to restrict the set of \214le names matching a)-.25 -F F0(pattern)3.811 E F1 5.061(.I).24 G(f)-5.061 E F2(GLO-)2.561 E -(BIGNORE)108 165.6 Q F1 1.096(is set, each matching \214le name that al\ -so matches one of the patterns in)3.346 F F2(GLOBIGNORE)3.597 E F1 1.097 -(is re-)3.347 F(mo)108 177.6 Q -.15(ve)-.15 G 2.851(df).15 G .351 -(rom the list of matches.)-2.851 F .351(If the)5.351 F F4(nocaseglob) +F F0(pattern)3.811 E F1 5.061(.I).24 G(f)-5.061 E F3(GLO-)2.561 E +(BIGNORE)108 194.4 Q F1 1.096(is set, each matching \214le name that al\ +so matches one of the patterns in)3.346 F F3(GLOBIGNORE)3.597 E F1 1.097 +(is re-)3.347 F(mo)108 206.4 Q -.15(ve)-.15 G 2.851(df).15 G .351 +(rom the list of matches.)-2.851 F .351(If the)5.351 F F2(nocaseglob) 2.851 E F1 .351(option is set, the matching ag)2.851 F .351 -(ainst the patterns in)-.05 F F2(GLO-)2.85 E(BIGNORE)108 189.6 Q F1 .096 +(ainst the patterns in)-.05 F F3(GLO-)2.85 E(BIGNORE)108 218.4 Q F1 .096 (is performed without re)2.346 F -.05(ga)-.15 G .097(rd to case.).05 F .097(The \214lenames)5.097 F F0(.)4.263 E F1(and)4.263 E F0(..)4.263 E -F1 .097(are al)4.263 F -.1(wa)-.1 G .097(ys ignored when).1 F F2 -(GLOBIG-)2.597 E(NORE)108 201.6 Q F1 .754(is set and not null.)3.004 F -(Ho)5.753 E(we)-.25 E -.15(ve)-.25 G 1.553 -.4(r, s).15 H(etting).4 E F2 +F1 .097(are al)4.263 F -.1(wa)-.1 G .097(ys ignored when).1 F F3 +(GLOBIG-)2.597 E(NORE)108 230.4 Q F1 .754(is set and not null.)3.004 F +(Ho)5.753 E(we)-.25 E -.15(ve)-.25 G 1.553 -.4(r, s).15 H(etting).4 E F3 (GLOBIGNORE)3.253 E F1 .753(to a non-null v)3.003 F .753 -(alue has the ef)-.25 F .753(fect of enabling)-.25 F(the)108 213.6 Q F4 +(alue has the ef)-.25 F .753(fect of enabling)-.25 F(the)108 242.4 Q F2 (dotglob)3.062 E F1 .562(shell option, so all other \214lenames be)3.062 F .562(ginning with a \231.\232 match.)-.15 F 2.162 -.8(To g)5.562 H .562(et the old beha).8 F .563(vior of ig-)-.2 F .508 -(noring \214lenames be)108 225.6 R .508(ginning with a \231.\232, mak) +(noring \214lenames be)108 254.4 R .508(ginning with a \231.\232, mak) -.15 F 3.007<6599>-.1 G 3.007(.*\232 one)-3.007 F .507 -(of the patterns in)3.007 F F2(GLOBIGNORE)3.007 E F1 5.507(.T)C(he) --5.507 E F4(dotglob)3.007 E F1(op-)3.007 E .021(tion is disabled when) -108 237.6 R F2(GLOBIGNORE)2.521 E F1 .021(is unset.)2.271 F(The)5.021 E -F4(GLOBIGNORE)2.521 E F1 .021(pattern matching honors the setting of) -2.521 F(the)108 249.6 Q F4(extglob)2.5 E F1(shell option.)2.5 E .696 -(The v)108 266.4 R .696(alue of the)-.25 F F2(GLOBSOR)3.195 E(T)-.36 E +(of the patterns in)3.007 F F3(GLOBIGNORE)3.007 E F1 5.507(.T)C(he) +-5.507 E F2(dotglob)3.007 E F1(op-)3.007 E .021(tion is disabled when) +108 266.4 R F3(GLOBIGNORE)2.521 E F1 .021(is unset.)2.271 F(The)5.021 E +F2(GLOBIGNORE)2.521 E F1 .021(pattern matching honors the setting of) +2.521 F(the)108 278.4 Q F2(extglob)2.5 E F1(shell option.)2.5 E .696 +(The v)108 295.2 R .696(alue of the)-.25 F F3(GLOBSOR)3.195 E(T)-.36 E F1 .695(shell v)2.945 F .695(ariable controls ho)-.25 F 3.195(wt)-.25 G .695(he results of pathname e)-3.195 F .695(xpansion are sorted, as)-.15 -F(described abo)108 278.4 Q .3 -.15(ve u)-.15 H(nder).15 E F4(Shell V) -2.5 E(ariables)-.92 E F1(.)A F4 -.1(Pa)108 295.2 S(tter).1 E 2.5(nM)-.15 -G(atching)-2.5 E F1(An)108 312 Q 3.138(yc)-.15 G .638(haracter that app\ -ears in a pattern, other than the special pattern characters described \ -belo)-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 2.722(itself. The)108 -324 R .221(NUL character may not occur in a pattern.)2.722 F 2.721(Ab) +F(described abo)108 307.2 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Shell V) +2.5 E(ariables)-.92 E F1(.)A F2 -.1(Pa)108 324 S(tter).1 E 2.5(nM)-.15 G +(atching)-2.5 E F1(An)108 340.8 Q 3.138(yc)-.15 G .638(haracter that ap\ +pears in a pattern, other than the special pattern characters described\ + belo)-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 2.722(itself. The)108 +352.8 R .221(NUL character may not occur in a pattern.)2.722 F 2.721(Ab) 5.221 G .221(ackslash escapes the follo)-2.721 F .221 (wing character; the es-)-.25 F .418 -(caping backslash is discarded when matching.)108 336 R .418 +(caping backslash is discarded when matching.)108 364.8 R .418 (The special pattern characters must be quoted if the)5.418 F 2.919(ya) --.15 G .419(re to)-2.919 F(be matched literally)108 348 Q(.)-.65 E -(The special pattern characters ha)108 364.8 Q .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E F4(*)144 381.6 Q F1 .377 -(Matches an)180 381.6 R 2.877(ys)-.15 G .376 -(tring, including the null string.)-2.877 F .376(When the)5.376 F F4 -(globstar)2.876 E F1 .376(shell option is enabled,)2.876 F(and)180 393.6 -Q F4(*)3.275 E F1 .775(is used in a pathname e)3.275 F .775 +-.15 G .419(re to)-2.919 F(be matched literally)108 376.8 Q(.)-.65 E +(The special pattern characters ha)108 393.6 Q .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F2(*)144 410.4 Q F1 .377 +(Matches an)180 410.4 R 2.877(ys)-.15 G .376 +(tring, including the null string.)-2.877 F .376(When the)5.376 F F2 +(globstar)2.876 E F1 .376(shell option is enabled,)2.876 F(and)180 422.4 +Q F2(*)3.275 E F1 .775(is used in a pathname e)3.275 F .775 (xpansion conte)-.15 F .775(xt, tw)-.15 F 3.275(oa)-.1 G(djacent)-3.275 -E F4(*)3.275 E F1 3.275(su)C .775(sed as a single pattern)-3.275 F .079 +E F2(*)3.275 E F1 3.275(su)C .775(sed as a single pattern)-3.275 F .079 (match all \214les and zero or more directories and subdirectories.)180 -405.6 R .079(If follo)5.079 F .079(wed by a)-.25 F F4(/)2.578 E F1 2.578 -(,t)C .278 -.1(wo a)-2.578 H(d-).1 E(jacent)180 417.6 Q F4(*)2.5 E F1 -2.5(sm)C(atch only directories and subdirectories.)-2.5 E F4(?)144 429.6 -Q F1(Matches an)180 429.6 Q 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 -E F4([)144 441.6 Q F1 1.666(...)C F4(])-1.666 E F1 1.312(Matches an)180 -441.6 R 3.812(yo)-.15 G 1.312 +434.4 R .079(If follo)5.079 F .079(wed by a)-.25 F F2(/)2.578 E F1 2.578 +(,t)C .278 -.1(wo a)-2.578 H(d-).1 E(jacent)180 446.4 Q F2(*)2.5 E F1 +2.5(sm)C(atch only directories and subdirectories.)-2.5 E F2(?)144 458.4 +Q F1(Matches an)180 458.4 Q 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 +E F2([)144 470.4 Q F1 1.666(...)C F2(])-1.666 E F1 1.312(Matches an)180 +470.4 R 3.812(yo)-.15 G 1.312 (ne of the characters enclosed between the brack)-3.812 F 3.812 (ets. This)-.1 F 1.312(is kno)3.812 F 1.313(wn as a)-.25 F F0(br)180 -453.6 Q(ac)-.15 E -.1(ke)-.2 G 3.677(te).1 G(xpr)-3.877 E(ession)-.37 E +482.4 Q(ac)-.15 E -.1(ke)-.2 G 3.677(te).1 G(xpr)-3.877 E(ession)-.37 E F1 1.177(and matches a single character)3.677 F 6.177(.A)-.55 G 1.177 -(pair of characters separated by a)-2.5 F -.05(hy)180 465.6 S .179 +(pair of characters separated by a)-2.5 F -.05(hy)180 494.4 S .179 (phen denotes a).05 F F0 -.15(ra)2.679 G(ng).15 E 2.679(ee)-.1 G(xpr) -2.879 E(ession)-.37 E F1 2.679(;a)C .479 -.15(ny c)-2.679 H .179 (haracter that f).15 F .179(alls between those tw)-.1 F 2.68(oc)-.1 G -(haracters,)-2.68 E(inclusi)180 477.6 Q -.15(ve)-.25 G 3.004(,u).15 G +(haracters,)-2.68 E(inclusi)180 506.4 Q -.15(ve)-.25 G 3.004(,u).15 G .504(sing the current locale')-3.004 F 3.003(sc)-.55 G .503 (ollating sequence and character set, matches.)-3.003 F .503(If the) -5.503 F 2.039(\214rst character follo)180 489.6 R 2.039(wing the)-.25 F -F4([)4.539 E F1 2.039(is a)4.539 F F4(!)4.539 E F1 2.039(or a)7.039 F F4 +5.503 F 2.039(\214rst character follo)180 518.4 R 2.039(wing the)-.25 F +F2([)4.539 E F1 2.039(is a)4.539 F F2(!)4.539 E F1 2.039(or a)7.039 F F2 <00>4.539 E F1 2.04(then an)4.54 F 4.54(yc)-.15 G 2.04 -(haracter not within the range)-4.54 F 2.632(matches. T)180 501.6 R -2.632(om)-.8 G .132(atch a)-2.632 F F42.632 E F1 2.632(,i)C .132 +(haracter not within the range)-4.54 F 2.632(matches. T)180 530.4 R +2.632(om)-.8 G .132(atch a)-2.632 F F22.632 E F1 2.632(,i)C .132 (nclude it as the \214rst or last character in the set.)-2.632 F 1.731 --.8(To m)5.131 H .131(atch a).8 F F4(])2.631 E F1 2.631(,i)C(n-)-2.631 E -(clude it as the \214rst character in the set.)180 513.6 Q 1.044 -(The sorting order of characters in range e)180 530.4 R 1.045 +-.8(To m)5.131 H .131(atch a).8 F F2(])2.631 E F1 2.631(,i)C(n-)-2.631 E +(clude it as the \214rst character in the set.)180 542.4 Q 1.044 +(The sorting order of characters in range e)180 559.2 R 1.045 (xpressions, and the characters included in the)-.15 F 2.34 -(range, are determined by the current locale and the v)180 542.4 R 2.34 -(alues of the)-.25 F F2(LC_COLLA)4.84 E(TE)-.855 E F1(or)4.59 E F2 -(LC_ALL)180 554.4 Q F1 1.078(shell v)3.328 F 1.078(ariables, if set.) +(range, are determined by the current locale and the v)180 571.2 R 2.34 +(alues of the)-.25 F F3(LC_COLLA)4.84 E(TE)-.855 E F1(or)4.59 E F3 +(LC_ALL)180 583.2 Q F1 1.078(shell v)3.328 F 1.078(ariables, if set.) -.25 F 2.679 -.8(To o)6.079 H 1.079 (btain the traditional interpretation of range e).8 F(xpres-)-.15 E -2.408(sions, where)180 566.4 R F4([a\255d])4.908 E F1 2.408(is equi) -4.908 F -.25(va)-.25 G 2.408(lent to).25 F F4([abcd])4.908 E F1 4.908 -(,s)C 2.408(et the v)-4.908 F 2.407(alue of the)-.25 F F4(LC_COLLA)4.907 -E(TE)-.95 E F1(or)4.907 E F4(LC_ALL)180 578.4 Q F1(shell v)2.5 E -(ariables to)-.25 E F4(C)2.5 E F1 2.5(,o)C 2.5(re)-2.5 G(nable the)-2.5 -E F4(globasciiranges)2.5 E F1(shell option.)2.5 E -.4(Wi)180 595.2 S -.177(thin a brack).4 F .177(et e)-.1 F(xpression,)-.15 E F0 -.15(ch) -2.677 G(ar).15 E .177(acter classes)-.15 F F1 .178 -(can be speci\214ed using the syntax)2.677 F F4([:)2.678 E F0(class)A F4 -(:])A F1(,)A(where)180 607.2 Q F0(class)2.5 E F1(is one of the follo)2.5 -E(wing classes de\214ned in the)-.25 E F3(POSIX)2.5 E F1(standard:)2.25 -E F4 5.889(alnum alpha ascii blank cntrl digit graph lo)180 624 R 5.889 -(wer print punct space up-)-.1 F 5(per w)180 636 R 5(ord xdigit)-.1 F F1 -4.289(Ac)180 652.8 S 1.789(haracter class matches an)-4.289 F 4.289(yc) --.15 G 1.789(haracter belonging to that class.)-4.289 F(The)6.789 E F4 --.1(wo)4.29 G(rd).1 E F1(character)4.29 E -(class matches letters, digits, and the character _.)180 664.8 Q -.4(Wi) -180 681.6 S .013(thin a brack).4 F .013(et e)-.1 F .013(xpression, an) +2.408(sions, where)180 595.2 R F2([a\255d])4.908 E F1 2.408(is equi) +4.908 F -.25(va)-.25 G 2.408(lent to).25 F F2([abcd])4.908 E F1 4.908 +(,s)C 2.408(et the v)-4.908 F 2.407(alue of the)-.25 F F2(LC_COLLA)4.907 +E(TE)-.95 E F1(or)4.907 E F2(LC_ALL)180 607.2 Q F1(shell v)2.5 E +(ariables to)-.25 E F2(C)2.5 E F1 2.5(,o)C 2.5(re)-2.5 G(nable the)-2.5 +E F2(globasciiranges)2.5 E F1(shell option.)2.5 E -.4(Wi)180 624 S .177 +(thin a brack).4 F .177(et e)-.1 F(xpression,)-.15 E F0 -.15(ch)2.677 G +(ar).15 E .177(acter classes)-.15 F F1 .178 +(can be speci\214ed using the syntax)2.677 F F2([:)2.678 E F0(class)A F2 +(:])A F1(,)A(where)180 636 Q F0(class)2.5 E F1(is one of the follo)2.5 E +(wing classes de\214ned in the)-.25 E F4(POSIX)2.5 E F1(standard:)2.25 E +F2 5.889(alnum alpha ascii blank cntrl digit graph lo)180 652.8 R 5.889 +(wer print punct space up-)-.1 F 5(per w)180 664.8 R 5(ord xdigit)-.1 F +F1 4.289(Ac)180 681.6 S 1.789(haracter class matches an)-4.289 F 4.289 +(yc)-.15 G 1.789(haracter belonging to that class.)-4.289 F(The)6.789 E +F2 -.1(wo)4.29 G(rd).1 E F1(character)4.29 E +(class matches letters, digits, and the character _.)180 693.6 Q -.4(Wi) +180 710.4 S .013(thin a brack).4 F .013(et e)-.1 F .013(xpression, an) -.15 F F0 .012(equivalence class)2.512 F F1 .012 -(can be speci\214ed using the syntax)2.512 F F4([=)2.512 E F0(c)A F4(=]) -A F1(,)A .124(which matches all characters with the same collation weig\ -ht \(as de\214ned by the current lo-)180 693.6 R -(cale\) as the character)180 705.6 Q F0(c)2.5 E F1(.)A(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(31)188.45 E 0 Cg EP +(can be speci\214ed using the syntax)2.512 F F2([=)2.512 E F0(c)A F2(=]) +A F1(,)A 1.181(which matches all characters with the same collation wei\ +ght \(as de\214ned by the current)180 722.4 R(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(31)198.445 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E -.4(Wi)180 84 S(thin a brack).4 E(et e)-.1 E -(xpression, the syntax)-.15 E/F2 10/Times-Bold@0 SF([.)2.5 E F0(symbol)A -F2(.])A F1(matches the collating symbol)2.5 E F0(symbol)2.5 E F1(.)A .54 -(If the)108 100.8 R F2(extglob)3.04 E F1 .54 -(shell option is enabled using the)3.04 F F2(shopt)3.039 E F1 -.2(bu) -3.039 G .539(iltin, the shell recognizes se).2 F -.15(ve)-.25 G .539 -(ral e).15 F .539(xtended pattern)-.15 F .037(matching operators.)108 -112.8 R .037(In the follo)5.037 F .037(wing description, a)-.25 F F0 -(pattern-list)2.538 E F1 .038 -(is a list of one or more patterns separated by)2.538 F(a)108 124.8 Q F2 -(|)2.5 E F1 5(.C)C +.25 E F1(\(1\)).95 E(locale\) as the character)180 84 Q F0(c)2.5 E F1(.) +A -.4(Wi)180 100.8 S(thin a brack).4 E(et e)-.1 E(xpression, the syntax) +-.15 E/F2 10/Times-Bold@0 SF([.)2.5 E F0(symbol)A F2(.])A F1 +(matches the collating symbol)2.5 E F0(symbol)2.5 E F1(.)A .54(If the) +108 117.6 R F2(extglob)3.04 E F1 .54(shell option is enabled using the) +3.04 F F2(shopt)3.039 E F1 -.2(bu)3.039 G .539 +(iltin, the shell recognizes se).2 F -.15(ve)-.25 G .539(ral e).15 F +.539(xtended pattern)-.15 F .037(matching operators.)108 129.6 R .037 +(In the follo)5.037 F .037(wing description, a)-.25 F F0(pattern-list) +2.538 E F1 .038(is a list of one or more patterns separated by)2.538 F +(a)108 141.6 Q F2(|)2.5 E F1 5(.C)C (omposite patterns may be formed using one or more of the follo)-5 E -(wing sub-patterns:)-.25 E F2(?\()144 141.6 Q F0(pattern-list).833 E F2 -(\)).833 E F1(Matches zero or one occurrence of the gi)180 153.6 Q -.15 -(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(*\()144 165.6 Q F0 +(wing sub-patterns:)-.25 E F2(?\()144 158.4 Q F0(pattern-list).833 E F2 +(\)).833 E F1(Matches zero or one occurrence of the gi)180 170.4 Q -.15 +(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(*\()144 182.4 Q F0 (pattern-list).833 E F2(\)).833 E F1 -(Matches zero or more occurrences of the gi)180 177.6 Q -.15(ve)-.25 G -2.5(np).15 G(atterns.)-2.5 E F2(+\()144 189.6 Q F0(pattern-list).833 E -F2(\)).833 E F1(Matches one or more occurrences of the gi)180 201.6 Q --.15(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(@\()144 213.6 Q F0 -(pattern-list).833 E F2(\)).833 E F1(Matches one of the gi)180 225.6 Q --.15(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(!\()144 237.6 Q F0 -(pattern-list).833 E F2(\)).833 E F1(Matches an)180 249.6 Q(ything e) +(Matches zero or more occurrences of the gi)180 194.4 Q -.15(ve)-.25 G +2.5(np).15 G(atterns.)-2.5 E F2(+\()144 206.4 Q F0(pattern-list).833 E +F2(\)).833 E F1(Matches one or more occurrences of the gi)180 218.4 Q +-.15(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(@\()144 230.4 Q F0 +(pattern-list).833 E F2(\)).833 E F1(Matches one of the gi)180 242.4 Q +-.15(ve)-.25 G 2.5(np).15 G(atterns.)-2.5 E F2(!\()144 254.4 Q F0 +(pattern-list).833 E F2(\)).833 E F1(Matches an)180 266.4 Q(ything e) -.15 E(xcept one of the gi)-.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns.) --2.5 E(The)108 266.4 Q F2(extglob)2.792 E F1 .292 +-2.5 E(The)108 283.2 Q F2(extglob)2.792 E F1 .292 (option changes the beha)2.792 F .291(vior of the parser)-.2 F 2.791(,s) -.4 G .291(ince the parentheses are normally treated as opera-)-2.791 F -.104(tors with syntactic meaning.)108 278.4 R 1.704 -.8(To e)5.104 H +.104(tors with syntactic meaning.)108 295.2 R 1.704 -.8(To e)5.104 H .105(nsure that e).8 F .105 (xtended matching patterns are parsed correctly)-.15 F 2.605(,m)-.65 G -(ak)-2.605 E 2.605(es)-.1 G .105(ure that)-2.605 F F2(extglob)108 290.4 +(ak)-2.605 E 2.605(es)-.1 G .105(ure that)-2.605 F F2(extglob)108 307.2 Q F1 1.355(is enabled before parsing constructs containing the patterns\ , including shell functions and com-)3.855 F(mand substitutions.)108 -302.4 Q .988(When matching \214lenames, the)108 319.2 R F2(dotglob)3.488 -E F1 .988 +319.2 Q .988(When matching \214lenames, the)108 336 R F2(dotglob)3.488 E +F1 .988 (shell option determines the set of \214lenames that are tested: when) -3.488 F F2(dotglob)108 331.2 Q F1 .345 +3.488 F F2(dotglob)108 348 Q F1 .345 (is enabled, the set of \214lenames includes all \214les be)2.845 F .344 (ginning with \231.\232, b)-.15 F(ut)-.2 E F0(.)4.51 E F1(and)4.51 E F0 (..)4.51 E F1 .344(must be matched)4.51 F .075 -(by a pattern or sub-pattern that be)108 343.2 R .076 +(by a pattern or sub-pattern that be)108 360 R .076 (gins with a dot; when it is disabled, the set does not include an)-.15 -F 2.576<798c>-.15 G(lenames)-2.576 E(be)108 355.2 Q .807 +F 2.576<798c>-.15 G(lenames)-2.576 E(be)108 372 Q .807 (ginning with \231.\232 unless the pattern or sub-pattern be)-.15 F .806 (gins with a \231.\232.)-.15 F .806(If the)5.806 F F2(globskipdots)3.306 -E F1 .806(shell option is)3.306 F 1.009(enabled, the \214lenames)108 -367.2 R F0(.)5.175 E F1(and)5.175 E F0(..)5.176 E F1(ne)5.176 E -.15(ve) --.25 G 3.51(ra).15 G 1.01(ppear in the set.)-3.51 F 1.01(As abo)6.01 F --.15(ve)-.15 G 3.51<2c99>.15 G 1.01 -(.\232 only has a special meaning when)-3.51 F(matching \214lenames.)108 -379.2 Q .969(Complicated e)108 396 R .969(xtended pattern matching ag) --.15 F .969(ainst long strings is slo)-.05 F 2.268 -.65(w, e)-.25 H .968 -(specially when the patterns contain).65 F .09 -(alternations and the strings contain multiple matches.)108 408 R .091 -(Using separate matches ag)5.091 F .091(ainst shorter strings, or us-) --.05 F(ing arrays of strings instead of a single long string, may be f) -108 420 Q(aster)-.1 E(.)-.55 E F2(Quote Remo)87 436.8 Q -.1(va)-.1 G(l) -.1 E F1 1.113(After the preceding e)108 448.8 R 1.113 +E F1 .806(shell option is)3.306 F 1.009(enabled, the \214lenames)108 384 +R F0(.)5.175 E F1(and)5.175 E F0(..)5.176 E F1(ne)5.176 E -.15(ve)-.25 G +3.51(ra).15 G 1.01(ppear in the set.)-3.51 F 1.01(As abo)6.01 F -.15(ve) +-.15 G 3.51<2c99>.15 G 1.01(.\232 only has a special meaning when)-3.51 +F(matching \214lenames.)108 396 Q .969(Complicated e)108 412.8 R .969 +(xtended pattern matching ag)-.15 F .969(ainst long strings is slo)-.05 +F 2.268 -.65(w, e)-.25 H .968(specially when the patterns contain).65 F +.09(alternations and the strings contain multiple matches.)108 424.8 R +.091(Using separate matches ag)5.091 F .091 +(ainst shorter strings, or us-)-.05 F +(ing arrays of strings instead of a single long string, may be f)108 +436.8 Q(aster)-.1 E(.)-.55 E F2(Quote Remo)87 453.6 Q -.1(va)-.1 G(l).1 +E F1 1.113(After the preceding e)108 465.6 R 1.113 (xpansions, all unquoted occurrences of the characters)-.15 F F2(\\) 3.613 E F1(,)A F2<08>3.612 E F1 3.612(,a)C(nd)-3.612 E F2(")4.445 E F1 -1.112(that did not result)4.445 F(from one of the abo)108 460.8 Q .3 +1.112(that did not result)4.445 F(from one of the abo)108 477.6 Q .3 -.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F3 -10.95/Times-Bold@0 SF(REDIRECTION)72 477.6 Q F1 .545 -(Before a command is e)108 489.6 R -.15(xe)-.15 G .545 +10.95/Times-Bold@0 SF(REDIRECTION)72 494.4 Q F1 .545 +(Before a command is e)108 506.4 R -.15(xe)-.15 G .545 (cuted, its input and output may be).15 F F0 -.37(re)3.045 G(dir).37 E (ected)-.37 E F1 .545(using a special notation interpreted)3.815 F .429 -(by the shell.)108 501.6 R F0(Redir)5.428 E(ection)-.37 E F1(allo)2.928 +(by the shell.)108 518.4 R F0(Redir)5.428 E(ection)-.37 E F1(allo)2.928 E .428(ws commands' \214le handles to be duplicated, opened, closed, ma\ -de to refer to)-.25 F(dif)108 513.6 Q .763(ferent \214les, and can chan\ +de to refer to)-.25 F(dif)108 530.4 Q .763(ferent \214les, and can chan\ ge the \214les the command reads from and writes to.)-.25 F .763 -(When used with the)5.763 F F2(exec)3.263 E F1 -.2(bu)108 525.6 S .418 +(When used with the)5.763 F F2(exec)3.263 E F1 -.2(bu)108 542.4 S .418 (iltin, redirections modify \214le handles in the current shell e).2 F -.15(xe)-.15 G .417(cution en).15 F 2.917(vironment. The)-.4 F(follo) 2.917 E .417(wing redirec-)-.25 F 1.694 -(tion operators may precede or appear an)108 537.6 R 1.695 +(tion operators may precede or appear an)108 554.4 R 1.695 (ywhere within a)-.15 F F0 1.695(simple command)4.535 F F1 1.695 (or may follo)4.965 F 4.195(wa)-.25 G F0(command).2 E F1(.).77 E -(Redirections are processed in the order the)108 549.6 Q 2.5(ya)-.15 G +(Redirections are processed in the order the)108 566.4 Q 2.5(ya)-.15 G (ppear)-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Each redirect\ ion that may be preceded by a \214le descriptor number may instead be p\ -receded by a w)108 566.4 R .771(ord of)-.1 F .367(the form {)108 578.4 R +receded by a w)108 583.2 R .771(ord of)-.1 F .367(the form {)108 595.2 R F0(varname)A F1 2.867(}. In)B .368 (this case, for each redirection operator e)2.867 F(xcept)-.15 E F2 (>&\255)2.868 E F1(and)2.868 E F2(<&\255)2.868 E F1 2.868(,t)C .368 (he shell allocates a)-2.868 F .461 (\214le descriptor greater than or equal to 10 and assigns it to)108 -590.4 R F0(varname)2.961 E F1 5.461(.I)C 2.961(f{)-5.461 G F0(varname) +607.2 R F0(varname)2.961 E F1 5.461(.I)C 2.961(f{)-5.461 G F0(varname) -2.961 E F1 2.961(}p)C(recedes)-2.961 E F2(>&\255)2.961 E F1(or)2.961 E -F2(<&\255)2.961 E F1(,)A .534(the v)108 602.4 R .534(alue of)-.25 F F0 +F2(<&\255)2.961 E F1(,)A .534(the v)108 619.2 R .534(alue of)-.25 F F0 (varname)3.034 E F1 .534(de\214nes the \214le descriptor to close.)3.034 F .535(If {)5.534 F F0(varname)A F1 3.035(}i)C 3.035(ss)-3.035 G .535 -(upplied, the redirection persists)-3.035 F(be)108 614.4 Q .45 +(upplied, the redirection persists)-3.035 F(be)108 631.2 Q .45 (yond the scope of the command, which allo)-.15 F .449 (ws the shell programmer to manage the \214le descriptor')-.25 F 2.949 -(sl)-.55 G(ife-)-2.949 E(time manually without using the)108 626.4 Q F2 +(sl)-.55 G(ife-)-2.949 E(time manually without using the)108 643.2 Q F2 (exec)2.5 E F1 -.2(bu)2.5 G 2.5(iltin. The).2 F F2 -.1(va)2.5 G(rr).1 E (edir_close)-.18 E F1(shell option manages this beha)2.5 E(vior)-.2 E(.) --.55 E .447(In the follo)108 643.2 R .447(wing descriptions, if the \ -\214le descriptor number is omitted, and the \214rst character of the r\ -edirec-)-.25 F .714(tion operator is \231<\232, the redirection refers \ -to the standard input \(\214le descriptor 0\).)108 655.2 R .714 +-.55 E .447(In the follo)108 660 R .447(wing descriptions, if the \214l\ +e descriptor number is omitted, and the \214rst character of the redire\ +c-)-.25 F .714(tion operator is \231<\232, the redirection refers to th\ +e standard input \(\214le descriptor 0\).)108 672 R .714 (If the \214rst character of)5.714 F(the redirection operator is \231>\ \232, the redirection refers to the standard output \(\214le descriptor\ - 1\).)108 667.2 Q(The)108 684 Q F0(wor)3.342 E(d)-.37 E F1(follo)3.342 E + 1\).)108 684 Q(The)108 700.8 Q F0(wor)3.342 E(d)-.37 E F1(follo)3.342 E .843(wing the redirection operator in the follo)-.25 F .843 (wing descriptions, unless otherwise noted, is sub-)-.25 F .463 -(jected to brace e)108 696 R .463(xpansion, tilde e)-.15 F .462 +(jected to brace e)108 712.8 R .463(xpansion, tilde e)-.15 F .462 (xpansion, parameter and v)-.15 F .462(ariable e)-.25 F .462 -(xpansion, command substitution, arith-)-.15 F .866(metic e)108 708 R +(xpansion, command substitution, arith-)-.15 F .866(metic e)108 724.8 R .866(xpansion, quote remo)-.15 F -.25(va)-.15 G .866(l, pathname e).25 F .867(xpansion, and w)-.15 F .867(ord splitting.)-.1 F .867(If it e)5.867 -F .867(xpands to more than one)-.15 F -.1(wo)108 720 S(rd,).1 E F2(bash) -2.5 E F1(reports an error)2.5 E(.)-.55 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(32)188.45 E 0 Cg EP +F .867(xpands to more than one)-.15 F(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(32)198.445 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(The order of redirections is signi\214cant.)108 84 -Q -.15(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 100.8 Q/F2 -10/Times-Bold@0 SF(>)2.5 E F1(dirlist 2)2.5 E F2(>&)A F1(1)A -(directs both standard output and standard error to the \214le)108 117.6 +.25 E F1(\(1\)).95 E -.1(wo)108 84 S(rd,).1 E/F2 10/Times-Bold@0 SF +(bash)2.5 E F1(reports an error)2.5 E(.)-.55 E +(The order of redirections is signi\214cant.)108 100.8 Q -.15(Fo)5 G 2.5 +(re).15 G(xample, the command)-2.65 E(ls)144 117.6 Q F2(>)2.5 E F1 +(dirlist 2)2.5 E F2(>&)A F1(1)A +(directs both standard output and standard error to the \214le)108 134.4 Q F0(dirlist)2.85 E F1 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 -134.4 Q F2(>&)A F1(1)A F2(>)2.5 E F1(dirlist)2.5 E .067 -(directs only the standard output to \214le)108 151.2 R F0(dirlist)2.917 -E F1 2.567(,b).68 G .066(ecause the standard error w)-2.567 F .066 +151.2 Q F2(>&)A F1(1)A F2(>)2.5 E F1(dirlist)2.5 E .067 +(directs only the standard output to \214le)108 168 R F0(dirlist)2.917 E +F1 2.567(,b).68 G .066(ecause the standard error w)-2.567 F .066 (as directed to the standard output)-.1 F(before the standard output w) -108 163.2 Q(as redirected to)-.1 E F0(dirlist)2.85 E F1(.).68 E F2(Bash) -108 180 Q F1 .598(handles se)3.098 F -.15(ve)-.25 G .598 +108 180 Q(as redirected to)-.1 E F0(dirlist)2.85 E F1(.).68 E F2(Bash) +108 196.8 Q F1 .598(handles se)3.098 F -.15(ve)-.25 G .598 (ral \214lenames specially when the).15 F 3.099(ya)-.15 G .599 (re used in redirections, as described in the follo)-3.099 F(wing)-.25 E -2.673(table. If)108 192 R .173(the operating system on which)2.673 F F2 -(bash)2.672 E F1 .172(is running pro)2.672 F .172 +2.673(table. If)108 208.8 R .173(the operating system on which)2.673 F +F2(bash)2.672 E F1 .172(is running pro)2.672 F .172 (vides these special \214les,)-.15 F F2(bash)2.672 E F1 .172 (uses them; other)2.672 F(-)-.2 E -(wise it emulates them internally with the beha)108 204 Q -(vior described belo)-.2 E -.65(w.)-.25 G F2(/de)144 220.8 Q(v/fd/)-.15 -E F0(fd)A F1(If)180 232.8 Q F0(fd)2.5 E F1(is a v)2.5 E(alid inte)-.25 E +(wise it emulates them internally with the beha)108 220.8 Q +(vior described belo)-.2 E -.65(w.)-.25 G F2(/de)144 237.6 Q(v/fd/)-.15 +E F0(fd)A F1(If)180 249.6 Q F0(fd)2.5 E F1(is a v)2.5 E(alid inte)-.25 E (ger)-.15 E 2.5(,d)-.4 G(uplicate \214le descriptor)-2.5 E F0(fd)2.5 E -F1(.)A F2(/de)144 244.8 Q(v/stdin)-.15 E F1 -(File descriptor 0 is duplicated.)180 256.8 Q F2(/de)144 268.8 Q -(v/stdout)-.15 E F1(File descriptor 1 is duplicated.)180 280.8 Q F2(/de) -144 292.8 Q(v/stderr)-.15 E F1(File descriptor 2 is duplicated.)180 -304.8 Q F2(/de)144 316.8 Q(v/tcp/)-.15 E F0(host)A F2(/)A F0(port)A F1 -(If)180 328.8 Q F0(host)2.996 E F1 .496(is a v)2.996 F .496 +F1(.)A F2(/de)144 261.6 Q(v/stdin)-.15 E F1 +(File descriptor 0 is duplicated.)180 273.6 Q F2(/de)144 285.6 Q +(v/stdout)-.15 E F1(File descriptor 1 is duplicated.)180 297.6 Q F2(/de) +144 309.6 Q(v/stderr)-.15 E F1(File descriptor 2 is duplicated.)180 +321.6 Q F2(/de)144 333.6 Q(v/tcp/)-.15 E F0(host)A F2(/)A F0(port)A F1 +(If)180 345.6 Q F0(host)2.996 E F1 .496(is a v)2.996 F .496 (alid hostname or Internet address, and)-.25 F F0(port)2.997 E F1 .497 (is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E -(vice name,)180 340.8 Q F2(bash)2.5 E F1 +(vice name,)180 357.6 Q F2(bash)2.5 E F1 (attempts to open the corresponding TCP sock)2.5 E(et.)-.1 E F2(/de)144 -352.8 Q(v/udp/)-.15 E F0(host)A F2(/)A F0(port)A F1(If)180 364.8 Q F0 +369.6 Q(v/udp/)-.15 E F0(host)A F2(/)A F0(port)A F1(If)180 381.6 Q F0 (host)2.997 E F1 .497(is a v)2.997 F .497 (alid hostname or Internet address, and)-.25 F F0(port)2.996 E F1 .496 (is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E -(vice name,)180 376.8 Q F2(bash)2.5 E F1 +(vice name,)180 393.6 Q F2(bash)2.5 E F1 (attempts to open the corresponding UDP sock)2.5 E(et.)-.1 E 2.5(Af)108 -393.6 S(ailure to open or create a \214le causes the redirection to f) +410.4 S(ailure to open or create a \214le causes the redirection to f) -2.6 E(ail.)-.1 E .045(Redirections using \214le descriptors greater th\ -an 9 should be used with care, as the)108 410.4 R 2.546(ym)-.15 G .046 +an 9 should be used with care, as the)108 427.2 R 2.546(ym)-.15 G .046 (ay con\215ict with \214le de-)-2.546 F -(scriptors the shell uses internally)108 422.4 Q(.)-.65 E F2(Redir)87 -439.2 Q(ecting Input)-.18 E F1 .136 +(scriptors the shell uses internally)108 439.2 Q(.)-.65 E F2(Redir)87 +456 Q(ecting Input)-.18 E F1 .136 (Redirecting input opens the \214le whose name results from the e)108 -451.2 R .135(xpansion of)-.15 F F0(wor)2.975 E(d)-.37 E F1 .135 -(for reading on \214le descrip-)3.405 F(tor)108 463.2 Q F0(n)2.86 E F1 -2.5(,o).24 G 2.5(rt)-2.5 G(he standard input \(\214le descriptor 0\) if) +468 R .135(xpansion of)-.15 F F0(wor)2.975 E(d)-.37 E F1 .135 +(for reading on \214le descrip-)3.405 F(tor)108 480 Q F0(n)2.86 E F1 2.5 +(,o).24 G 2.5(rt)-2.5 G(he standard input \(\214le descriptor 0\) if) -2.5 E F0(n)2.86 E F1(is not speci\214ed.)2.74 E -(The general format for redirecting input is:)108 480 Q([)144 496.8 Q F0 -(n)A F1(])A F2(<)A F0(wor)A(d)-.37 E F2(Redir)87 513.6 Q(ecting Output) --.18 E F1 1.049 +(The general format for redirecting input is:)108 496.8 Q([)144 513.6 Q +F0(n)A F1(])A F2(<)A F0(wor)A(d)-.37 E F2(Redir)87 530.4 Q +(ecting Output)-.18 E F1 1.049 (Redirecting output opens the \214le whose name results from the e)108 -525.6 R 1.05(xpansion of)-.15 F F0(wor)3.89 E(d)-.37 E F1 1.05 -(for writing on \214le de-)4.32 F(scriptor)108 537.6 Q F0(n)3.449 E F1 +542.4 R 1.05(xpansion of)-.15 F F0(wor)3.89 E(d)-.37 E F1 1.05 +(for writing on \214le de-)4.32 F(scriptor)108 554.4 Q F0(n)3.449 E F1 3.089(,o).24 G 3.089(rt)-3.089 G .588 (he standard output \(\214le descriptor 1\) if)-3.089 F F0(n)3.448 E F1 .588(is not speci\214ed.)3.328 F .588(If the \214le does not e)5.588 F -.588(xist it is cre-)-.15 F(ated; if it does e)108 549.6 Q +.588(xist it is cre-)-.15 F(ated; if it does e)108 566.4 Q (xist it is truncated to zero size.)-.15 E -(The general format for redirecting output is:)108 566.4 Q([)144 583.2 Q +(The general format for redirecting output is:)108 583.2 Q([)144 600 Q F0(n)A F1(])A F2(>)A F0(wor)A(d)-.37 E F1 .37 -(If the redirection operator is)108 600 R F2(>)2.87 E F1 2.87(,a)C .37 +(If the redirection operator is)108 616.8 R F2(>)2.87 E F1 2.87(,a)C .37 (nd the)-2.87 F F2(noclob)2.87 E(ber)-.1 E F1 .37(option to the)2.87 F F2(set)2.87 E F1 -.2(bu)2.87 G .37(iltin command has been enabled, the) -.2 F .177(redirection f)108 612 R .177 +.2 F .177(redirection f)108 628.8 R .177 (ails if the \214le whose name results from the e)-.1 F .177 (xpansion of)-.15 F F0(wor)2.677 E(d)-.37 E F1 -.15(ex)2.677 G .177 (ists and is a re).15 F .177(gular \214le.)-.15 F .177(If the)5.177 F -.489(redirection operator is)108 624 R F2(>|)2.989 E F1 2.989(,o)C 2.989 -(rt)-2.989 G .489(he redirection operator is)-2.989 F F2(>)2.989 E F1 -.49(and the)2.989 F F2(noclob)2.99 E(ber)-.1 E F1 .49(option to the)2.99 -F F2(set)2.99 E F1 -.2(bu)2.99 G .49(iltin is not).2 F(enabled,)108 636 -Q F2(bash)2.5 E F1(attempts the redirection e)2.5 E -.15(ve)-.25 G 2.5 -(ni).15 G 2.5(ft)-2.5 G(he \214le named by)-2.5 E F0(wor)2.5 E(d)-.37 E -F1 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87 652.8 S(pending Redir).25 E -(ected Output)-.18 E F1 1.056(Redirecting output in this f)108 664.8 R +.489(redirection operator is)108 640.8 R F2(>|)2.989 E F1 2.989(,o)C +2.989(rt)-2.989 G .489(he redirection operator is)-2.989 F F2(>)2.989 E +F1 .49(and the)2.989 F F2(noclob)2.99 E(ber)-.1 E F1 .49(option to the) +2.99 F F2(set)2.99 E F1 -.2(bu)2.99 G .49(iltin is not).2 F(enabled,)108 +652.8 Q F2(bash)2.5 E F1(attempts the redirection e)2.5 E -.15(ve)-.25 G +2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)-2.5 E F0(wor)2.5 E(d)-.37 +E F1 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87 669.6 S(pending Redir).25 E +(ected Output)-.18 E F1 1.056(Redirecting output in this f)108 681.6 R 1.055(ashion opens the \214le whose name results from the e)-.1 F 1.055 (xpansion of)-.15 F F0(wor)3.895 E(d)-.37 E F1 1.055(for ap-)4.325 F -.639(pending on \214le descriptor)108 676.8 R F0(n)3.499 E F1 3.139(,o) +.639(pending on \214le descriptor)108 693.6 R F0(n)3.499 E F1 3.139(,o) .24 G 3.139(rt)-3.139 G .639 (he standard output \(\214le descriptor 1\) if)-3.139 F F0(n)3.5 E F1 .64(is not speci\214ed.)3.38 F .64(If the \214le does)5.64 F(not e)108 -688.8 Q(xist it is created.)-.15 E -(The general format for appending output is:)108 705.6 Q([)144 722.4 Q -F0(n)A F1(])A F2(>>)A F0(wor)A(d)-.37 E F1(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(33)188.45 E 0 Cg EP +705.6 Q(xist it is created.)-.15 E +(The general format for appending output is:)108 722.4 Q(GNU Bash 5.3)72 +768 Q(2025 April 7)149.285 E(33)198.445 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(Redir)87 84 Q +.25 E F1(\(1\)).95 E([)144 84 Q F0(n)A F1(])A/F2 10/Times-Bold@0 SF(>>)A +F0(wor)A(d)-.37 E F2(Redir)87 100.8 Q (ecting Standard Output and Standard Err)-.18 E(or)-.18 E F1 .928(This \ construct redirects both the standard output \(\214le descriptor 1\) an\ -d the standard error output \(\214le de-)108 96 R -(scriptor 2\) to the \214le whose name is the e)108 108 Q(xpansion of) --.15 E F0(wor)2.84 E(d)-.37 E F1(.).77 E(There are tw)108 124.8 Q 2.5 +d the standard error output \(\214le de-)108 112.8 R +(scriptor 2\) to the \214le whose name is the e)108 124.8 Q(xpansion of) +-.15 E F0(wor)2.84 E(d)-.37 E F1(.).77 E(There are tw)108 141.6 Q 2.5 (of)-.1 G(ormats for redirecting standard output and standard error:) --2.5 E F2(&>)144 141.6 Q F0(wor)A(d)-.37 E F1(and)108 153.6 Q F2(>&)144 -165.6 Q F0(wor)A(d)-.37 E F1(Of the tw)108 182.4 Q 2.5(of)-.1 G +-2.5 E F2(&>)144 158.4 Q F0(wor)A(d)-.37 E F1(and)108 170.4 Q F2(>&)144 +182.4 Q F0(wor)A(d)-.37 E F1(Of the tw)108 199.2 Q 2.5(of)-.1 G (orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E --.25(va)-.25 G(lent to).25 E F2(>)144 199.2 Q F0(wor)A(d)-.37 E F1(2)2.5 -E F2(>&)A F1(1)A .114(When using the second form,)108 216 R F0(wor)2.614 +-.25(va)-.25 G(lent to).25 E F2(>)144 216 Q F0(wor)A(d)-.37 E F1(2)2.5 E +F2(>&)A F1(1)A .114(When using the second form,)108 232.8 R F0(wor)2.614 E(d)-.37 E F1 .114(may not e)2.614 F .114(xpand to a number or)-.15 F F2 2.614 E F1 5.114(.I)C 2.614(fi)-5.114 G 2.615(td)-2.614 G .115 -(oes, other redirection operators)-2.615 F(apply \(see)108 228 Q F2 +(oes, other redirection operators)-2.615 F(apply \(see)108 244.8 Q F2 (Duplicating File Descriptors)2.5 E F1(belo)2.5 E -(w\) for compatibility reasons.)-.25 E F2 -.25(Ap)87 244.8 S +(w\) for compatibility reasons.)-.25 E F2 -.25(Ap)87 261.6 S (pending Standard Output and Standard Err).25 E(or)-.18 E F1 1.032(This\ construct appends both the standard output \(\214le descriptor 1\) and\ - the standard error output \(\214le de-)108 256.8 R -(scriptor 2\) to the \214le whose name is the e)108 268.8 Q(xpansion of) + the standard error output \(\214le de-)108 273.6 R +(scriptor 2\) to the \214le whose name is the e)108 285.6 Q(xpansion of) -.15 E F0(wor)2.84 E(d)-.37 E F1(.).77 E (The format for appending standard output and standard error is:)108 -285.6 Q F2(&>>)144 302.4 Q F0(wor)A(d)-.37 E F1 -(This is semantically equi)108 319.2 Q -.25(va)-.25 G(lent to).25 E F2 -(>>)144 336 Q F0(wor)A(d)-.37 E F1(2)2.5 E F2(>&)A F1(1)A(\(see)108 -352.8 Q F2(Duplicating File Descriptors)2.5 E F1(belo)2.5 E(w\).)-.25 E -F2(Her)87 369.6 Q 2.5(eD)-.18 G(ocuments)-2.5 E F1 .211(This type of re\ -direction instructs the shell to read input from the current source unt\ -il it reads a line contain-)108 381.6 R .27(ing only)108 393.6 R F0 +302.4 Q F2(&>>)144 319.2 Q F0(wor)A(d)-.37 E F1 +(This is semantically equi)108 336 Q -.25(va)-.25 G(lent to).25 E F2(>>) +144 352.8 Q F0(wor)A(d)-.37 E F1(2)2.5 E F2(>&)A F1(1)A(\(see)108 369.6 +Q F2(Duplicating File Descriptors)2.5 E F1(belo)2.5 E(w\).)-.25 E F2 +(Her)87 386.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F1 .211(This type of redi\ +rection instructs the shell to read input from the current source until\ + it reads a line contain-)108 398.4 R .27(ing only)108 410.4 R F0 (delimiter)3.12 E F1 .27(\(with no trailing blanks\).)3.5 F .269 (All of the lines read up to that point then become the standard)5.27 F -(input \(or \214le descriptor)108 405.6 Q F0(n)2.5 E F1(if)2.5 E F0(n) +(input \(or \214le descriptor)108 422.4 Q F0(n)2.5 E F1(if)2.5 E F0(n) 2.5 E F1(is speci\214ed\) for a command.)2.5 E -(The format of here-documents is:)108 422.4 Q([)144 439.2 Q F0(n)A F1(]) -A F2(<<)A F1([)A F2A F1(])A F0(wor)A(d)-.37 E(her)164 451.2 Q -(e-document)-.37 E(delimiter)144 463.2 Q F1 .241 -(The shell does not perform parameter and v)108 480 R .241(ariable e) +(The format of here-documents is:)108 439.2 Q([)144 456 Q F0(n)A F1(])A +F2(<<)A F1([)A F2A F1(])A F0(wor)A(d)-.37 E(her)164 468 Q +(e-document)-.37 E(delimiter)144 480 Q F1 .241 +(The shell does not perform parameter and v)108 496.8 R .241(ariable e) -.25 F .241(xpansion, command substitution, arithmetic e)-.15 F -(xpansion,)-.15 E(or pathname e)108 492 Q(xpansion on)-.15 E F0(wor)2.84 -E(d)-.37 E F1(.).77 E .053(If an)108 508.8 R 2.553(yp)-.15 G .053 +(xpansion,)-.15 E(or pathname e)108 508.8 Q(xpansion on)-.15 E F0(wor) +2.84 E(d)-.37 E F1(.).77 E .053(If an)108 525.6 R 2.553(yp)-.15 G .053 (art of)-2.553 F F0(wor)2.893 E(d)-.37 E F1 .053(is quoted, the)3.323 F F0(delimiter)2.902 E F1 .052(is the result of quote remo)3.282 F -.25 (va)-.15 G 2.552(lo).25 G(n)-2.552 E F0(wor)2.892 E(d)-.37 E F1 2.552 (,a).77 G .052(nd the lines in the here-)-2.552 F .101 -(document are not e)108 520.8 R 2.601(xpanded. If)-.15 F F0(wor)2.602 E +(document are not e)108 537.6 R 2.601(xpanded. If)-.15 F F0(wor)2.602 E (d)-.37 E F1 .102(is unquoted, the)2.602 F F0(delimiter)2.952 E F1(is) 3.332 E F0(wor)2.602 E(d)-.37 E F1 .102 (itself, and the here-document te)2.602 F .102(xt is)-.15 F .131(treate\ d similarly to a double-quoted string: all lines of the here-document a\ -re subjected to parameter e)108 532.8 R(xpan-)-.15 E .894 -(sion, command substitution, and arithmetic e)108 544.8 R .894 +re subjected to parameter e)108 549.6 R(xpan-)-.15 E .894 +(sion, command substitution, and arithmetic e)108 561.6 R .894 (xpansion, the character sequence)-.15 F F2(\\)3.394 E F1 .895 -(is treated liter)3.394 F(-)-.2 E(ally)108 556.8 Q 2.624(,a)-.65 G(nd) +(is treated liter)3.394 F(-)-.2 E(ally)108 573.6 Q 2.624(,a)-.65 G(nd) -2.624 E F2(\\)2.624 E F1 .124(must be used to quote the characters) 2.624 F F2(\\)2.624 E F1(,)A F2($)2.624 E F1 2.624(,a)C(nd)-2.624 E F2 <92>2.624 E F1 2.624(;h)C -.25(ow)-2.624 G -2.15 -.25(ev e).25 H .924 -.4(r, d).25 H .124(ouble quote characters ha).4 F .424 -.15(ve n)-.2 H -2.624(os).15 G(pecial)-2.624 E(meaning.)108 568.8 Q .97 -(If the redirection operator is)108 585.6 R F2(<<\255)3.47 E F1 3.47(,t) +2.624(os).15 G(pecial)-2.624 E(meaning.)108 585.6 Q .97 +(If the redirection operator is)108 602.4 R F2(<<\255)3.47 E F1 3.47(,t) C .971(hen the shell strips all leading tab characters from input lines\ - and the)-3.47 F .366(line containing)108 597.6 R F0(delimiter)3.216 E + and the)-3.47 F .366(line containing)108 614.4 R F0(delimiter)3.216 E F1 5.366(.T).73 G .366(his allo)-5.366 F .365 (ws here-documents within shell scripts to be indented in a natural f) --.25 F(ash-)-.1 E(ion.)108 609.6 Q .797 -(If the delimiter is not quoted, the)108 626.4 R F2(\\)3.298 E +-.25 F(ash-)-.1 E(ion.)108 626.4 Q .797 +(If the delimiter is not quoted, the)108 643.2 R F2(\\)3.298 E F1 .798(sequence is treated as a line continuation: the tw)3.298 F 3.298 (ol)-.1 G .798(ines are)-3.298 F .973(joined and the backslash-ne)108 -638.4 R .973(wline is remo)-.25 F -.15(ve)-.15 G 3.472(d. This).15 F +655.2 R .973(wline is remo)-.25 F -.15(ve)-.15 G 3.472(d. This).15 F .972(happens while reading the here-document, before the)3.472 F -(check for the ending delimiter)108 650.4 Q 2.5(,s)-.4 G 2.5(oj)-2.5 G -(oined lines can form the end delimiter)-2.5 E(.)-.55 E F2(Her)87 667.2 -Q 2.5(eS)-.18 G(trings)-2.5 E F1 2.5(Av)108 679.2 S -(ariant of here documents, the format is:)-2.75 E([)144 696 Q F0(n)A F1 -(])A F2(<<<)A F0(wor)A(d)-.37 E F1(The)108 712.8 Q F0(wor)3.291 E(d)-.37 -E F1(under)3.291 E .792(goes tilde e)-.18 F .792 +(check for the ending delimiter)108 667.2 Q 2.5(,s)-.4 G 2.5(oj)-2.5 G +(oined lines can form the end delimiter)-2.5 E(.)-.55 E F2(Her)87 684 Q +2.5(eS)-.18 G(trings)-2.5 E F1 2.5(Av)108 696 S +(ariant of here documents, the format is:)-2.75 E([)144 712.8 Q F0(n)A +F1(])A F2(<<<)A F0(wor)A(d)-.37 E F1(The)108 729.6 Q F0(wor)3.291 E(d) +-.37 E F1(under)3.291 E .792(goes tilde e)-.18 F .792 (xpansion, parameter and v)-.15 F .792(ariable e)-.25 F .792 -(xpansion, command substitution, arithmetic)-.15 F -.15(ex)108 724.8 S -1.188(pansion, and quote remo).15 F -.25(va)-.15 G 3.687(l. P).25 F -1.187(athname e)-.15 F 1.187(xpansion and w)-.15 F 1.187 -(ord splitting are not performed.)-.1 F 1.187(The result is)6.187 F -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(34)188.45 E 0 Cg EP +(xpansion, command substitution, arithmetic)-.15 F(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(34)198.445 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .374(supplied as a single string, with a ne)108 84 -R .375(wline appended, to the command on its standard input \(or \214le\ - descrip-)-.25 F(tor)108 96 Q F0(n)2.5 E F1(if)2.5 E F0(n)2.5 E F1 -(is speci\214ed\).)2.5 E/F2 10/Times-Bold@0 SF -(Duplicating File Descriptors)87 112.8 Q F1(The redirection operator)108 -124.8 Q([)144 141.6 Q F0(n)A F1(])A F2(<&)A F0(wor)A(d)-.37 E F1 .512 -(is used to duplicate input \214le descriptors.)108 158.4 R(If)5.512 E +.25 E F1(\(1\)).95 E -.15(ex)108 84 S 1.188(pansion, and quote remo).15 +F -.25(va)-.15 G 3.687(l. P).25 F 1.187(athname e)-.15 F 1.187 +(xpansion and w)-.15 F 1.187(ord splitting are not performed.)-.1 F +1.187(The result is)6.187 F .374(supplied as a single string, with a ne) +108 96 R .375(wline appended, to the command on its standard input \(or\ + \214le descrip-)-.25 F(tor)108 108 Q F0(n)2.5 E F1(if)2.5 E F0(n)2.5 E +F1(is speci\214ed\).)2.5 E/F2 10/Times-Bold@0 SF +(Duplicating File Descriptors)87 124.8 Q F1(The redirection operator)108 +136.8 Q([)144 153.6 Q F0(n)A F1(])A F2(<&)A F0(wor)A(d)-.37 E F1 .512 +(is used to duplicate input \214le descriptors.)108 170.4 R(If)5.512 E F0(wor)3.352 E(d)-.37 E F1 -.15(ex)3.782 G .512 (pands to one or more digits, \214le descriptor).15 F F0(n)3.372 E F1 -.512(is made)3.252 F .097(to be a cop)108 170.4 R 2.597(yo)-.1 G 2.598 +.512(is made)3.252 F .097(to be a cop)108 182.4 R 2.597(yo)-.1 G 2.598 (ft)-2.597 G .098(hat \214le descriptor)-2.598 F 5.098(.I)-.55 G 2.598 (ti)-5.098 G 2.598(sar)-2.598 G .098(edirection error if the digits in) -2.598 F F0(wor)2.938 E(d)-.37 E F1 .098 (do not specify a \214le descrip-)3.368 F 1.04(tor open for input.)108 -182.4 R(If)6.04 E F0(wor)3.88 E(d)-.37 E F1 -.25(eva)4.31 G 1.04 +194.4 R(If)6.04 E F0(wor)3.88 E(d)-.37 E F1 -.25(eva)4.31 G 1.04 (luates to).25 F F23.54 E F1 3.54<2c8c>C 1.04(le descriptor)-3.54 F F0(n)3.9 E F1 1.04(is closed.)3.78 F(If)6.04 E F0(n)3.9 E F1 1.04 (is not speci\214ed, this uses the)3.78 F -(standard input \(\214le descriptor 0\).)108 194.4 Q(The operator)108 -211.2 Q([)144 228 Q F0(n)A F1(])A F2(>&)A F0(wor)A(d)-.37 E F1 .31 -(is used similarly to duplicate output \214le descriptors.)108 244.8 R +(standard input \(\214le descriptor 0\).)108 206.4 Q(The operator)108 +223.2 Q([)144 240 Q F0(n)A F1(])A F2(>&)A F0(wor)A(d)-.37 E F1 .31 +(is used similarly to duplicate output \214le descriptors.)108 256.8 R (If)5.31 E F0(n)3.17 E F1 .31 (is not speci\214ed, this uses the standard output \(\214le)3.05 F .552 -(descriptor 1\).)108 256.8 R .552 +(descriptor 1\).)108 268.8 R .552 (It is a redirection error if the digits in)5.552 F F0(wor)3.392 E(d) -.37 E F1 .552(do not specify a \214le descriptor open for output.)3.822 -F(If)108 268.8 Q F0(wor)3.227 E(d)-.37 E F1 -.25(eva)3.657 G .387 +F(If)108 280.8 Q F0(wor)3.227 E(d)-.37 E F1 -.25(eva)3.657 G .387 (luates to).25 F F22.887 E F1 2.887<2c8c>C .387(le descriptor)-2.887 F F0(n)3.248 E F1 .388(is closed.)3.128 F .388(As a special case, if) 5.388 F F0(n)2.888 E F1 .388(is omitted, and)2.888 F F0(wor)2.888 E(d) -.37 E F1 .388(does not e)2.888 F(x-)-.15 E 1.063 -(pand to one or more digits or)108 280.8 R F23.563 E F1 3.563(,t)C +(pand to one or more digits or)108 292.8 R F23.563 E F1 3.563(,t)C 1.063 (his redirects the standard output and standard error as described pre) --3.563 F(vi-)-.25 E(ously)108 292.8 Q(.)-.65 E F2(Mo)87 309.6 Q -(ving File Descriptors)-.1 E F1(The redirection operator)108 321.6 Q([) -144 338.4 Q F0(n)A F1(])A F2(<&)A F0(digit)A F2A F1(mo)108 355.2 Q +-3.563 F(vi-)-.25 E(ously)108 304.8 Q(.)-.65 E F2(Mo)87 321.6 Q +(ving File Descriptors)-.1 E F1(The redirection operator)108 333.6 Q([) +144 350.4 Q F0(n)A F1(])A F2(<&)A F0(digit)A F2A F1(mo)108 367.2 Q -.15(ve)-.15 G 3.017(st).15 G .517(he \214le descriptor)-3.017 F F0 (digit)3.017 E F1 .517(to \214le descriptor)3.017 F F0(n)3.377 E F1 3.017(,o).24 G 3.017(rt)-3.017 G .518 (he standard input \(\214le descriptor 0\) if)-3.017 F F0(n)3.018 E F1 -.518(is not speci-)3.018 F(\214ed.)108 367.2 Q F0(digit)5 E F1 +.518(is not speci-)3.018 F(\214ed.)108 379.2 Q F0(digit)5 E F1 (is closed after being duplicated to)2.5 E F0(n)2.5 E F1(.)A(Similarly) -108 384 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)144 400.8 Q F0 -(n)A F1(])A F2(>&)A F0(digit)A F2A F1(mo)108 417.6 Q -.15(ve)-.15 G +108 396 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)144 412.8 Q F0 +(n)A F1(])A F2(>&)A F0(digit)A F2A F1(mo)108 429.6 Q -.15(ve)-.15 G 2.768(st).15 G .268(he \214le descriptor)-2.768 F F0(digit)2.768 E F1 .268(to \214le descriptor)2.768 F F0(n)3.128 E F1 2.768(,o).24 G 2.768 (rt)-2.768 G .267(he standard output \(\214le descriptor 1\) if)-2.768 F -F0(n)2.767 E F1 .267(is not speci-)2.767 F(\214ed.)108 429.6 Q F2 -(Opening File Descriptors f)87 446.4 Q(or Reading and Writing)-.25 E F1 -(The redirection operator)108 458.4 Q([)144 475.2 Q F0(n)A F1(])A F2(<>) -A F0(wor)A(d)-.37 E F1 .279(opens the \214le whose name is the e)108 492 +F0(n)2.767 E F1 .267(is not speci-)2.767 F(\214ed.)108 441.6 Q F2 +(Opening File Descriptors f)87 458.4 Q(or Reading and Writing)-.25 E F1 +(The redirection operator)108 470.4 Q([)144 487.2 Q F0(n)A F1(])A F2(<>) +A F0(wor)A(d)-.37 E F1 .279(opens the \214le whose name is the e)108 504 R .279(xpansion of)-.15 F F0(wor)3.119 E(d)-.37 E F1 .279 (for both reading and writing on \214le descriptor)3.549 F F0(n)3.139 E F1 2.779(,o).24 G 2.779(ro)-2.779 G(n)-2.779 E(\214le descriptor 0 if) -108 504 Q F0(n)2.86 E F1(is not speci\214ed.)2.74 E +108 516 Q F0(n)2.86 E F1(is not speci\214ed.)2.74 E (If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95 -/Times-Bold@0 SF(ALIASES)72 520.8 Q F0(Aliases)108 532.8 Q F1(allo)3.002 +/Times-Bold@0 SF(ALIASES)72 532.8 Q F0(Aliases)108 544.8 Q F1(allo)3.002 E 3.002(was)-.25 G .502(tring to be substituted for a w)-3.002 F .502 (ord that is in a position in the input where it can be the \214rst)-.1 -F -.1(wo)108 544.8 S .408(rd of a simple command.).1 F .408(Aliases ha) +F -.1(wo)108 556.8 S .408(rd of a simple command.).1 F .408(Aliases ha) 5.408 F .708 -.15(ve n)-.2 H .408(ames and corresponding v).15 F .409 -(alues that are set and unset using the)-.25 F F2(alias)108 556.8 Q F1 +(alues that are set and unset using the)-.25 F F2(alias)108 568.8 Q F1 (and)2.5 E F2(unalias)2.5 E F1 -.2(bu)2.5 G(iltin commands \(see).2 E/F4 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo) -2.25 E(w\).)-.25 E 1.034(If the shell reads an unquoted w)108 573.6 R +2.25 E(w\).)-.25 E 1.034(If the shell reads an unquoted w)108 585.6 R 1.033(ord in the right position, it checks the w)-.1 F 1.033 -(ord to see if it matches an alias)-.1 F 3.038(name. If)108 585.6 R .538 +(ord to see if it matches an alias)-.1 F 3.038(name. If)108 597.6 R .538 (it matches, the shell replaces the w)3.038 F .538(ord with the alias v) -.1 F .538(alue, and reads that v)-.25 F .538(alue as if it had been) --.25 F 1.082(read instead of the w)108 597.6 R 3.582(ord. The)-.1 F +-.25 F 1.082(read instead of the w)108 609.6 R 3.582(ord. The)-.1 F 1.082(shell doesn')3.582 F 3.582(tl)-.18 G 1.082(ook at an)-3.582 F 3.582(yc)-.15 G 1.082(haracters follo)-3.582 F 1.082(wing the w)-.25 F -1.081(ord before attempting)-.1 F(alias substitution.)108 609.6 Q .264 -(The characters)108 626.4 R F2(/)2.764 E F1(,)A F2($)2.764 E F1(,)A F2 +1.081(ord before attempting)-.1 F(alias substitution.)108 621.6 Q .264 +(The characters)108 638.4 R F2(/)2.764 E F1(,)A F2($)2.764 E F1(,)A F2 <92>2.764 E F1 2.764(,a)C(nd)-2.764 E F2(=)2.764 E F1 .264(and an)2.764 F 2.764(yo)-.15 G 2.764(ft)-2.764 G .264(he shell)-2.764 F F0(metac) 2.764 E(har)-.15 E(acter)-.15 E(s)-.1 E F1 .264 (or quoting characters listed abo)2.764 F .565 -.15(ve m)-.15 H .265 -(ay not).15 F .299(appear in an alias name.)108 638.4 R .298 +(ay not).15 F .299(appear in an alias name.)108 650.4 R .298 (The replacement te)5.298 F .298(xt may contain an)-.15 F 2.798(yv)-.15 G .298(alid shell input, including shell metachar)-3.048 F(-)-.2 E 2.625 -(acters. The)108 650.4 R .125(\214rst w)2.625 F .125 +(acters. The)108 662.4 R .125(\214rst w)2.625 F .125 (ord of the replacement te)-.1 F .125(xt is tested for aliases, b)-.15 F .125(ut a w)-.2 F .126(ord that is identical to an alias be-)-.1 F .666 -(ing e)108 662.4 R .666(xpanded is not e)-.15 F .666 +(ing e)108 674.4 R .666(xpanded is not e)-.15 F .666 (xpanded a second time.)-.15 F .666(This means that one may alias)5.666 F F2(ls)3.166 E F1(to)3.166 E F2 .666(ls \255F)3.166 F F1 3.166(,f)C -.666(or instance, and)-3.166 F F2(bash)108 674.4 Q F1 +.666(or instance, and)-3.166 F F2(bash)108 686.4 Q F1 (does not try to recursi)2.5 E -.15(ve)-.25 G(ly e).15 E (xpand the replacement te)-.15 E(xt.)-.15 E 1.035 -(If the last character of the alias v)108 691.2 R 1.035(alue is a)-.25 F +(If the last character of the alias v)108 703.2 R 1.035(alue is a)-.25 F F0(blank)3.805 E F1 3.535(,t).67 G 1.035(he shell checks the ne)-3.535 F 1.036(xt command w)-.15 F 1.036(ord follo)-.1 F 1.036(wing the)-.25 F -(alias for alias e)108 703.2 Q(xpansion.)-.15 E -(Aliases are created and listed with the)108 720 Q F2(alias)2.5 E F1 -(command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F2 -(unalias)2.5 E F1(command.)2.5 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(35)188.45 E 0 Cg EP +(alias for alias e)108 715.2 Q(xpansion.)-.15 E(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(35)198.445 E 0 Cg EP %%Page: 36 36 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .742(There is no mechanism for using ar)108 84 R -.741(guments in the replacement te)-.18 F 3.241(xt. If)-.15 F(ar)3.241 E -.741(guments are needed, use a shell)-.18 F(function \(see)108 96 Q/F2 9 -/Times-Bold@0 SF(FUNCTIONS)2.5 E F1(belo)2.25 E(w\) instead.)-.25 E .282 -(Aliases are not e)108 112.8 R .282 +.25 E F1(\(1\)).95 E(Aliases are created and listed with the)108 84 Q/F2 +10/Times-Bold@0 SF(alias)2.5 E F1(command, and remo)2.5 E -.15(ve)-.15 G +2.5(dw).15 G(ith the)-2.5 E F2(unalias)2.5 E F1(command.)2.5 E .742 +(There is no mechanism for using ar)108 100.8 R .741 +(guments in the replacement te)-.18 F 3.241(xt. If)-.15 F(ar)3.241 E +.741(guments are needed, use a shell)-.18 F(function \(see)108 112.8 Q +/F3 9/Times-Bold@0 SF(FUNCTIONS)2.5 E F1(belo)2.25 E(w\) instead.)-.25 E +.282(Aliases are not e)108 129.6 R .282 (xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 2.782(,u) -.15 G .282(nless the)-2.782 F/F3 10/Times-Bold@0 SF(expand_aliases)2.783 -E F1 .283(shell option is set us-)2.783 F(ing)108 124.8 Q F3(shopt)2.5 E -F1(\(see the description of)2.5 E F3(shopt)2.5 E F1(under)2.5 E F2 +.15 G .282(nless the)-2.782 F F2(expand_aliases)2.783 E F1 .283 +(shell option is set us-)2.783 F(ing)108 141.6 Q F2(shopt)2.5 E F1 +(\(see the description of)2.5 E F2(shopt)2.5 E F1(under)2.5 E F3 (SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1(belo)2.25 E(w\).)-.25 E .436 (The rules concerning the de\214nition and use of aliases are some)108 -141.6 R .435(what confusing.)-.25 F F3(Bash)5.435 E F1(al)2.935 E -.1 +158.4 R .435(what confusing.)-.25 F F2(Bash)5.435 E F1(al)2.935 E -.1 (wa)-.1 G .435(ys reads at least).1 F .67 -(one complete line of input, and all lines that mak)108 153.6 R 3.17(eu) +(one complete line of input, and all lines that mak)108 170.4 R 3.17(eu) -.1 G 3.17(pac)-3.17 G .67(ompound command, before e)-3.17 F -.15(xe) -.15 G .67(cuting an).15 F 3.17(yo)-.15 G 3.17(ft)-3.17 G(he)-3.17 E -1.059(commands on that line or the compound command.)108 165.6 R 1.059 +1.059(commands on that line or the compound command.)108 182.4 R 1.059 (Aliases are e)6.059 F 1.058(xpanded when a command is read, not)-.15 F -.074(when it is e)108 177.6 R -.15(xe)-.15 G 2.574(cuted. Therefore,).15 +.074(when it is e)108 194.4 R -.15(xe)-.15 G 2.574(cuted. Therefore,).15 F .075(an alias de\214nition appearing on the same line as another comm\ -and does not)2.574 F(tak)108 189.6 Q 2.839(ee)-.1 G -.25(ff)-2.839 G +and does not)2.574 F(tak)108 206.4 Q 2.839(ee)-.1 G -.25(ff)-2.839 G .339(ect until the shell reads the ne).25 F .339 (xt line of input, and an alias de\214nition in a compound command does) --.15 F .031(not tak)108 201.6 R 2.531(ee)-.1 G -.25(ff)-2.531 G .031 +-.15 F .031(not tak)108 218.4 R 2.531(ee)-.1 G -.25(ff)-2.531 G .031 (ect until the shell parses and e).25 F -.15(xe)-.15 G .031 (cutes the entire compound command.).15 F .032(The commands follo)5.032 F(wing)-.25 E .726(the alias de\214nition on that line, or in the rest \ -of a compound command, are not af)108 213.6 R .725(fected by the ne)-.25 -F 3.225(wa)-.25 G(lias.)-3.225 E .657(This beha)108 225.6 R .657 +of a compound command, are not af)108 230.4 R .725(fected by the ne)-.25 +F 3.225(wa)-.25 G(lias.)-3.225 E .657(This beha)108 242.4 R .657 (vior is also an issue when functions are e)-.2 F -.15(xe)-.15 G 3.158 (cuted. Aliases).15 F .658(are e)3.158 F .658 (xpanded when a function de\214ni-)-.15 F .081 -(tion is read, not when the function is e)108 237.6 R -.15(xe)-.15 G .08 +(tion is read, not when the function is e)108 254.4 R -.15(xe)-.15 G .08 (cuted, because a function de\214nition is itself a command.).15 F .08 (As a con-)5.08 F .264 -(sequence, aliases de\214ned in a function are not a)108 249.6 R -.25 +(sequence, aliases de\214ned in a function are not a)108 266.4 R -.25 (va)-.2 G .265(ilable until after that function is e).25 F -.15(xe)-.15 G 2.765(cuted. T).15 F 2.765(ob)-.8 G 2.765(es)-2.765 G .265(afe, al-) --2.765 F -.1(wa)108 261.6 S -(ys put alias de\214nitions on a separate line, and do not use).1 E F3 -(alias)2.5 E F1(in compound commands.)2.5 E -.15(Fo)108 278.4 S 2.5(ra) +-2.765 F -.1(wa)108 278.4 S +(ys put alias de\214nitions on a separate line, and do not use).1 E F2 +(alias)2.5 E F1(in compound commands.)2.5 E -.15(Fo)108 295.2 S 2.5(ra) .15 G(lmost e)-2.5 E -.15(ve)-.25 G (ry purpose, shell functions are preferable to aliases.).15 E/F4 10.95 -/Times-Bold@0 SF(FUNCTIONS)72 295.2 Q F1 3.468(As)108 307.2 S .968 +/Times-Bold@0 SF(FUNCTIONS)72 312 Q F1 3.468(As)108 324 S .968 (hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15 -H(nder).15 E F2 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F1 -.967(stores a series of commands for)3.217 F .534(later e)108 319.2 R --.15(xe)-.15 G 3.034(cution. When).15 F .535(the name of a shell functi\ -on is used as a simple command name, the shell e)3.034 F -.15(xe)-.15 G +H(nder).15 E F3 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F1 +.967(stores a series of commands for)3.217 F .534(later e)108 336 R -.15 +(xe)-.15 G 3.034(cution. When).15 F .535(the name of a shell function i\ +s used as a simple command name, the shell e)3.034 F -.15(xe)-.15 G (cutes).15 E .295 -(the list of commands associated with that function name.)108 331.2 R -.295(Functions are e)5.295 F -.15(xe)-.15 G .294(cuted in the conte).15 -F .294(xt of the call-)-.15 F 1.626(ing shell; there is no ne)108 343.2 -R 4.126(wp)-.25 G 1.627 +(the list of commands associated with that function name.)108 348 R .295 +(Functions are e)5.295 F -.15(xe)-.15 G .294(cuted in the conte).15 F +.294(xt of the call-)-.15 F 1.626(ing shell; there is no ne)108 360 R +4.126(wp)-.25 G 1.627 (rocess created to interpret them \(contrast this with the e)-4.126 F --.15(xe)-.15 G 1.627(cution of a shell).15 F(script\).)108 355.2 Q .256 -(When a function is e)108 372 R -.15(xe)-.15 G .256(cuted, the ar).15 F -.255 +-.15(xe)-.15 G 1.627(cution of a shell).15 F(script\).)108 372 Q .256 +(When a function is e)108 388.8 R -.15(xe)-.15 G .256(cuted, the ar).15 +F .255 (guments to the function become the positional parameters during its e) --.18 F(x-)-.15 E 2.507(ecution. The)108 384 R .007(special parameter) -2.507 F F3(#)2.507 E F1 .007(is updated to re\215ect the ne)2.507 F +-.18 F(x-)-.15 E 2.507(ecution. The)108 400.8 R .007(special parameter) +2.507 F F2(#)2.507 E F1 .007(is updated to re\215ect the ne)2.507 F 2.508(wp)-.25 G .008(ositional parameters.)-2.508 F .008 -(Special parameter)5.008 F F3(0)2.508 E F1(is)2.508 E 2.638 -(unchanged. The)108 396 R .138(\214rst element of the)2.638 F F2(FUNCN) -2.638 E(AME)-.18 E F1 -.25(va)2.388 G .138 +(Special parameter)5.008 F F2(0)2.508 E F1(is)2.508 E 2.638 +(unchanged. The)108 412.8 R .138(\214rst element of the)2.638 F F3 +(FUNCN)2.638 E(AME)-.18 E F1 -.25(va)2.388 G .138 (riable is set to the name of the function while the func-).25 F -(tion is e)108 408 Q -.15(xe)-.15 G(cuting.).15 E 1.25 -(All other aspects of the shell e)108 424.8 R -.15(xe)-.15 G 1.25 +(tion is e)108 424.8 Q -.15(xe)-.15 G(cuting.).15 E 1.25 +(All other aspects of the shell e)108 441.6 R -.15(xe)-.15 G 1.25 (cution en).15 F 1.25 (vironment are identical between a function and its caller with)-.4 F -1.215(these e)108 436.8 R 1.215(xceptions: the)-.15 F F2(DEB)3.715 E(UG) --.09 E F1(and)3.465 E F3(RETURN)3.715 E F1 1.215 -(traps \(see the description of the)3.715 F F3(trap)3.714 E F1 -.2(bu) -3.714 G 1.214(iltin under).2 F F2(SHELL)3.714 E -.09(BU)108 448.8 S(IL) +1.215(these e)108 453.6 R 1.215(xceptions: the)-.15 F F3(DEB)3.715 E(UG) +-.09 E F1(and)3.465 E F2(RETURN)3.715 E F1 1.215 +(traps \(see the description of the)3.715 F F2(trap)3.714 E F1 -.2(bu) +3.714 G 1.214(iltin under).2 F F3(SHELL)3.714 E -.09(BU)108 465.6 S(IL) .09 E .478(TIN COMMANDS)-.828 F F1(belo)2.728 E .479 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve) --.25 G 2.979(nt).15 G(he)-2.979 E F3(trace)2.979 E F1(attrib)2.979 E -.479(ute \(see)-.2 F .421(the description of the)108 460.8 R F2(declar) +-.25 G 2.979(nt).15 G(he)-2.979 E F2(trace)2.979 E F1(attrib)2.979 E +.479(ute \(see)-.2 F .421(the description of the)108 477.6 R F3(declar) 2.92 E(e)-.162 E F1 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the) --.25 F F3 .42(\255o functrace)2.92 F F1 .42 -(shell option has been enabled with the)2.92 F F3(set)2.92 E F1 -.2(bu) -108 472.8 S .071(iltin \(in which case all functions inherit the).2 F F3 -(DEB)2.572 E(UG)-.1 E F1(and)2.572 E F3(RETURN)2.572 E F1 .072 -(traps\), and the)2.572 F F2(ERR)2.572 E F1 .072(trap is not inher)2.322 -F(-)-.2 E(ited unless the)108 484.8 Q F3(\255o errtrace)2.5 E F1 -(shell option has been enabled.)2.5 E -1.11(Va)108 501.6 S .942 -(riables local to the function are declared with the)1.11 F F3(local) +-.25 F F2 .42(\255o functrace)2.92 F F1 .42 +(shell option has been enabled with the)2.92 F F2(set)2.92 E F1 -.2(bu) +108 489.6 S .071(iltin \(in which case all functions inherit the).2 F F2 +(DEB)2.572 E(UG)-.1 E F1(and)2.572 E F2(RETURN)2.572 E F1 .072 +(traps\), and the)2.572 F F3(ERR)2.572 E F1 .072(trap is not inher)2.322 +F(-)-.2 E(ited unless the)108 501.6 Q F2(\255o errtrace)2.5 E F1 +(shell option has been enabled.)2.5 E -1.11(Va)108 518.4 S .942 +(riables local to the function are declared with the)1.11 F F2(local) 3.442 E F1 -.2(bu)3.442 G .942(iltin command \().2 F F0 .942 -(local variables)B F1 3.442(\). Ordinarily)B(,)-.65 E -.25(va)108 513.6 +(local variables)B F1 3.442(\). Ordinarily)B(,)-.65 E -.25(va)108 530.4 S .39(riables and their v).25 F .39 (alues are shared between the function and its caller)-.25 F 5.391(.I) --.55 G 2.891(fav)-5.391 G .391(ariable is declared)-3.141 F F3(local) -2.891 E F1 2.891(,t)C(he)-2.891 E -.25(va)108 525.6 S(riable').25 E 2.5 +-.55 G 2.891(fav)-5.391 G .391(ariable is declared)-3.141 F F2(local) +2.891 E F1 2.891(,t)C(he)-2.891 E -.25(va)108 542.4 S(riable').25 E 2.5 (sv)-.55 G(isible scope is restricted to that function and its children\ \(including the functions it calls\).)-2.5 E .727(In the follo)108 -542.4 R .727(wing description, the)-.25 F F0(curr)3.227 E .727 +559.2 R .727(wing description, the)-.25 F F0(curr)3.227 E .727 (ent scope)-.37 F F1 .726(is a currently- e)3.226 F -.15(xe)-.15 G .726 (cuting function.).15 F(Pre)5.726 E .726(vious scopes consist)-.25 F -.965(of that function')108 554.4 R 3.465(sc)-.55 G .966(aller and so on\ +.965(of that function')108 571.2 R 3.465(sc)-.55 G .966(aller and so on\ , back to the \231global\232 scope, where the shell is not e)-3.465 F -.15(xe)-.15 G .966(cuting an).15 F 3.466(ys)-.15 G(hell)-3.466 E 3.159 -(function. A)108 566.4 R .659(local v)3.159 F .658 +(function. A)108 583.2 R .659(local v)3.159 F .658 (ariable at the current scope is a v)-.25 F .658 -(ariable declared using the)-.25 F F3(local)3.158 E F1(or)3.158 E F3 +(ariable declared using the)-.25 F F2(local)3.158 E F1(or)3.158 E F2 (declar)3.158 E(e)-.18 E F1 -.2(bu)3.158 G .658(iltins in).2 F -(the function that is currently e)108 578.4 Q -.15(xe)-.15 G(cuting.).15 -E .587(Local v)108 595.2 R .587(ariables \231shado)-.25 F .587(w\232 v) +(the function that is currently e)108 595.2 Q -.15(xe)-.15 G(cuting.).15 +E .587(Local v)108 612 R .587(ariables \231shado)-.25 F .587(w\232 v) -.25 F .587(ariables with the same name declared at pre)-.25 F .588 (vious scopes.)-.25 F -.15(Fo)5.588 G 3.088(ri).15 G .588 -(nstance, a local)-3.088 F -.25(va)108 607.2 S .782 +(nstance, a local)-3.088 F -.25(va)108 624 S .782 (riable declared in a function hides v).25 F .782 (ariables with the same name declared at pre)-.25 F .782 -(vious scopes, including)-.25 F 1.247(global v)108 619.2 R 1.248 +(vious scopes, including)-.25 F 1.247(global v)108 636 R 1.248 (ariables: references and assignments refer to the local v)-.25 F 1.248 (ariable, lea)-.25 F 1.248(ving the v)-.2 F 1.248(ariables at pre)-.25 F -(vious)-.25 E(scopes unmodi\214ed.)108 631.2 Q +(vious)-.25 E(scopes unmodi\214ed.)108 648 Q (When the function returns, the global v)5 E(ariable is once ag)-.25 E -(ain visible.)-.05 E .727(The shell uses)108 648 R F0 .727 +(ain visible.)-.05 E .727(The shell uses)108 664.8 R F0 .727 (dynamic scoping)3.227 F F1 .726(to control a v)3.227 F(ariable')-.25 E 3.226(sv)-.55 G .726(isibility within functions.)-3.226 F -.4(Wi)5.726 G -.726(th dynamic scoping,).4 F .007(visible v)108 660 R .007 +.726(th dynamic scoping,).4 F .007(visible v)108 676.8 R .007 (ariables and their v)-.25 F .007 (alues are a result of the sequence of function calls that caused e)-.25 F -.15(xe)-.15 G .008(cution to reach).15 F .814(the current function.) -108 672 R .813(The v)5.814 F .813(alue of a v)-.25 F .813 +108 688.8 R .813(The v)5.814 F .813(alue of a v)-.25 F .813 (ariable that a function sees depends on its v)-.25 F .813 -(alue within its caller)-.25 F 3.313(,i)-.4 G(f)-3.313 E(an)108 684 Q +(alue within its caller)-.25 F 3.313(,i)-.4 G(f)-3.313 E(an)108 700.8 Q 1.427 -.65(y, w)-.15 H .127 (hether that caller is the global scope or another shell function.).65 F .127(This is also the v)5.127 F .127(alue that a local v)-.25 F(ari-) --.25 E(able declaration shado)108 696 Q(ws, and the v)-.25 E +-.25 E(able declaration shado)108 712.8 Q(ws, and the v)-.25 E (alue that is restored when the function returns.)-.25 E -.15(Fo)108 -712.8 S 2.724(re).15 G .224(xample, if a v)-2.874 F(ariable)-.25 E F0 +729.6 S 2.724(re).15 G .224(xample, if a v)-2.874 F(ariable)-.25 E F0 (var)2.724 E F1 .223(is declared as local in function)2.724 F F0(func1) 2.723 E F1 2.723(,a)C(nd)-2.723 E F0(func1)2.723 E F1 .223 -(calls another function)2.723 F F0(func2)2.723 E F1(,)A 1.621 -(references to)108 724.8 R F0(var)4.121 E F1 1.621(made from within) -4.121 F F0(func2)4.121 E F1(resolv)4.121 E 4.121(et)-.15 G 4.121(ot) --4.121 G 1.621(he local v)-4.121 F(ariable)-.25 E F0(var)4.121 E F1 -(from)4.122 E F0(func1)4.122 E F1 4.122(,s)C(hado)-4.122 E 1.622 -(wing an)-.25 F(y)-.15 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E -(36)188.45 E 0 Cg EP +(calls another function)2.723 F F0(func2)2.723 E F1(,)A(GNU Bash 5.3)72 +768 Q(2025 April 7)149.285 E(36)198.445 E 0 Cg EP %%Page: 37 37 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(global v)108 84 Q(ariable named)-.25 E F0(var)2.5 E -F1(.)A(The)108 100.8 Q/F2 10/Times-Bold@0 SF(unset)2.983 E F1 -.2(bu) -2.983 G .483(iltin also acts using the same dynamic scope: if a v).2 F -.482(ariable is local to the current scope,)-.25 F F2(unset)2.982 E F1 -.57(unsets it; otherwise the unset will refer to the v)108 112.8 R .571 +.25 E F1(\(1\)).95 E 1.621(references to)108 84 R F0(var)4.121 E F1 +1.621(made from within)4.121 F F0(func2)4.121 E F1(resolv)4.121 E 4.121 +(et)-.15 G 4.121(ot)-4.121 G 1.621(he local v)-4.121 F(ariable)-.25 E F0 +(var)4.121 E F1(from)4.122 E F0(func1)4.122 E F1 4.122(,s)C(hado)-4.122 +E 1.622(wing an)-.25 F(y)-.15 E(global v)108 96 Q(ariable named)-.25 E +F0(var)2.5 E F1(.)A(The)108 112.8 Q/F2 10/Times-Bold@0 SF(unset)2.983 E +F1 -.2(bu)2.983 G .483 +(iltin also acts using the same dynamic scope: if a v).2 F .482 +(ariable is local to the current scope,)-.25 F F2(unset)2.982 E F1 .57 +(unsets it; otherwise the unset will refer to the v)108 124.8 R .571 (ariable found in an)-.25 F 3.071(yc)-.15 G .571 (alling scope as described abo)-3.071 F -.15(ve)-.15 G 5.571(.I).15 G -3.071(fa)-5.571 G -.25(va)108 124.8 S .11(riable at the current local s\ +3.071(fa)-5.571 G -.25(va)108 136.8 S .11(riable at the current local s\ cope is unset, it remains so \(appearing as unset\) until it is reset i\ -n that scope or).25 F .88(until the function returns.)108 136.8 R .88 +n that scope or).25 F .88(until the function returns.)108 148.8 R .88 (Once the function returns, an)5.88 F 3.38(yi)-.15 G .88 (nstance of the v)-3.38 F .88(ariable at a pre)-.25 F .88 -(vious scope be-)-.25 F .275(comes visible.)108 148.8 R .275 +(vious scope be-)-.25 F .275(comes visible.)108 160.8 R .275 (If the unset acts on a v)5.275 F .275(ariable at a pre)-.25 F .274 (vious scope, an)-.25 F 2.774(yi)-.15 G .274(nstance of a v)-2.774 F -.274(ariable with that name)-.25 F .62(that had been shado)108 160.8 R +.274(ariable with that name)-.25 F .62(that had been shado)108 172.8 R .62(wed becomes visible \(see belo)-.25 F 3.12(wh)-.25 G 1.12 -.25(ow t) -3.12 H(he).25 E F2(localv)3.12 E(ar_unset)-.1 E F1 .62 -(shell option changes this be-)3.12 F(ha)108 172.8 Q(vior\).)-.2 E(The) -108 189.6 Q/F3 9/Times-Bold@0 SF(FUNCNEST)3.881 E F1 -.25(va)3.631 G +(shell option changes this be-)3.12 F(ha)108 184.8 Q(vior\).)-.2 E(The) +108 201.6 Q/F3 9/Times-Bold@0 SF(FUNCNEST)3.881 E F1 -.25(va)3.631 G 1.381(riable, if set to a numeric v).25 F 1.38 (alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108 -201.6 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G +213.6 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G (cations that e).2 E(xceed the limit cause the entire command to abort.) --.15 E .043(If the b)108 218.4 R .043(uiltin command)-.2 F F2 -.18(re) +-.15 E .043(If the b)108 230.4 R .043(uiltin command)-.2 F F2 -.18(re) 2.543 G(tur).18 E(n)-.15 E F1 .043(is e)2.543 F -.15(xe)-.15 G .043 (cuted in a function, the function completes and e).15 F -.15(xe)-.15 G -.044(cution resumes with).15 F .683(the ne)108 230.4 R .683 +.044(cution resumes with).15 F .683(the ne)108 242.4 R .683 (xt command after the function call.)-.15 F(If)5.683 E F2 -.18(re)3.183 G(tur).18 E(n)-.15 E F1 .683(is supplied a numeric ar)3.183 F .683 (gument, that is the function')-.18 F(s)-.55 E .851 -(return status; otherwise the function')108 242.4 R 3.351(sr)-.55 G .851 +(return status; otherwise the function')108 254.4 R 3.351(sr)-.55 G .851 (eturn status is the e)-3.351 F .851(xit status of the last command e) --.15 F -.15(xe)-.15 G .852(cuted before).15 F(the)108 254.4 Q F2 -.18 +-.15 F -.15(xe)-.15 G .852(cuted before).15 F(the)108 266.4 Q F2 -.18 (re)4.667 G(tur).18 E(n)-.15 E F1 7.167(.A)C 2.466 -.15(ny c)-7.167 H 2.166(ommand associated with the).15 F F2(RETURN)4.666 E F1 2.166 (trap is e)4.666 F -.15(xe)-.15 G 2.166(cuted before e).15 F -.15(xe) -.15 G 2.166(cution resumes.).15 F .13(When a function completes, the v) -108 266.4 R .13 +108 278.4 R .13 (alues of the positional parameters and the special parameter)-.25 F F2 -(#)2.63 E F1 .13(are restored)2.63 F(to the v)108 278.4 Q(alues the)-.25 +(#)2.63 E F1 .13(are restored)2.63 F(to the v)108 290.4 Q(alues the)-.25 E 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe) --2.65 G(cution.).15 E(The)108 295.2 Q F22.707 E F1 .207 +-2.65 G(cution.).15 E(The)108 307.2 Q F22.707 E F1 .207 (option to the)2.707 F F2(declar)2.707 E(e)-.18 E F1(or)2.707 E F2 (typeset)2.707 E F1 -.2(bu)2.707 G .206 (iltin commands lists function names and de\214nitions.).2 F(The)5.206 E -F22.706 E F1(op-)2.706 E .655(tion to)108 307.2 R F2(declar)3.155 +F22.706 E F1(op-)2.706 E .655(tion to)108 319.2 R F2(declar)3.155 E(e)-.18 E F1(or)3.155 E F2(typeset)3.155 E F1 .655(lists the function \ names only \(and optionally the source \214le and line number)3.155 F -3.155(,i)-.4 G(f)-3.155 E(the)108 319.2 Q F2(extdeb)3.032 E(ug)-.2 E F1 +3.155(,i)-.4 G(f)-3.155 E(the)108 331.2 Q F2(extdeb)3.032 E(ug)-.2 E F1 .532(shell option is enabled\).)3.032 F .532(Functions may be e)5.532 F .532(xported so that child shell processes \(those cre-)-.15 F .441 -(ated when e)108 331.2 R -.15(xe)-.15 G .441(cuting a separate shell in) +(ated when e)108 343.2 R -.15(xe)-.15 G .441(cuting a separate shell in) .15 F -.2(vo)-.4 G .441(cation\) automatically ha).2 F .741 -.15(ve t) -.2 H .441(hem de\214ned with the).15 F F22.942 E F1 .442 -(option to the)2.942 F F2(export)108 343.2 Q F1 -.2(bu)2.5 G 2.5 +(option to the)2.942 F F2(export)108 355.2 Q F1 -.2(bu)2.5 G 2.5 (iltin. The).2 F F22.5 E F1(option to the)2.5 E F2(unset)2.5 E F1 -.2(bu)2.5 G(iltin deletes a function de\214nition.).2 E .372 -(Functions may be recursi)108 360 R -.15(ve)-.25 G 5.371(.T).15 G(he) +(Functions may be recursi)108 372 R -.15(ve)-.25 G 5.371(.T).15 G(he) -5.371 E F2(FUNCNEST)2.871 E F1 -.25(va)2.871 G .371 (riable may be used to limit the depth of the function call).25 F .421 -(stack and restrict the number of function in)108 372 R -.2(vo)-.4 G +(stack and restrict the number of function in)108 384 R -.2(vo)-.4 G 2.922(cations. By).2 F(def)2.922 E(ault,)-.1 E F2(bash)2.922 E F1 .422 -(imposes no limit on the number of)2.922 F(recursi)108 384 Q .3 -.15 -(ve c)-.25 H(alls.).15 E/F4 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 400.8 +(imposes no limit on the number of)2.922 F(recursi)108 396 Q .3 -.15 +(ve c)-.25 H(alls.).15 E/F4 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 412.8 Q(ALU)-1.478 E -1.04(AT)-.657 G(ION)1.04 E F1 1.089(The shell allo)108 -412.8 R 1.089(ws arithmetic e)-.25 F 1.089(xpressions to be e)-.15 F +424.8 R 1.089(ws arithmetic e)-.25 F 1.089(xpressions to be e)-.15 F -.25(va)-.25 G 1.089(luated, under certain circumstances \(see the).25 F -F2(let)3.588 E F1(and)3.588 E F2(de-)3.588 E(clar)108 424.8 Q(e)-.18 E +F2(let)3.588 E F1(and)3.588 E F2(de-)3.588 E(clar)108 436.8 Q(e)-.18 E F1 -.2(bu)3.187 G .687(iltin commands, the).2 F F2(\(\()3.188 E F1 .688 (compound command, the arithmetic)3.188 F F2 -.25(fo)3.188 G(r).25 E F1 .688(command, the)3.188 F F2([[)3.188 E F1 .688(conditional com-)3.188 F -(mand, and)108 436.8 Q F2(Arithmetic Expansion)2.5 E F1(\).)A(Ev)108 -453.6 Q .256(aluation is done in the lar)-.25 F .256(gest \214x)-.18 F +(mand, and)108 448.8 Q F2(Arithmetic Expansion)2.5 E F1(\).)A(Ev)108 +465.6 Q .256(aluation is done in the lar)-.25 F .256(gest \214x)-.18 F .256(ed-width inte)-.15 F .256(gers a)-.15 F -.25(va)-.2 G .256 (ilable, with no check for o).25 F -.15(ve)-.15 G(r\215o).15 E 1.556 -.65(w, t)-.25 H .256(hough di).65 F(vision)-.25 E .057 -(by 0 is trapped and \215agged as an error)108 465.6 R 5.058(.T)-.55 G +(by 0 is trapped and \215agged as an error)108 477.6 R 5.058(.T)-.55 G .058(he operators and their precedence, associati)-5.058 F(vity)-.25 E 2.558(,a)-.65 G .058(nd v)-2.558 F .058(alues are the)-.25 F .222 -(same as in the C language.)108 477.6 R .222(The follo)5.222 F .222 +(same as in the C language.)108 489.6 R .222(The follo)5.222 F .222 (wing list of operators is grouped into le)-.25 F -.15(ve)-.25 G .221 -(ls of equal-precedence oper).15 F(-)-.2 E 2.5(ators. The)108 489.6 R +(ls of equal-precedence oper).15 F(-)-.2 E 2.5(ators. The)108 501.6 R (le)2.5 E -.15(ve)-.25 G -(ls are listed in order of decreasing precedence.).15 E F0(id)108 506.4 -Q F2(++)A F0(id)2.5 E F2A F1 -.25(va)144 518.4 S -(riable post-increment and post-decrement).25 E F2(++)108 530.4 Q F0(id) -A F22.5 E F0(id)A F1 -.25(va)144 542.4 S -(riable pre-increment and pre-decrement).25 E F2 2.5108 554.4 S F1 -(unary minus and plus)144 554.4 Q F2 2.5<2101>108 566.4 S F1 -(logical and bitwise ne)144 566.4 Q -.05(ga)-.15 G(tion).05 E F2(**)108 -578.4 Q F1 -.15(ex)144 578.4 S(ponentiation).15 E F2 2.5(*/%)108 590.4 S -F1(multiplication, di)144 590.4 Q(vision, remainder)-.25 E F2 2.5<2bad> -108 602.4 S F1(addition, subtraction)144 602.4 Q F2(<< >>)108 614.4 Q F1 -(left and right bitwise shifts)144 614.4 Q F2(<= >= < >)108 626.4 Q F1 -(comparison)144 638.4 Q F2(== !=)108 650.4 Q F1(equality and inequality) -144 650.4 Q F2(&)108 662.4 Q F1(bitwise AND)144 662.4 Q F2<00>108 674.4 -Q F1(bitwise e)144 674.4 Q(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2 -(|)108 686.4 Q F1(bitwise OR)144 686.4 Q F2(&&)108 698.4 Q F1 -(logical AND)144 698.4 Q(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E -(37)188.45 E 0 Cg EP +(ls are listed in order of decreasing precedence.).15 E F0(id)108 518.4 +Q F2(++)A F0(id)2.5 E F2A F1 -.25(va)144 530.4 S +(riable post-increment and post-decrement).25 E F2(++)108 542.4 Q F0(id) +A F22.5 E F0(id)A F1 -.25(va)144 554.4 S +(riable pre-increment and pre-decrement).25 E F2 2.5108 566.4 S F1 +(unary minus and plus)144 566.4 Q F2 2.5<2101>108 578.4 S F1 +(logical and bitwise ne)144 578.4 Q -.05(ga)-.15 G(tion).05 E F2(**)108 +590.4 Q F1 -.15(ex)144 590.4 S(ponentiation).15 E F2 2.5(*/%)108 602.4 S +F1(multiplication, di)144 602.4 Q(vision, remainder)-.25 E F2 2.5<2bad> +108 614.4 S F1(addition, subtraction)144 614.4 Q F2(<< >>)108 626.4 Q F1 +(left and right bitwise shifts)144 626.4 Q F2(<= >= < >)108 638.4 Q F1 +(comparison)144 650.4 Q F2(== !=)108 662.4 Q F1(equality and inequality) +144 662.4 Q F2(&)108 674.4 Q F1(bitwise AND)144 674.4 Q F2<00>108 686.4 +Q F1(bitwise e)144 686.4 Q(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2 +(|)108 698.4 Q F1(bitwise OR)144 698.4 Q(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(37)198.445 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(||)108 84 Q F1(logical OR)144 -84 Q F0 -.2(ex)108 96 S(pr).2 E F2(?)A F0 -.2(ex)C(pr).2 E F2(:)A F0 -.2 -(ex)C(pr).2 E F1(conditional operator)144 108 Q F2 2.5(=*)108 120 S 2.5 -(=/)-2.5 G 2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G -(<= >>= &= \000= |=)-2.5 E F1(assignment)144 132 Q F0 -.2(ex)108 144 S -(pr1).2 E F2(,)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1(comma)144 156 Q .68 -(Shell v)108 172.8 R .68(ariables are allo)-.25 F .68 +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(&&)108 84 Q F1(logical AND) +144 84 Q F2(||)108 96 Q F1(logical OR)144 96 Q F0 -.2(ex)108 108 S(pr).2 +E F2(?)A F0 -.2(ex)C(pr).2 E F2(:)A F0 -.2(ex)C(pr).2 E F1 +(conditional operator)144 120 Q F2 2.5(=*)108 132 S 2.5(=/)-2.5 G 2.5 +(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G +(<= >>= &= \000= |=)-2.5 E F1(assignment)144 144 Q F0 -.2(ex)108 156 S +(pr1).2 E F2(,)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1(comma)144 168 Q .68 +(Shell v)108 184.8 R .68(ariables are allo)-.25 F .68 (wed as operands; parameter e)-.25 F .68 (xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F --.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 184.8 R 1.008(ithin an e)-.4 +-.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 196.8 R 1.008(ithin an e)-.4 F 1.008(xpression, shell v)-.15 F 1.007 (ariables may also be referenced by name without using the parameter) --.25 F -.15(ex)108 196.8 S .68(pansion syntax.).15 F .68 +-.25 F -.15(ex)108 208.8 S .68(pansion syntax.).15 F .68 (This means you can use "x", where)5.68 F F0(x)3.181 E F1 .681 (is a shell v)3.181 F .681(ariable name, in an arithmetic e)-.25 F -(xpres-)-.15 E .206(sion, and the shell will e)108 208.8 R -.25(va)-.25 +(xpres-)-.15 E .206(sion, and the shell will e)108 220.8 R -.25(va)-.25 G .205(luate its v).25 F .205(alue as an e)-.25 F .205 (xpression and use the result.)-.15 F 2.705(As)5.205 G .205(hell v) --2.705 F .205(ariable that is null or)-.25 F(unset e)108 220.8 Q -.25 +-2.705 F .205(ariable that is null or)-.25 F(unset e)108 232.8 Q -.25 (va)-.25 G(luates to 0 when referenced by name in an e).25 E(xpression.) --.15 E .828(The v)108 237.6 R .828(alue of a v)-.25 F .828(ariable is e) +-.15 E .828(The v)108 249.6 R .828(alue of a v)-.25 F .828(ariable is e) -.25 F -.25(va)-.25 G .828(luated as an arithmetic e).25 F .829 (xpression when it is referenced, or when a v)-.15 F(ariable)-.25 E .192 -(which has been gi)108 249.6 R -.15(ve)-.25 G 2.692(nt).15 G(he)-2.692 E +(which has been gi)108 261.6 R -.15(ve)-.25 G 2.692(nt).15 G(he)-2.692 E F0(inte)2.692 E -.1(ge)-.4 G(r).1 E F1(attrib)2.692 E .192(ute using)-.2 F F2(declar)2.692 E 2.692<65ad>-.18 G(i)-2.692 E F1 .191 (is assigned a v)2.692 F 2.691(alue. A)-.25 F .191(null v)2.691 F .191 -(alue e)-.25 F -.25(va)-.25 G .191(luates to 0.).25 F 2.5(As)108 261.6 S +(alue e)-.25 F -.25(va)-.25 G .191(luates to 0.).25 F 2.5(As)108 273.6 S (hell v)-2.5 E(ariable need not ha)-.25 E .3 -.15(ve i)-.2 H(ts).15 E F0 (inte)2.5 E -.1(ge)-.4 G(r).1 E F1(attrib)2.5 E -(ute turned on to be used in an e)-.2 E(xpression.)-.15 E(Inte)108 278.4 +(ute turned on to be used in an e)-.2 E(xpression.)-.15 E(Inte)108 290.4 Q .517(ger constants follo)-.15 F 3.017(wt)-.25 G .518 (he C language de\214nition, without suf)-3.017 F<8c78>-.25 E .518 (es or character constants.)-.15 F .518(Constants with)5.518 F 3.283(al) -108 290.4 S .783(eading 0 are interpreted as octal numbers.)-3.283 F +108 302.4 S .783(eading 0 are interpreted as octal numbers.)-3.283 F 3.282(Al)5.783 G .782(eading 0x or 0X denotes he)-3.282 F 3.282 -(xadecimal. Otherwise,)-.15 F(num-)3.282 E .815(bers tak)108 302.4 R +(xadecimal. Otherwise,)-.15 F(num-)3.282 E .815(bers tak)108 314.4 R 3.315(et)-.1 G .815(he form [)-3.315 F F0(base#)A F1 .815 (]n, where the optional)B F0(base)3.315 E F1 .816 (is a decimal number between 2 and 64 representing)3.315 F .35 -(the arithmetic base, and)108 314.4 R F0(n)2.85 E F1 .35 +(the arithmetic base, and)108 326.4 R F0(n)2.85 E F1 .35 (is a number in that base.)2.85 F(If)5.35 E F0(base#)2.849 E F1 .349 (is omitted, then base 10 is used.)2.849 F .349(When speci-)5.349 F -(fying)108 326.4 Q F0(n)2.974 E F1 2.974(,i)C 2.974(fan)-2.974 G .474(o\ +(fying)108 338.4 Q F0(n)2.974 E F1 2.974(,i)C 2.974(fan)-2.974 G .474(o\ n-digit is required, the digits greater than 9 are represented by the l\ o)-2.974 F .475(wercase letters, the up-)-.25 F .518 -(percase letters, @, and _, in that order)108 338.4 R 5.518(.I)-.55 G(f) +(percase letters, @, and _, in that order)108 350.4 R 5.518(.I)-.55 G(f) -5.518 E F0(base)3.018 E F1 .518(is less than or equal to 36, lo)3.018 F .518(wercase and uppercase letters)-.25 F (may be used interchangeably to represent numbers between 10 and 35.)108 -350.4 Q 1.127(Operators are e)108 367.2 R -.25(va)-.25 G 1.127 +362.4 Q 1.127(Operators are e)108 379.2 R -.25(va)-.25 G 1.127 (luated in precedence order).25 F 6.128(.S)-.55 G(ub-e)-6.128 E 1.128 (xpressions in parentheses are e)-.15 F -.25(va)-.25 G 1.128 -(luated \214rst and may).25 F -.15(ove)108 379.2 S +(luated \214rst and may).25 F -.15(ove)108 391.2 S (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95 -/Times-Bold@0 SF(CONDITION)72 396 Q(AL EXPRESSIONS)-.219 E F1 .256 -(Conditional e)108 408 R .256(xpressions are used by the)-.15 F F2([[) +/Times-Bold@0 SF(CONDITION)72 408 Q(AL EXPRESSIONS)-.219 E F1 .256 +(Conditional e)108 420 R .256(xpressions are used by the)-.15 F F2([[) 2.755 E F1 .255(compound command and the)2.755 F F2(test)2.755 E F1(and) 2.755 E F2([)2.755 E F1 -.2(bu)2.755 G .255(iltin commands to test).2 F -.133(\214le attrib)108 420 R .133 +.133(\214le attrib)108 432 R .133 (utes and perform string and arithmetic comparisons.)-.2 F(The)5.133 E F2(test)2.633 E F1(and)2.633 E F2([)2.634 E F1 .134 -(commands determine their be-)2.634 F(ha)108 432 Q .198 +(commands determine their be-)2.634 F(ha)108 444 Q .198 (vior based on the number of ar)-.2 F .197 (guments; see the descriptions of those commands for an)-.18 F 2.697(yo) --.15 G .197(ther command-)-2.697 F(speci\214c actions.)108 444 Q .413 +-.15 G .197(ther command-)-2.697 F(speci\214c actions.)108 456 Q .413 (Expressions are formed from the unary or binary primaries listed belo) -108 460.8 R 4.214 -.65(w. U)-.25 H .414(nary e).65 F .414 -(xpressions are often used)-.15 F .701(to e)108 472.8 R .701 +108 472.8 R 4.214 -.65(w. U)-.25 H .414(nary e).65 F .414 +(xpressions are often used)-.15 F .701(to e)108 484.8 R .701 (xamine the status of a \214le or shell v)-.15 F 3.201(ariable. Binary) -.25 F .7(operators are used for string, numeric, and \214le at-)3.2 F -(trib)108 484.8 Q(ute comparisons.)-.2 E F2(Bash)108 501.6 Q F1 1.202 +(trib)108 496.8 Q(ute comparisons.)-.2 E F2(Bash)108 513.6 Q F1 1.202 (handles se)3.702 F -.15(ve)-.25 G 1.202 (ral \214lenames specially when the).15 F 3.703(ya)-.15 G 1.203 (re used in e)-3.703 F 3.703(xpressions. If)-.15 F 1.203 -(the operating system on)3.703 F(which)108 513.6 Q F2(bash)2.64 E F1 .14 +(the operating system on)3.703 F(which)108 525.6 Q F2(bash)2.64 E F1 .14 (is running pro)2.64 F .139(vides these special \214les, bash will use \ them; otherwise it will emulate them inter)-.15 F(-)-.2 E .991 -(nally with this beha)108 525.6 R .991(vior: If an)-.2 F(y)-.15 E F0 +(nally with this beha)108 537.6 R .991(vior: If an)-.2 F(y)-.15 E F0 (\214le)3.491 E F1(ar)3.491 E .991 (gument to one of the primaries is of the form)-.18 F F0(/de)5.157 E (v/fd/n)-.15 E F1 3.491(,t)1.666 G(hen)-3.491 E F2(bash)3.491 E F1 .882 -(checks \214le descriptor)108 537.6 R F0(n)3.382 E F1 5.882(.I)C 3.382 +(checks \214le descriptor)108 549.6 R F0(n)3.382 E F1 5.882(.I)C 3.382 (ft)-5.882 G(he)-3.382 E F0(\214le)3.382 E F1(ar)3.382 E .882 (gument to one of the primaries is one of)-.18 F F0(/de)5.048 E(v/stdin) -.15 E F1(,)1.666 E F0(/de)5.048 E(v/stdout)-.15 E F1 3.382(,o)1.666 G -(r)-3.382 E F0(/de)109.666 549.6 Q(v/stderr)-.15 E F1(,)1.666 E F2(bash) +(r)-3.382 E F0(/de)109.666 561.6 Q(v/stderr)-.15 E F1(,)1.666 E F2(bash) 2.5 E F1(checks \214le descriptor 0, 1, or 2, respecti)2.5 E -.15(ve) -.25 G(ly).15 E(.)-.65 E .721 (Unless otherwise speci\214ed, primaries that operate on \214les follo) -108 566.4 R 3.221(ws)-.25 G .722(ymbolic links and operate on the tar) --3.221 F(get)-.18 E(of the link, rather than the link itself.)108 578.4 -Q .642(When used with)108 595.2 R F2([[)3.142 E F1 3.142(,o)C 3.142(rw) +108 578.4 R 3.221(ws)-.25 G .722(ymbolic links and operate on the tar) +-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 590.4 +Q .642(When used with)108 607.2 R F2([[)3.142 E F1 3.142(,o)C 3.142(rw) -3.142 G .642(hen the shell is in posix mode, the)-3.142 F F2(<)3.141 E F1(and)3.141 E F2(>)3.141 E F1 .641(operators sort le)3.141 F .641 -(xicographically using)-.15 F(the current locale.)108 607.2 Q +(xicographically using)-.15 F(the current locale.)108 619.2 Q (When the shell is not in posix mode, the)5 E F2(test)2.5 E F1 -(command sorts using ASCII ordering.)2.5 E F2108 624 Q F0(\214le) -2.5 E F1 -.35(Tr)144 624 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists.).15 E F2108 636 Q F0(\214le)2.5 E F1 -.35(Tr)144 636 S +(command sorts using ASCII ordering.)2.5 E F2108 636 Q F0(\214le) +2.5 E F1 -.35(Tr)144 636 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists.).15 E F2108 648 Q F0(\214le)2.5 E F1 -.35(Tr)144 648 S (ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and is a block special \214le.).15 E F2108 648 Q F0(\214le) -2.5 E F1 -.35(Tr)144 648 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and is a character special \214le.).15 E F2108 660 Q F0 -(\214le)2.5 E F1 -.35(Tr)144 660 S(ue if).35 E F0(\214le)2.5 E F1 -.15 -(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F2108 672 Q F0 +(ists and is a block special \214le.).15 E F2108 660 Q F0(\214le) +2.5 E F1 -.35(Tr)144 660 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists and is a character special \214le.).15 E F2108 672 Q F0 (\214le)2.5 E F1 -.35(Tr)144 672 S(ue if).35 E F0(\214le)2.5 E F1 -.15 -(ex)2.5 G(ists.).15 E F2108 684 Q F0(\214le)2.5 E F1 -.35(Tr)144 -684 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G(ists and is a re).15 -E(gular \214le.)-.15 E F2108 696 Q F0(\214le)2.5 E F1 -.35(Tr)144 -696 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and is set-group-id.).15 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(38)188.45 E 0 Cg EP +(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F2108 684 Q F0 +(\214le)2.5 E F1 -.35(Tr)144 684 S(ue if).35 E F0(\214le)2.5 E F1 -.15 +(ex)2.5 G(ists.).15 E F2108 696 Q F0(\214le)2.5 E F1 -.35(Tr)144 +696 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G(ists and is a re).15 +E(gular \214le.)-.15 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(38) +198.445 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF108 84 Q F0(\214le)2.5 E +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF108 84 Q F0(\214le)2.5 E F1 -.35(Tr)144 84 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F2108 96 Q F0(\214le)2.5 E F1 +(ists and is set-group-id.).15 E F2108 96 Q F0(\214le)2.5 E F1 -.35(Tr)144 96 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and its \231stick).15 E(y\232 bit is set.)-.15 E F2108 108 Q -F0(\214le)2.5 E F1 -.35(Tr)144 108 S(ue if).35 E F0(\214le)2.5 E F1 -.15 -(ex)2.5 G(ists and is a named pipe \(FIFO\).).15 E F2108 120 Q F0 -(\214le)2.5 E F1 -.35(Tr)144 120 S(ue if).35 E F0(\214le)2.5 E F1 -.15 -(ex)2.5 G(ists and is readable.).15 E F2108 132 Q F0(\214le)2.5 E -F1 -.35(Tr)144 132 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and has a size greater than zero.).15 E F2108 144 Q F0(fd) -2.5 E F1 -.35(Tr)144 144 S(ue if \214le descriptor).35 E F0(fd)4.47 E F1 -(is open and refers to a terminal.)3.27 E F2108 156 Q F0(\214le) -2.5 E F1 -.35(Tr)144 156 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and its set-user).15 E(-id bit is set.)-.2 E F2108 168 Q F0 -(\214le)2.5 E F1 -.35(Tr)144 168 S(ue if).35 E F0(\214le)2.5 E F1 -.15 -(ex)2.5 G(ists and is writable.).15 E F2108 180 Q F0(\214le)2.5 E -F1 -.35(Tr)144 180 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F2108 192 Q F0 -(\214le)2.5 E F1 -.35(Tr)144 192 S(ue if).35 E F0(\214le)2.5 E F1 -.15 +(ists and is a symbolic link.).15 E F2108 108 Q F0(\214le)2.5 E F1 +-.35(Tr)144 108 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists and its \231stick).15 E(y\232 bit is set.)-.15 E F2108 120 Q +F0(\214le)2.5 E F1 -.35(Tr)144 120 S(ue if).35 E F0(\214le)2.5 E F1 -.15 +(ex)2.5 G(ists and is a named pipe \(FIFO\).).15 E F2108 132 Q F0 +(\214le)2.5 E F1 -.35(Tr)144 132 S(ue if).35 E F0(\214le)2.5 E F1 -.15 +(ex)2.5 G(ists and is readable.).15 E F2108 144 Q F0(\214le)2.5 E +F1 -.35(Tr)144 144 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists and has a size greater than zero.).15 E F2108 156 Q F0(fd) +2.5 E F1 -.35(Tr)144 156 S(ue if \214le descriptor).35 E F0(fd)4.47 E F1 +(is open and refers to a terminal.)3.27 E F2108 168 Q F0(\214le) +2.5 E F1 -.35(Tr)144 168 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists and its set-user).15 E(-id bit is set.)-.2 E F2108 180 Q F0 +(\214le)2.5 E F1 -.35(Tr)144 180 S(ue if).35 E F0(\214le)2.5 E F1 -.15 +(ex)2.5 G(ists and is writable.).15 E F2108 192 Q F0(\214le)2.5 E +F1 -.35(Tr)144 192 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F2108 204 Q F0 +(\214le)2.5 E F1 -.35(Tr)144 204 S(ue if).35 E F0(\214le)2.5 E F1 -.15 (ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15 -(ve g)-.25 H(roup id.).15 E F2108 204 Q F0(\214le)2.5 E F1 -.35 -(Tr)144 204 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F2108 216 Q F0(\214le)2.5 E F1 --.35(Tr)144 216 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ve g)-.25 H(roup id.).15 E F2108 216 Q F0(\214le)2.5 E F1 -.35 +(Tr)144 216 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F2108 228 Q F0(\214le)2.5 E F1 +-.35(Tr)144 228 S(ue if).35 E F0(\214le)2.5 E F1 -.15(ex)2.5 G (ists and has been modi\214ed since it w).15 E(as last accessed.)-.1 E -F2108 228 Q F0(\214le)2.5 E F1 -.35(Tr)144 228 S(ue if).35 E F0 +F2108 240 Q F0(\214le)2.5 E F1 -.35(Tr)144 240 S(ue if).35 E F0 (\214le)2.5 E F1 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E -(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2108 240 Q F0 -(\214le)2.5 E F1 -.35(Tr)144 240 S(ue if).35 E F0(\214le)2.5 E F1 -.15 -(ex)2.5 G(ists and is a sock).15 E(et.)-.1 E F2108 252 Q F0 -(optname)2.5 E F1 -.35(Tr)144 264 S .262(ue if the shell option).35 F F0 +(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2108 252 Q F0 +(\214le)2.5 E F1 -.35(Tr)144 252 S(ue if).35 E F0(\214le)2.5 E F1 -.15 +(ex)2.5 G(ists and is a sock).15 E(et.)-.1 E F2108 264 Q F0 +(optname)2.5 E F1 -.35(Tr)144 276 S .262(ue if the shell option).35 F F0 (optname)2.992 E F1 .262(is enabled.)2.942 F .262 (See the list of options under the description of the)5.262 F F2 -2.763 E F1(option to the)144 276 Q F2(set)2.5 E F1 -.2(bu)2.5 G -(iltin belo).2 E -.65(w.)-.25 G F2108 288 Q F0(varname)2.5 E F1 --.35(Tr)144 300 S .327(ue if the shell v).35 F(ariable)-.25 E F0 +2.763 E F1(option to the)144 288 Q F2(set)2.5 E F1 -.2(bu)2.5 G +(iltin belo).2 E -.65(w.)-.25 G F2108 300 Q F0(varname)2.5 E F1 +-.35(Tr)144 312 S .327(ue if the shell v).35 F(ariable)-.25 E F0 (varname)3.116 E F1 .326(is set \(has been assigned a v)3.006 F 2.826 (alue\). If)-.25 F F0(varname)2.826 E F1 .326(is an inde)2.826 F -.15 -(xe)-.15 G 2.826(da).15 G -.2(r-)-2.826 G .131(ray v)144 312 R .131 +(xe)-.15 G 2.826(da).15 G -.2(r-)-2.826 G .131(ray v)144 324 R .131 (ariable name subscripted by)-.25 F F0(@)2.631 E F1(or)2.631 E F0(*) 2.631 E F1 2.631(,t)C .131(his returns true if the array has an)-2.631 F 2.631(ys)-.15 G .131(et elements.)-2.631 F(If)5.131 E F0(var)2.632 E(-) --.2 E(name)144 324 Q F1 .737(is an associati)3.238 F 1.037 -.15(ve a) +-.2 E(name)144 336 Q F1 .737(is an associati)3.238 F 1.037 -.15(ve a) -.25 H .737(rray v).15 F .737(ariable name subscripted by)-.25 F F0(@) 3.237 E F1(or)3.237 E F0(*)3.237 E F1 3.237(,t)C .737 -(his returns true if an element)-3.237 F(with that k)144 336 Q .3 -.15 -(ey i)-.1 H 2.5(ss).15 G(et.)-2.5 E F2108 348 Q F0(varname)2.5 E -F1 -.35(Tr)144 360 S(ue if the shell v).35 E(ariable)-.25 E F0(varname) -2.79 E F1(is set and is a name reference.)2.68 E F2108 372 Q F0 -(string)2.5 E F1 -.35(Tr)144 384 S(ue if the length of).35 E F0(string) -2.5 E F1(is zero.)2.5 E F0(string)108 396 Q F2108 408 Q F0(string) -2.5 E F1 -.35(Tr)144 420 S(ue if the length of).35 E F0(string)2.84 E F1 -(is non-zero.)2.72 E F0(string1)108 436.8 Q F2(==)2.5 E F0(string2)2.5 E -(string1)108 448.8 Q F2(=)2.5 E F0(string2)2.5 E F1 -.35(Tr)144 460.8 S +(his returns true if an element)-3.237 F(with that k)144 348 Q .3 -.15 +(ey i)-.1 H 2.5(ss).15 G(et.)-2.5 E F2108 360 Q F0(varname)2.5 E +F1 -.35(Tr)144 372 S(ue if the shell v).35 E(ariable)-.25 E F0(varname) +2.79 E F1(is set and is a name reference.)2.68 E F2108 384 Q F0 +(string)2.5 E F1 -.35(Tr)144 396 S(ue if the length of).35 E F0(string) +2.5 E F1(is zero.)2.5 E F0(string)108 408 Q F2108 420 Q F0(string) +2.5 E F1 -.35(Tr)144 432 S(ue if the length of).35 E F0(string)2.84 E F1 +(is non-zero.)2.72 E F0(string1)108 448.8 Q F2(==)2.5 E F0(string2)2.5 E +(string1)108 460.8 Q F2(=)2.5 E F0(string2)2.5 E F1 -.35(Tr)144 472.8 S 1.057(ue if the strings are equal.).35 F F2(=)6.057 E F1 1.057 (should be used with the)3.557 F F2(test)3.558 E F1 1.058(command for) 3.558 F/F3 9/Times-Roman@0 SF(POSIX)3.558 E F1(conformance.)3.308 E .447 -(When used with the)144 472.8 R F2([[)2.946 E F1 .446 +(When used with the)144 484.8 R F2([[)2.946 E F1 .446 (command, this performs pattern matching as described abo)2.946 F .746 --.15(ve \()-.15 H F2(Compound).15 E(Commands)144 484.8 Q F1(\).)A F0 -(string1)108 496.8 Q F2(!=)2.5 E F0(string2)2.5 E F1 -.35(Tr)144 508.8 S -(ue if the strings are not equal.).35 E F0(string1)108 520.8 Q F2(<)2.5 -E F0(string2)2.5 E F1 -.35(Tr)144 532.8 S(ue if).35 E F0(string1)2.5 E +-.15(ve \()-.15 H F2(Compound).15 E(Commands)144 496.8 Q F1(\).)A F0 +(string1)108 508.8 Q F2(!=)2.5 E F0(string2)2.5 E F1 -.35(Tr)144 520.8 S +(ue if the strings are not equal.).35 E F0(string1)108 532.8 Q F2(<)2.5 +E F0(string2)2.5 E F1 -.35(Tr)144 544.8 S(ue if).35 E F0(string1)2.5 E F1(sorts before)2.5 E F0(string2)2.5 E F1(le)2.5 E(xicographically)-.15 -E(.)-.65 E F0(string1)108 544.8 Q F2(>)2.5 E F0(string2)2.5 E F1 -.35 -(Tr)144 556.8 S(ue if).35 E F0(string1)2.5 E F1(sorts after)2.5 E F0 +E(.)-.65 E F0(string1)108 556.8 Q F2(>)2.5 E F0(string2)2.5 E F1 -.35 +(Tr)144 568.8 S(ue if).35 E F0(string1)2.5 E F1(sorts after)2.5 E F0 (string2)2.5 E F1(le)2.5 E(xicographically)-.15 E(.)-.65 E F0(\214le1) -108 573.6 Q F2(\255ef)2.5 E F0(\214le2)2.5 E F1 -.35(Tr)144 585.6 S +108 585.6 Q F2(\255ef)2.5 E F0(\214le2)2.5 E F1 -.35(Tr)144 597.6 S (ue if).35 E F0(\214le1)2.5 E F1(and)2.5 E F0(\214le2)2.5 E F1 (refer to the same de)2.5 E(vice and inode numbers.)-.25 E F0(\214le1) -108 597.6 Q F12.5 E F2(nt)A F0(\214le2)2.5 E F1 -.35(Tr)144 609.6 S +108 609.6 Q F12.5 E F2(nt)A F0(\214le2)2.5 E F1 -.35(Tr)144 621.6 S (ue if).35 E F0(\214le1)2.5 E F1(is ne)2.5 E (wer \(according to modi\214cation date\) than)-.25 E F0(\214le2)2.5 E F1 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F0(\214le1)2.5 E F1 -.15(ex)2.5 G -(ists and).15 E F0(\214le2)2.5 E F1(does not.)2.5 E F0(\214le1)108 621.6 -Q F12.5 E F2(ot)A F0(\214le2)2.5 E F1 -.35(Tr)144 633.6 S(ue if).35 +(ists and).15 E F0(\214le2)2.5 E F1(does not.)2.5 E F0(\214le1)108 633.6 +Q F12.5 E F2(ot)A F0(\214le2)2.5 E F1 -.35(Tr)144 645.6 S(ue if).35 E F0(\214le1)2.5 E F1(is older than)2.5 E F0(\214le2)2.5 E F1 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F0(\214le2)2.5 E F1 -.15(ex)2.5 G(ists and).15 E -F0(\214le1)2.5 E F1(does not.)2.5 E F0(ar)108.33 650.4 Q(g1)-.37 E F2 -(OP)2.5 E F0(ar)2.5 E(g2)-.37 E/F4 9/Times-Bold@0 SF(OP)144 662.4 Q F1 +F0(\214le1)2.5 E F1(does not.)2.5 E F0(ar)108.33 662.4 Q(g1)-.37 E F2 +(OP)2.5 E F0(ar)2.5 E(g2)-.37 E/F4 9/Times-Bold@0 SF(OP)144 674.4 Q F1 .385(is one of)2.634 F F2(\255eq)2.885 E F1(,)A F2(\255ne)2.885 E F1(,)A F2(\255lt)2.885 E F1(,)A F2(\255le)2.885 E F1(,)A F2(\255gt)2.885 E F1 2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F1 5.385(.T)C .385 (hese arithmetic binary operators return true if)-5.385 F F0(ar)2.885 E (g1)-.37 E F1 .845(is equal to, not equal to, less than, less than or e\ -qual to, greater than, or greater than or equal to)144 674.4 R F0(ar)144 -686.4 Q(g2)-.37 E F1 3.708(,r)C(especti)-3.708 E -.15(ve)-.25 G(ly).15 E +qual to, greater than, or greater than or equal to)144 686.4 R F0(ar)144 +698.4 Q(g2)-.37 E F1 3.708(,r)C(especti)-3.708 E -.15(ve)-.25 G(ly).15 E (.)-.65 E F0(ar)6.538 E(g1)-.37 E F1(and)3.708 E F0(ar)4.038 E(g2)-.37 E F1 1.209(may be positi)3.728 F 1.509 -.15(ve o)-.25 H 3.709(rn).15 G -2.25 -.15(eg a)-3.709 H(ti).15 E 1.509 -.15(ve i)-.25 H(nte).15 E 3.709 (gers. When)-.15 F 1.209(used with the)3.709 F F2([[)3.709 E F1 -(command,)144 698.4 Q F0(ar)4.093 E(g1)-.37 E F1(and)3.763 E F0(ar)4.093 +(command,)144 710.4 Q F0(ar)4.093 E(g1)-.37 E F1(and)3.763 E F0(ar)4.093 E(g2)-.37 E F1 1.263(are e)3.783 F -.25(va)-.25 G 1.262 (luated as arithmetic e).25 F 1.262(xpressions \(see)-.15 F F4 1.262 -(ARITHMETIC EV)3.762 F(ALU)-1.215 E(A-)-.54 E(TION)144 710.4 Q F1(abo) -2.301 E -.15(ve)-.15 G 2.551(\). Since).15 F .051(the e)2.551 F .051 -(xpansions the)-.15 F F2([[)2.551 E F1 .051(command performs on)2.551 F -F0(ar)2.881 E(g1)-.37 E F1(and)2.551 E F0(ar)2.881 E(g2)-.37 E F1 .051 -(can potentially re-)2.571 F .736(sult in empty strings, arithmetic e) -144 722.4 R .735(xpression e)-.15 F -.25(va)-.25 G .735 -(luation treats those as e).25 F .735(xpressions that e)-.15 F -.25(va) --.25 G .735(luate to).25 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 -E(39)188.45 E 0 Cg EP +(ARITHMETIC EV)3.762 F(ALU)-1.215 E(A-)-.54 E(TION)144 722.4 Q F1(abo) +3.276 E -.15(ve)-.15 G 3.526(\). Since).15 F 1.026(the e)3.526 F 1.026 +(xpansions the)-.15 F F2([[)3.526 E F1 1.026(command performs on)3.526 F +F0(ar)3.856 E(g1)-.37 E F1(and)3.526 E F0(ar)3.856 E(g2)-.37 E F1 1.027 +(can potentially)3.547 F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E +(39)198.445 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(0.)144 84 Q/F2 10.95/Times-Bold@0 SF -(SIMPLE COMMAND EXP)72 100.8 Q(ANSION)-.81 E F1 .772(When the shell e) -108 112.8 R -.15(xe)-.15 G .772 +.25 E F1(\(1\)).95 E .138(result in empty strings, arithmetic e)144 84 R +.138(xpression e)-.15 F -.25(va)-.25 G .138(luation treats those as e) +.25 F .137(xpressions that e)-.15 F -.25(va)-.25 G .137(luate to).25 F +(0.)144 96 Q/F2 10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 112.8 Q +(ANSION)-.81 E F1 .772(When the shell e)108 124.8 R -.15(xe)-.15 G .772 (cutes a simple command, it performs the follo).15 F .772(wing e)-.25 F .773(xpansions, assignments, and redi-)-.15 F -(rections, from left to right, in the follo)108 124.8 Q(wing order)-.25 -E(.)-.55 E(1.)108 141.6 Q 1.849(The w)144 141.6 R 1.849 +(rections, from left to right, in the follo)108 136.8 Q(wing order)-.25 +E(.)-.55 E(1.)108 153.6 Q 1.849(The w)144 153.6 R 1.849 (ords that the parser has mark)-.1 F 1.848(ed as v)-.1 F 1.848 (ariable assignments \(those preceding the command)-.25 F -(name\) and redirections are sa)144 153.6 Q -.15(ve)-.2 G 2.5(df).15 G -(or later processing.)-2.5 E(2.)108 170.4 Q .179(The w)144 170.4 R .179 +(name\) and redirections are sa)144 165.6 Q -.15(ve)-.2 G 2.5(df).15 G +(or later processing.)-2.5 E(2.)108 182.4 Q .179(The w)144 182.4 R .179 (ords that are not v)-.1 F .179 (ariable assignments or redirections are e)-.25 F 2.68(xpanded. If)-.15 F(an)2.68 E 2.68(yw)-.15 G .18(ords remain af-)-2.78 F .347(ter e)144 -182.4 R .347(xpansion, the \214rst w)-.15 F .347(ord is tak)-.1 F .347 +194.4 R .347(xpansion, the \214rst w)-.15 F .347(ord is tak)-.1 F .347 (en to be the name of the command and the remaining w)-.1 F .346 -(ords are)-.1 F(the ar)144 194.4 Q(guments.)-.18 E(3.)108 211.2 Q -(Redirections are performed as described abo)144 211.2 Q .3 -.15(ve u) +(ords are)-.1 F(the ar)144 206.4 Q(guments.)-.18 E(3.)108 223.2 Q +(Redirections are performed as described abo)144 223.2 Q .3 -.15(ve u) -.15 H(nder).15 E/F3 9/Times-Bold@0 SF(REDIRECTION)2.5 E/F4 9 -/Times-Roman@0 SF(.)A F1(4.)108 228 Q .716(The te)144 228 R .717 +/Times-Roman@0 SF(.)A F1(4.)108 240 Q .716(The te)144 240 R .717 (xt after the)-.15 F/F5 10/Times-Bold@0 SF(=)3.217 E F1 .717(in each v) 3.217 F .717(ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717(xpansion, parameter e)-.15 F(xpansion,)-.15 E .34 -(command substitution, arithmetic e)144 240 R .339 +(command substitution, arithmetic e)144 252 R .339 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339 -(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 252 Q .586 -(If no command name results, the v)108 268.8 R .586 +(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 264 Q .586 +(If no command name results, the v)108 280.8 R .586 (ariable assignments af)-.25 F .586(fect the current shell en)-.25 F 3.087(vironment. In)-.4 F .587(the case of)3.087 F .371(such a command \ \(one that consists only of assignment statements and redirections\), a\ -ssignment statements)108 280.8 R .835 -(are performed before redirections.)108 292.8 R .835(Otherwise, the v) +ssignment statements)108 292.8 R .835 +(are performed before redirections.)108 304.8 R .835(Otherwise, the v) 5.835 F .835(ariables are added to the en)-.25 F .835 (vironment of the e)-.4 F -.15(xe)-.15 G(cuted).15 E .839 -(command and do not af)108 304.8 R .838(fect the current shell en)-.25 F +(command and do not af)108 316.8 R .838(fect the current shell en)-.25 F 3.338(vironment. If)-.4 F(an)3.338 E 3.338(yo)-.15 G 3.338(ft)-3.338 G -.838(he assignments attempts to assign a)-3.338 F -.25(va)108 316.8 S +.838(he assignments attempts to assign a)-3.338 F -.25(va)108 328.8 S (lue to a readonly v).25 E(ariable, an error occurs, and the command e) -.25 E(xits with a non-zero status.)-.15 E .149 -(If no command name results, redirections are performed, b)108 333.6 R +(If no command name results, redirections are performed, b)108 345.6 R .149(ut do not af)-.2 F .15(fect the current shell en)-.25 F 2.65 -(vironment. A)-.4 F(redirection error causes the command to e)108 345.6 +(vironment. A)-.4 F(redirection error causes the command to e)108 357.6 Q(xit with a non-zero status.)-.15 E 1.064 -(If there is a command name left after e)108 362.4 R 1.064(xpansion, e) +(If there is a command name left after e)108 374.4 R 1.064(xpansion, e) -.15 F -.15(xe)-.15 G 1.064(cution proceeds as described belo).15 F 4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .068(command e)108 -374.4 R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069 +386.4 R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069 (xpansions contained a command substitution, the e)-.15 F .069 -(xit status of the command)-.15 F .467(is the e)108 386.4 R .466 +(xit status of the command)-.15 F .467(is the e)108 398.4 R .466 (xit status of the last command substitution performed.)-.15 F .466 -(If there were no command substitutions, the)5.466 F(command e)108 398.4 -Q(xits with a zero status.)-.15 E F2(COMMAND EXECUTION)72 415.2 Q F1 -.546(After a command has been split into w)108 427.2 R .547 +(If there were no command substitutions, the)5.466 F(command e)108 410.4 +Q(xits with a zero status.)-.15 E F2(COMMAND EXECUTION)72 427.2 Q F1 +.546(After a command has been split into w)108 439.2 R .547 (ords, if it results in a simple command and an optional list of ar)-.1 -F(gu-)-.18 E(ments, the shell performs the follo)108 439.2 Q +F(gu-)-.18 E(ments, the shell performs the follo)108 451.2 Q (wing actions.)-.25 E .379(If the command name contains no slashes, the\ - shell attempts to locate it.)108 456 R .379(If there e)5.379 F .379 + shell attempts to locate it.)108 468 R .379(If there e)5.379 F .379 (xists a shell function by)-.15 F .246(that name, that function is in) -108 468 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G .246 +108 480 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G .246 (escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS)2.746 E F4(.)A F1 .246(If the name does not match a func-)4.746 F -(tion, the shell searches for it in the list of shell b)108 480 Q 2.5 +(tion, the shell searches for it in the list of shell b)108 492 Q 2.5 (uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E (uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .31 -(If the name is neither a shell function nor a b)108 496.8 R .309 +(If the name is neither a shell function nor a b)108 508.8 R .309 (uiltin, and contains no slashes,)-.2 F F5(bash)2.809 E F1 .309 -(searches each element of)2.809 F(the)108 508.8 Q F3 -.666(PA)3.162 G +(searches each element of)2.809 F(the)108 520.8 Q F3 -.666(PA)3.162 G (TH)-.189 E F1 .662(for a directory containing an e)2.912 F -.15(xe)-.15 G .662(cutable \214le by that name.).15 F F5(Bash)5.662 E F1 .663 (uses a hash table to remember)3.162 F .859(the full pathnames of e)108 -520.8 R -.15(xe)-.15 G .858(cutable \214les \(see).15 F F5(hash)3.358 E +532.8 R -.15(xe)-.15 G .858(cutable \214les \(see).15 F F5(hash)3.358 E F1(under)3.358 E F3 .858(SHELL B)3.358 F(UIL)-.09 E .858(TIN COMMANDS) -.828 F F1(belo)3.108 E 3.358(w\). Bash)-.25 F(per)3.358 E(-)-.2 E .883 -(forms a full search of the directories in)108 532.8 R F3 -.666(PA)3.383 +(forms a full search of the directories in)108 544.8 R F3 -.666(PA)3.383 G(TH)-.189 E F1 .883 (only if the command is not found in the hash table.)3.133 F .884 (If the)5.884 F .956(search is unsuccessful, the shell searches for a d\ -e\214ned shell function named)108 544.8 R F5(command_not_f)3.455 E -(ound_han-)-.25 E(dle)108 556.8 Q F1 6.005(.I)C 3.505(ft)-6.005 G 1.005 +e\214ned shell function named)108 556.8 R F5(command_not_f)3.455 E +(ound_han-)-.25 E(dle)108 568.8 Q F1 6.005(.I)C 3.505(ft)-6.005 G 1.005 (hat function e)-3.505 F 1.005(xists, it is in)-.15 F -.2(vo)-.4 G -.1 (ke).2 G 3.506(di).1 G 3.506(nas)-3.506 G 1.006(eparate e)-3.506 F -.15 (xe)-.15 G 1.006(cution en).15 F 1.006 (vironment with the original command)-.4 F .256 -(and the original command')108 568.8 R 2.756(sa)-.55 G -.18(rg)-2.756 G +(and the original command')108 580.8 R 2.756(sa)-.55 G -.18(rg)-2.756 G .256(uments as its ar).18 F .256(guments, and the function')-.18 F 2.755 (se)-.55 G .255(xit status becomes the e)-2.905 F .255(xit sta-)-.15 F -.263(tus of that subshell.)108 580.8 R .263(If that function is not de\ +.263(tus of that subshell.)108 592.8 R .263(If that function is not de\ \214ned, the shell prints an error message and returns an e)5.263 F .263 -(xit sta-)-.15 F(tus of 127.)108 592.8 Q 1.089(If the search is success\ +(xit sta-)-.15 F(tus of 127.)108 604.8 Q 1.089(If the search is success\ ful, or if the command name contains one or more slashes, the shell e) -108 609.6 R -.15(xe)-.15 G 1.089(cutes the).15 F .197 -(named program in a separate e)108 621.6 R -.15(xe)-.15 G .197 +108 621.6 R -.15(xe)-.15 G 1.089(cutes the).15 F .197 +(named program in a separate e)108 633.6 R -.15(xe)-.15 G .197 (cution en).15 F 2.698(vironment. Ar)-.4 F .198 (gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .198 -(n, and the remain-).15 F(ing ar)108 633.6 Q +(n, and the remain-).15 F(ing ar)108 645.6 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 1.049(If this e)108 650.4 R +(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.049(If this e)108 662.4 R -.15(xe)-.15 G 1.049(cution f).15 F 1.049 (ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.048 (cutable format, and the \214le is not a directory).15 F 3.548(,i)-.65 G 3.548(ti)-3.548 G 3.548(sa)-3.548 G(s-)-3.548 E .143(sumed to be a)108 -662.4 R F0 .143(shell script)2.643 F F1 2.643(,a\214)C .143 +674.4 R F0 .143(shell script)2.643 F F1 2.643(,a\214)C .143 (le containing shell commands, and the shell creates a ne)-2.643 F 2.643 -(wi)-.25 G .143(nstance of itself to)-2.643 F -.15(exe)108 674.4 S .322 +(wi)-.25 G .143(nstance of itself to)-2.643 F -.15(exe)108 686.4 S .322 (cute it.).15 F .322(Bash tries to determine whether the \214le is a te) 5.322 F .321(xt \214le or a binary)-.15 F 2.821(,a)-.65 G .321 (nd will not e)-2.821 F -.15(xe)-.15 G .321(cute \214les it de-).15 F -.503(termines to be binaries.)108 686.4 R .503 +.503(termines to be binaries.)108 698.4 R .503 (This subshell reinitializes itself, so that the ef)5.503 F .503 (fect is as if a ne)-.25 F 3.003(ws)-.25 G .503(hell had been in-)-3.003 -F -.2(vo)108 698.4 S -.1(ke).2 G 3.474(dt).1 G 3.474(oh)-3.474 G .973 +F -.2(vo)108 710.4 S -.1(ke).2 G 3.474(dt).1 G 3.474(oh)-3.474 G .973 (andle the script, with the e)-3.474 F .973 (xception that the locations of commands remembered by the parent)-.15 F -(\(see)108 710.4 Q F5(hash)2.5 E F1(belo)2.5 E 2.5(wu)-.25 G(nder)-2.5 E +(\(see)108 722.4 Q F5(hash)2.5 E F1(belo)2.5 E 2.5(wu)-.25 G(nder)-2.5 E F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F1 -(are retained by the child.)2.25 E 1.374(If the program is a \214le be) -108 727.2 R 1.374(ginning with)-.15 F F5(#!)3.874 E F1 3.874(,t)C 1.374 -(he remainder of the \214rst line speci\214es an interpreter for the) --3.874 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(40)188.45 E 0 -Cg EP +(are retained by the child.)2.25 E(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(40)198.445 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E 3.993(program. The)108 84 R 1.493(shell e)3.993 F --.15(xe)-.15 G 1.493(cutes the speci\214ed interpreter on operating sys\ -tems that do not handle this e).15 F -.15(xe)-.15 G(-).15 E .002 -(cutable format themselv)108 96 R 2.503(es. The)-.15 F(ar)2.503 E .003 -(guments to the interpreter consist of a single optional ar)-.18 F .003 -(gument follo)-.18 F(wing)-.25 E .297 -(the interpreter name on the \214rst line of the program, follo)108 108 -R .296(wed by the name of the program, follo)-.25 F .296(wed by the)-.25 -F(command ar)108 120 Q(guments, if an)-.18 E -.65(y.)-.15 G/F2 10.95 -/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 136.8 Q(ONMENT)-.329 E F1 -(The shell has an)108 148.8 Q F0 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E +.25 E F1(\(1\)).95 E .347(If the program is a \214le be)108 84 R .347 +(ginning with)-.15 F/F2 10/Times-Bold@0 SF(#!)2.847 E F1 2.847(,t)C .348 +(he remainder of the \214rst line speci\214es an interpreter for the pr\ +o-)-2.847 F 3.178(gram. The)108 96 R .678(shell e)3.178 F -.15(xe)-.15 G +.678(cutes the speci\214ed interpreter on operating systems that do not\ + handle this e).15 F -.15(xe)-.15 G(cutable).15 E .206(format themselv) +108 108 R 2.706(es. The)-.15 F(ar)2.706 E .206 +(guments to the interpreter consist of a single optional ar)-.18 F .206 +(gument follo)-.18 F .206(wing the in-)-.25 F .268 +(terpreter name on the \214rst line of the program, follo)108 120 R .267 +(wed by the name of the program, follo)-.25 F .267(wed by the com-)-.25 +F(mand ar)108 132 Q(guments, if an)-.18 E -.65(y.)-.15 G/F3 10.95 +/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 148.8 Q(ONMENT)-.329 E F1 +(The shell has an)108 160.8 Q F0 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E (onment)-.45 E F1 2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 -E<83>108 165.6 Q 1.257(Open \214les inherited by the shell at in)144 -165.6 R -.2(vo)-.4 G 1.258 -(cation, as modi\214ed by redirections supplied to the).2 F/F3 10 -/Times-Bold@0 SF(exec)3.758 E F1 -.2(bu)144 177.6 S(iltin.).2 E<83>108 -194.4 Q(The current w)144 194.4 Q(orking directory as set by)-.1 E F3 -(cd)2.5 E F1(,)A F3(pushd)2.5 E F1 2.5(,o)C(r)-2.5 E F3(popd)2.5 E F1 -2.5(,o)C 2.5(ri)-2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G -(cation.).2 E<83>108 211.2 Q(The \214le creation mode mask as set by)144 -211.2 Q F3(umask)2.5 E F1(or inherited from the shell')2.5 E 2.5(sp)-.55 -G(arent.)-2.5 E<83>108 228 Q(Current traps set by)144 228 Q F3(trap)2.5 -E F1(.)A<83>108 244.8 Q .152(Shell parameters that are set by v)144 -244.8 R .152(ariable assignment or with)-.25 F F3(set)2.652 E F1 .152 +E<83>108 177.6 Q 1.257(Open \214les inherited by the shell at in)144 +177.6 R -.2(vo)-.4 G 1.258 +(cation, as modi\214ed by redirections supplied to the).2 F F2(exec) +3.758 E F1 -.2(bu)144 189.6 S(iltin.).2 E<83>108 206.4 Q(The current w) +144 206.4 Q(orking directory as set by)-.1 E F2(cd)2.5 E F1(,)A F2 +(pushd)2.5 E F1 2.5(,o)C(r)-2.5 E F2(popd)2.5 E F1 2.5(,o)C 2.5(ri)-2.5 +G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G(cation.).2 E<83>108 +223.2 Q(The \214le creation mode mask as set by)144 223.2 Q F2(umask)2.5 +E F1(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent.)-2.5 E<83> +108 240 Q(Current traps set by)144 240 Q F2(trap)2.5 E F1(.)A<83>108 +256.8 Q .152(Shell parameters that are set by v)144 256.8 R .152 +(ariable assignment or with)-.25 F F2(set)2.652 E F1 .152 (or inherited from the shell')2.652 F 2.651(sp)-.55 G(arent)-2.651 E -(in the en)144 256.8 Q(vironment.)-.4 E<83>108 273.6 Q -(Shell functions de\214ned during e)144 273.6 Q -.15(xe)-.15 G +(in the en)144 268.8 Q(vironment.)-.4 E<83>108 285.6 Q +(Shell functions de\214ned during e)144 285.6 Q -.15(xe)-.15 G (cution or inherited from the shell').15 E 2.5(sp)-.55 G -(arent in the en)-2.5 E(vironment.)-.4 E<83>108 290.4 Q -(Options enabled at in)144 290.4 Q -.2(vo)-.4 G(cation \(either by def) -.2 E(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F3(set) -2.5 E F1(.)A<83>108 307.2 Q(Options enabled by)144 307.2 Q F3(shopt)2.5 -E F1(.)A<83>108 324 Q(Shell aliases de\214ned with)144 324 Q F3(alias) -2.5 E F1(.)A<83>108 340.8 Q -1.11(Va)144 340.8 S +(arent in the en)-2.5 E(vironment.)-.4 E<83>108 302.4 Q +(Options enabled at in)144 302.4 Q -.2(vo)-.4 G(cation \(either by def) +.2 E(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F2(set) +2.5 E F1(.)A<83>108 319.2 Q(Options enabled by)144 319.2 Q F2(shopt)2.5 +E F1(.)A<83>108 336 Q(Shell aliases de\214ned with)144 336 Q F2(alias) +2.5 E F1(.)A<83>108 352.8 Q -1.11(Va)144 352.8 S (rious process IDs, including those of background jobs, the v)1.11 E -(alue of)-.25 E F3($$)2.5 E F1 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E +(alue of)-.25 E F2($$)2.5 E F1 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E /F4 9/Times-Bold@0 SF(PPID)2.5 E/F5 9/Times-Roman@0 SF(.)A F1 .426 -(When a simple command other than a b)108 357.6 R .427 +(When a simple command other than a b)108 369.6 R .427 (uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .427 (cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.927(di).1 G 2.927(nas) --2.927 G(eparate)-2.927 E -.15(exe)108 369.6 S .134(cution en).15 F .134 +-2.927 G(eparate)-2.927 E -.15(exe)108 381.6 S .134(cution en).15 F .134 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F .133(otherwise noted, the v)2.634 F .133(alues are inherited from)-.25 F -(the shell.)108 381.6 Q<83>108 398.4 Q .817(The shell')144 398.4 R 3.317 +(the shell.)108 393.6 Q<83>108 410.4 Q .817(The shell')144 410.4 R 3.317 (so)-.55 G .818(pen \214les, plus an)-3.317 F 3.318(ym)-.15 G .818 (odi\214cations and additions speci\214ed by redirections to the com-) --3.318 F(mand.)144 410.4 Q<83>108 427.2 Q(The current w)144 427.2 Q -(orking directory)-.1 E(.)-.65 E<83>108 444 Q -(The \214le creation mode mask.)144 444 Q<83>108 460.8 Q .729(Shell v) -144 460.8 R .729(ariables and functions mark)-.25 F .729(ed for e)-.1 F +-3.318 F(mand.)144 422.4 Q<83>108 439.2 Q(The current w)144 439.2 Q +(orking directory)-.1 E(.)-.65 E<83>108 456 Q +(The \214le creation mode mask.)144 456 Q<83>108 472.8 Q .729(Shell v) +144 472.8 R .729(ariables and functions mark)-.25 F .729(ed for e)-.1 F .728(xport, along with v)-.15 F .728(ariables e)-.25 F .728 -(xported for the command,)-.15 F(passed in the en)144 472.8 Q -(vironment.)-.4 E<83>108 489.6 Q -.35(Tr)144 489.6 S .131 +(xported for the command,)-.15 F(passed in the en)144 484.8 Q +(vironment.)-.4 E<83>108 501.6 Q -.35(Tr)144 501.6 S .131 (aps caught by the shell are reset to the v).35 F .131 (alues inherited from the shell')-.25 F 2.631(sp)-.55 G .132 -(arent, and traps ignored)-2.631 F(by the shell are ignored.)144 501.6 Q -2.5(Ac)108 518.4 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G +(arent, and traps ignored)-2.631 F(by the shell are ignored.)144 513.6 Q +2.5(Ac)108 530.4 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G 2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E (fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E -(vironment.)-.4 E(A)108 535.2 Q F0(subshell)2.5 E F1(is a cop)2.5 E 2.5 +(vironment.)-.4 E(A)108 547.2 Q F0(subshell)2.5 E F1(is a cop)2.5 E 2.5 (yo)-.1 G 2.5(ft)-2.5 G(he shell process.)-2.5 E .577(Command substitut\ ion, commands grouped with parentheses, and asynchronous commands are i\ -n)108 552 R -.2(vo)-.4 G -.1(ke).2 G 3.077(di).1 G(n)-3.077 E 2.744(as) -108 564 S .244(ubshell en)-2.744 F .244 +n)108 564 R -.2(vo)-.4 G -.1(ke).2 G 3.077(di).1 G(n)-3.077 E 2.744(as) +108 576 S .244(ubshell en)-2.744 F .244 (vironment that is a duplicate of the shell en)-.4 F .245(vironment, e) -.4 F .245(xcept that traps caught by the shell are)-.15 F .359 -(reset to the v)108 576 R .358 +(reset to the v)108 588 R .358 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4 G 2.858(cation. Builtin).2 F .358(commands that are in)2.858 F -.2(vo) --.4 G -.1(ke).2 G(d).1 E .113(as part of a pipeline, e)108 588 R .114 +-.4 G -.1(ke).2 G(d).1 E .113(as part of a pipeline, e)108 600 R .114 (xcept possibly in the last element depending on the v)-.15 F .114 -(alue of the)-.25 F F3(lastpipe)2.614 E F1 .114(shell option,)2.614 F -.692(are also e)108 600 R -.15(xe)-.15 G .692(cuted in a subshell en).15 +(alue of the)-.25 F F2(lastpipe)2.614 E F1 .114(shell option,)2.614 F +.692(are also e)108 612 R -.15(xe)-.15 G .692(cuted in a subshell en).15 F 3.191(vironment. Changes)-.4 F .691(made to the subshell en)3.191 F -.691(vironment cannot af)-.4 F .691(fect the)-.25 F(shell')108 612 Q 2.5 +.691(vironment cannot af)-.4 F .691(fect the)-.25 F(shell')108 624 Q 2.5 (se)-.55 G -.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E .535 -(When the shell is in posix mode, subshells spa)108 628.8 R .535 +(When the shell is in posix mode, subshells spa)108 640.8 R .535 (wned to e)-.15 F -.15(xe)-.15 G .535 (cute command substitutions inherit the v).15 F .535(alue of)-.25 F(the) -108 640.8 Q F32.636 E F1 .136(option from their parent shell.) -2.636 F .135(When not in posix mode,)5.135 F F3(bash)2.635 E F1 .135 -(clears the)2.635 F F32.635 E F1 .135(option in such subshells.) -2.635 F .613(See the description of the)108 652.8 R F3(inherit_err)3.113 +108 652.8 Q F22.636 E F1 .136(option from their parent shell.) +2.636 F .135(When not in posix mode,)5.135 F F2(bash)2.635 E F1 .135 +(clears the)2.635 F F22.635 E F1 .135(option in such subshells.) +2.635 F .613(See the description of the)108 664.8 R F2(inherit_err)3.113 E(exit)-.18 E F1 .613(shell option belo)3.113 F 3.114(wf)-.25 G .614 (or ho)-3.114 F 3.114(wt)-.25 G 3.114(oc)-3.114 G .614(ontrol this beha) --3.114 F .614(vior when not in)-.2 F(posix mode.)108 664.8 Q .405 -(If a command is follo)108 681.6 R .405(wed by a)-.25 F F3(&)2.905 E F1 +-3.114 F .614(vior when not in)-.2 F(posix mode.)108 676.8 Q .405 +(If a command is follo)108 693.6 R .405(wed by a)-.25 F F2(&)2.905 E F1 .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 -1.414(is the empty \214le)108 693.6 R F0(/de)5.58 E(v/null)-.15 E F1 +1.414(is the empty \214le)108 705.6 R F0(/de)5.58 E(v/null)-.15 E F1 6.414(.O)1.666 G 1.414(therwise, the in)-6.414 F -.2(vo)-.4 G -.1(ke).2 G 3.915(dc).1 G 1.415 (ommand inherits the \214le descriptors of the calling)-3.915 F -(shell as modi\214ed by redirections.)108 705.6 Q(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(41)188.45 E 0 Cg EP +(shell as modi\214ed by redirections.)108 717.6 Q(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(41)198.445 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP @@ -5408,7 +5407,7 @@ F4(SIGTSTP)2.5 E F5(.)A F1 2.046(The shell e)108 724.8 R 2.046 (xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E F5(.)A F1 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.345 -.15(ve s)-.25 H 2.045(hell resends the).15 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(42)188.45 E 0 Cg EP +(2025 April 7)149.285 E(42)198.445 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP @@ -5549,7 +5548,7 @@ d that the process ID of the last process in the pipeline associated)108 (and the operating system maintains the notion of a)108 722.4 R F0(curr) 4.479 E 1.979(ent terminal pr)-.37 F 1.98(ocess gr)-.45 F 1.98(oup ID) -.45 F F1 6.98(.T)C 1.98(his terminal)-6.98 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(43)188.45 E 0 Cg EP +(2025 April 7)149.285 E(43)198.445 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP @@ -5693,8 +5692,8 @@ G(he)-2.561 E F4(checkjobs)2.561 E F1 .061 (will)3.145 E .151(return when the job changes state.)108 708 R(The) 5.151 E F42.651 E F1 .151(option causes)2.651 F F4(wait)2.651 E F1 .15(to w)2.65 F .15(ait until the job or process terminates be-)-.1 F -(fore returning.)108 720 Q(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 -E(44)188.45 E 0 Cg EP +(fore returning.)108 720 Q(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E +(44)198.445 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP @@ -5798,8 +5797,8 @@ mmand substitution or contain characters spe-)-.25 F(cial to w)108 684 Q 108 724.8 R -.2(vo)-.4 G 3.073(cation. Line).2 F .573 (editing is also used when using the)3.073 F F33.073 E F1 .573 (option to the)3.073 F F3 -.18(re)3.074 G(ad).18 E F1 -.2(bu)3.074 G -3.074(iltin. By).2 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(45) -188.45 E 0 Cg EP +3.074(iltin. By).2 F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(45) +198.445 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP @@ -5941,8 +5940,8 @@ E F1 2.5(,m)C(ay add their o)-2.5 E(wn commands and bindings.)-.25 E E F1(,)1.27 E F0(RETURN)3.13 E F1(,)1.1 E F0 -.4(RU)2.5 G(BOUT).4 E F1 (\(a destructi)3.77 E .3 -.15(ve b)-.25 H(ackspace\),).15 E F0(SP)2.83 E -.3(AC)-.9 G(E).3 E F1(,).73 E F0(SPC)2.83 E F1 2.5(,a).72 G(nd)-2.5 E -F0 -.5(TA)2.5 G(B).5 E F1(.).27 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(46)188.45 E 0 Cg EP +F0 -.5(TA)2.5 G(B).5 E F1(.).27 E(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(46)198.445 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP @@ -6047,8 +6046,7 @@ F23.696 E(emacs)108 724.8 Q F1(or)3.673 E F2 1.173(\255o vi)3.673 F F1 1.173(options to the)3.673 F F2(set)3.673 E F1 -.2(bu)3.673 G 1.174 (iltin \(see).2 F/F4 9/Times-Bold@0 SF 1.174(SHELL B)3.674 F(UIL)-.09 E 1.174(TIN COMMANDS)-.828 F F1(belo)3.424 E 1.174(w\) change the editing) --.25 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(47)188.45 E 0 Cg -EP +-.25 F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(47)198.445 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP @@ -6175,7 +6173,7 @@ E F2(LS_COLORS)2.5 E F1(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E F2 (adline insert\255comment).18 F F1 .477(command inserts.)2.977 F .477 (This command is bound to)5.477 F F2(M\255#)2.977 E F1 (in emacs mode and to)144 724.8 Q F2(#)2.5 E F1(in vi command mode.)2.5 -E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(48)188.45 E 0 Cg EP +E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(48)198.445 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP @@ -6302,7 +6300,7 @@ R -.15(ey)-.1 G(-).15 E 4.556(board. This)144 720 R 2.056(is called) F F1 4.556(;i)C 4.556(tp)-4.556 G(re)-4.556 E -.15(ve)-.25 G(nts).15 E F2 -.18(re)4.556 G(adline).18 E F1 2.056(from e)4.556 F -.15(xe)-.15 G 2.055(cuting an).15 F 4.555(ye)-.15 G(diting)-4.555 E(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(49)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(49)198.445 E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP @@ -6436,8 +6434,8 @@ F -.25(va)2.651 G .151(lue is speci\214ed in milliseconds, so a v).25 F E F2 -.18(re)3.783 G(adline).18 E F1 -.1(wa)3.783 G 1.283 (its until another k).1 F 1.583 -.15(ey i)-.1 H(s).15 E (pressed to decide which k)144 720 Q .3 -.15(ey s)-.1 H -(equence to complete.).15 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(50)188.45 E 0 Cg EP +(equence to complete.).15 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E +(50)198.445 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP @@ -6542,8 +6540,8 @@ point in the w)144 672 R .282(ord being com-)-.1 F .518(riable is enabled, this string is displayed immediately before the) .25 F .475(last line of the primary prompt when vi editing mode is acti) 144 720 R .775 -.15(ve a)-.25 H .475(nd in command mode.).15 F .475 -(The v)5.475 F(alue)-.25 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 -E(51)188.45 E 0 Cg EP +(The v)5.475 F(alue)-.25 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E +(51)198.445 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP @@ -6656,7 +6654,7 @@ e comparison operator by whitespace; the operator may be separated from) 180 710.4 R 1.588(the v)180 722.4 R 1.587 (alue on the right hand side by whitespace.)-.25 F 1.587 (String and boolean v)6.587 F 1.587(ariables may be)-.25 F(GNU Bash 5.3) -72 768 Q(2025 February 24)139.29 E(52)188.45 E 0 Cg EP +72 768 Q(2025 April 7)149.285 E(52)198.445 E 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP @@ -6780,7 +6778,7 @@ G(ome k)-2.5 E -.15(ey)-.1 G(boards.).15 E F2 (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F (characters \(letters and digits\).)144 729.6 Q(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(53)188.45 E 0 Cg EP +(2025 April 7)149.285 E(53)198.445 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP @@ -6880,8 +6878,8 @@ F1 1.499(Clear the screen and, if possible, the terminal')144 276 R (This is an incremental search.)144 700.8 R .29 (This command sets the re)5.29 F .29(gion to the matched te)-.15 F .29 (xt and acti)-.15 F -.25(va)-.25 G .29(tes the).25 F(re)144 712.8 Q -(gion.)-.15 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(54)188.45 -E 0 Cg EP +(gion.)-.15 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(54)198.445 E +0 Cg EP %%Page: 55 55 %%BeginPageSetup BP @@ -6991,8 +6989,7 @@ E(ANSION)-.666 E F1(belo)2.859 E 3.109(wf)-.25 G .609(or a de-)-3.109 F .395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 684 Q F2 (history\255and\255alias\255expand\255line)108 696 Q F1 (Perform history and alias e)144 708 Q(xpansion on the current line.) --.15 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(55)188.45 E 0 Cg -EP +-.15 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(55)198.445 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP @@ -7097,7 +7094,7 @@ E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F2(do)108 664.8 Q -.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975 (ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 724.8 S(rd, b) .1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(56)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(56)198.445 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP @@ -7192,7 +7189,7 @@ F1 -1(Ya)144 688.8 S(nk the top of the kill ring into the b)1 E(uf)-.2 E (Rotate the kill ring, and yank the ne)144 712.8 Q 2.5(wt)-.25 G 2.5 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F2(yank)2.5 E F1(or)2.5 E F2(yank\255pop)2.5 E F1(.)A(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(57)188.45 E 0 Cg EP +(2025 April 7)149.285 E(57)198.445 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP @@ -7309,7 +7306,7 @@ le to accommodate the possibility of a blank line.)144 703.2 R .481 R F0(N)3.344 E F1 .844(lines after the line containing)3.344 F F0(S) 3.345 E F1(:)A F0(E)A F1 .845(to obtain the match list.)3.345 F (This command is unbound by def)144 727.2 Q(ault.)-.1 E(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(58)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(58)198.445 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP @@ -7385,7 +7382,7 @@ E F2(print\255last\255kbd\255macr)108 667.2 Q 2.5(o\()-.18 G(\))-2.5 E F1(Print the last k)144 679.2 Q -.15(ey)-.1 G (board macro de\214ned in a format suitable for the).15 E F0(inputr)2.5 E(c)-.37 E F1(\214le.)2.5 E F2(Miscellaneous)87 696 Q F1(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(59)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(59)198.445 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP @@ -7491,7 +7488,7 @@ F1 -.35(Tr)144 696 S .033(eat the w).35 F .033 (names, replacing the w)144 708 R 2.583(ord. If)-.1 F 2.583(an)2.583 G .083(umeric ar)-2.583 F .083(gument is supplied, append a)-.18 F F2(*) 2.584 E F1 .084(before pathname e)2.584 F(xpan-)-.15 E(sion.)144 720 Q -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(60)188.45 E 0 Cg EP +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(60)198.445 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP @@ -7621,7 +7618,7 @@ F .005(xpansion, tilde e)-.15 F .005(xpansion, parameter and v)-.15 F -.15 F(matched ag)108 729.6 Q(ainst the w)-.05 E (ord being completed, and the matching w)-.1 E (ords become possible completions.)-.1 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(61)188.45 E 0 Cg EP +(2025 April 7)149.285 E(61)198.445 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP @@ -7770,7 +7767,7 @@ ed, rather than loading them all at once.).2 E -.15(Fo)108 712.8 S 2.636 .137(ept in a \214le corresponding to the name of)-.1 F (the command, the follo)108 724.8 Q(wing def)-.25 E (ault completion function w)-.1 E(ould load completions dynamically:)-.1 -E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(62)188.45 E 0 Cg EP +E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(62)198.445 E 0 Cg EP %%Page: 63 63 %%BeginPageSetup BP @@ -7895,7 +7892,7 @@ nto the input stream, making it easy to repeat)-.1 F .21 (commands, insert the ar)108 708 R .21(guments to a pre)-.18 F .209 (vious command into the current input line, or \214x errors in pre)-.25 F(vious)-.25 E(commands quickly)108 720 Q(.)-.65 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(63)188.45 E 0 Cg EP +(2025 April 7)149.285 E(63)198.445 E 0 Cg EP %%Page: 64 64 %%BeginPageSetup BP @@ -8023,8 +8020,8 @@ n the history list containing)144 712.8 R F0(string)144.34 724.8 Q F1 5.497(.T).22 G .497(he trailing)-5.497 F F2(?)2.997 E F1 .497 (may be omitted if)2.997 F F0(string)3.337 E F1 .496(is follo)3.216 F .496(wed immediately by a ne)-.25 F 2.996(wline. If)-.25 F F0(string) -2.996 E F1(is)2.996 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E -(64)188.45 E 0 Cg EP +2.996 E F1(is)2.996 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(64) +198.445 E 0 Cg EP %%Page: 65 65 %%BeginPageSetup BP @@ -8145,7 +8142,7 @@ E F4(:s)A F1(\232, an)A 2.5(yd)-.15 G (limiter is optional if it is the last character of the e)144 696 Q -.15 (ve)-.25 G(nt line.).15 E(An)5 E F4(a)2.5 E F1(may be used as a synon) 2.5 E(ym for)-.15 E F4(g)2.5 E F1(.)A(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(65)188.45 E 0 Cg EP +(2025 April 7)149.285 E(65)198.445 E 0 Cg EP %%Page: 66 66 %%BeginPageSetup BP @@ -8288,7 +8285,7 @@ F2A F0 -.1(ke)2.5 G(ymap)-.2 E F1(])A F22.5 E F1(|)A F2 (ould appear in a)-.1 F F2 -.18(re)4.251 G(adline).18 E F1 1.751 (initialization \214le such as)4.251 F F0(.inputr)4.481 E(c)-.37 E F1 4.251(,b).31 G 1.751(ut each)-4.451 F(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(66)188.45 E 0 Cg EP +(2025 April 7)149.285 E(66)198.445 E 0 Cg EP %%Page: 67 67 %%BeginPageSetup BP @@ -8414,7 +8411,7 @@ G(r).25 E F1(,)A F2(while)2.512 E F1(,)A F2(until)2.512 E F1 2.512(,o)C sing loops, all enclosing loops are e)3.372 F(xited.)-.15 E (The return v)144 729.6 Q(alue is 0 unless)-.25 E F0(n)2.5 E F1 (is not greater than or equal to 1.)2.5 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(67)188.45 E 0 Cg EP +(2025 April 7)149.285 E(67)198.445 E 0 Cg EP %%Page: 68 68 %%BeginPageSetup BP @@ -8541,7 +8538,7 @@ F1 .273(option is supplied,)2.773 F F2(command)2.773 E F1 .273 (tion displays a single w)144 727.2 R .437 (ord indicating the command or \214lename used to in)-.1 F -.2(vo)-.4 G -.1(ke).2 G F0(command)3.237 E F1 2.937(;t).77 G(he)-2.937 E F2 -2.937 E F1(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(68)188.45 E 0 +2.937 E F1(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(68)198.445 E 0 Cg EP %%Page: 69 69 %%BeginPageSetup @@ -8655,7 +8652,7 @@ F1 .281(completions if the compspec generates no)2.781 F(matches.)224 (ault \214lename completion if the compspec generates no)-.1 F(matches.) 224 681.6 Q F2(dir)184 693.6 Q(names)-.15 E F1(Perform directory name c\ ompletion if the compspec generates no matches.)224 705.6 Q -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(69)188.45 E 0 Cg EP +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(69)198.445 E 0 Cg EP %%Page: 70 70 %%BeginPageSetup BP @@ -8733,8 +8730,8 @@ E F1(option to the)2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E F2 1.055(cuted in a subshell en).15 F 1.056 (vironment, and its output is used as the possible)-.4 F 2.5 (completions. Ar)184 696 R(guments are passed as with the)-.18 E F2 -2.5 E F1(option.)2.5 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(70)188.45 E 0 Cg EP +2.5 E F1(option.)2.5 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 +E(70)198.445 E 0 Cg EP %%Page: 71 71 %%BeginPageSetup BP @@ -8859,7 +8856,7 @@ S .572(riables or functions.).25 F(The)5.572 E F23.072 E F1 .571 144 717.6 Q F1(is used with)2.5 E F0(name)2.5 E F1(ar)2.5 E (guments, additional options, other than)-.18 E F22.5 E F1(and)2.5 E F22.5 E F1 2.5(,a)C(re ignored.)-2.5 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(71)188.45 E 0 Cg EP +(2025 April 7)149.285 E(71)198.445 E 0 Cg EP %%Page: 72 72 %%BeginPageSetup BP @@ -8989,7 +8986,7 @@ F1 .928(command; the)3.428 F F2(popd)3.428 E F1 .928(command remo)3.428 F -.15(ve)-.15 G 3.428(se).15 G .928(ntries from the list.)-3.428 F .928 (The current directory is al-)5.928 F -.1(wa)144 710.4 S (ys the \214rst directory in the stack.).1 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(72)188.45 E 0 Cg EP +(2025 April 7)149.285 E(72)198.445 E 0 Cg EP %%Page: 73 73 %%BeginPageSetup BP @@ -9089,7 +9086,7 @@ Q F1(an escape character)180 542.4 Q F2(\\f)144 554.4 Q F1(form feed)180 2.744 E(HHH)180 710.4 Q F1(\(one to eight he)2.5 E 2.5(xd)-.15 G (igits\).)-2.5 E F2(echo)144 727.2 Q F1(writes an)2.5 E 2.5(yu)-.15 G (nrecognized backslash-escaped characters unchanged.)-2.5 E -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(73)188.45 E 0 Cg EP +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(73)198.445 E 0 Cg EP %%Page: 74 74 %%BeginPageSetup BP @@ -9201,9 +9198,9 @@ F0(n)2.596 E F1 5.096(.I)C(f)-5.096 E F0(n)2.955 E F1 .095 E F3(EXIT)2.5 E F1(is e)2.25 E -.15(xe)-.15 G (cuted before the shell terminates.).15 E F2(export)108 592.8 Q F1([)2.5 E F2(\255fn)A F1 2.5(][).833 G F0(name)-2.5 E F1([=)A F0(value)A F1 -(]] .)A 1.666(..)1.666 G F2(export \255p)108 604.8 Q F1 .256 -(The supplied)144 616.8 R F0(names)3.117 E F1 .257(are mark)3.027 F .257 -(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 +(]] .)A 1.666(..)1.666 G F2(export \255p [\255f)108 604.8 Q(]).833 E F1 +.256(The supplied)144 616.8 R F0(names)3.117 E F1 .257(are mark)3.027 F +.257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 (vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.5 (commands. If)144 628.8 R(the)2.5 E F22.5 E F1(option is gi)2.5 E -.15(ve)-.25 G(n, the).15 E F0(names)2.86 E F1(refer to functions.)2.77 @@ -9211,756 +9208,758 @@ E(The)144 645.6 Q F22.681 E F1 .181(option une)2.681 F .181 (xports, or remo)-.15 F -.15(ve)-.15 G 2.681(st).15 G .181(he e)-2.681 F .181(xport attrib)-.15 F .181(ute, from each)-.2 F F0(name)2.68 E F1 5.18(.I)C 2.68(fn)-5.18 G(o)-2.68 E F0(names)3.04 E F1 .18(are gi)2.95 F --.15(ve)-.25 G(n,).15 E .535(or if the)144 657.6 R F23.035 E F1 -.536(option is supplied,)3.035 F F2(export)3.036 E F1 .536 -(prints a list of names of all e)3.036 F .536(xported v)-.15 F .536 -(ariables on the stan-)-.25 F(dard output.)144 669.6 Q F2(export)144 -686.4 Q F1(allo)2.94 E .44(ws the v)-.25 F .44(alue of a v)-.25 F .44 +-.15(ve)-.25 G(n,).15 E .096(or if only the)144 657.6 R F22.597 E +F1 .097(option is supplied,)2.597 F F2(export)2.597 E F1 .097 +(displays a list of names of all e)2.597 F .097(xported v)-.15 F .097 +(ariables on the)-.25 F .976(standard output.)144 669.6 R(Using)5.976 E +F23.476 E F1(and)3.476 E F23.476 E F1 .975 +(together displays e)3.475 F .975(xported functions.)-.15 F(The)5.975 E +F23.475 E F1 .975(option displays)3.475 F +(output in a form that may be reused as input.)144 681.6 Q F2(export)144 +698.4 Q F1(allo)2.94 E .44(ws the v)-.25 F .44(alue of a v)-.25 F .44 (ariable to be set when it is e)-.25 F .44(xported or une)-.15 F .44 -(xported by follo)-.15 F .44(wing the)-.25 F -.25(va)144 698.4 S .151 +(xported by follo)-.15 F .44(wing the)-.25 F -.25(va)144 710.4 S .152 (riable name with =).25 F F0(value)A F1 5.152(.T)C .152(his sets the v) -5.152 F .152(alue of the v)-.25 F .152(ariable to)-.25 F F0(value)2.652 -E F1 .152(while modifying the e)2.652 F(xport)-.15 E(attrib)144 710.4 Q -(ute.)-.2 E F2(export)6.361 E F1 1.361(returns an e)3.861 F 1.361 -(xit status of 0 unless an in)-.15 F -.25(va)-.4 G 1.36 -(lid option is encountered, one of the).25 F F0(names)144 722.4 Q F1 -(is not a v)2.5 E(alid shell v)-.25 E(ariable name, or)-.25 E F2 -2.5 E F1(is supplied with a)2.5 E F0(name)2.86 E F1 -(that is not a function.)2.68 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(74)188.45 E 0 Cg EP +E F1 .151(while modifying the e)2.652 F(xport)-.15 E(attrib)144 722.4 Q +(ute.)-.2 E F2(export)6.36 E F1 1.36(returns an e)3.86 F 1.361 +(xit status of 0 unless an in)-.15 F -.25(va)-.4 G 1.361 +(lid option is encountered, one of the).25 F(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(74)198.445 E 0 Cg EP %%Page: 75 75 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(false)108 84 Q F1 -(Does nothing; returns a non-zero status.)144 84 Q F2(fc)108 100.8 Q F1 -([)2.5 E F2A F0(ename)2.5 E F1 2.5(][)C F2(\255lnr)-2.5 E F1 2.5 -(][)C F0<8c72>-2.5 E(st)-.1 E F1 2.5(][)C F0(last)-2.5 E F1(])A F2 -(fc \255s)108 112.8 Q F1([)2.5 E F0(pat)A F1(=)A F0 -.37(re)C(p).37 E F1 -2.5(][)C F0(cmd)-2.5 E F1(])A .431 -(The \214rst form selects a range of commands from)144 124.8 R F0<8c72> -4.842 E(st)-.1 E F1(to)3.612 E F0(last)3.022 E F1 .432 -(from the history list and displays or)3.612 F .142(edits and re-e)144 -136.8 R -.15(xe)-.15 G .142(cutes them.).15 F F0 -.45(Fi)5.141 G -.1(rs) +.25 E F1(\(1\)).95 E F0(names)144 84 Q F1(is not a v)2.5 E(alid shell v) +-.25 E(ariable name, or)-.25 E/F2 10/Times-Bold@0 SF2.5 E F1 +(is supplied with a)2.5 E F0(name)2.86 E F1(that is not a function.)2.68 +E F2(false)108 100.8 Q F1(Does nothing; returns a non-zero status.)144 +100.8 Q F2(fc)108 117.6 Q F1([)2.5 E F2A F0(ename)2.5 E F1 2.5(][) +C F2(\255lnr)-2.5 E F1 2.5(][)C F0<8c72>-2.5 E(st)-.1 E F1 2.5(][)C F0 +(last)-2.5 E F1(])A F2(fc \255s)108 129.6 Q F1([)2.5 E F0(pat)A F1(=)A +F0 -.37(re)C(p).37 E F1 2.5(][)C F0(cmd)-2.5 E F1(])A .432 +(The \214rst form selects a range of commands from)144 141.6 R F0<8c72> +4.842 E(st)-.1 E F1(to)3.612 E F0(last)3.022 E F1 .431 +(from the history list and displays or)3.612 F .141(edits and re-e)144 +153.6 R -.15(xe)-.15 G .141(cutes them.).15 F F0 -.45(Fi)5.141 G -.1(rs) .45 G(t).1 E F1(and)3.321 E F0(last)2.731 E F1 .141 (may be speci\214ed as a string \(to locate the last command)3.321 F(be) -144 148.8 Q .31(ginning with that string\) or as a number \(an inde)-.15 -F 2.811(xi)-.15 G .311(nto the history list, where a ne)-2.811 F -.05 -(ga)-.15 G(ti).05 E .611 -.15(ve n)-.25 H(umber).15 E(is used as an of) -144 160.8 Q(fset from the current command number\).)-.25 E .747 -(When listing, a)144 177.6 R F0<8c72>3.247 E(st)-.1 E F1(or)3.247 E F0 -(last)3.247 E F1 .746(of 0 is equi)3.247 F -.25(va)-.25 G .746 -(lent to \2551 and \2550 is equi).25 F -.25(va)-.25 G .746 -(lent to the current command).25 F .778(\(usually the)144 189.6 R F2(fc) -3.278 E F1 .779(command\); otherwise 0 is equi)3.279 F -.25(va)-.25 G +144 165.6 Q .311(ginning with that string\) or as a number \(an inde) +-.15 F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F +-.05(ga)-.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E +(is used as an of)144 177.6 Q(fset from the current command number\).) +-.25 E .746(When listing, a)144 194.4 R F0<8c72>3.246 E(st)-.1 E F1(or) +3.246 E F0(last)3.246 E F1 .746(of 0 is equi)3.246 F -.25(va)-.25 G .746 +(lent to \2551 and \2550 is equi).25 F -.25(va)-.25 G .747 +(lent to the current command).25 F .779(\(usually the)144 206.4 R F2(fc) +3.279 E F1 .779(command\); otherwise 0 is equi)3.279 F -.25(va)-.25 G .779(lent to \2551 and \2550 is in).25 F -.25(va)-.4 G 3.279(lid. If).25 -F F0(last)3.369 E F1 .779(is not speci-)3.959 F .513(\214ed, it is set \ +F F0(last)3.369 E F1 .778(is not speci-)3.959 F .513(\214ed, it is set \ to the current command for listing \(so that \231fc \255l \25510\232 pr\ -ints the last 10 commands\))144 201.6 R .766(and to)144 213.6 R F0<8c72> -5.176 E(st)-.1 E F1 3.266(otherwise. If)3.946 F F0<8c72>5.176 E(st)-.1 E +ints the last 10 commands\))144 218.4 R .767(and to)144 230.4 R F0<8c72> +5.177 E(st)-.1 E F1 3.266(otherwise. If)3.946 F F0<8c72>5.176 E(st)-.1 E F1 .766(is not speci\214ed, it is set to the pre)3.946 F .766 -(vious command for editing and)-.25 F(\25516 for listing.)144 225.6 Q -.697(If the)144 242.4 R F23.197 E F1 .697 +(vious command for editing and)-.25 F(\25516 for listing.)144 242.4 Q +.696(If the)144 259.2 R F23.196 E F1 .696 (option is supplied, the commands are listed on the standard output.) -3.197 F(The)5.696 E F23.196 E F1 .696(option sup-)3.196 F -(presses the command numbers when listing.)144 254.4 Q(The)5 E F2 +3.196 F(The)5.697 E F23.197 E F1 .697(option sup-)3.197 F +(presses the command numbers when listing.)144 271.2 Q(The)5 E F2 2.5 E F1(option re)2.5 E -.15(ve)-.25 G(rses the order of the commands.) -.15 E(Otherwise,)144 271.2 Q F2(fc)2.902 E F1(in)2.902 E -.2(vo)-.4 G --.1(ke).2 G 2.902(st).1 G .402(he editor named by)-2.902 F F0(ename) -3.092 E F1 .402(on a \214le containing those commands.)3.082 F(If)5.402 -E F0(ename)3.092 E F1 .542(is not supplied,)144 283.2 R F2(fc)3.042 E F1 -.542(uses the v)3.042 F .542(alue of the)-.25 F/F3 9/Times-Bold@0 SF -(FCEDIT)3.042 E F1 -.25(va)2.792 G .542(riable, and the v).25 F .542 -(alue of)-.25 F F3(EDIT)3.042 E(OR)-.162 E F1(if)2.791 E F3(FCEDIT)3.041 -E F1(is)2.791 E .212(not set.)144 295.2 R .212(If neither v)5.212 F .212 +.15 E(Otherwise,)144 288 Q F2(fc)2.902 E F1(in)2.902 E -.2(vo)-.4 G -.1 +(ke).2 G 2.902(st).1 G .402(he editor named by)-2.902 F F0(ename)3.092 E +F1 .402(on a \214le containing those commands.)3.082 F(If)5.402 E F0 +(ename)3.092 E F1 .541(is not supplied,)144 300 R F2(fc)3.041 E F1 .542 +(uses the v)3.042 F .542(alue of the)-.25 F/F3 9/Times-Bold@0 SF(FCEDIT) +3.042 E F1 -.25(va)2.792 G .542(riable, and the v).25 F .542(alue of) +-.25 F F3(EDIT)3.042 E(OR)-.162 E F1(if)2.792 E F3(FCEDIT)3.042 E F1(is) +2.792 E .213(not set.)144 312 R .212(If neither v)5.213 F .212 (ariable is set,)-.25 F F2(fc)2.712 E F1(uses)2.712 E F0(vi.)4.378 E F1 -.212(When editing is complete,)4.378 F F2(fc)2.712 E F1 .213 +.212(When editing is complete,)4.378 F F2(fc)2.712 E F1 .212 (reads the \214le containing)2.712 F -(the edited commands and echoes and e)144 307.2 Q -.15(xe)-.15 G -(cutes them.).15 E .712(In the second form,)144 324 R F2(fc)3.212 E F1 -(re-e)3.212 E -.15(xe)-.15 G(cutes).15 E F0(command)3.211 E F1 .711 -(after replacing each instance of)3.211 F F0(pat)3.211 E F1(with)3.211 E -F0 -.37(re)3.211 G(p).37 E F1(.)A F0(Com-)5.711 E(mand)144 336 Q F1 +(the edited commands and echoes and e)144 324 Q -.15(xe)-.15 G +(cutes them.).15 E .711(In the second form,)144 340.8 R F2(fc)3.211 E F1 +(re-e)3.211 E -.15(xe)-.15 G(cutes).15 E F0(command)3.211 E F1 .711 +(after replacing each instance of)3.211 F F0(pat)3.212 E F1(with)3.212 E +F0 -.37(re)3.212 G(p).37 E F1(.)A F0(Com-)5.712 E(mand)144 352.8 Q F1 (is interpreted the same as)2.5 E F0<8c72>2.5 E(st)-.1 E F1(abo)2.5 E --.15(ve)-.15 G(.).15 E 2.826(Au)144 352.8 S .326 -(seful alias to use with)-2.826 F F2(fc)2.827 E F1 .327(is \231r="fc \ +-.15(ve)-.15 G(.).15 E 2.827(Au)144 369.6 S .327 +(seful alias to use with)-2.827 F F2(fc)2.827 E F1 .327(is \231r="fc \ \255s"\232, so that typing \231r cc\232 runs the last command be)2.827 F -(ginning)-.15 E(with \231cc\232 and typing \231r\232 re-e)144 364.8 Q --.15(xe)-.15 G(cutes the last command.).15 E .44 -(If the \214rst form is used, the return v)144 381.6 R .439 -(alue is zero unless an in)-.25 F -.25(va)-.4 G .439 -(lid option is encountered or).25 F F0<8c72>4.849 E(st)-.1 E F1(or)3.619 -E F0(last)144.09 393.6 Q F1 .402(specify history lines out of range.) -3.581 F .402(When editing and re-e)5.402 F -.15(xe)-.15 G .402 -(cuting a \214le of commands, the re-).15 F .574(turn v)144 405.6 R .574 +(ginning)-.15 E(with \231cc\232 and typing \231r\232 re-e)144 381.6 Q +-.15(xe)-.15 G(cutes the last command.).15 E .439 +(If the \214rst form is used, the return v)144 398.4 R .44 +(alue is zero unless an in)-.25 F -.25(va)-.4 G .44 +(lid option is encountered or).25 F F0<8c72>4.85 E(st)-.1 E F1(or)3.62 E +F0(last)144.09 410.4 Q F1 .402(specify history lines out of range.)3.582 +F .402(When editing and re-e)5.402 F -.15(xe)-.15 G .402 +(cuting a \214le of commands, the re-).15 F .573(turn v)144 422.4 R .573 (alue is the v)-.25 F .573(alue of the last command e)-.25 F -.15(xe) --.15 G .573(cuted or f).15 F .573 -(ailure if an error occurs with the tempo-)-.1 F .685(rary \214le.)144 -417.6 R .685 -(If the second form is used, the return status is that of the re-e)5.685 -F -.15(xe)-.15 G .686(cuted command, unless).15 F F0(cmd)144.2 429.6 Q +-.15 G .573(cuted or f).15 F .574 +(ailure if an error occurs with the tempo-)-.1 F .686(rary \214le.)144 +434.4 R .685 +(If the second form is used, the return status is that of the re-e)5.686 +F -.15(xe)-.15 G .685(cuted command, unless).15 F F0(cmd)144.2 446.4 Q F1(does not specify a v)3.27 E(alid history entry)-.25 E 2.5(,i)-.65 G 2.5(nw)-2.5 G(hich case)-2.5 E F2(fc)2.5 E F1 -(returns a non-zero status.)2.5 E F2(fg)108 446.4 Q F1([)2.5 E F0 -(jobspec)A F1(])A(Resume)144 458.4 Q F0(jobspec)4.639 E F1 .399 -(in the fore)3.209 F .399(ground, and mak)-.15 F 2.899(ei)-.1 G 2.899 +(returns a non-zero status.)2.5 E F2(fg)108 463.2 Q F1([)2.5 E F0 +(jobspec)A F1(])A(Resume)144 475.2 Q F0(jobspec)4.638 E F1 .398 +(in the fore)3.208 F .399(ground, and mak)-.15 F 2.899(ei)-.1 G 2.899 (tt)-2.899 G .399(he current job)-2.899 F 5.399(.I)-.4 G(f)-5.399 E F0 -(jobspec)4.639 E F1 .399(is not present,)3.209 F F2(fg)2.898 E F1(uses) -2.898 E .247(the shell')144 470.4 R 2.747(sn)-.55 G .247(otion of the) --2.747 F F0(curr)2.747 E .247(ent job)-.37 F F1 5.247(.T)C .247 +(jobspec)4.639 E F1 .399(is not present,)3.209 F F2(fg)2.899 E F1(uses) +2.899 E .248(the shell')144 487.2 R 2.748(sn)-.55 G .248(otion of the) +-2.748 F F0(curr)2.747 E .247(ent job)-.37 F F1 5.247(.T)C .247 (he return v)-5.247 F .247 -(alue is that of the command placed into the fore-)-.25 F .098 -(ground, or f)144 482.4 R .098 +(alue is that of the command placed into the fore-)-.25 F .097 +(ground, or f)144 499.2 R .098 (ailure if run when job control is disabled or)-.1 F 2.598(,w)-.4 G .098 -(hen run with job control enabled, if)-2.598 F F0(job-)4.337 E(spec)144 -494.4 Q F1(does not specify a v)2.81 E(alid job or)-.25 E F0(jobspec) +(hen run with job control enabled, if)-2.598 F F0(job-)4.338 E(spec)144 +511.2 Q F1(does not specify a v)2.81 E(alid job or)-.25 E F0(jobspec) 4.24 E F1(speci\214es a job that w)2.81 E -(as started without job control.)-.1 E F2(getopts)108 511.2 Q F0 +(as started without job control.)-.1 E F2(getopts)108 528 Q F0 (optstring name)2.5 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(]) --1.666 E F2(getopts)144 523.2 Q F1 .051(is used by shell scripts and fu\ -nctions to parse positional parameters and obtain options and)2.55 F -1.13(their ar)144 535.2 R(guments.)-.18 E F0(optstring)6.36 E F1 1.129(\ +-1.666 E F2(getopts)144 540 Q F1 .051(is used by shell scripts and func\ +tions to parse positional parameters and obtain options and)2.551 F +1.129(their ar)144 552 R(guments.)-.18 E F0(optstring)6.359 E F1 1.129(\ contains the option characters to be recognized; if a character is fol-) -3.85 F(lo)144 547.2 Q .656(wed by a colon, the option is e)-.25 F .656 -(xpected to ha)-.15 F .957 -.15(ve a)-.2 H 3.157(na).15 G -.18(rg)-3.157 -G .657(ument, which should be separated from it).18 F(by white space.) -144 559.2 Q(The colon and question mark characters may not be used as o\ -ption characters.)5 E .032(Each time it is in)144 576 R -.2(vo)-.4 G -.1 +3.849 F(lo)144 564 Q .657(wed by a colon, the option is e)-.25 F .657 +(xpected to ha)-.15 F .956 -.15(ve a)-.2 H 3.156(na).15 G -.18(rg)-3.156 +G .656(ument, which should be separated from it).18 F(by white space.) +144 576 Q(The colon and question mark characters may not be used as opt\ +ion characters.)5 E .031(Each time it is in)144 592.8 R -.2(vo)-.4 G -.1 (ke).2 G(d,).1 E F2(getopts)2.531 E F1 .031(places the ne)2.531 F .031 -(xt option in the shell v)-.15 F(ariable)-.25 E F0(name)2.891 E F1 2.531 -(,i).18 G(nitializing)-2.531 E F0(name)2.891 E F1 .522(if it does not e) -144 588 R .522(xist, and the inde)-.15 F 3.022(xo)-.15 G 3.022(ft)-3.022 -G .522(he ne)-3.022 F .522(xt ar)-.15 F .522 -(gument to be processed into the v)-.18 F(ariable)-.25 E F3(OPTIND)3.023 -E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)144 600 Q F1 .079 -(is initialized to 1 each time the shell or a shell script is in)2.33 F --.2(vo)-.4 G -.1(ke).2 G 2.579(d. When).1 F .079(an option requires) -2.579 F(an ar)144 612 Q(gument,)-.18 E F2(getopts)2.5 E F1 -(places that ar)2.5 E(gument into the v)-.18 E(ariable)-.25 E F3(OPT)2.5 -E(ARG)-.81 E F4(.)A F1 .647(The shell does not reset)144 628.8 R F3 -(OPTIND)3.147 E F1 .647 +(xt option in the shell v)-.15 F(ariable)-.25 E F0(name)2.892 E F1 2.532 +(,i).18 G(nitializing)-2.532 E F0(name)2.892 E F1 .523(if it does not e) +144 604.8 R .522(xist, and the inde)-.15 F 3.022(xo)-.15 G 3.022(ft) +-3.022 G .522(he ne)-3.022 F .522(xt ar)-.15 F .522 +(gument to be processed into the v)-.18 F(ariable)-.25 E F3(OPTIND)3.022 +E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)144 616.8 Q F1 .079 +(is initialized to 1 each time the shell or a shell script is in)2.329 F +-.2(vo)-.4 G -.1(ke).2 G 2.58(d. When).1 F .08(an option requires)2.58 F +(an ar)144 628.8 Q(gument,)-.18 E F2(getopts)2.5 E F1(places that ar)2.5 +E(gument into the v)-.18 E(ariable)-.25 E F3(OPT)2.5 E(ARG)-.81 E F4(.)A +F1 .647(The shell does not reset)144 645.6 R F3(OPTIND)3.147 E F1 .647 (automatically; it must be manually reset between multiple calls)2.897 F -(to)144 640.8 Q F2(getopts)2.5 E F1(within the same shell in)2.5 E -.2 +(to)144 657.6 Q F2(getopts)2.5 E F1(within the same shell in)2.5 E -.2 (vo)-.4 G(cation to use a ne).2 E 2.5(ws)-.25 G(et of parameters.)-2.5 E -.102(When it reaches the end of options,)144 657.6 R F2(getopts)2.602 E -F1 -.15(ex)2.602 G .102(its with a return v).15 F .101 -(alue greater than zero.)-.25 F F3(OPTIND)5.101 E F1(is)2.351 E -(set to the inde)144 669.6 Q 2.5(xo)-.15 G 2.5(ft)-2.5 G +.101(When it reaches the end of options,)144 674.4 R F2(getopts)2.602 E +F1 -.15(ex)2.602 G .102(its with a return v).15 F .102 +(alue greater than zero.)-.25 F F3(OPTIND)5.102 E F1(is)2.352 E +(set to the inde)144 686.4 Q 2.5(xo)-.15 G 2.5(ft)-2.5 G (he \214rst non-option ar)-2.5 E(gument, and)-.18 E F0(name)2.5 E F1 -(is set to ?.)2.5 E F2(getopts)144 686.4 Q F1 .485 +(is set to ?.)2.5 E F2(getopts)144 703.2 Q F1 .485 (normally parses the positional parameters, b)2.985 F .485 (ut if more ar)-.2 F .485(guments are supplied as)-.18 F F0(ar)3.315 E -(g)-.37 E F1 -.25(va)3.205 G(l-).25 E(ues,)144 698.4 Q F2(getopts)2.5 E -F1(parses those instead.)2.5 E F2(getopts)144 715.2 Q F1 .833 -(can report errors in tw)3.333 F 3.333(ow)-.1 G 3.333(ays. If)-3.433 F -.833(the \214rst character of)3.333 F F0(optstring)3.563 E F1 .833 -(is a colon,)3.553 F F2(getopts)3.333 E F1(uses)3.332 E F0(silent)144.34 -727.2 Q F1 .211(error reporting.)3.391 F .211(In normal operation,)5.211 -F F2(getopts)2.712 E F1 .212 -(prints diagnostic messages when it encounters)2.712 F(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(75)188.45 E 0 Cg EP +(g)-.37 E F1 -.25(va)3.205 G(l-).25 E(ues,)144 715.2 Q F2(getopts)2.5 E +F1(parses those instead.)2.5 E(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(75)198.445 E 0 Cg EP %%Page: 76 76 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(in)144 84 Q -.25(va)-.4 G .32 -(lid options or missing option ar).25 F 2.82(guments. If)-.18 F .32 -(the v)2.82 F(ariable)-.25 E/F2 9/Times-Bold@0 SF(OPTERR)2.82 E F1 .32 -(is set to 0,)2.57 F/F3 10/Times-Bold@0 SF(getopts)2.819 E F1 .319 -(does not)2.819 F(display an)144 96 Q 2.5(ye)-.15 G(rror messages, e) --2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G -(he \214rst character of)-2.5 E F0(optstring)2.73 E F1(is not a colon.) -2.72 E(If)144 112.8 Q F3(getopts)2.672 E F1 .172(detects an in)2.672 F --.25(va)-.4 G .173(lid option, it places ? into).25 F F0(name)3.033 E F1 -.173(and, if not silent, prints an error message)2.853 F 1.148 -(and unsets)144 124.8 R F2(OPT)3.647 E(ARG)-.81 E/F4 9/Times-Roman@0 SF -(.)A F1(If)5.647 E F3(getopts)3.647 E F1 1.147 -(is silent, it assigns the option character found to)3.647 F F2(OPT) -3.647 E(ARG)-.81 E F1(and)3.397 E(does not print a diagnostic message.) -144 136.8 Q .602(If a required ar)144 153.6 R .602 -(gument is not found, and)-.18 F F3(getopts)3.102 E F1 .602 +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(getopts)144 84 Q F1 .833 +(can report errors in tw)3.332 F 3.333(ow)-.1 G 3.333(ays. If)-3.433 F +.833(the \214rst character of)3.333 F F0(optstring)3.563 E F1 .833 +(is a colon,)3.553 F F2(getopts)3.333 E F1(uses)3.333 E F0(silent)144.34 +96 Q F1 .212(error reporting.)3.392 F .212(In normal operation,)5.212 F +F2(getopts)2.712 E F1 .211 +(prints diagnostic messages when it encounters)2.712 F(in)144 108 Q -.25 +(va)-.4 G .319(lid options or missing option ar).25 F 2.82(guments. If) +-.18 F .32(the v)2.82 F(ariable)-.25 E/F3 9/Times-Bold@0 SF(OPTERR)2.82 +E F1 .32(is set to 0,)2.57 F F2(getopts)2.82 E F1 .32(does not)2.82 F +(display an)144 120 Q 2.5(ye)-.15 G(rror messages, e)-2.5 E -.15(ve)-.25 +G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E F0 +(optstring)2.73 E F1(is not a colon.)2.72 E(If)144 136.8 Q F2(getopts) +2.673 E F1 .173(detects an in)2.673 F -.25(va)-.4 G .173 +(lid option, it places ? into).25 F F0(name)3.033 E F1 .172 +(and, if not silent, prints an error message)2.853 F 1.147(and unsets) +144 148.8 R F3(OPT)3.647 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.)A F1(If) +5.647 E F2(getopts)3.647 E F1 1.147 +(is silent, it assigns the option character found to)3.647 F F3(OPT) +3.647 E(ARG)-.81 E F1(and)3.398 E(does not print a diagnostic message.) +144 160.8 Q .602(If a required ar)144 177.6 R .602 +(gument is not found, and)-.18 F F2(getopts)3.102 E F1 .602 (is not silent, it sets the v)3.102 F .602(alue of)-.25 F F0(name)3.102 -E F1 .602(to a ques-)3.102 F 1.056(tion mark \()144 165.6 R F3(?).833 E -F1 1.056(\), unsets).833 F F2(OPT)3.556 E(ARG)-.81 E F4(,)A F1 1.056 -(and prints a diagnostic message.)3.306 F(If)6.056 E F3(getopts)3.556 E -F1 1.055(is silent, it sets the)3.556 F -.25(va)144 177.6 S(lue of).25 E -F0(name)2.5 E F1(to a colon \()2.5 E F3(:).833 E F1 2.5(\)a).833 G -(nd sets)-2.5 E F2(OPT)2.5 E(ARG)-.81 E F1 -(to the option character found.)2.25 E F3(getopts)144 194.4 Q F1 .902 +E F1 .602(to a ques-)3.102 F 1.055(tion mark \()144 189.6 R F2(?).833 E +F1 1.055(\), unsets).833 F F3(OPT)3.555 E(ARG)-.81 E F4(,)A F1 1.056 +(and prints a diagnostic message.)3.306 F(If)6.056 E F2(getopts)3.556 E +F1 1.056(is silent, it sets the)3.556 F -.25(va)144 201.6 S(lue of).25 E +F0(name)2.5 E F1(to a colon \()2.5 E F2(:).833 E F1 2.5(\)a).833 G +(nd sets)-2.5 E F3(OPT)2.5 E(ARG)-.81 E F1 +(to the option character found.)2.25 E F2(getopts)144 218.4 Q F1 .902 (returns true if an option, speci\214ed or unspeci\214ed, is found.) -3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F -(options is encountered or an error occurs.)144 206.4 Q F3(hash)108 -223.2 Q F1([)2.5 E F3(\255lr)A F1 2.5(][)C F3-2.5 E F0(\214lename) -2.5 E F1 2.5(][)C F3(\255dt)-2.5 E F1 2.5(][)C F0(name)-2.5 E F1(])A -.636(Each time)144 235.2 R F3(hash)3.136 E F1 .636(is in)3.136 F -.2(vo) +3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F +(options is encountered or an error occurs.)144 230.4 Q F2(hash)108 +247.2 Q F1([)2.5 E F2(\255lr)A F1 2.5(][)C F2-2.5 E F0(\214lename) +2.5 E F1 2.5(][)C F2(\255dt)-2.5 E F1 2.5(][)C F0(name)-2.5 E F1(])A +.636(Each time)144 259.2 R F2(hash)3.136 E F1 .636(is in)3.136 F -.2(vo) -.4 G -.1(ke).2 G .636(d, it remembers the full pathname of the command) .1 F F0(name)3.496 E F1 .636(as determined)3.316 F 1.427 -(by searching the directories in)144 247.2 R F3($P)3.927 E -.95(AT)-.74 +(by searching the directories in)144 271.2 R F2($P)3.927 E -.95(AT)-.74 G(H).95 E F1 6.427(.A)C 1.727 -.15(ny p)-6.427 H(re).15 E 1.427 -(viously-remembered pathname associated with)-.25 F F0(name)144 259.2 Q -F1 .943(is discarded.)3.443 F .943(If the)5.943 F F33.443 E F1 -.942(option is supplied,)3.443 F F3(hash)3.442 E F1(uses)3.442 E F0 -(\214lename)5.352 E F1 .942(as the full pathname of the)3.622 F -(command.)144 271.2 Q(The)144 288 Q F33.312 E F1 .812 -(option causes the shell to for)3.312 F .813 -(get all remembered locations.)-.18 F .813(Assigning to the)5.813 F F3 --.74(PA)3.313 G(TH)-.21 E F1 -.25(va)3.313 G(ri-).25 E .278 -(able also clears all hashed \214lenames.)144 300 R(The)5.278 E F3 -2.778 E F1 .277(option causes the shell to for)2.778 F .277 -(get the remembered lo-)-.18 F(cation of each)144 312 Q F0(name)2.5 E F1 -(.)A .107(If the)144 328.8 R F32.607 E F1 .107 -(option is supplied,)2.607 F F3(hash)2.607 E F1 .108 -(prints the full pathname corresponding to each)2.607 F F0(name)2.608 E -F1 5.108(.I)C 2.608(fm)-5.108 G(ultiple)-2.608 E F0(name)144 340.8 Q F1 -(ar)3.154 E .654(guments are supplied with)-.18 F F33.154 E F1(,)A -F3(hash)3.154 E F1 .654(prints the)3.154 F F0(name)3.153 E F1 .653 -(before the corresponding hashed full)3.153 F 2.5(pathname. The)144 -352.8 R F32.5 E F1 +(viously-remembered pathname associated with)-.25 F F0(name)144 283.2 Q +F1 .942(is discarded.)3.442 F .942(If the)5.942 F F23.442 E F1 +.942(option is supplied,)3.442 F F2(hash)3.442 E F1(uses)3.442 E F0 +(\214lename)5.352 E F1 .943(as the full pathname of the)3.623 F +(command.)144 295.2 Q(The)144 312 Q F23.313 E F1 .813 +(option causes the shell to for)3.313 F .813 +(get all remembered locations.)-.18 F .812(Assigning to the)5.812 F F2 +-.74(PA)3.312 G(TH)-.21 E F1 -.25(va)3.312 G(ri-).25 E .277 +(able also clears all hashed \214lenames.)144 324 R(The)5.277 E F2 +2.777 E F1 .278(option causes the shell to for)2.777 F .278 +(get the remembered lo-)-.18 F(cation of each)144 336 Q F0(name)2.5 E F1 +(.)A .108(If the)144 352.8 R F22.608 E F1 .108 +(option is supplied,)2.608 F F2(hash)2.608 E F1 .107 +(prints the full pathname corresponding to each)2.608 F F0(name)2.607 E +F1 5.107(.I)C 2.607(fm)-5.107 G(ultiple)-2.607 E F0(name)144 364.8 Q F1 +(ar)3.153 E .653(guments are supplied with)-.18 F F23.153 E F1(,)A +F2(hash)3.153 E F1 .654(prints the)3.154 F F0(name)3.154 E F1 .654 +(before the corresponding hashed full)3.154 F 2.5(pathname. The)144 +376.8 R F22.5 E F1 (option displays output in a format that may be reused as input.)2.5 E -1.19(If no ar)144 369.6 R 1.19(guments are gi)-.18 F -.15(ve)-.25 G -1.191(n, or if only).15 F F33.691 E F1 1.191(is supplied,)3.691 F -F3(hash)3.691 E F1 1.191(prints information about remembered)3.691 F -2.723(commands. The)144 381.6 R F32.723 E F1(,)A F32.723 E -F1 2.723(,a)C(nd)-2.723 E F32.723 E F1 .222 -(options \(the options that act on the)2.723 F F0(name)2.722 E F1(ar) -2.722 E .222(guments\) are mutually)-.18 F -.15(ex)144 393.6 S(clusi).15 -E -.15(ve)-.25 G 5.737(.O).15 G .737(nly one will be acti)-5.737 F -.15 -(ve)-.25 G 5.737(.I).15 G 3.238(fm)-5.737 G .738 -(ore than one is supplied,)-3.238 F F33.238 E F1 .738 -(has higher priority than)3.238 F F33.238 E F1(,)A(and both ha)144 -405.6 Q .3 -.15(ve h)-.2 H(igher priority than).15 E F32.5 E F1(.) -A(The return status is zero unless a)144 422.4 Q F0(name)2.86 E F1 +1.191(If no ar)144 393.6 R 1.191(guments are gi)-.18 F -.15(ve)-.25 G +1.191(n, or if only).15 F F23.691 E F1 1.191(is supplied,)3.691 F +F2(hash)3.69 E F1 1.19(prints information about remembered)3.69 F 2.722 +(commands. The)144 405.6 R F22.722 E F1(,)A F22.722 E F1 +2.722(,a)C(nd)-2.722 E F22.722 E F1 .223 +(options \(the options that act on the)2.722 F F0(name)2.723 E F1(ar) +2.723 E .223(guments\) are mutually)-.18 F -.15(ex)144 417.6 S(clusi).15 +E -.15(ve)-.25 G 5.738(.O).15 G .738(nly one will be acti)-5.738 F -.15 +(ve)-.25 G 5.738(.I).15 G 3.238(fm)-5.738 G .738 +(ore than one is supplied,)-3.238 F F23.237 E F1 .737 +(has higher priority than)3.237 F F23.237 E F1(,)A(and both ha)144 +429.6 Q .3 -.15(ve h)-.2 H(igher priority than).15 E F22.5 E F1(.) +A(The return status is zero unless a)144 446.4 Q F0(name)2.86 E F1 (is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25 -E F3(help)108 439.2 Q F1([)2.5 E F3(\255dms)A F1 2.5(][)C F0(pattern) --2.5 E F1(])A .867(Display helpful information about b)144 451.2 R .867 -(uiltin commands.)-.2 F(If)5.867 E F0(pattern)4.617 E F1 .866 -(is speci\214ed,)3.607 F F3(help)3.366 E F1(gi)3.366 E -.15(ve)-.25 G -3.366(sd).15 G(etailed)-3.366 E .611(help on all commands matching)144 -463.2 R F0(pattern)4.362 E F1 .612(as described belo)3.352 F .612 -(w; otherwise it displays a list of all the)-.25 F -.2(bu)144 475.2 S +E F2(help)108 463.2 Q F1([)2.5 E F2(\255dms)A F1 2.5(][)C F0(pattern) +-2.5 E F1(])A .866(Display helpful information about b)144 475.2 R .867 +(uiltin commands.)-.2 F(If)5.867 E F0(pattern)4.617 E F1 .867 +(is speci\214ed,)3.607 F F2(help)3.367 E F1(gi)3.367 E -.15(ve)-.25 G +3.367(sd).15 G(etailed)-3.367 E .612(help on all commands matching)144 +487.2 R F0(pattern)4.362 E F1 .612(as described belo)3.352 F .612 +(w; otherwise it displays a list of all the)-.25 F -.2(bu)144 499.2 S (iltins and shell compound commands.).2 E(Options, if supplied, ha)144 -492 Q .3 -.15(ve t)-.2 H(he follo).15 E 2.5(wm)-.25 G(eanings:)-2.5 E F3 -144 508.8 Q F1(Display a short description of each)180 508.8 Q F0 -(pattern)2.5 E F3144 520.8 Q F1(Display the description of each) -180 520.8 Q F0(pattern)2.5 E F1(in a manpage-lik)2.5 E 2.5(ef)-.1 G -(ormat)-2.5 E F3144 532.8 Q F1 -(Display only a short usage synopsis for each)180 532.8 Q F0(pattern)2.5 -E F1(If)144 549.6 Q F0(pattern)3.017 E F1 .516 -(contains pattern matching characters \(see)3.017 F F2 -.09(Pa)3.016 G +516 Q .3 -.15(ve t)-.2 H(he follo).15 E 2.5(wm)-.25 G(eanings:)-2.5 E F2 +144 532.8 Q F1(Display a short description of each)180 532.8 Q F0 +(pattern)2.5 E F2144 544.8 Q F1(Display the description of each) +180 544.8 Q F0(pattern)2.5 E F1(in a manpage-lik)2.5 E 2.5(ef)-.1 G +(ormat)-2.5 E F2144 556.8 Q F1 +(Display only a short usage synopsis for each)180 556.8 Q F0(pattern)2.5 +E F1(If)144 573.6 Q F0(pattern)3.016 E F1 .516 +(contains pattern matching characters \(see)3.016 F F3 -.09(Pa)3.016 G (tter).09 E 2.766(nM)-.135 G(atching)-2.766 E F1(abo)2.766 E -.15(ve) --.15 G 3.016(\)i).15 G(t')-3.016 E 3.016(st)-.55 G .516 -(reated as a shell)-3.016 F(pattern and)144 561.6 Q F3(help)2.5 E F1 +-.15 G 3.016(\)i).15 G(t')-3.016 E 3.016(st)-.55 G .517 +(reated as a shell)-3.016 F(pattern and)144 585.6 Q F2(help)2.5 E F1 (prints the description of each help topic matching)2.5 E F0(pattern)2.5 -E F1(.)A .248(If not, and)144 578.4 R F0(pattern)2.748 E F1 -.15(ex) -2.748 G .249(actly matches the name of a help topic,).15 F F3(help)2.749 -E F1 .249(prints the description associated)2.749 F .055 -(with that topic.)144 590.4 R(Otherwise,)5.055 E F3(help)2.555 E F1 .054 +E F1(.)A .249(If not, and)144 602.4 R F0(pattern)2.749 E F1 -.15(ex) +2.749 G .249(actly matches the name of a help topic,).15 F F2(help)2.749 +E F1 .248(prints the description associated)2.748 F .054 +(with that topic.)144 614.4 R(Otherwise,)5.054 E F2(help)2.554 E F1 .054 (performs pre\214x matching and prints the descriptions of all match-) -2.554 F(ing help topics.)144 602.4 Q -(The return status is 0 unless no command matches)144 619.2 Q F0 -(pattern)3.75 E F1(.).24 E F3(history [)108 636 Q F0(n)A F3(])A -(history \255c)108 648 Q(history \255d)108 660 Q F0(of)2.5 E(fset)-.18 E -F3(history \255d)108 672 Q F0(start)2.5 E F1(-)A F0(end)A F3 -(history \255anrw)108 684 Q F1([)2.5 E F0(\214lename)A F1(])A F3 -(history \255p)108 696 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 -E F1 1.666(...)2.5 G(])-1.666 E(GNU Bash 5.3)72 768 Q(2025 February 24) -139.29 E(76)188.45 E 0 Cg EP +2.554 F(ing help topics.)144 626.4 Q +(The return status is 0 unless no command matches)144 643.2 Q F0 +(pattern)3.75 E F1(.).24 E F2(history [)108 660 Q F0(n)A F2(])A +(history \255c)108 672 Q(history \255d)108 684 Q F0(of)2.5 E(fset)-.18 E +F2(history \255d)108 696 Q F0(start)2.5 E F1(-)A F0(end)A F1 +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(76)198.445 E 0 Cg EP %%Page: 77 77 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(history \255s)108 84 Q F0(ar) -2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E --.4(Wi)144 96 S .831 -(th no options, display the command history list with numbers.).4 F .832 -(Entries pre\214x)5.831 F .832(ed with a)-.15 F F2(*)3.332 E F1(ha)3.332 -E -.15(ve)-.2 G 1.082(been modi\214ed.)144 108 R 1.082(An ar)6.082 F +.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(history \255anrw)108 84 Q F1 +([)2.5 E F0(\214lename)A F1(])A F2(history \255p)108 96 Q F0(ar)2.5 E(g) +-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2 +(history \255s)108 108 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 +E F1 1.666(...)2.5 G(])-1.666 E -.4(Wi)144 120 S .832 +(th no options, display the command history list with numbers.).4 F .831 +(Entries pre\214x)5.831 F .831(ed with a)-.15 F F2(*)3.331 E F1(ha)3.331 +E -.15(ve)-.2 G 1.081(been modi\214ed.)144 132 R 1.082(An ar)6.081 F 1.082(gument of)-.18 F F0(n)3.942 E F1 1.082(lists only the last)3.822 F F0(n)3.942 E F1 3.582(entries. If)3.822 F 1.082(the shell v)3.582 F -(ariable)-.25 E/F3 9/Times-Bold@0 SF(HISTTIME-)3.581 E(FORMA)144 120 Q +(ariable)-.25 E/F3 9/Times-Bold@0 SF(HISTTIME-)3.582 E(FORMA)144 144 Q (T)-.855 E F1 .464 -(is set and not null, it is used as a format string for)2.714 F F0 -(strftime)3.304 E F1 .465(\(3\) to display the time stamp).18 F 1.716 -(associated with each displayed history entry)144 132 R 6.716(.I)-.65 G -(f)-6.716 E F2(history)4.215 E F1(uses)4.215 E F3(HISTTIMEFORMA)4.215 E -(T)-.855 E/F4 9/Times-Roman@0 SF(,)A F1 1.715(it does not)3.965 F -(print an interv)144 144 Q +(is set and not null, it is used as a format string for)2.715 F F0 +(strftime)3.304 E F1 .464(\(3\) to display the time stamp).18 F 1.715 +(associated with each displayed history entry)144 156 R 6.715(.I)-.65 G +(f)-6.715 E F2(history)4.216 E F1(uses)4.216 E F3(HISTTIMEFORMA)4.216 E +(T)-.855 E/F4 9/Times-Roman@0 SF(,)A F1 1.716(it does not)3.966 F +(print an interv)144 168 Q (ening space between the formatted time stamp and the history entry)-.15 -E(.)-.65 E(If)144 160.8 Q F0(\214lename)3.369 E F1 .869(is supplied,) -3.369 F F2(history)3.369 E F1 .87 -(uses it as the name of the history \214le; if not, it uses the v)3.369 -F .87(alue of)-.25 F F3(HISTFILE)144 172.8 Q F4(.)A F1(If)4.939 E F0 -(\214lename)2.939 E F1 .438(is not supplied and)2.939 F F3(HISTFILE) +E(.)-.65 E(If)144 184.8 Q F0(\214lename)3.37 E F1 .87(is supplied,)3.37 +F F2(history)3.37 E F1 .869 +(uses it as the name of the history \214le; if not, it uses the v)3.37 F +.869(alue of)-.25 F F3(HISTFILE)144 196.8 Q F4(.)A F1(If)4.938 E F0 +(\214lename)2.938 E F1 .438(is not supplied and)2.938 F F3(HISTFILE) 2.938 E F1 .438(is unset or null, the)2.688 F F2 .438 -(\255a, \255n, \255r)2.938 F(,)-.92 E F1(and)2.938 E F22.938 E F1 -(op-)2.938 E(tions ha)144 184.8 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25 -(ff)-2.5 G(ect.).25 E(Options, if supplied, ha)144 201.6 Q .3 -.15(ve t) --.2 H(he follo).15 E(wing meanings:)-.25 E F2144 213.6 Q F1 .017 -(Clear the history list by deleting all the entries.)180 213.6 R .018 +(\255a, \255n, \255r)2.938 F(,)-.92 E F1(and)2.939 E F22.939 E F1 +(op-)2.939 E(tions ha)144 208.8 Q .3 -.15(ve n)-.2 H 2.5(oe).15 G -.25 +(ff)-2.5 G(ect.).25 E(Options, if supplied, ha)144 225.6 Q .3 -.15(ve t) +-.2 H(he follo).15 E(wing meanings:)-.25 E F2144 237.6 Q F1 .018 +(Clear the history list by deleting all the entries.)180 237.6 R .017 (This can be used with the other options to)5.018 F -(replace the history list.)180 225.6 Q F2144 237.6 Q F0(of)2.5 E -(fset)-.18 E F1 .39(Delete the history entry at position)180 249.6 R F0 +(replace the history list.)180 249.6 Q F2144 261.6 Q F0(of)2.5 E +(fset)-.18 E F1 .389(Delete the history entry at position)180 273.6 R F0 (of)2.889 E(fset)-.18 E F1 5.389(.I)C(f)-5.389 E F0(of)2.889 E(fset)-.18 -E F1 .389(is ne)2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.889(,i) -.15 G 2.889(ti)-2.889 G 2.889(si)-2.889 G .389(nterpreted as relati) --2.889 F -.15(ve)-.25 G .598 -(to one greater than the last history position, so ne)180 261.6 R -.05 -(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .599 -(ndices count back from the end).15 F(of the history)180 273.6 Q 2.5(,a) +E F1 .389(is ne)2.889 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G 2.89(,i) +.15 G 2.89(ti)-2.89 G 2.89(si)-2.89 G .39(nterpreted as relati)-2.89 F +-.15(ve)-.25 G .599 +(to one greater than the last history position, so ne)180 285.6 R -.05 +(ga)-.15 G(ti).05 E .899 -.15(ve i)-.25 H .598 +(ndices count back from the end).15 F(of the history)180 297.6 Q 2.5(,a) -.65 G(nd an inde)-2.5 E 2.5(xo)-.15 G 2.5<66ad>-2.5 G 2.5(1r)-2.5 G (efers to the current)-2.5 E F2(history \255d)2.5 E F1(command.)2.5 E F2 -144 285.6 Q F0(start)2.5 E F1A F0(end)A F1 1.25 -(Delete the range of history entries between positions)180 297.6 R F0 +144 309.6 Q F0(start)2.5 E F1A F0(end)A F1 1.25 +(Delete the range of history entries between positions)180 321.6 R F0 (start)3.75 E F1(and)3.75 E F0(end)3.75 E F1 3.75(,i)C(nclusi)-3.75 E -.15(ve)-.25 G 6.25(.P).15 G(ositi)-6.25 E -.15(ve)-.25 G(and ne)180 -309.6 Q -.05(ga)-.15 G(ti).05 E .3 -.15(ve v)-.25 H(alues for)-.1 E F0 +333.6 Q -.05(ga)-.15 G(ti).05 E .3 -.15(ve v)-.25 H(alues for)-.1 E F0 (start)2.5 E F1(and)2.5 E F0(end)2.5 E F1 (are interpreted as described abo)2.5 E -.15(ve)-.15 G(.).15 E F2 -144 321.6 Q F1 .775(Append the \231ne)180 321.6 R .776 -(w\232 history lines to the history \214le.)-.25 F .776 -(These are history lines entered since)5.776 F(the be)180 333.6 Q +144 345.6 Q F1 .776(Append the \231ne)180 345.6 R .776 +(w\232 history lines to the history \214le.)-.25 F .775 +(These are history lines entered since)5.776 F(the be)180 357.6 Q (ginning of the current)-.15 E F2(bash)2.5 E F1(session, b)2.5 E -(ut not already appended to the history \214le.)-.2 E F2144 345.6 -Q F1 .733(Read the history lines not already read from the history \214\ -le and add them to the current)180 345.6 R .142(history list.)180 357.6 -R .143(These are lines appended to the history \214le since the be)5.142 -F .143(ginning of the current)-.15 F F2(bash)180 369.6 Q F1(session.)2.5 -E F2144 381.6 Q F1(Read the history \214le and append its content\ -s to the current history list.)180 381.6 Q F2144 393.6 Q F1 -(Write the current history list to the history \214le, o)180 393.6 Q --.15(ve)-.15 G(rwriting the history \214le.).15 E F2144 405.6 Q F1 -.626(Perform history substitution on the follo)180 405.6 R(wing)-.25 E -F0(ar)3.125 E(gs)-.37 E F1 .625(and display the result on the standard) -3.125 F .468(output, without storing the results in the history list.) -180 417.6 R(Each)5.469 E F0(ar)2.969 E(g)-.37 E F1 .469 -(must be quoted to disable)2.969 F(normal history e)180 429.6 Q -(xpansion.)-.15 E F2144 441.6 Q F1 .363(Store the)180 441.6 R F0 -(ar)3.193 E(gs)-.37 E F1 .363(in the history list as a single entry) -3.133 F 5.363(.T)-.65 G .362(he last command in the history list is) --5.363 F(remo)180 453.6 Q -.15(ve)-.15 G 2.5(db).15 G(efore adding the) --2.5 E F0(ar)2.83 E(gs)-.37 E F1(.).27 E 1.152(If the)144 470.4 R F3 -(HISTTIMEFORMA)3.652 E(T)-.855 E F1 -.25(va)3.402 G 1.152 +(ut not already appended to the history \214le.)-.2 E F2144 369.6 +Q F1 .732(Read the history lines not already read from the history \214\ +le and add them to the current)180 369.6 R .143(history list.)180 381.6 +R .143(These are lines appended to the history \214le since the be)5.143 +F .142(ginning of the current)-.15 F F2(bash)180 393.6 Q F1(session.)2.5 +E F2144 405.6 Q F1(Read the history \214le and append its content\ +s to the current history list.)180 405.6 Q F2144 417.6 Q F1 +(Write the current history list to the history \214le, o)180 417.6 Q +-.15(ve)-.15 G(rwriting the history \214le.).15 E F2144 429.6 Q F1 +.625(Perform history substitution on the follo)180 429.6 R(wing)-.25 E +F0(ar)3.125 E(gs)-.37 E F1 .626(and display the result on the standard) +3.125 F .469(output, without storing the results in the history list.) +180 441.6 R(Each)5.469 E F0(ar)2.969 E(g)-.37 E F1 .468 +(must be quoted to disable)2.968 F(normal history e)180 453.6 Q +(xpansion.)-.15 E F2144 465.6 Q F1 .362(Store the)180 465.6 R F0 +(ar)3.192 E(gs)-.37 E F1 .363(in the history list as a single entry) +3.132 F 5.363(.T)-.65 G .363(he last command in the history list is) +-5.363 F(remo)180 477.6 Q -.15(ve)-.15 G 2.5(db).15 G(efore adding the) +-2.5 E F0(ar)2.83 E(gs)-.37 E F1(.).27 E 1.153(If the)144 494.4 R F3 +(HISTTIMEFORMA)3.653 E(T)-.855 E F1 -.25(va)3.402 G 1.152 (riable is set,).25 F F2(history)3.652 E F1 1.152 -(writes the time stamp information associated)3.652 F .189 -(with each history entry to the history \214le, mark)144 482.4 R .188 -(ed with the history comment character as described)-.1 F(abo)144 494.4 -Q -.15(ve)-.15 G 5.264(.W).15 G .264 -(hen the history \214le is read, lines be)-5.264 F .265 +(writes the time stamp information associated)3.652 F .188 +(with each history entry to the history \214le, mark)144 506.4 R .189 +(ed with the history comment character as described)-.1 F(abo)144 518.4 +Q -.15(ve)-.15 G 5.265(.W).15 G .264 +(hen the history \214le is read, lines be)-5.265 F .264 (ginning with the history comment character follo)-.15 F(wed)-.25 E (immediately by a digit are interpreted as timestamps for the follo)144 -506.4 Q(wing history entry)-.25 E(.)-.65 E .052(The return v)144 523.2 R +530.4 Q(wing history entry)-.25 E(.)-.65 E .051(The return v)144 547.2 R .051(alue is 0 unless an in)-.25 F -.25(va)-.4 G .051 (lid option is encountered, an error occurs while reading or writ-).25 F -.706(ing the history \214le, an in)144 535.2 R -.25(va)-.4 G(lid).25 E +.707(ing the history \214le, an in)144 559.2 R -.25(va)-.4 G(lid).25 E F0(of)3.207 E(fset)-.18 E F1 .707(or range is supplied as an ar)3.207 F -.707(gument to)-.18 F F23.207 E F1 3.207(,o)C 3.207(rt)-3.207 G -.707(he history e)-3.207 F(x-)-.15 E(pansion supplied as an ar)144 547.2 +.707(gument to)-.18 F F23.207 E F1 3.207(,o)C 3.206(rt)-3.207 G +.706(he history e)-3.206 F(x-)-.15 E(pansion supplied as an ar)144 571.2 Q(gument to)-.18 E F22.5 E F1 -.1(fa)2.5 G(ils.).1 E F2(jobs)108 -564 Q F1([)2.5 E F2(\255lnprs)A F1 2.5(][)C F0(jobspec)A F1 -3.332 1.666 -(... ])2.5 H F2(jobs \255x)108 576 Q F0(command)2.5 E F1([)2.5 E F0(ar) +588 Q F1([)2.5 E F2(\255lnprs)A F1 2.5(][)C F0(jobspec)A F1 -3.332 1.666 +(... ])2.5 H F2(jobs \255x)108 600 Q F0(command)2.5 E F1([)2.5 E F0(ar) 2.5 E(gs)-.37 E F1 -3.332 1.666(... ])2.5 H -(The \214rst form lists the acti)144 588 Q .3 -.15(ve j)-.25 H 2.5 +(The \214rst form lists the acti)144 612 Q .3 -.15(ve j)-.25 H 2.5 (obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 600 Q F1 -(List process IDs in addition to the normal information.)180 600 Q F2 -144 612 Q F1 .194(Display information only about jobs that ha)180 -612 R .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F -.193(as last noti-)-.1 F(\214ed of their status.)180 624 Q F2144 -636 Q F1(List only the process ID of the job')180 636 Q 2.5(sp)-.55 G -(rocess group leader)-2.5 E(.)-.55 E F2144 648 Q F1 -(Display only running jobs.)180 648 Q F2144 660 Q F1 -(Display only stopped jobs.)180 660 Q(If)144 676.8 Q F0(jobspec)5.19 E +(wing meanings:)-.25 E F2144 624 Q F1 +(List process IDs in addition to the normal information.)180 624 Q F2 +144 636 Q F1 .193(Display information only about jobs that ha)180 +636 R .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F +.194(as last noti-)-.1 F(\214ed of their status.)180 648 Q F2144 +660 Q F1(List only the process ID of the job')180 660 Q 2.5(sp)-.55 G +(rocess group leader)-2.5 E(.)-.55 E F2144 672 Q F1 +(Display only running jobs.)180 672 Q F2144 684 Q F1 +(Display only stopped jobs.)180 684 Q(If)144 700.8 Q F0(jobspec)5.19 E F1 .95(is supplied,)3.76 F F2(jobs)3.45 E F1 .95 (restricts output to information about that job)3.45 F 5.95(.T)-.4 G .95 -(he return status is 0)-5.95 F(unless an in)144 688.8 Q -.25(va)-.4 G +(he return status is 0)-5.95 F(unless an in)144 712.8 Q -.25(va)-.4 G (lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 E F0 -(jobspec)4.24 E F1(is supplied.)2.81 E .395(If the)144 705.6 R F2 -2.895 E F1 .394(option is supplied,)2.894 F F2(jobs)2.894 E F1 .394 -(replaces an)2.894 F(y)-.15 E F0(jobspec)4.634 E F1 .394(found in)3.204 -F F0(command)3.094 E F1(or)3.664 E F0(ar)3.224 E(gs)-.37 E F1 .394 -(with the corre-)3.164 F(sponding process group ID, and e)144 717.6 Q --.15(xe)-.15 G(cutes).15 E F0(command)2.7 E F1 2.5(,p).77 G(assing it) --2.5 E F0(ar)2.83 E(gs)-.37 E F1 2.5(,r).27 G(eturning its e)-2.5 E -(xit status.)-.15 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(77) -188.45 E 0 Cg EP +(jobspec)4.24 E F1(is supplied.)2.81 E(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(77)198.445 E 0 Cg EP %%Page: 78 78 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(kill)108 84 Q F1([)2.5 E F2 -A F0(sigspec)2.5 E F1(|)2.5 E F22.5 E F0(signum)2.5 E F1(|) -2.5 E F22.5 E F0(sigspec)A F1(])A F0(id)2.5 E F1 2.5([.)2.5 G -3.332 -1.666(.. ])-.834 H F2(kill \255l)108 96 Q F1(|)A F2A F1([)2.5 E F0 -(sigspec)A F1(|)2.5 E F0 -.2(ex)2.5 G(it_status).2 E F1(])A .661 -(Send the signal speci\214ed by)144 108 R F0(sigspec)3.501 E F1(or)3.471 -E F0(signum)3.501 E F1 .661(to the processes named by each)3.481 F F0 -(id)3.171 E F1 5.662(.E).77 G(ach)-5.662 E F0(id)3.172 E F1(may)3.932 E -.295(be a job speci\214cation)144 120 R F0(jobspec)2.795 E F1 .294 -(or a process ID)2.795 F F0(pid)2.794 E F1(.)A F0(sigspec)5.634 E F1 -.294(is either a case-insensiti)3.104 F .594 -.15(ve s)-.25 H .294 -(ignal name).15 F .464(such as)144 132 R/F3 9/Times-Bold@0 SF(SIGKILL) -2.964 E F1 .464(\(with or without the)2.714 F F3(SIG)2.964 E F1 .465 -(pre\214x\) or a signal number;)2.714 F F0(signum)3.305 E F1 .465 -(is a signal number)3.285 F(.)-.55 E(If)144 144 Q F0(sigspec)2.84 E F1 +.25 E F1(\(1\)).95 E .394(If the)144 84 R/F2 10/Times-Bold@0 SF +2.894 E F1 .394(option is supplied,)2.894 F F2(jobs)2.894 E F1 .394 +(replaces an)2.894 F(y)-.15 E F0(jobspec)4.634 E F1 .394(found in)3.204 +F F0(command)3.094 E F1(or)3.664 E F0(ar)3.224 E(gs)-.37 E F1 .395 +(with the corre-)3.164 F(sponding process group ID, and e)144 96 Q -.15 +(xe)-.15 G(cutes).15 E F0(command)2.7 E F1 2.5(,p).77 G(assing it)-2.5 E +F0(ar)2.83 E(gs)-.37 E F1 2.5(,r).27 G(eturning its e)-2.5 E +(xit status.)-.15 E F2(kill)108 112.8 Q F1([)2.5 E F2A F0(sigspec) +2.5 E F1(|)2.5 E F22.5 E F0(signum)2.5 E F1(|)2.5 E F22.5 E F0 +(sigspec)A F1(])A F0(id)2.5 E F1 2.5([.)2.5 G -3.332 1.666(.. ])-.834 H +F2(kill \255l)108 124.8 Q F1(|)A F2A F1([)2.5 E F0(sigspec)A F1(|) +2.5 E F0 -.2(ex)2.5 G(it_status).2 E F1(])A .662 +(Send the signal speci\214ed by)144 136.8 R F0(sigspec)3.501 E F1(or) +3.471 E F0(signum)3.501 E F1 .661(to the processes named by each)3.481 F +F0(id)3.171 E F1 5.661(.E).77 G(ach)-5.661 E F0(id)3.171 E F1(may)3.931 +E .294(be a job speci\214cation)144 148.8 R F0(jobspec)2.794 E F1 .294 +(or a process ID)2.794 F F0(pid)2.794 E F1(.)A F0(sigspec)5.634 E F1 +.295(is either a case-insensiti)3.105 F .595 -.15(ve s)-.25 H .295 +(ignal name).15 F .465(such as)144 160.8 R/F3 9/Times-Bold@0 SF(SIGKILL) +2.965 E F1 .465(\(with or without the)2.715 F F3(SIG)2.965 E F1 .464 +(pre\214x\) or a signal number;)2.715 F F0(signum)3.304 E F1 .464 +(is a signal number)3.284 F(.)-.55 E(If)144 172.8 Q F0(sigspec)2.84 E F1 (is not supplied, then)2.81 E F2(kill)2.5 E F1(sends)2.5 E F3(SIGTERM) -2.5 E/F4 9/Times-Roman@0 SF(.)A F1(The)144 160.8 Q F22.874 E F1 -.374(option lists the signal names.)2.874 F .374(If an)5.374 F 2.874(ya) +2.5 E/F4 9/Times-Roman@0 SF(.)A F1(The)144 189.6 Q F22.873 E F1 +.374(option lists the signal names.)2.873 F .374(If an)5.374 F 2.874(ya) -.15 G -.18(rg)-2.874 G .374(uments are supplied when).18 F F2 2.874 E F1 .374(is gi)2.874 F -.15(ve)-.25 G(n,).15 E F2(kill)2.874 E F1 -.373(lists the)2.873 F .119 -(names of the signals corresponding to the ar)144 172.8 R .119 -(guments, and the return status is 0.)-.18 F(The)5.12 E F0 -.2(ex)2.62 G -(it_status).2 E F1(ar)2.62 E(-)-.2 E .8(gument to)144 184.8 R F2 -3.3 E F1 .8(is a number specifying either a signal number or the e)3.3 F -.799(xit status of a process termi-)-.15 F .381 -(nated by a signal; if it is supplied,)144 196.8 R F2(kill)2.881 E F1 +.374(lists the)2.874 F .12(names of the signals corresponding to the ar) +144 201.6 R .119(guments, and the return status is 0.)-.18 F(The)5.119 E +F0 -.2(ex)2.619 G(it_status).2 E F1(ar)2.619 E(-)-.2 E .799(gument to) +144 213.6 R F23.299 E F1 .799 +(is a number specifying either a signal number or the e)3.299 F .8 +(xit status of a process termi-)-.15 F .381 +(nated by a signal; if it is supplied,)144 225.6 R F2(kill)2.881 E F1 .381(prints the name of the signal that caused the process to ter)2.881 -F(-)-.2 E(minate.)144 208.8 Q F2(kill)6.091 E F1 1.091 -(assumes that process e)3.591 F 1.091 -(xit statuses are greater than 128; an)-.15 F 1.09 -(ything less than that is a)-.15 F(signal number)144 220.8 Q 5(.T)-.55 G +F(-)-.2 E(minate.)144 237.6 Q F2(kill)6.09 E F1 1.09 +(assumes that process e)3.59 F 1.091 +(xit statuses are greater than 128; an)-.15 F 1.091 +(ything less than that is a)-.15 F(signal number)144 249.6 Q 5(.T)-.55 G (he)-5 E F22.5 E F1(option is equi)2.5 E -.25(va)-.25 G(lent to) -.25 E F22.5 E F1(.)A F2(kill)144 237.6 Q F1 .277 -(returns true if at least one signal w)2.776 F .277 +.25 E F22.5 E F1(.)A F2(kill)144 266.4 Q F1 .277 +(returns true if at least one signal w)2.777 F .277 (as successfully sent, or f)-.1 F .277(alse if an error occurs or an in) --.1 F -.25(va)-.4 G(lid).25 E(option is encountered.)144 249.6 Q F2(let) -108 266.4 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666 -(...)2.5 G(])-1.666 E(Each)144 278.4 Q F0(ar)3.993 E(g)-.37 E F1 1.162 +-.1 F -.25(va)-.4 G(lid).25 E(option is encountered.)144 278.4 Q F2(let) +108 295.2 Q F0(ar)2.5 E(g)-.37 E F1([)2.5 E F0(ar)A(g)-.37 E F1 1.666 +(...)2.5 G(])-1.666 E(Each)144 307.2 Q F0(ar)3.992 E(g)-.37 E F1 1.162 (is e)3.882 F -.25(va)-.25 G 1.162(luated as an arithmetic e).25 F 1.162 (xpression \(see)-.15 F F3 1.162(ARITHMETIC EV)3.662 F(ALU)-1.215 E --.855(AT)-.54 G(ION).855 E F1(abo)3.412 E -.15(ve)-.15 G 3.662(\). If) -.15 F(the last)144 290.4 Q F0(ar)2.83 E(g)-.37 E F1 -.25(eva)2.72 G +-.855(AT)-.54 G(ION).855 E F1(abo)3.412 E -.15(ve)-.15 G 3.663(\). If) +.15 F(the last)144 319.2 Q F0(ar)2.83 E(g)-.37 E F1 -.25(eva)2.72 G (luates to 0,).25 E F2(let)2.5 E F1(returns 1; otherwise)2.5 E F2(let) -2.5 E F1(returns 0.)2.5 E F2(local)108 307.2 Q F1([)2.5 E F0(option)A F1 +2.5 E F1(returns 0.)2.5 E F2(local)108 336 Q F1([)2.5 E F0(option)A F1 2.5(][)C F0(name)-2.5 E F1([=)A F0(value)A F1 2.5(].)C -3.332 1.666 -(.. | \255 ])-.834 H -.15(Fo)144 319.2 S 2.613(re).15 G .113(ach ar) --2.613 F .113(gument, create a local v)-.18 F .113(ariable named)-.25 F -F0(name)2.973 E F1 .114(and assign it)2.794 F F0(value)2.904 E F1 5.114 -(.T).18 G(he)-5.114 E F0(option)2.614 E F1 .114(can be an)2.614 F(y)-.15 -E .91(of the options accepted by)144 331.2 R F2(declar)3.41 E(e)-.18 E -F1 5.91(.W)C(hen)-5.91 E F2(local)3.409 E F1 .909 +(.. | \255 ])-.834 H -.15(Fo)144 348 S 2.614(re).15 G .114(ach ar)-2.614 +F .114(gument, create a local v)-.18 F .114(ariable named)-.25 F F0 +(name)2.974 E F1 .113(and assign it)2.794 F F0(value)2.903 E F1 5.113 +(.T).18 G(he)-5.113 E F0(option)2.613 E F1 .113(can be an)2.613 F(y)-.15 +E .909(of the options accepted by)144 360 R F2(declar)3.409 E(e)-.18 E +F1 5.909(.W)C(hen)-5.909 E F2(local)3.409 E F1 .91 (is used within a function, it causes the v)3.409 F(ariable)-.25 E F0 -(name)144.36 343.2 Q F1 .44(to ha)3.12 F .74 -.15(ve a v)-.2 H .44 -(isible scope restricted to that function and its children.).15 F .441 -(It is an error to use)5.441 F F2(local)2.941 E F1 -(when not within a function.)144 355.2 Q(If)144 372 Q F0(name)3.081 E F1 -.581(is \255, it mak)3.081 F .58 +(name)144.36 372 Q F1 .441(to ha)3.121 F .741 -.15(ve a v)-.2 H .441 +(isible scope restricted to that function and its children.).15 F .44 +(It is an error to use)5.44 F F2(local)2.94 E F1 +(when not within a function.)144 384 Q(If)144 400.8 Q F0(name)3.08 E F1 +.58(is \255, it mak)3.08 F .581 (es the set of shell options local to the function in which)-.1 F F2 -(local)3.08 E F1 .58(is in)3.08 F -.2(vo)-.4 G -.1(ke).2 G .58(d: an).1 -F(y)-.15 E .351(shell options changed using the)144 384 R F2(set)2.851 E -F1 -.2(bu)2.851 G .351(iltin inside the function after the call to).2 F -F2(local)2.851 E F1 .352(are restored to)2.852 F .325(their original v) -144 396 R .324(alues when the function returns.)-.25 F .324 -(The restore is performed as if a series of)5.324 F F2(set)2.824 E F1 -(com-)2.824 E(mands were e)144 408 Q -.15(xe)-.15 G +(local)3.081 E F1 .581(is in)3.081 F -.2(vo)-.4 G -.1(ke).2 G .581 +(d: an).1 F(y)-.15 E .352(shell options changed using the)144 412.8 R F2 +(set)2.851 E F1 -.2(bu)2.851 G .351 +(iltin inside the function after the call to).2 F F2(local)2.851 E F1 +.351(are restored to)2.851 F .324(their original v)144 424.8 R .324 +(alues when the function returns.)-.25 F .324 +(The restore is performed as if a series of)5.324 F F2(set)2.825 E F1 +(com-)2.825 E(mands were e)144 436.8 Q -.15(xe)-.15 G (cuted to restore the v).15 E -(alues that were in place before the function.)-.25 E -.4(Wi)144 424.8 S +(alues that were in place before the function.)-.25 E -.4(Wi)144 453.6 S (th no operands,).4 E F2(local)2.5 E F1(writes a list of local v)2.5 E (ariables to the standard output.)-.25 E .341 -(The return status is 0 unless)144 441.6 R F2(local)2.841 E F1 .341 +(The return status is 0 unless)144 470.4 R F2(local)2.841 E F1 .341 (is used outside a function, an in)2.841 F -.25(va)-.4 G(lid).25 E F0 -(name)3.201 E F1 .341(is supplied, or)3.021 F F0(name)2.842 E F1 -(is a readonly v)144 453.6 Q(ariable.)-.25 E F2(logout [)108 470.4 Q F0 -(n)A F2(])A F1(Exit a login shell, returning a status of)144 482.4 Q F0 +(name)3.201 E F1 .341(is supplied, or)3.021 F F0(name)2.841 E F1 +(is a readonly v)144 482.4 Q(ariable.)-.25 E F2(logout [)108 499.2 Q F0 +(n)A F2(])A F1(Exit a login shell, returning a status of)144 511.2 Q F0 (n)2.5 E F1(to the shell')2.5 E 2.5(sp)-.55 G(arent.)-2.5 E F2 -(map\214le)108 499.2 Q F1([)2.5 E F2A F0(delim)2.5 E F1 2.5(][)C -F2-2.5 E F0(count)2.5 E F1 2.5(][)C F2-2.5 E F0(origin)2.5 E +(map\214le)108 528 Q F1([)2.5 E F2A F0(delim)2.5 E F1 2.5(][)C F2 +-2.5 E F0(count)2.5 E F1 2.5(][)C F2-2.5 E F0(origin)2.5 E F1 2.5(][)C F2-2.5 E F0(count)2.5 E F1 2.5(][)C F2-2.5 E F1 2.5(][)C F2-2.5 E F0(fd)2.5 E F1 2.5(][)C F2-2.5 E F0 (callbac)2.5 E(k)-.2 E F1 2.5(][)C F2-2.5 E F0(quantum)2.5 E F1 -2.5(][)C F0(arr)-2.5 E(ay)-.15 E F1(])A F2 -.18(re)108 511.2 S(adarray) -.18 E F1([)2.5 E F2A F0(delim)2.5 E F1 2.5(][)C F2-2.5 E F0 +2.5(][)C F0(arr)-2.5 E(ay)-.15 E F1(])A F2 -.18(re)108 540 S(adarray).18 +E F1([)2.5 E F2A F0(delim)2.5 E F1 2.5(][)C F2-2.5 E F0 (count)2.5 E F1 2.5(][)C F2-2.5 E F0(origin)2.5 E F1 2.5(][)C F2 -2.5 E F0(count)2.5 E F1 2.5(][)C F2-2.5 E F1 2.5(][)C F2 -2.5 E F0(fd)2.5 E F1 2.5(][)C F2-2.5 E F0(callbac)2.5 E(k) -.2 E F1 2.5(][)C F2-2.5 E F0(quantum)2.5 E F1 2.5(][)C F0(arr) --2.5 E(ay)-.15 E F1(])A .329 -(Read lines from the standard input, or from \214le descriptor)144 523.2 -R F0(fd)4.798 E F1 .328(if the)3.598 F F22.828 E F1 .328 -(option is supplied, into the)2.828 F(inde)144 535.2 Q -.15(xe)-.15 G -3.489(da).15 G .989(rray v)-3.489 F(ariable)-.25 E F0(arr)3.819 E(ay) --.15 E F1 5.989(.T).32 G .989(he v)-5.989 F(ariable)-.25 E F3(MAPFILE) -3.489 E F1 .989(is the def)3.239 F(ault)-.1 E F0(arr)3.49 E(ay)-.15 E F1 -5.99(.O)C .99(ptions, if supplied,)-5.99 F(ha)144 547.2 Q .3 -.15(ve t) --.2 H(he follo).15 E(wing meanings:)-.25 E F2144 559.2 Q F1 .282 -(Use the \214rst character of)180 559.2 R F0(delim)2.782 E F1 .281 -(to terminate each input line, rather than ne)2.781 F 2.781(wline. If) --.25 F F0(delim)2.781 E F1(is the empty string,)180 571.2 Q F2 -(map\214le)2.5 E F1(will terminate a line when it reads a NUL character) -2.5 E(.)-.55 E F2144 583.2 Q F1(Cop)180 583.2 Q 2.5(ya)-.1 G 2.5 -(tm)-2.5 G(ost)-2.5 E F0(count)2.7 E F1 2.5(lines. If)3.18 F F0(count) -2.5 E F1(is 0, cop)2.5 E 2.5(ya)-.1 G(ll lines.)-2.5 E F2144 595.2 -Q F1(Be)180 595.2 Q(gin assigning to)-.15 E F0(arr)2.83 E(ay)-.15 E F1 -(at inde)2.82 E(x)-.15 E F0(origin)2.73 E F1 5(.T).24 G(he def)-5 E -(ault inde)-.1 E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2144 607.2 -Q F1(Discard the \214rst)180 607.2 Q F0(count)2.5 E F1(lines read.)2.5 E -F2144 619.2 Q F1(Remo)180 619.2 Q .3 -.15(ve a t)-.15 H(railing) -.15 E F0(delim)2.5 E F1(\(def)2.5 E(ault ne)-.1 E -(wline\) from each line read.)-.25 E F2144 631.2 Q F1 -(Read lines from \214le descriptor)180 631.2 Q F0(fd)2.5 E F1 -(instead of the standard input.)2.5 E F2144 643.2 Q F1(Ev)180 -643.2 Q(aluate)-.25 E F0(callbac)2.7 E(k)-.2 E F1(each time)3.17 E F0 -(quantum)2.5 E F1(lines are read.)2.5 E(The)5 E F22.5 E F1 -(option speci\214es)2.5 E F0(quantum)2.75 E F1(.).32 E F2144 655.2 -Q F1(Specify the number of lines read between each call to)180 655.2 Q -F0(callbac)2.7 E(k)-.2 E F1(.).67 E(If)144 672 Q F22.967 E F1 .467 +-2.5 E(ay)-.15 E F1(])A .328 +(Read lines from the standard input, or from \214le descriptor)144 552 R +F0(fd)4.798 E F1 .328(if the)3.598 F F22.829 E F1 .329 +(option is supplied, into the)2.829 F(inde)144 564 Q -.15(xe)-.15 G 3.49 +(da).15 G .99(rray v)-3.49 F(ariable)-.25 E F0(arr)3.82 E(ay)-.15 E F1 +5.99(.T).32 G .989(he v)-5.99 F(ariable)-.25 E F3(MAPFILE)3.489 E F1 +.989(is the def)3.239 F(ault)-.1 E F0(arr)3.489 E(ay)-.15 E F1 5.989(.O) +C .989(ptions, if supplied,)-5.989 F(ha)144 576 Q .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F2144 588 Q F1 .281 +(Use the \214rst character of)180 588 R F0(delim)2.781 E F1 .281 +(to terminate each input line, rather than ne)2.781 F 2.782(wline. If) +-.25 F F0(delim)2.782 E F1(is the empty string,)180 600 Q F2(map\214le) +2.5 E F1(will terminate a line when it reads a NUL character)2.5 E(.) +-.55 E F2144 612 Q F1(Cop)180 612 Q 2.5(ya)-.1 G 2.5(tm)-2.5 G +(ost)-2.5 E F0(count)2.7 E F1 2.5(lines. If)3.18 F F0(count)2.5 E F1 +(is 0, cop)2.5 E 2.5(ya)-.1 G(ll lines.)-2.5 E F2144 624 Q F1(Be) +180 624 Q(gin assigning to)-.15 E F0(arr)2.83 E(ay)-.15 E F1(at inde) +2.82 E(x)-.15 E F0(origin)2.73 E F1 5(.T).24 G(he def)-5 E(ault inde)-.1 +E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2144 636 Q F1 +(Discard the \214rst)180 636 Q F0(count)2.5 E F1(lines read.)2.5 E F2 +144 648 Q F1(Remo)180 648 Q .3 -.15(ve a t)-.15 H(railing).15 E F0 +(delim)2.5 E F1(\(def)2.5 E(ault ne)-.1 E(wline\) from each line read.) +-.25 E F2144 660 Q F1(Read lines from \214le descriptor)180 660 Q +F0(fd)2.5 E F1(instead of the standard input.)2.5 E F2144 672 Q F1 +(Ev)180 672 Q(aluate)-.25 E F0(callbac)2.7 E(k)-.2 E F1(each time)3.17 E +F0(quantum)2.5 E F1(lines are read.)2.5 E(The)5 E F22.5 E F1 +(option speci\214es)2.5 E F0(quantum)2.75 E F1(.).32 E F2144 684 Q +F1(Specify the number of lines read between each call to)180 684 Q F0 +(callbac)2.7 E(k)-.2 E F1(.).67 E(If)144 700.8 Q F22.968 E F1 .467 (is speci\214ed without)2.967 F F22.967 E F1 2.967(,t)C .467 (he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F0 (callbac)2.967 E(k)-.2 E F1 .467(is e)2.967 F -.25(va)-.25 G .467 -(luated, it is sup-).25 F .262(plied the inde)144 684 R 2.762(xo)-.15 G -2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be assig\ -ned and the line to be assigned to that element)-.15 F .274 -(as additional ar)144 696 R(guments.)-.18 E F0(callbac)5.274 E(k)-.2 E -F1 .274(is e)2.774 F -.25(va)-.25 G .274 -(luated after the line is read b).25 F .275 -(ut before the array element is)-.2 F(assigned.)144 708 Q(GNU Bash 5.3) -72 768 Q(2025 February 24)139.29 E(78)188.45 E 0 Cg EP +(luated, it is sup-).25 F .261(plied the inde)144 712.8 R 2.761(xo)-.15 +G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\ +igned and the line to be assigned to that element)-.15 F .275 +(as additional ar)144 724.8 R(guments.)-.18 E F0(callbac)5.275 E(k)-.2 E +F1 .275(is e)2.775 F -.25(va)-.25 G .274 +(luated after the line is read b).25 F .274 +(ut before the array element is)-.2 F(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(78)198.445 E 0 Cg EP %%Page: 79 79 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(If not supplied with an e)144 84 Q(xplicit origin,) --.15 E/F2 10/Times-Bold@0 SF(map\214le)2.5 E F1(will clear)2.5 E F0(arr) -2.5 E(ay)-.15 E F1(before assigning to it.)2.5 E F2(map\214le)144 100.8 -Q F1 1.066(returns zero unless an in)3.566 F -.25(va)-.4 G 1.065 -(lid option or option ar).25 F 1.065(gument is supplied,)-.18 F F0(arr) -3.565 E(ay)-.15 E F1 1.065(is in)3.565 F -.25(va)-.4 G 1.065(lid or).25 -F(unassignable, or if)144 112.8 Q F0(arr)2.5 E(ay)-.15 E F1 -(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E -F2(popd)108 129.6 Q F1<5bad>2.5 E F2(n)A F1 2.5(][)C(+)-2.5 E F0(n)A F1 -2.5(][)C-2.5 E F0(n)A F1(])A(Remo)144 141.6 Q 1.15 -.15(ve e)-.15 H -.85(ntries from the directory stack.).15 F .851 +.25 E F1(\(1\)).95 E(assigned.)144 84 Q(If not supplied with an e)144 +100.8 Q(xplicit origin,)-.15 E/F2 10/Times-Bold@0 SF(map\214le)2.5 E F1 +(will clear)2.5 E F0(arr)2.5 E(ay)-.15 E F1(before assigning to it.)2.5 +E F2(map\214le)144 117.6 Q F1 1.065(returns zero unless an in)3.565 F +-.25(va)-.4 G 1.065(lid option or option ar).25 F 1.065 +(gument is supplied,)-.18 F F0(arr)3.566 E(ay)-.15 E F1 1.066(is in) +3.566 F -.25(va)-.4 G 1.066(lid or).25 F(unassignable, or if)144 129.6 Q +F0(arr)2.5 E(ay)-.15 E F1(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 +G(rray)-2.5 E(.)-.65 E F2(popd)108 146.4 Q F1<5bad>2.5 E F2(n)A F1 2.5 +(][)C(+)-2.5 E F0(n)A F1 2.5(][)C-2.5 E F0(n)A F1(])A(Remo)144 158.4 +Q 1.151 -.15(ve e)-.15 H .851(ntries from the directory stack.).15 F .85 (The elements are numbered from 0 starting at the \214rst)5.851 F .848 -(directory listed by)144 153.6 R F2(dirs)3.348 E F1 3.348(,s)C(o)-3.348 +(directory listed by)144 170.4 R F2(dirs)3.348 E F1 3.348(,s)C(o)-3.348 E F2(popd)3.348 E F1 .848(is equi)3.348 F -.25(va)-.25 G .848 (lent to \231popd +0.).25 F 5.848<9a57>-.7 G .848(ith no ar)-6.248 F (guments,)-.18 E F2(popd)3.348 E F1(remo)3.348 E -.15(ve)-.15 G(s).15 E -1.142(the top directory from the stack, and changes to the ne)144 165.6 -R 3.643(wt)-.25 G 1.143(op directory)-3.643 F 6.143(.A)-.65 G -.18(rg) --6.143 G 1.143(uments, if supplied,).18 F(ha)144 177.6 Q .3 -.15(ve t) --.2 H(he follo).15 E(wing meanings:)-.25 E F2144 189.6 Q F1 .504 -(Suppress the normal change of directory when remo)180 189.6 R .504 +1.143(the top directory from the stack, and changes to the ne)144 182.4 +R 3.642(wt)-.25 G 1.142(op directory)-3.642 F 6.142(.A)-.65 G -.18(rg) +-6.142 G 1.142(uments, if supplied,).18 F(ha)144 194.4 Q .3 -.15(ve t) +-.2 H(he follo).15 E(wing meanings:)-.25 E F2144 206.4 Q F1 .504 +(Suppress the normal change of directory when remo)180 206.4 R .504 (ving directories from the stack, only)-.15 F(manipulate the stack.)180 -201.6 Q F2(+)144 213.6 Q F0(n)A F1(Remo)180 213.6 Q .683 -.15(ve t)-.15 -H(he).15 E F0(n)2.883 E F1 .383 +218.4 Q F2(+)144 230.4 Q F0(n)A F1(Remo)180 230.4 Q .684 -.15(ve t)-.15 +H(he).15 E F0(n)2.884 E F1 .383 (th entry counting from the left of the list sho)B .383(wn by)-.25 F F2 -(dirs)2.883 E F1 2.883(,s)C .384(tarting with zero,)-2.883 F .777 -(from the stack.)180 225.6 R -.15(Fo)5.777 G 3.277(re).15 G .777 -(xample: \231popd +0\232 remo)-3.427 F -.15(ve)-.15 G 3.276(st).15 G -.776(he \214rst directory)-3.276 F 3.276<2c99>-.65 G .776 -(popd +1\232 the sec-)-3.276 F(ond.)180 237.6 Q F2144 249.6 Q F0(n)A -F1(Remo)180 249.6 Q .335 -.15(ve t)-.15 H(he).15 E F0(n)2.535 E F1 .036 -(th entry counting from the right of the list sho)B .036(wn by)-.25 F F2 -(dirs)2.536 E F1 2.536(,s)C .036(tarting with zero.)-2.536 F -.15(Fo)180 -261.6 S 2.5(re).15 G(xample: \231popd \2550\232 remo)-2.65 E -.15(ve) +(dirs)2.883 E F1 2.883(,s)C .383(tarting with zero,)-2.883 F .776 +(from the stack.)180 242.4 R -.15(Fo)5.776 G 3.276(re).15 G .776 +(xample: \231popd +0\232 remo)-3.426 F -.15(ve)-.15 G 3.276(st).15 G +.777(he \214rst directory)-3.276 F 3.277<2c99>-.65 G .777 +(popd +1\232 the sec-)-3.277 F(ond.)180 254.4 Q F2144 266.4 Q F0(n)A +F1(Remo)180 266.4 Q .336 -.15(ve t)-.15 H(he).15 E F0(n)2.536 E F1 .036 +(th entry counting from the right of the list sho)B .035(wn by)-.25 F F2 +(dirs)2.535 E F1 2.535(,s)C .035(tarting with zero.)-2.535 F -.15(Fo)180 +278.4 S 2.5(re).15 G(xample: \231popd \2550\232 remo)-2.65 E -.15(ve) -.15 G 2.5(st).15 G(he last directory)-2.5 E 2.5<2c99>-.65 G -(popd \2551\232 the ne)-2.5 E(xt to last.)-.15 E 1.058 +(popd \2551\232 the ne)-2.5 E(xt to last.)-.15 E 1.057 (If the top element of the directory stack is modi\214ed, and the)144 -278.4 R F03.557 E F1 1.057(option w)3.557 F 1.057 -(as not supplied,)-.1 F F2(popd)3.557 E F1 .249(uses the)144 290.4 R F2 +295.2 R F03.558 E F1 1.058(option w)3.558 F 1.058 +(as not supplied,)-.1 F F2(popd)3.558 E F1 .25(uses the)144 307.2 R F2 (cd)2.749 E F1 -.2(bu)2.749 G .249 (iltin to change to the directory at the top of the stack.).2 F .249 (If the)5.249 F F2(cd)2.749 E F1 -.1(fa)2.749 G(ils,).1 E F2(popd)2.749 -E F1 .25(returns a)2.749 F(non-zero v)144 302.4 Q(alue.)-.25 E -(Otherwise,)144 319.2 Q F2(popd)3.572 E F1 1.072(returns f)3.572 F 1.072 +E F1 .249(returns a)2.749 F(non-zero v)144 319.2 Q(alue.)-.25 E +(Otherwise,)144 336 Q F2(popd)3.571 E F1 1.072(returns f)3.571 F 1.072 (alse if an in)-.1 F -.25(va)-.4 G 1.072 -(lid option is supplied, the directory stack is empty).25 F 3.571(,o) --.65 G(r)-3.571 E F0(n)3.571 E F1(speci\214es a non-e)144 331.2 Q -(xistent directory stack entry)-.15 E(.)-.65 E 1.45(If the)144 348 R F2 -(popd)3.95 E F1 1.45(command is successful,)3.95 F F2(bash)3.95 E F1 -(runs)3.951 E F2(dirs)3.951 E F1 1.451(to sho)3.951 F 3.951(wt)-.25 G -1.451(he \214nal contents of the directory)-3.951 F -(stack, and the return status is 0.)144 360 Q F2(printf)108 376.8 Q F1 +(lid option is supplied, the directory stack is empty).25 F 3.572(,o) +-.65 G(r)-3.572 E F0(n)3.572 E F1(speci\214es a non-e)144 348 Q +(xistent directory stack entry)-.15 E(.)-.65 E 1.451(If the)144 364.8 R +F2(popd)3.951 E F1 1.451(command is successful,)3.951 F F2(bash)3.951 E +F1(runs)3.951 E F2(dirs)3.951 E F1 1.451(to sho)3.951 F 3.95(wt)-.25 G +1.45(he \214nal contents of the directory)-3.95 F +(stack, and the return status is 0.)144 376.8 Q F2(printf)108 393.6 Q F1 ([)2.5 E F2A F0(var)2.5 E F1(])A F0(format)2.5 E F1([)2.5 E F0(ar) -A(guments)-.37 E F1(])A .358(Write the formatted)144 388.8 R F0(ar)2.858 -E(guments)-.37 E F1 .358 -(to the standard output under the control of the)2.858 F F0(format)2.857 -E F1 5.357(.T)C(he)-5.357 E F22.857 E F1(op-)2.857 E -(tion assigns the output to the v)144 400.8 Q(ariable)-.25 E F0(var)2.5 -E F1(rather than printing it to the standard output.)2.5 E(The)144 417.6 -Q F0(format)3.017 E F1 .517(is a character string which contains three \ -types of objects: plain characters, which are)3.017 F .704(simply copie\ +A(guments)-.37 E F1(])A .357(Write the formatted)144 405.6 R F0(ar)2.857 +E(guments)-.37 E F1 .357 +(to the standard output under the control of the)2.857 F F0(format)2.858 +E F1 5.358(.T)C(he)-5.358 E F22.858 E F1(op-)2.858 E +(tion assigns the output to the v)144 417.6 Q(ariable)-.25 E F0(var)2.5 +E F1(rather than printing it to the standard output.)2.5 E(The)144 434.4 +Q F0(format)3.018 E F1 .517(is a character string which contains three \ +types of objects: plain characters, which are)3.018 F .704(simply copie\ d to standard output, character escape sequences, which are con)144 -429.6 R -.15(ve)-.4 G .703(rted and copied to).15 F .036(the standard o\ +446.4 R -.15(ve)-.4 G .704(rted and copied to).15 F .036(the standard o\ utput, and format speci\214cations, each of which causes printing of th\ -e ne)144 441.6 R .037(xt successi)-.15 F -.15(ve)-.25 G F0(ar)144 453.6 -Q(gument)-.37 E F1 7.825(.I)C 5.325(na)-7.825 G 2.825 -(ddition to the standard)-5.325 F F0(printf)6.574 E F1 2.824 -(\(3\) format characters)1.96 F F2(cCsSndiouxXeEfFgGaA)5.324 E F1(,)A F2 -(printf)144 465.6 Q F1(interprets the follo)2.5 E -(wing additional format speci\214ers:)-.25 E F2(%b)144 477.6 Q F1 -(causes)180 477.6 Q F2(printf)2.595 E F1 .096(to e)2.595 F .096 +e ne)144 458.4 R .036(xt successi)-.15 F -.15(ve)-.25 G F0(ar)144 470.4 +Q(gument)-.37 E F1 7.824(.I)C 5.324(na)-7.824 G 2.824 +(ddition to the standard)-5.324 F F0(printf)6.575 E F1 2.825 +(\(3\) format characters)1.96 F F2(cCsSndiouxXeEfFgGaA)5.325 E F1(,)A F2 +(printf)144 482.4 Q F1(interprets the follo)2.5 E +(wing additional format speci\214ers:)-.25 E F2(%b)144 494.4 Q F1 +(causes)180 494.4 Q F2(printf)2.596 E F1 .096(to e)2.596 F .096 (xpand backslash escape sequences in the corresponding)-.15 F F0(ar) -2.596 E(gument)-.37 E F1 .096(in the)2.596 F(same w)180 489.6 Q(ay as) --.1 E F2(echo \255e)2.5 E F1(.)A F2(%q)144 501.6 Q F1(causes)180 501.6 Q +2.596 E(gument)-.37 E F1 .095(in the)2.595 F(same w)180 506.4 Q(ay as) +-.1 E F2(echo \255e)2.5 E F1(.)A F2(%q)144 518.4 Q F1(causes)180 518.4 Q F2(printf)2.51 E F1 .01(to output the corresponding)2.51 F F0(ar)2.51 E (gument)-.37 E F1 .01(in a format that can be reused as shell)2.51 F -(input.)180 513.6 Q F2(%q)5.543 E F1(and)3.043 E F2(%Q)3.043 E F1 .544 -(use the)3.043 F F2<240808>3.044 E F1 .544(quoting style if an)3.044 F -3.044(yc)-.15 G .544(haracters in the ar)-3.044 F .544 -(gument string re-)-.18 F 1.286 -(quire it, and backslash quoting otherwise.)180 525.6 R 1.285 -(If the format string uses the)6.285 F F0(printf)3.785 E F1(alternate) -3.785 E(form, these tw)180 537.6 Q 2.5(of)-.1 G(ormats quote the ar)-2.5 -E(gument string using single quotes.)-.18 E F2(%Q)144 549.6 Q F1(lik)180 -549.6 Q(e)-.1 E F2(%q)2.5 E F1 2.5(,b)C(ut applies an)-2.7 E 2.5(ys)-.15 +(input.)180 530.4 Q F2(%q)5.544 E F1(and)3.044 E F2(%Q)3.044 E F1 .544 +(use the)3.044 F F2<240808>3.044 E F1 .544(quoting style if an)3.044 F +3.044(yc)-.15 G .543(haracters in the ar)-3.044 F .543 +(gument string re-)-.18 F 1.285 +(quire it, and backslash quoting otherwise.)180 542.4 R 1.286 +(If the format string uses the)6.285 F F0(printf)3.786 E F1(alternate) +3.786 E(form, these tw)180 554.4 Q 2.5(of)-.1 G(ormats quote the ar)-2.5 +E(gument string using single quotes.)-.18 E F2(%Q)144 566.4 Q F1(lik)180 +566.4 Q(e)-.1 E F2(%q)2.5 E F1 2.5(,b)C(ut applies an)-2.7 E 2.5(ys)-.15 G(upplied precision to the)-2.5 E F0(ar)2.5 E(gument)-.37 E F1 -(before quoting it.)2.5 E F2(%\()144 561.6 Q F0(datefmt)A F2(\)T)A F1 -(causes)180 573.6 Q F2(printf)4.403 E F1 1.904 -(to output the date-time string resulting from using)4.403 F F0(datefmt) -4.404 E F1 1.904(as a format)4.404 F .334(string for)180 585.6 R F0 -(strftime)3.174 E F1 2.834(\(3\). The).18 F(corresponding)2.834 E F0(ar) -2.834 E(gument)-.37 E F1 .334(is an inte)2.834 F .333 -(ger representing the number)-.15 F .976(of seconds since the epoch.)180 -597.6 R .977(This format speci\214er recognizes tw)5.977 F 3.477(os)-.1 -G .977(pecial ar)-3.477 F .977(gument v)-.18 F(al-)-.25 E .602(ues: \ +(before quoting it.)2.5 E F2(%\()144 578.4 Q F0(datefmt)A F2(\)T)A F1 +(causes)180 590.4 Q F2(printf)4.404 E F1 1.904 +(to output the date-time string resulting from using)4.404 F F0(datefmt) +4.404 E F1 1.903(as a format)4.404 F .333(string for)180 602.4 R F0 +(strftime)3.173 E F1 2.833(\(3\). The).18 F(corresponding)2.833 E F0(ar) +2.834 E(gument)-.37 E F1 .334(is an inte)2.834 F .334 +(ger representing the number)-.15 F .977(of seconds since the epoch.)180 +614.4 R .977(This format speci\214er recognizes tw)5.977 F 3.476(os)-.1 +G .976(pecial ar)-3.476 F .976(gument v)-.18 F(al-)-.25 E .602(ues: \ \2551 represents the current time, and \2552 represents the time the sh\ -ell w)180 609.6 R .602(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.102(d. If) -.1 F .746(no ar)180 621.6 R .746(gument is speci\214ed, con)-.18 F -.15 -(ve)-.4 G .746(rsion beha).15 F -.15(ve)-.2 G 3.247(sa).15 G 3.247(si) +ell w)180 626.4 R .602(as in)-.1 F -.2(vo)-.4 G -.1(ke).2 G 3.102(d. If) +.1 F .747(no ar)180 638.4 R .747(gument is speci\214ed, con)-.18 F -.15 +(ve)-.4 G .747(rsion beha).15 F -.15(ve)-.2 G 3.247(sa).15 G 3.247(si) -3.247 G 3.247<66ad>-3.247 G 3.247(1h)-3.247 G .747(ad been supplied.) --3.247 F .747(This is an e)5.747 F(x-)-.15 E(ception to the usual)180 -633.6 Q F2(printf)2.5 E F1(beha)2.5 E(vior)-.2 E(.)-.55 E .946(The %b, \ +-3.247 F .746(This is an e)5.746 F(x-)-.15 E(ception to the usual)180 +650.4 Q F2(printf)2.5 E F1(beha)2.5 E(vior)-.2 E(.)-.55 E .946(The %b, \ %q, and %T format speci\214ers all use the \214eld width and precision \ -ar)144 650.4 R .945(guments from the)-.18 F .338 -(format speci\214cation and write that man)144 662.4 R 2.838(yb)-.15 G -.338(ytes from \(or use that wide a \214eld for\) the e)-2.838 F .339 +ar)144 667.2 R .946(guments from the)-.18 F .339 +(format speci\214cation and write that man)144 679.2 R 2.838(yb)-.15 G +.338(ytes from \(or use that wide a \214eld for\) the e)-2.838 F .338 (xpanded ar)-.15 F(-)-.2 E (gument, which usually contains more characters than the original.)144 -674.4 Q(The %n format speci\214er accepts a corresponding ar)144 691.2 Q -(gument that is treated as a shell v)-.18 E(ariable name.)-.25 E .394 -(The %s and %c format speci\214ers accept an l \(long\) modi\214er)144 -708 R 2.893(,w)-.4 G .393(hich forces them to con)-2.893 F -.15(ve)-.4 G -.393(rt the ar).15 F(-)-.2 E .32 -(gument string to a wide-character string and apply an)144 720 R 2.821 -(ys)-.15 G .321(upplied \214eld width and precision in terms)-2.821 F -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(79)188.45 E 0 Cg EP +691.2 Q(The %n format speci\214er accepts a corresponding ar)144 708 Q +(gument that is treated as a shell v)-.18 E(ariable name.)-.25 E +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(79)198.445 E 0 Cg EP %%Page: 80 80 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .309(of characters, not bytes.)144 84 R .308 +.25 E F1(\(1\)).95 E .393 +(The %s and %c format speci\214ers accept an l \(long\) modi\214er)144 +84 R 2.894(,w)-.4 G .394(hich forces them to con)-2.894 F -.15(ve)-.4 G +.394(rt the ar).15 F(-)-.2 E .321 +(gument string to a wide-character string and apply an)144 96 R 2.821 +(ys)-.15 G .32(upplied \214eld width and precision in terms)-2.821 F +.308(of characters, not bytes.)144 108 R .308 (The %S and %C format speci\214ers are equi)5.308 F -.25(va)-.25 G .308 -(lent to %ls and %lc, respec-).25 F(ti)144 96 Q -.15(ve)-.25 G(ly).15 E -(.)-.65 E(Ar)144 112.8 Q .463(guments to non-string format speci\214ers\ - are treated as C constants, e)-.18 F .464(xcept that a leading plus or) --.15 F .36(minus sign is allo)144 124.8 R .359 +(lent to %ls and %lc, respec-).25 F(ti)144 120 Q -.15(ve)-.25 G(ly).15 E +(.)-.65 E(Ar)144 136.8 Q .464(guments to non-string format speci\214ers\ + are treated as C constants, e)-.18 F .463(xcept that a leading plus or) +-.15 F .359(minus sign is allo)144 148.8 R .359 (wed, and if the leading character is a single or double quote, the v) --.25 F .359(alue is the nu-)-.25 F(meric v)144 136.8 Q -(alue of the follo)-.25 E(wing character)-.25 E 2.5(,u)-.4 G -(sing the current locale.)-2.5 E(The)144 153.6 Q F0(format)2.514 E F1 -.015(is reused as necessary to consume all of the)2.514 F F0(ar)2.515 E -(guments)-.37 E F1 5.015(.I)C 2.515(ft)-5.015 G(he)-2.515 E F0(format) -2.515 E F1 .015(requires more)2.515 F F0(ar)2.515 E(-)-.2 E(guments)144 -165.6 Q F1 .566(than are supplied, the e)3.066 F .566 +-.25 F .36(alue is the nu-)-.25 F(meric v)144 160.8 Q(alue of the follo) +-.25 E(wing character)-.25 E 2.5(,u)-.4 G(sing the current locale.)-2.5 +E(The)144 177.6 Q F0(format)2.515 E F1 .015 +(is reused as necessary to consume all of the)2.515 F F0(ar)2.515 E +(guments)-.37 E F1 5.015(.I)C 2.514(ft)-5.015 G(he)-2.514 E F0(format) +2.514 E F1 .014(requires more)2.514 F F0(ar)2.514 E(-)-.2 E(guments)144 +189.6 Q F1 .565(than are supplied, the e)3.065 F .566 (xtra format speci\214cations beha)-.15 F .866 -.15(ve a)-.2 H 3.066(si) -.15 G 3.065(faz)-3.066 G .565(ero v)-3.065 F .565(alue or null string,) --.25 F .541(as appropriate, had been supplied.)144 177.6 R .541 +.15 G 3.066(faz)-3.066 G .566(ero v)-3.066 F .566(alue or null string,) +-.25 F .542(as appropriate, had been supplied.)144 201.6 R .541 (The return v)5.541 F .541(alue is zero on success, non-zero if an in) --.25 F -.25(va)-.4 G .542(lid op-).25 F -(tion is supplied or a write or assignment error occurs.)144 189.6 Q/F2 -10/Times-Bold@0 SF(pushd)108 206.4 Q F1([)2.5 E F2A F1 2.5(][)C(+) --2.5 E F0(n)A F1 2.5(][)C-2.5 E F0(n)A F1(])A F2(pushd)108 218.4 Q +-.25 F -.25(va)-.4 G .541(lid op-).25 F +(tion is supplied or a write or assignment error occurs.)144 213.6 Q/F2 +10/Times-Bold@0 SF(pushd)108 230.4 Q F1([)2.5 E F2A F1 2.5(][)C(+) +-2.5 E F0(n)A F1 2.5(][)C-2.5 E F0(n)A F1(])A F2(pushd)108 242.4 Q F1([)2.5 E F2A F1 2.5(][)C F0(dir)-2.5 E F1(])A 1.049(Add a direc\ tory to the top of the directory stack, or rotate the stack, making the\ - ne)144 230.4 R 3.549(wt)-.25 G 1.049(op of the)-3.549 F .088 -(stack the current w)144 242.4 R .088(orking directory)-.1 F 5.088(.W) --.65 G .088(ith no ar)-5.488 F(guments,)-.18 E F2(pushd)2.589 E F1 -.15 -(ex)2.589 G .089(changes the top tw).15 F 2.589(oe)-.1 G .089 -(lements of)-2.589 F(the directory stack.)144 254.4 Q(Ar)5 E + ne)144 254.4 R 3.549(wt)-.25 G 1.049(op of the)-3.549 F .089 +(stack the current w)144 266.4 R .089(orking directory)-.1 F 5.089(.W) +-.65 G .089(ith no ar)-5.489 F(guments,)-.18 E F2(pushd)2.589 E F1 -.15 +(ex)2.588 G .088(changes the top tw).15 F 2.588(oe)-.1 G .088 +(lements of)-2.588 F(the directory stack.)144 278.4 Q(Ar)5 E (guments, if supplied, ha)-.18 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 266.4 Q F1 .347(Suppress the normal \ +(wing meanings:)-.25 E F2144 290.4 Q F1 .347(Suppress the normal \ change of directory when rotating or adding directories to the stack,) -180 266.4 R(only manipulate the stack.)180 278.4 Q F2(+)144 290.4 Q F0 -(n)A F1 .147(Rotate the stack so that the)180 290.4 R F0(n)2.647 E F1 +180 290.4 R(only manipulate the stack.)180 302.4 Q F2(+)144 314.4 Q F0 +(n)A F1 .147(Rotate the stack so that the)180 314.4 R F0(n)2.647 E F1 .147(th directory \(counting from the left of the list sho)B .147(wn by) --.25 F F2(dirs)2.648 E F1(,)A(starting with zero\) is at the top.)180 -302.4 Q F2144 314.4 Q F0(n)A F1 .92(Rotates the stack so that the) -180 314.4 R F0(n)3.42 E F1 .92 +-.25 F F2(dirs)2.647 E F1(,)A(starting with zero\) is at the top.)180 +326.4 Q F2144 338.4 Q F0(n)A F1 .92(Rotates the stack so that the) +180 338.4 R F0(n)3.42 E F1 .92 (th directory \(counting from the right of the list sho)B .92(wn by)-.25 -F F2(dirs)180 326.4 Q F1 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F0(dir)144.35 338.4 Q F1(Adds)180 338.4 Q F0(dir)2.85 E F1 -(to the directory stack at the top.)3.23 E .434 -(After the stack has been modi\214ed, if the)144 355.2 R F22.934 E -F1 .434(option w)2.934 F .435(as not supplied,)-.1 F F2(pushd)2.935 E F1 -.435(uses the)2.935 F F2(cd)2.935 E F1 -.2(bu)2.935 G .435(iltin to).2 F -(change to the directory at the top of the stack.)144 367.2 Q(If the)5 E +F F2(dirs)180 350.4 Q F1 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F0(dir)144.35 362.4 Q F1(Adds)180 362.4 Q F0(dir)2.85 E F1 +(to the directory stack at the top.)3.23 E .435 +(After the stack has been modi\214ed, if the)144 379.2 R F22.935 E +F1 .434(option w)2.934 F .434(as not supplied,)-.1 F F2(pushd)2.934 E F1 +.434(uses the)2.934 F F2(cd)2.934 E F1 -.2(bu)2.934 G .434(iltin to).2 F +(change to the directory at the top of the stack.)144 391.2 Q(If the)5 E F2(cd)2.5 E F1 -.1(fa)2.5 G(ils,).1 E F2(pushd)2.5 E F1 -(returns a non-zero v)2.5 E(alue.)-.25 E .908(Otherwise, if no ar)144 -384 R .908(guments are supplied,)-.18 F F2(pushd)3.408 E F1 .908 -(returns zero unless the directory stack is empty)3.408 F(.)-.65 E 1.477 -(When rotating the directory stack,)144 396 R F2(pushd)3.977 E F1 1.477 -(returns zero unless the directory stack is empty or)3.977 F F0(n)3.978 -E F1(speci\214es a non-e)144 408 Q(xistent directory stack element.)-.15 -E 1.173(If the)144 424.8 R F2(pushd)3.673 E F1 1.173 -(command is successful,)3.673 F F2(bash)3.673 E F1(runs)3.673 E F2(dirs) -3.673 E F1 1.172(to sho)3.672 F 3.672(wt)-.25 G 1.172 -(he \214nal contents of the directory)-3.672 F(stack.)144 436.8 Q F2 -(pwd)108 453.6 Q F1([)2.5 E F2(\255LP)A F1(])A .844 -(Print the absolute pathname of the current w)144 465.6 R .845 -(orking directory)-.1 F 5.845(.T)-.65 G .845 -(he pathname printed contains no)-5.845 F .182(symbolic links if the)144 -477.6 R F22.681 E F1 .181(option is supplied or the)2.681 F F2 +(returns a non-zero v)2.5 E(alue.)-.25 E .907(Otherwise, if no ar)144 +408 R .908(guments are supplied,)-.18 F F2(pushd)3.408 E F1 .908 +(returns zero unless the directory stack is empty)3.408 F(.)-.65 E 1.478 +(When rotating the directory stack,)144 420 R F2(pushd)3.978 E F1 1.477 +(returns zero unless the directory stack is empty or)3.977 F F0(n)3.977 +E F1(speci\214es a non-e)144 432 Q(xistent directory stack element.)-.15 +E 1.172(If the)144 448.8 R F2(pushd)3.672 E F1 1.172 +(command is successful,)3.672 F F2(bash)3.672 E F1(runs)3.672 E F2(dirs) +3.672 E F1 1.173(to sho)3.673 F 3.673(wt)-.25 G 1.173 +(he \214nal contents of the directory)-3.673 F(stack.)144 460.8 Q F2 +(pwd)108 477.6 Q F1([)2.5 E F2(\255LP)A F1(])A .845 +(Print the absolute pathname of the current w)144 489.6 R .845 +(orking directory)-.1 F 5.844(.T)-.65 G .844 +(he pathname printed contains no)-5.844 F .181(symbolic links if the)144 +501.6 R F22.681 E F1 .181(option is supplied or the)2.681 F F2 .181(\255o ph)2.681 F(ysical)-.15 E F1 .181(option to the)2.681 F F2 -(set)2.681 E F1 -.2(bu)2.681 G .181(iltin command is).2 F 3.263 -(enabled. If)144 489.6 R(the)3.263 E F23.263 E F1 .763 -(option is used, the pathname printed may contain symbolic links.)3.263 -F .764(The return)5.764 F .405(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 501.6 R -.25(va) --.4 G .405(lid op-).25 F(tion is supplied.)144 513.6 Q F2 -.18(re)108 -530.4 S(ad).18 E F1([)2.5 E F2(\255Eers)A F1 2.5(][)C F2-2.5 E F0 +(set)2.681 E F1 -.2(bu)2.681 G .182(iltin command is).2 F 3.264 +(enabled. If)144 513.6 R(the)3.264 E F23.264 E F1 .763 +(option is used, the pathname printed may contain symbolic links.)3.264 +F .763(The return)5.763 F .405(status is 0 unless an error occurs while\ + reading the name of the current directory or an in)144 525.6 R -.25(va) +-.4 G .405(lid op-).25 F(tion is supplied.)144 537.6 Q F2 -.18(re)108 +554.4 S(ad).18 E F1([)2.5 E F2(\255Eers)A F1 2.5(][)C F2-2.5 E F0 (aname)2.5 E F1 2.5(][)C F2-2.5 E F0(delim)2.5 E F1 2.5(][)C F2 -2.5 E F0(te)2.5 E(xt)-.2 E F1 2.5(][)C F2-2.5 E F0(nc)2.5 E (har)-.15 E(s)-.1 E F1 2.5(][)C F2-2.5 E F0(nc)2.5 E(har)-.15 E(s) -.1 E F1 2.5(][)C F2-2.5 E F0(pr)2.5 E(ompt)-.45 E F1 2.5(][)C F2 -2.5 E F0(timeout)2.5 E F1 2.5(][)C F2-2.5 E F0(fd)2.5 E F1 -(])A([)108 542.4 Q F0(name)A F1 1.666(...)2.5 G(])-1.666 E .145 +(])A([)108 566.4 Q F0(name)A F1 1.666(...)2.5 G(])-1.666 E .146 (Read one line from the standard input, or from the \214le descriptor) -144 554.4 R F0(fd)2.646 E F1 .146(supplied as an ar)2.646 F .146 -(gument to the)-.18 F F2144 566.4 Q F1 .618 -(option, split it into w)3.119 F .618(ords as described abo)-.1 F .918 +144 578.4 R F0(fd)2.645 E F1 .145(supplied as an ar)2.645 F .145 +(gument to the)-.18 F F2144 590.4 Q F1 .618 +(option, split it into w)3.118 F .618(ords as described abo)-.1 F .918 -.15(ve u)-.15 H(nder).15 E F2 -.75(Wo)3.118 G .618(rd Splitting).75 F -F1 3.118(,a)C .618(nd assign the \214rst w)-3.118 F(ord)-.1 E .843 -(to the \214rst)144 578.4 R F0(name)3.703 E F1 3.343(,t).18 G .843 -(he second w)-3.343 F .844(ord to the second)-.1 F F0(name)3.704 E F1 -3.344(,a).18 G .844(nd so on.)-3.344 F .844(If there are more w)5.844 F -.844(ords than)-.1 F .052(names, the remaining w)144 590.4 R .052 +F1 3.118(,a)C .618(nd assign the \214rst w)-3.118 F(ord)-.1 E .844 +(to the \214rst)144 602.4 R F0(name)3.704 E F1 3.344(,t).18 G .844 +(he second w)-3.344 F .844(ord to the second)-.1 F F0(name)3.704 E F1 +3.344(,a).18 G .844(nd so on.)-3.344 F .843(If there are more w)5.843 F +.843(ords than)-.1 F .052(names, the remaining w)144 614.4 R .052 (ords and their interv)-.1 F .052 (ening delimiters are assigned to the last)-.15 F F0(name)2.912 E F1 -5.052(.I).18 G 2.552(ft)-5.052 G(here)-2.552 E .54(are fe)144 602.4 R -.54(wer w)-.25 F .541(ords read from the input stream than names, the r\ -emaining names are assigned empty)-.1 F -.25(va)144 614.4 S 3.201 -(lues. The).25 F .701(characters in the v)3.201 F .701(alue of the)-.25 -F/F3 9/Times-Bold@0 SF(IFS)3.2 E F1 -.25(va)2.95 G .7 -(riable are used to split the line into w).25 F .7(ords using)-.1 F .955 -(the same rules the shell uses for e)144 626.4 R .956 +5.052(.I).18 G 2.552(ft)-5.052 G(here)-2.552 E .541(are fe)144 626.4 R +.541(wer w)-.25 F .541(ords read from the input stream than names, the \ +remaining names are assigned empty)-.1 F -.25(va)144 638.4 S 3.2 +(lues. The).25 F .7(characters in the v)3.2 F .7(alue of the)-.25 F/F3 9 +/Times-Bold@0 SF(IFS)3.2 E F1 -.25(va)2.95 G .701 +(riable are used to split the line into w).25 F .701(ords using)-.1 F +.956(the same rules the shell uses for e)144 650.4 R .956 (xpansion \(described abo)-.15 F 1.256 -.15(ve u)-.15 H(nder).15 E F2 --.75(Wo)3.456 G .956(rd Splitting).75 F F1 3.456(\). The)B(back-)3.456 E -1.184(slash character \()144 638.4 R F2(\\)A F1 3.684(\)r)C(emo)-3.684 E --.15(ve)-.15 G 3.684(sa).15 G 1.484 -.15(ny s)-3.684 H 1.184 -(pecial meaning for the ne).15 F 1.183 -(xt character read and is used for line)-.15 F(continuation.)144 650.4 Q -(Options, if supplied, ha)144 667.2 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 679.2 Q F0(aname)2.5 E F1 1.025 -(The w)180 691.2 R 1.026 +-.75(Wo)3.455 G .955(rd Splitting).75 F F1 3.455(\). The)B(back-)3.455 E +1.183(slash character \()144 662.4 R F2(\\)A F1 3.683(\)r)C(emo)-3.683 E +-.15(ve)-.15 G 3.683(sa).15 G 1.484 -.15(ny s)-3.683 H 1.184 +(pecial meaning for the ne).15 F 1.184 +(xt character read and is used for line)-.15 F(continuation.)144 674.4 Q +(Options, if supplied, ha)144 691.2 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F2144 703.2 Q F0(aname)2.5 E F1 1.026 +(The w)180 715.2 R 1.026 (ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F0(aname)3.856 E F1 3.526(,s).18 G 1.026(tarting at 0.)-3.526 F -F0(aname)180.33 703.2 Q F1(is unset before an)2.68 E 2.5(yn)-.15 G .5 +-.25 E F0(aname)3.855 E F1 3.525(,s).18 G 1.025(tarting at 0.)-3.525 F +F0(aname)180.33 727.2 Q F1(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F0(name)2.5 E F1 (ar)2.5 E(guments are ignored.)-.18 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(80)188.45 E 0 Cg EP +(2025 April 7)149.285 E(80)198.445 E 0 Cg EP %%Page: 81 81 %%BeginPageSetup BP @@ -9968,89 +9967,89 @@ BP /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) .25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF144 84 Q F0(delim)2.5 E -F1 .503(The \214rst character of)180 96 R F0(delim)3.003 E F1 .503 -(terminates the input line, rather than ne)3.003 F 3.002(wline. If)-.25 -F F0(delim)3.002 E F1 .502(is the)3.002 F(empty string,)180 108 Q F2 +F1 .502(The \214rst character of)180 96 R F0(delim)3.002 E F1 .503 +(terminates the input line, rather than ne)3.002 F 3.003(wline. If)-.25 +F F0(delim)3.003 E F1 .503(is the)3.003 F(empty string,)180 108 Q F2 -.18(re)2.5 G(ad).18 E F1 (will terminate a line when it reads a NUL character)2.5 E(.)-.55 E F2 -144 120 Q F1 1.761 +144 120 Q F1 1.762 (If the standard input is coming from a terminal,)180 120 R F2 -.18(re) -4.262 G(ad).18 E F1(uses)4.262 E F2 -.18(re)4.262 G(adline).18 E F1 -(\(see)4.262 E/F3 9/Times-Bold@0 SF(READLINE)4.262 E F1(abo)180 132 Q --.15(ve)-.15 G 3.574(\)t).15 G 3.574(oo)-3.574 G 1.074(btain the line.) --3.574 F F2(Readline)6.074 E F1 1.073(uses the current \(or def)3.573 F -1.073(ault, if line editing w)-.1 F 1.073(as not)-.1 F(pre)180 144 Q +4.261 G(ad).18 E F1(uses)4.261 E F2 -.18(re)4.261 G(adline).18 E F1 +(\(see)4.261 E/F3 9/Times-Bold@0 SF(READLINE)4.261 E F1(abo)180 132 Q +-.15(ve)-.15 G 3.573(\)t).15 G 3.573(oo)-3.573 G 1.073(btain the line.) +-3.573 F F2(Readline)6.073 E F1 1.073(uses the current \(or def)3.573 F +1.074(ault, if line editing w)-.1 F 1.074(as not)-.1 F(pre)180 144 Q (viously acti)-.25 E -.15(ve)-.25 G 2.5(\)e).15 G(diting settings, b) -2.5 E(ut uses)-.2 E F2 -.18(re)2.5 G(adline).18 E F1 1.1 -.55('s d)D -(ef).55 E(ault \214lename completion.)-.1 E F2144 156 Q F1 1.761 +(ef).55 E(ault \214lename completion.)-.1 E F2144 156 Q F1 1.762 (If the standard input is coming from a terminal,)180 156 R F2 -.18(re) -4.262 G(ad).18 E F1(uses)4.262 E F2 -.18(re)4.262 G(adline).18 E F1 -(\(see)4.262 E F3(READLINE)4.262 E F1(abo)180 168 Q -.15(ve)-.15 G 3.574 -(\)t).15 G 3.574(oo)-3.574 G 1.074(btain the line.)-3.574 F F2(Readline) -6.074 E F1 1.073(uses the current \(or def)3.573 F 1.073 -(ault, if line editing w)-.1 F 1.073(as not)-.1 F(pre)180 180 Q .042 +4.261 G(ad).18 E F1(uses)4.261 E F2 -.18(re)4.261 G(adline).18 E F1 +(\(see)4.261 E F3(READLINE)4.261 E F1(abo)180 168 Q -.15(ve)-.15 G 3.573 +(\)t).15 G 3.573(oo)-3.573 G 1.073(btain the line.)-3.573 F F2(Readline) +6.073 E F1 1.073(uses the current \(or def)3.573 F 1.074 +(ault, if line editing w)-.1 F 1.074(as not)-.1 F(pre)180 180 Q .042 (viously acti)-.25 F -.15(ve)-.25 G 2.542(\)e).15 G .042 (diting settings, b)-2.542 F .042(ut uses bash')-.2 F 2.542(sd)-.55 G (ef)-2.542 E .042(ault completion, including program-)-.1 F (mable completion.)180 192 Q F2144 204 Q F0(te)2.5 E(xt)-.2 E F1 -(If)180 204 Q F2 -.18(re)3.314 G(adline).18 E F1 .814 -(is being used to read the line,)3.314 F F2 -.18(re)3.314 G(ad).18 E F1 -(places)3.314 E F0(te)3.314 E(xt)-.2 E F1 .813(into the editing b)3.314 -F(uf)-.2 E .813(fer before)-.25 F(editing be)180 216 Q(gins.)-.15 E F2 +(If)180 204 Q F2 -.18(re)3.313 G(adline).18 E F1 .814 +(is being used to read the line,)3.313 F F2 -.18(re)3.314 G(ad).18 E F1 +(places)3.314 E F0(te)3.314 E(xt)-.2 E F1 .814(into the editing b)3.314 +F(uf)-.2 E .814(fer before)-.25 F(editing be)180 216 Q(gins.)-.15 E F2 144 228 Q F0(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 240 S(ad) -.18 E F1 .322(returns after reading)2.822 F F0(nc)2.823 E(har)-.15 E(s) +.18 E F1 .323(returns after reading)2.823 F F0(nc)2.823 E(har)-.15 E(s) -.1 E F1 .323(characters rather than w)2.823 F .323 -(aiting for a complete line of in-)-.1 F .737 +(aiting for a complete line of in-)-.1 F .736 (put, unless it encounters EOF or)180 252 R F2 -.18(re)3.236 G(ad).18 E -F1 .736(times out, b)3.236 F .736(ut honors a delimiter if it reads fe) +F1 .736(times out, b)3.236 F .737(ut honors a delimiter if it reads fe) -.2 F(wer)-.25 E(than)180 264 Q F0(nc)2.5 E(har)-.15 E(s)-.1 E F1 (characters before the delimiter)2.5 E(.)-.55 E F2144 276 Q F0(nc) 2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 288 S(ad).18 E F1 1.269 -(returns after reading e)3.769 F(xactly)-.15 E F0(nc)3.769 E(har)-.15 E -(s)-.1 E F1 1.269(characters rather than w)3.769 F 1.27 -(aiting for a complete)-.1 F .173 +(returns after reading e)3.77 F(xactly)-.15 E F0(nc)3.769 E(har)-.15 E +(s)-.1 E F1 1.269(characters rather than w)3.769 F 1.269 +(aiting for a complete)-.1 F .172 (line of input, unless it encounters EOF or)180 300 R F2 -.18(re)2.673 G -(ad).18 E F1 .173(times out.)2.673 F(An)5.172 E 2.672(yd)-.15 G .172 -(elimiter characters in the)-2.672 F 1.245 +(ad).18 E F1 .173(times out.)2.673 F(An)5.173 E 2.673(yd)-.15 G .173 +(elimiter characters in the)-2.673 F 1.246 (input are not treated specially and do not cause)180 312 R F2 -.18(re) -3.746 G(ad).18 E F1 1.246(to return until it has read)3.746 F F0(nc) -3.746 E(har)-.15 E(s)-.1 E F1 2.567(characters. The)180 324 R .067 -(result is not split on the characters in)2.567 F F2(IFS)2.566 E F1 -2.566(;t)C .066(he intent is that the v)-2.566 F .066(ariable is)-.25 F -.894(assigned e)180 336 R .894(xactly the characters read \(with the e) --.15 F .895(xception of backslash; see the)-.15 F F23.395 E F1 -(option)3.395 E(belo)180 348 Q(w\).)-.25 E F2144 360 Q F0(pr)2.5 E -(ompt)-.45 E F1(Display)180 372 Q F0(pr)3.661 E(ompt)-.45 E F1 1.161 -(on standard error)3.661 F 3.661(,w)-.4 G 1.161(ithout a trailing ne) +3.746 G(ad).18 E F1 1.245(to return until it has read)3.746 F F0(nc) +3.745 E(har)-.15 E(s)-.1 E F1 2.566(characters. The)180 324 R .066 +(result is not split on the characters in)2.566 F F2(IFS)2.567 E F1 +2.567(;t)C .067(he intent is that the v)-2.567 F .067(ariable is)-.25 F +.895(assigned e)180 336 R .895(xactly the characters read \(with the e) +-.15 F .894(xception of backslash; see the)-.15 F F23.394 E F1 +(option)3.394 E(belo)180 348 Q(w\).)-.25 E F2144 360 Q F0(pr)2.5 E +(ompt)-.45 E F1(Display)180 372 Q F0(pr)3.66 E(ompt)-.45 E F1 1.161 +(on standard error)3.66 F 3.661(,w)-.4 G 1.161(ithout a trailing ne) -3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 384 Q 2.5 (yi)-.15 G(nput, b)-2.5 E(ut only if input is coming from a terminal.) --.2 E F2144 396 Q F1 .543 +-.2 E F2144 396 Q F1 .544 (Backslash does not act as an escape character)180 396 R 5.543(.T)-.55 G -.544(he backslash is considered to be part of)-5.543 F .493(the line.) -180 408 R .493(In particular)5.493 F 2.993(,ab)-.4 G(ackslash-ne)-2.993 +.543(he backslash is considered to be part of)-5.543 F .492(the line.) +180 408 R .492(In particular)5.492 F 2.992(,ab)-.4 G(ackslash-ne)-2.992 E .493(wline pair may not then be used as a line continua-)-.25 F(tion.) 180 420 Q F2144 432 Q F1(Silent mode.)180 432 Q (If input is coming from a terminal, characters are not echoed.)5 E F2 -144 444 Q F0(timeout)2.5 E F1(Cause)180 456 Q F2 -.18(re)2.766 G -(ad).18 E F1 .266(to time out and return f)2.766 F .266 -(ailure if it does not read a complete line of input \(or a)-.1 F .469 +144 444 Q F0(timeout)2.5 E F1(Cause)180 456 Q F2 -.18(re)2.767 G +(ad).18 E F1 .267(to time out and return f)2.767 F .266 +(ailure if it does not read a complete line of input \(or a)-.1 F .468 (speci\214ed number of characters\) within)180 468 R F0(timeout)2.968 E -F1(seconds.)2.968 E F0(timeout)5.468 E F1 .468(may be a decimal num-) -2.968 F .463(ber with a fractional portion follo)180 480 R .464 -(wing the decimal point.)-.25 F .464(This option is only ef)5.464 F -(fecti)-.25 E .764 -.15(ve i)-.25 H(f).15 E F2 -.18(re)180 492 S(ad).18 +F1(seconds.)2.968 E F0(timeout)5.468 E F1 .469(may be a decimal num-) +2.968 F .464(ber with a fractional portion follo)180 480 R .464 +(wing the decimal point.)-.25 F .463(This option is only ef)5.463 F +(fecti)-.25 E .763 -.15(ve i)-.25 H(f).15 E F2 -.18(re)180 492 S(ad).18 E F1 1.176(is reading input from a terminal, pipe, or other special \ -\214le; it has no ef)3.677 F 1.176(fect when)-.25 F .107 -(reading from re)180 504 R .107(gular \214les.)-.15 F(If)5.107 E F2 -.18 -(re)2.607 G(ad).18 E F1 .107(times out, it sa)2.607 F -.15(ve)-.2 G -2.608(sa).15 G .408 -.15(ny p)-2.608 H .108 -(artial input read into the speci-).15 F .943(\214ed v)180 516 R -(ariable)-.25 E F0(name)3.443 E F1 3.443(,a)C .943(nd the e)-3.443 F -.943(xit status is greater than 128.)-.15 F(If)5.942 E F0(timeout)3.442 -E F1 .942(is 0,)3.442 F F2 -.18(re)3.442 G(ad).18 E F1(returns)3.442 E -(immediately)180 528 Q 3.259(,w)-.65 G .759(ithout trying to read an) --3.259 F 3.259(yd)-.15 G 3.259(ata. In)-3.259 F .759(this case, the e) -3.259 F .76(xit status is 0 if input is)-.15 F -.2(av)180 540 S +\214le; it has no ef)3.676 F 1.177(fect when)-.25 F .108 +(reading from re)180 504 R .108(gular \214les.)-.15 F(If)5.108 E F2 -.18 +(re)2.608 G(ad).18 E F1 .108(times out, it sa)2.608 F -.15(ve)-.2 G +2.607(sa).15 G .407 -.15(ny p)-2.607 H .107 +(artial input read into the speci-).15 F .942(\214ed v)180 516 R +(ariable)-.25 E F0(name)3.442 E F1 3.442(,a)C .942(nd the e)-3.442 F +.942(xit status is greater than 128.)-.15 F(If)5.943 E F0(timeout)3.443 +E F1 .943(is 0,)3.443 F F2 -.18(re)3.443 G(ad).18 E F1(returns)3.443 E +(immediately)180 528 Q 3.26(,w)-.65 G .76(ithout trying to read an)-3.26 +F 3.26(yd)-.15 G 3.26(ata. In)-3.26 F .759(this case, the e)3.259 F .759 +(xit status is 0 if input is)-.15 F -.2(av)180 540 S (ailable on the speci\214ed \214le descriptor)-.05 E 2.5(,o)-.4 G 2.5 (rt)-2.5 G(he read will return EOF)-2.5 E 2.5(,n)-.8 G (on-zero otherwise.)-2.5 E F2144 552 Q F0(fd)2.5 E F1 @@ -10058,39 +10057,39 @@ E F1 .942(is 0,)3.442 F F2 -.18(re)3.442 G(ad).18 E F1(returns)3.442 E (instead of the standard input.)2.5 E(Other than the case where)144 568.8 Q F0(delim)2.5 E F1(is the empty string,)2.5 E F2 -.18(re)2.5 G (ad).18 E F1(ignores an)2.5 E 2.5(yN)-.15 G(UL characters in the input.) --2.5 E .961(If no)144 585.6 R F0(names)3.821 E F1 .961(are supplied,) -3.731 F F2 -.18(re)3.461 G(ad).18 E F1 .961 -(assigns the line read, without the ending delimiter b)3.461 F .96 +-2.5 E .96(If no)144 585.6 R F0(names)3.82 E F1 .96(are supplied,)3.73 F +F2 -.18(re)3.46 G(ad).18 E F1 .961 +(assigns the line read, without the ending delimiter b)3.461 F .961 (ut otherwise)-.2 F(unmodi\214ed, to the v)144 597.6 Q(ariable)-.25 E F3 -(REPL)2.5 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F1 .032(The e)144 614.4 -R .032(xit status is zero, unless end-of-\214le is encountered,)-.15 F -F2 -.18(re)2.532 G(ad).18 E F1 .033 -(times out \(in which case the status is)2.532 F .311 +(REPL)2.5 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F1 .033(The e)144 614.4 +R .033(xit status is zero, unless end-of-\214le is encountered,)-.15 F +F2 -.18(re)2.532 G(ad).18 E F1 .032 +(times out \(in which case the status is)2.532 F .31 (greater than 128\), a v)144 626.4 R .311 -(ariable assignment error \(such as assigning to a readonly v)-.25 F .31 -(ariable\) occurs, or)-.25 F(an in)144 638.4 Q -.25(va)-.4 G +(ariable assignment error \(such as assigning to a readonly v)-.25 F +.311(ariable\) occurs, or)-.25 F(an in)144 638.4 Q -.25(va)-.4 G (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F2 2.5 E F1(.)A F2 -.18(re)108 655.2 S(adonly).18 E F1([)2.5 E F2 (\255aAf)A F1 2.5(][)C F2-2.5 E F1 2.5(][)C F0(name)-2.5 E F1([=)A F0(wor)A(d)-.37 E F1 2.5(].)C 1.666(..)-.834 G(])-1.666 E .77(The gi)144 667.2 R -.15(ve)-.25 G(n).15 E F0(names)3.27 E F1 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77(alues of these)-.25 F F0(names)3.63 E -F1 .77(may not be changed by subse-)3.54 F .446 +F1 .77(may not be changed by subse-)3.54 F .445 (quent assignment or unset.)144 679.2 R .446(If the)5.446 F F2 2.946 E F1 .446(option is supplied, each)2.946 F F0(name)2.946 E F1 .446 -(refers to a shell function.)2.946 F(The)5.445 E F2144 691.2 Q F1 -.382(option restricts the v)2.882 F .382(ariables to inde)-.25 F -.15 +(refers to a shell function.)2.946 F(The)5.446 E F2144 691.2 Q F1 +.383(option restricts the v)2.883 F .383(ariables to inde)-.25 F -.15 (xe)-.15 G 2.883(da).15 G .383(rrays; the)-2.883 F F22.883 E F1 -.383(option restricts the v)2.883 F .383(ariables to associa-)-.25 F(ti) +.382(option restricts the v)2.883 F .382(ariables to associa-)-.25 F(ti) 144 703.2 Q 1.558 -.15(ve a)-.25 H 3.758(rrays. If).15 F 1.258 (both options are supplied,)3.758 F F23.758 E F1(tak)3.758 E 1.258 (es precedence.)-.1 F 1.258(If no)6.258 F F0(name)4.118 E F1(ar)3.938 E -1.258(guments are sup-)-.18 F .411(plied, or if the)144 715.2 R F2 -2.911 E F1 .412(option is supplied, print a list of all readonly names.) -2.911 F .412(The other options may be)5.412 F .327 +1.258(guments are sup-)-.18 F .412(plied, or if the)144 715.2 R F2 +2.912 E F1 .412(option is supplied, print a list of all readonly names.) +2.912 F .411(The other options may be)5.411 F .327 (used to restrict the output to a subset of the set of readonly names.) -144 727.2 R(The)5.326 E F22.826 E F1 .326(option displays output) -2.826 F(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(81)188.45 E 0 Cg +144 727.2 R(The)5.327 E F22.827 E F1 .327(option displays output) +2.827 F(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(81)198.445 E 0 Cg EP %%Page: 82 82 %%BeginPageSetup @@ -10099,51 +10098,51 @@ BP /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) .25 E F1(\(1\)).95 E(in a format that may be reused as input.)144 84 Q -/F2 10/Times-Bold@0 SF -.18(re)144 100.8 S(adonly).18 E F1(allo)2.652 E -.152(ws the v)-.25 F .153(alue of a v)-.25 F .153 -(ariable to be set at the same time the readonly attrib)-.25 F .153 -(ute is changed)-.2 F .688(by follo)144 112.8 R .688(wing the v)-.25 F -.688(ariable name with =)-.25 F F0(value)A F1 5.688(.T)C .688 -(his sets the v)-5.688 F .687(alue of the v)-.25 F .687(ariable is to) --.25 F F0(value)3.187 E F1(while)3.187 E(modifying the readonly attrib) -144 124.8 Q(ute.)-.2 E .302(The return status is 0 unless an in)144 +/F2 10/Times-Bold@0 SF -.18(re)144 100.8 S(adonly).18 E F1(allo)2.653 E +.153(ws the v)-.25 F .153(alue of a v)-.25 F .153 +(ariable to be set at the same time the readonly attrib)-.25 F .152 +(ute is changed)-.2 F .687(by follo)144 112.8 R .687(wing the v)-.25 F +.687(ariable name with =)-.25 F F0(value)A F1 5.688(.T)C .688 +(his sets the v)-5.688 F .688(alue of the v)-.25 F .688(ariable is to) +-.25 F F0(value)3.188 E F1(while)3.188 E(modifying the readonly attrib) +144 124.8 Q(ute.)-.2 E .303(The return status is 0 unless an in)144 141.6 R -.25(va)-.4 G .303(lid option is encountered, one of the).25 F -F0(names)3.163 E F1 .303(is not a v)3.073 F .303(alid shell)-.25 F -.25 +F0(names)3.162 E F1 .302(is not a v)3.072 F .302(alid shell)-.25 F -.25 (va)144 153.6 S(riable name, or).25 E F22.5 E F1 (is supplied with a)2.5 E F0(name)2.86 E F1(that is not a function.)2.68 E F2 -.18(re)108 170.4 S(tur).18 E(n)-.15 E F1([)2.5 E F0(n)A F1(])A -.183(Stop e)144 182.4 R -.15(xe)-.15 G .182 +.182(Stop e)144 182.4 R -.15(xe)-.15 G .182 (cuting a shell function or sourced \214le and return the v).15 F .182 (alue speci\214ed by)-.25 F F0(n)3.042 E F1 .182(to its caller)2.922 F -5.182(.I)-.55 G(f)-5.182 E F0(n)3.042 E F1 .589 +5.183(.I)-.55 G(f)-5.183 E F0(n)3.043 E F1 .589 (is omitted, the return status is that of the last command e)144 194.4 R -.15(xe)-.15 G 3.089(cuted. If).15 F F2 -.18(re)3.089 G(tur).18 E(n)-.15 -E F1 .589(is e)3.089 F -.15(xe)-.15 G .589(cuted by a trap).15 F -(handler)144 206.4 Q 3.47(,t)-.4 G .969 +E F1 .589(is e)3.089 F -.15(xe)-.15 G .588(cuted by a trap).15 F +(handler)144 206.4 Q 3.469(,t)-.4 G .969 (he last command used to determine the status is the last command e) --3.47 F -.15(xe)-.15 G .969(cuted before the).15 F .129(trap handler)144 -218.4 R 5.129(.I)-.55 G(f)-5.129 E F2 -.18(re)2.629 G(tur).18 E(n)-.15 E -F1 .129(is e)2.629 F -.15(xe)-.15 G .129(cuted during a).15 F F2(DEB) -2.629 E(UG)-.1 E F1 .13(trap, the last command used to determine the) -2.629 F(status is the last command e)144 230.4 Q -.15(xe)-.15 G +-3.469 F -.15(xe)-.15 G .97(cuted before the).15 F .13(trap handler)144 +218.4 R 5.13(.I)-.55 G(f)-5.13 E F2 -.18(re)2.63 G(tur).18 E(n)-.15 E F1 +.13(is e)2.63 F -.15(xe)-.15 G .13(cuted during a).15 F F2(DEB)2.629 E +(UG)-.1 E F1 .129(trap, the last command used to determine the)2.629 F +(status is the last command e)144 230.4 Q -.15(xe)-.15 G (cuted by the trap handler before).15 E F2 -.18(re)2.5 G(tur).18 E(n) -.15 E F1 -.1(wa)2.5 G 2.5(si).1 G -1.9 -.4(nv o)-2.5 H -.1(ke).4 G(d.) -.1 E(When)144 247.2 Q F2 -.18(re)3.818 G(tur).18 E(n)-.15 E F1 1.318 -(is used to terminate e)3.818 F -.15(xe)-.15 G 1.317 -(cution of a script being e).15 F -.15(xe)-.15 G 1.317(cuted by the).15 -F F2(.)3.817 E F1(\()6.317 E F2(sour)A(ce)-.18 E F1 3.817(\)c)C(om-) --3.817 E .807(mand, it causes the shell to stop e)144 259.2 R -.15(xe) --.15 G .807(cuting that script and return either).15 F F0(n)3.668 E F1 -.808(or the e)3.548 F .808(xit status of the)-.15 F .315(last command e) -144 271.2 R -.15(xe)-.15 G .315(cuted within the script as the e).15 F -.314(xit status of the script.)-.15 F(If)5.314 E F0(n)2.814 E F1 .314 -(is supplied, the return)2.814 F -.25(va)144 283.2 S -(lue is its least signi\214cant 8 bits.).25 E(An)144 300 Q 3.175(yc)-.15 -G .675(ommand associated with the)-3.175 F F2(RETURN)3.175 E F1 .675 -(trap is e)3.175 F -.15(xe)-.15 G .676(cuted before e).15 F -.15(xe)-.15 -G .676(cution resumes after the).15 F(function or script.)144 312 Q .949 +.1 E(When)144 247.2 Q F2 -.18(re)3.817 G(tur).18 E(n)-.15 E F1 1.317 +(is used to terminate e)3.817 F -.15(xe)-.15 G 1.318 +(cution of a script being e).15 F -.15(xe)-.15 G 1.318(cuted by the).15 +F F2(.)3.818 E F1(\()6.318 E F2(sour)A(ce)-.18 E F1 3.818(\)c)C(om-) +-3.818 E .808(mand, it causes the shell to stop e)144 259.2 R -.15(xe) +-.15 G .807(cuting that script and return either).15 F F0(n)3.667 E F1 +.807(or the e)3.547 F .807(xit status of the)-.15 F .314(last command e) +144 271.2 R -.15(xe)-.15 G .314(cuted within the script as the e).15 F +.314(xit status of the script.)-.15 F(If)5.315 E F0(n)2.815 E F1 .315 +(is supplied, the return)2.815 F -.25(va)144 283.2 S +(lue is its least signi\214cant 8 bits.).25 E(An)144 300 Q 3.176(yc)-.15 +G .676(ommand associated with the)-3.176 F F2(RETURN)3.176 E F1 .675 +(trap is e)3.175 F -.15(xe)-.15 G .675(cuted before e).15 F -.15(xe)-.15 +G .675(cution resumes after the).15 F(function or script.)144 312 Q .948 (The return status is non-zero if)144 328.8 R F2 -.18(re)3.449 G(tur).18 -E(n)-.15 E F1 .949(is supplied a non-numeric ar)3.449 F .948 +E(n)-.15 E F1 .949(is supplied a non-numeric ar)3.449 F .949 (gument, or is used outside a)-.18 F(function and not during e)144 340.8 Q -.15(xe)-.15 G(cution of a script by).15 E F2(.)2.5 E F1(or)3.333 E F2 (sour)2.5 E(ce)-.18 E F1(.)A F2(set)108 357.6 Q F1([)2.5 E F2 @@ -10153,80 +10152,80 @@ Q -.15(xe)-.15 G(cution of a script by).15 E F2(.)2.5 E F1(or)3.333 E F2 ([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F1 2.5(][)C F2(+o)-2.5 E F0 (option\255name)2.5 E F1 2.5(][)C F2-2.5 E F1 2.5(][)C F2-2.5 E F1 2.5(][)C F0(ar)-2.5 E(g)-.37 E F1 1.666(...)2.5 G(])-1.666 E F2 -(set \255o)108 381.6 Q(set +o)108 393.6 Q F1 -.4(Wi)144 393.6 S .573 -(thout options, display the name and v).4 F .573(alue of each shell v) --.25 F .574(ariable in a format that can be reused)-.25 F .113 +(set \255o)108 381.6 Q(set +o)108 393.6 Q F1 -.4(Wi)144 393.6 S .574 +(thout options, display the name and v).4 F .574(alue of each shell v) +-.25 F .573(ariable in a format that can be reused)-.25 F .113 (as input for setting or resetting the currently-set v)144 405.6 R 2.613 (ariables. Read-only)-.25 F -.25(va)2.613 G .113 -(riables cannot be reset.).25 F(In)5.112 E .957 -(posix mode, only shell v)144 417.6 R .957(ariables are listed.)-.25 F -.958(The output is sorted according to the current locale.)5.957 F .581 +(riables cannot be reset.).25 F(In)5.113 E .958 +(posix mode, only shell v)144 417.6 R .958(ariables are listed.)-.25 F +.957(The output is sorted according to the current locale.)5.957 F .58 (When options are speci\214ed, the)144 429.6 R 3.081(ys)-.15 G .581 -(et or unset shell attrib)-3.081 F 3.081(utes. An)-.2 F 3.08(ya)-.15 G --.18(rg)-3.08 G .58(uments remaining after op-).18 F .16 +(et or unset shell attrib)-3.081 F 3.081(utes. An)-.2 F 3.081(ya)-.15 G +-.18(rg)-3.081 G .581(uments remaining after op-).18 F .161 (tion processing are treated as v)144 441.6 R .161 (alues for the positional parameters and are assigned, in order)-.25 F -2.661(,t)-.4 G(o)-2.661 E F2($1)2.661 E F1(,)A F2($2)144 453.6 Q F1 2.5 -(,.)C 1.666(..)-.834 G(,)-1.666 E F2($)2.5 E F0(n)A F1 5(.O)C +2.66(,t)-.4 G(o)-2.66 E F2($1)2.66 E F1(,)A F2($2)144 453.6 Q F1 2.5(,.) +C 1.666(..)-.834 G(,)-1.666 E F2($)2.5 E F0(n)A F1 5(.O)C (ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F2144 465.6 Q F1 1.378(Each v)184 465.6 R +(wing meanings:)-.25 E F2144 465.6 Q F1 1.377(Each v)184 465.6 R 1.377(ariable or function that is created or modi\214ed is gi)-.25 F --.15(ve)-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.377(xport attrib) --.15 F 1.377(ute and)-.2 F(mark)184 477.6 Q(ed for e)-.1 E +-.15(ve)-.25 G 3.877(nt).15 G 1.377(he e)-3.877 F 1.378(xport attrib) +-.15 F 1.378(ute and)-.2 F(mark)184 477.6 Q(ed for e)-.1 E (xport to the en)-.15 E(vironment of subsequent commands.)-.4 E F2 -144 489.6 Q F1 .131 +144 489.6 Q F1 .132 (Report the status of terminated background jobs immediately)184 489.6 R -2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E .48 +2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E .48 (primary prompt or after a fore)184 501.6 R .48 (ground command terminates.)-.15 F .48(This is ef)5.48 F(fecti)-.25 E .78 -.15(ve o)-.25 H .48(nly when).15 F(job control is enabled.)184 -513.6 Q F2144 525.6 Q F1 .087(Exit immediately if a)184 525.6 R F0 -(pipeline)2.587 E F1 .087(\(which may consist of a single)2.587 F F0 -.088(simple command)2.588 F F1 .088(\), a)B F0(list)2.588 E F1 2.588(,o) -C(r)-2.588 E(a)184 537.6 Q F0 1.521(compound command)4.021 F F1(\(see) +513.6 Q F2144 525.6 Q F1 .088(Exit immediately if a)184 525.6 R F0 +(pipeline)2.588 E F1 .087(\(which may consist of a single)2.588 F F0 +.087(simple command)2.587 F F1 .087(\), a)B F0(list)2.587 E F1 2.587(,o) +C(r)-2.587 E(a)184 537.6 Q F0 1.52(compound command)4.02 F F1(\(see) 4.021 E/F3 9/Times-Bold@0 SF 1.521(SHELL GRAMMAR)4.021 F F1(abo)3.771 E -.15(ve)-.15 G 1.521(\), e).15 F 1.521(xits with a non-zero status.)-.15 -F .079(The shell does not e)184 549.6 R .079(xit if the command that f) --.15 F .08(ails is part of the command list immediately)-.1 F(follo)184 -561.6 Q .175(wing a)-.25 F F2(while)2.675 E F1(or)2.675 E F2(until)2.675 -E F1(reserv)2.675 E .175(ed w)-.15 F .174(ord, part of the test follo) --.1 F .174(wing the)-.25 F F2(if)2.674 E F1(or)2.674 E F2(elif)2.674 E -F1(reserv)2.674 E(ed)-.15 E -.1(wo)184 573.6 S .581(rds, part of an).1 F -3.081(yc)-.15 G .581(ommand e)-3.081 F -.15(xe)-.15 G .581(cuted in a) -.15 F F2(&&)3.081 E F1(or)3.081 E F2(||)3.081 E F1 .582(list e)3.082 F -.582(xcept the command follo)-.15 F(wing)-.25 E 1.207(the \214nal)184 -585.6 R F2(&&)3.707 E F1(or)3.706 E F2(||)3.706 E F1 3.706(,a)C 1.506 +F .08(The shell does not e)184 549.6 R .079(xit if the command that f) +-.15 F .079(ails is part of the command list immediately)-.1 F(follo)184 +561.6 Q .174(wing a)-.25 F F2(while)2.674 E F1(or)2.674 E F2(until)2.674 +E F1(reserv)2.674 E .174(ed w)-.15 F .174(ord, part of the test follo) +-.1 F .175(wing the)-.25 F F2(if)2.675 E F1(or)2.675 E F2(elif)2.675 E +F1(reserv)2.675 E(ed)-.15 E -.1(wo)184 573.6 S .582(rds, part of an).1 F +3.082(yc)-.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a) +.15 F F2(&&)3.081 E F1(or)3.081 E F2(||)3.081 E F1 .581(list e)3.081 F +.581(xcept the command follo)-.15 F(wing)-.25 E 1.206(the \214nal)184 +585.6 R F2(&&)3.706 E F1(or)3.706 E F2(||)3.706 E F1 3.706(,a)C 1.506 -.15(ny c)-3.706 H 1.206(ommand in a pipeline b).15 F 1.206 (ut the last \(subject to the state of the)-.2 F F2(pipefail)184 597.6 Q -F1 1.307(shell option\), or if the command')3.807 F 3.807(sr)-.55 G -1.307(eturn v)-3.807 F 1.307(alue is being in)-.25 F -.15(ve)-.4 G 1.308 -(rted with).15 F F2(!)3.808 E F1 6.308(.I)C 3.808(fa)-6.308 G .274(comp\ +F1 1.308(shell option\), or if the command')3.808 F 3.807(sr)-.55 G +1.307(eturn v)-3.807 F 1.307(alue is being in)-.25 F -.15(ve)-.4 G 1.307 +(rted with).15 F F2(!)3.807 E F1 6.307(.I)C 3.807(fa)-6.307 G .274(comp\ ound command other than a subshell returns a non-zero status because a \ -command)184 609.6 R -.1(fa)184 621.6 S .194(iled while).1 F F2 -2.694 E F1 -.1(wa)2.694 G 2.694(sb).1 G .194 -(eing ignored, the shell does not e)-2.694 F 2.695(xit. A)-.15 F .195 -(trap on)2.695 F F2(ERR)2.695 E F1 2.695(,i)C 2.695(fs)-2.695 G .195 -(et, is e)-2.695 F -.15(xe)-.15 G(-).15 E .59(cuted before the shell e) +command)184 609.6 R -.1(fa)184 621.6 S .195(iled while).1 F F2 +2.695 E F1 -.1(wa)2.695 G 2.695(sb).1 G .195 +(eing ignored, the shell does not e)-2.695 F 2.694(xit. A)-.15 F .194 +(trap on)2.694 F F2(ERR)2.694 E F1 2.694(,i)C 2.694(fs)-2.694 G .194 +(et, is e)-2.694 F -.15(xe)-.15 G(-).15 E .59(cuted before the shell e) 184 633.6 R 3.09(xits. This)-.15 F .59(option applies to the shell en) -3.09 F .59(vironment and each sub-)-.4 F 1.491(shell en)184 645.6 R -1.491(vironment separately \(see)-.4 F F3 1.492(COMMAND EXECUTION ENVIR) -3.992 F(ONMENT)-.27 E F1(abo)3.742 E -.15(ve)-.15 G(\),).15 E +3.09 F .59(vironment and each sub-)-.4 F 1.492(shell en)184 645.6 R +1.492(vironment separately \(see)-.4 F F3 1.492(COMMAND EXECUTION ENVIR) +3.992 F(ONMENT)-.27 E F1(abo)3.741 E -.15(ve)-.15 G(\),).15 E (and may cause subshells to e)184 657.6 Q(xit before e)-.15 E -.15(xe) --.15 G(cuting all the commands in the subshell.).15 E .999 +-.15 G(cuting all the commands in the subshell.).15 E .998 (If a compound command or shell function e)184 674.4 R -.15(xe)-.15 G -.999(cutes in a conte).15 F .998(xt where)-.15 F F23.498 E F1 .998 -(is being ig-)3.498 F .089(nored, none of the commands e)184 686.4 R +.999(cutes in a conte).15 F .999(xt where)-.15 F F23.499 E F1 .999 +(is being ig-)3.499 F .089(nored, none of the commands e)184 686.4 R -.15(xe)-.15 G .089(cuted within the compound command or function body) -.15 F .503(will be af)184 698.4 R .503(fected by the)-.25 F F2 +.15 F .502(will be af)184 698.4 R .502(fected by the)-.25 F F2 3.002 E F1 .502(setting, e)3.002 F -.15(ve)-.25 G 3.002(ni).15 G(f) -3.002 E F23.002 E F1 .502(is set and a command returns a f)3.002 -F .502(ailure sta-)-.1 F 4.183(tus. If)184 710.4 R 4.183(ac)4.183 G -1.683(ompound command or shell function sets)-4.183 F F24.184 E F1 -1.684(while e)4.184 F -.15(xe)-.15 G 1.684(cuting in a conte).15 F(xt) --.15 E(where)184 722.4 Q F23.154 E F1 .654 -(is ignored, that setting will not ha)3.154 F .953 -.15(ve a)-.2 H .953 --.15(ny e).15 H -.25(ff).15 G .653(ect until the compound command).25 F -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(82)188.45 E 0 Cg EP +F .503(ailure sta-)-.1 F 4.184(tus. If)184 710.4 R 4.184(ac)4.184 G +1.684(ompound command or shell function sets)-4.184 F F24.183 E F1 +1.683(while e)4.183 F -.15(xe)-.15 G 1.683(cuting in a conte).15 F(xt) +-.15 E(where)184 722.4 Q F23.153 E F1 .653 +(is ignored, that setting will not ha)3.153 F .954 -.15(ve a)-.2 H .954 +-.15(ny e).15 H -.25(ff).15 G .654(ect until the compound command).25 F +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(82)198.445 E 0 Cg EP %%Page: 83 83 %%BeginPageSetup BP @@ -10239,22 +10238,22 @@ BP -.15 E F2144 108 Q F1 .988 (Remember the location of commands as the)184 108 R 3.488(ya)-.15 G .988 (re look)-3.488 F .988(ed up for e)-.1 F -.15(xe)-.15 G 3.488 -(cution. This).15 F .988(is en-)3.488 F(abled by def)184 120 Q(ault.)-.1 -E F2144 132 Q F1 .514(All ar)184 132 R .514 +(cution. This).15 F .987(is en-)3.487 F(abled by def)184 120 Q(ault.)-.1 +E F2144 132 Q F1 .513(All ar)184 132 R .514 (guments in the form of assignment statements are placed in the en)-.18 -F .513(vironment for a)-.4 F +F .514(vironment for a)-.4 F (command, not just those that precede the command name.)184 144 Q F2 -144 156 Q F1 .148(Monitor mode.)184 156 R .148 -(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F -.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651 +144 156 Q F1 .149(Monitor mode.)184 156 R .149 +(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F +.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .65 (on systems that support it \(see)184 168 R/F3 9/Times-Bold@0 SF .651 (JOB CONTR)3.151 F(OL)-.27 E F1(abo)2.901 E -.15(ve)-.15 G 3.151 -(\). All).15 F .65(processes run in a separate)3.151 F .678 -(process group.)184 180 R .679(When a background job completes, the she\ -ll prints a line containing its)5.678 F -.15(ex)184 192 S(it status.).15 -E F2144 204 Q F1 .653(Read commands b)184 204 R .653(ut do not e) --.2 F -.15(xe)-.15 G .653(cute them.).15 F .652 -(This may be used to check a shell script for)5.653 F(syntax errors.)184 +(\). All).15 F .651(processes run in a separate)3.151 F .679 +(process group.)184 180 R .678(When a background job completes, the she\ +ll prints a line containing its)5.679 F -.15(ex)184 192 S(it status.).15 +E F2144 204 Q F1 .652(Read commands b)184 204 R .652(ut do not e) +-.2 F -.15(xe)-.15 G .652(cute them.).15 F .653 +(This may be used to check a shell script for)5.652 F(syntax errors.)184 216 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E F2144 228 Q F0(option\255name)2.5 E F1(The)184 240 Q F0 (option\255name)2.5 E F1(can be one of the follo)2.5 E(wing:)-.25 E F2 @@ -10271,12 +10270,12 @@ F22.5 E F1(.)A F2(errtrace)184 348 Q F1(Same as)224 348 Q F2 2.5 E F1(.)A F2(functrace)184 360 Q F1(Same as)224 372 Q F22.5 E F1(.)A F2(hashall)184 384 Q F1(Same as)224 384 Q F22.5 E F1(.)A F2 (histexpand)184 396 Q F1(Same as)224 408 Q F22.5 E F1(.)A F2 -(history)184 420 Q F1 .586(Enable command history)224 420 R 3.087(,a) +(history)184 420 Q F1 .587(Enable command history)224 420 R 3.087(,a) -.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF (.)A F1 .587(This option is)5.087 F(on by def)224 432 Q (ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(ignor)184 -444 Q(eeof)-.18 E F1 .822(The ef)224 456 R .822 +444 Q(eeof)-.18 E F1 .821(The ef)224 456 R .822 (fect is as if the shell command \231IGNOREEOF=10\232 had been e)-.25 F -.15(xe)-.15 G(cuted).15 E(\(see)224 468 Q F2(Shell V)2.5 E(ariables) -.92 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2 -.1(ke)184 480 S(yw).1 E @@ -10289,22 +10288,22 @@ E F1(Same as)224 528 Q F22.5 E F1(.)A F2(noexec)184 540 Q F1 F2(nounset)184 588 Q F1(Same as)224 588 Q F22.5 E F1(.)A F2 (onecmd)184 600 Q F1(Same as)224 600 Q F22.5 E F1(.)A F2(ph)184 612 Q(ysical)-.15 E F1(Same as)224 612 Q F22.5 E F1(.)A F2 -(pipefail)184 624 Q F1 1.029(If set, the return v)224 624 R 1.029 -(alue of a pipeline is the v)-.25 F 1.03 -(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 636 R +(pipefail)184 624 Q F1 1.03(If set, the return v)224 624 R 1.029 +(alue of a pipeline is the v)-.25 F 1.029 +(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 636 R 1.136 (xit with a non-zero status, or zero if all commands in the pipeline) -.15 F -.15(ex)224 648 S(it successfully).15 E 5(.T)-.65 G (his option is disabled by def)-5 E(ault.)-.1 E F2(posix)184 660 Q F1 -.754(Enable posix mode; change the beha)224 660 R .755(vior of)-.2 F F2 -(bash)3.255 E F1 .755(where the def)3.255 F .755(ault operation)-.1 F +.755(Enable posix mode; change the beha)224 660 R .755(vior of)-.2 F F2 +(bash)3.254 E F1 .754(where the def)3.254 F .754(ault operation)-.1 F (dif)224 672 Q .491(fers from the)-.25 F F4(POSIX)2.991 E F1 .491 (standard to match the standard.)2.741 F(See)5.491 E F3 .491(SEE ALSO) -2.991 F F1(belo)2.741 E(w)-.25 E .954 -(for a reference to a document that details ho)224 684 R 3.455(wp)-.25 G -.955(osix mode af)-3.455 F .955(fects bash')-.25 F 3.455(sb)-.55 G(e-) --3.455 E(ha)224 696 Q(vior)-.2 E(.)-.55 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(83)188.45 E 0 Cg EP +2.991 F F1(belo)2.741 E(w)-.25 E .955 +(for a reference to a document that details ho)224 684 R 3.454(wp)-.25 G +.954(osix mode af)-3.454 F .954(fects bash')-.25 F 3.454(sb)-.55 G(e-) +-3.454 E(ha)224 696 Q(vior)-.2 E(.)-.55 E(GNU Bash 5.3)72 768 Q +(2025 April 7)149.285 E(83)198.445 E 0 Cg EP %%Page: 84 84 %%BeginPageSetup BP @@ -10315,31 +10314,31 @@ BP (Same as)224 96 Q F22.5 E F1(.)A F2 -.1(ve)184 108 S(rbose).1 E F1 (Same as)224 108 Q F22.5 E F1(.)A F2(vi)184 120 Q F1 .209 (Use a vi-style command line editing interf)224 120 R 2.709(ace. This) --.1 F .209(also af)2.709 F .209(fects the editing in-)-.25 F(terf)224 -132 Q(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F1(.)A F2 -(xtrace)184 144 Q F1(Same as)224 144 Q F22.5 E F1(.)A(If)184 156 Q -F22.765 E F1 .265(is supplied with no)2.765 F F0(option\255name) -2.765 E F1(,)A F2(set)2.765 E F1 .266 -(prints the current shell option settings.)2.765 F(If)5.266 E F2(+o) -2.766 E F1 .079(is supplied with no)184 168 R F0(option\255name)2.579 E -F1(,)A F2(set)2.579 E F1 .079(prints a series of)2.579 F F2(set)2.579 E -F1 .078(commands to recreate the cur)2.578 F(-)-.2 E +-.1 F .209(also af)2.709 F .21(fects the editing in-)-.25 F(terf)224 132 +Q(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F1(.)A F2(xtrace) +184 144 Q F1(Same as)224 144 Q F22.5 E F1(.)A(If)184 156 Q F2 +2.766 E F1 .266(is supplied with no)2.766 F F0(option\255name) +2.765 E F1(,)A F2(set)2.765 E F1 .265 +(prints the current shell option settings.)2.765 F(If)5.265 E F2(+o) +2.765 E F1 .078(is supplied with no)184 168 R F0(option\255name)2.578 E +F1(,)A F2(set)2.578 E F1 .079(prints a series of)2.579 F F2(set)2.579 E +F1 .079(commands to recreate the cur)2.579 F(-)-.2 E (rent option settings on the standard output.)184 180 Q F2144 192 -Q F1 -.45(Tu)184 192 S 3.277(rn on).45 F F0(privile)7.027 E -.1(ge)-.4 G -(d).1 E F1 5.777(mode. In)6.547 F 3.277 +Q F1 -.45(Tu)184 192 S 3.278(rn on).45 F F0(privile)7.028 E -.1(ge)-.4 G +(d).1 E F1 5.777(mode. In)6.548 F 3.277 (this mode, the shell does not read the)5.777 F/F3 9/Times-Bold@0 SF -($ENV)5.778 E F1(and)5.528 E F3($B)184 204 Q(ASH_ENV)-.27 E F1 .018 -(\214les, shell functions are not inherited from the en)2.268 F .018 -(vironment, and the)-.4 F F3(SHEL-)2.517 E(LOPTS)184 216 Q/F4 9 -/Times-Roman@0 SF(,)A F3 -.27(BA)2.589 G(SHOPTS).27 E F4(,)A F3(CDP) -2.589 E -.855(AT)-.666 G(H).855 E F4(,)A F1(and)2.589 E F3(GLOBIGNORE) -2.839 E F1 -.25(va)2.589 G .339(riables, if the).25 F 2.84(ya)-.15 G .34 -(ppear in the en)-2.84 F(vi-)-.4 E .021(ronment, are ignored.)184 228 R -.021(If the shell is started with the ef)5.021 F(fecti)-.25 E .32 -.15 -(ve u)-.25 H .02(ser \(group\) id not equal to).15 F .043 +($ENV)5.777 E F1(and)5.527 E F3($B)184 204 Q(ASH_ENV)-.27 E F1 .018 +(\214les, shell functions are not inherited from the en)2.267 F .018 +(vironment, and the)-.4 F F3(SHEL-)2.518 E(LOPTS)184 216 Q/F4 9 +/Times-Roman@0 SF(,)A F3 -.27(BA)2.59 G(SHOPTS).27 E F4(,)A F3(CDP)2.59 +E -.855(AT)-.666 G(H).855 E F4(,)A F1(and)2.59 E F3(GLOBIGNORE)2.84 E F1 +-.25(va)2.589 G .339(riables, if the).25 F 2.839(ya)-.15 G .339 +(ppear in the en)-2.839 F(vi-)-.4 E .02(ronment, are ignored.)184 228 R +.021(If the shell is started with the ef)5.02 F(fecti)-.25 E .321 -.15 +(ve u)-.25 H .021(ser \(group\) id not equal to).15 F .043 (the real user \(group\) id, and the)184 240 R F22.543 E F1 .043 (option is not supplied, these actions are tak)2.543 F .043(en and the) --.1 F(ef)184 252 Q(fecti)-.25 E .879 -.15(ve u)-.25 H .579 +-.1 F(ef)184 252 Q(fecti)-.25 E .878 -.15(ve u)-.25 H .579 (ser id is set to the real user id.).15 F .579(If the)5.579 F F2 3.079 E F1 .579(option is supplied at startup, the ef-)3.079 F(fecti)184 264 Q 1.21 -.15(ve u)-.25 H .91(ser id is not reset.).15 F -.45(Tu)5.91 @@ -10349,52 +10348,52 @@ G .91(rning this option of).45 F 3.41(fc)-.25 G .91(auses the ef)-3.41 F Q F1(Enable restricted shell mode.)184 288 Q (This option cannot be unset once it has been set.)5 E F2144 300 Q F1(Exit after reading and e)184 300 Q -.15(xe)-.15 G -(cuting one command.).15 E F2144 312 Q F1 -.35(Tr)184 312 S .663 +(cuting one command.).15 E F2144 312 Q F1 -.35(Tr)184 312 S .662 (eat unset v).35 F .662(ariables and parameters other than the special \ -parameters \231@\232 and \231*\232, or)-.25 F .348(array v)184 324 R +parameters \231@\232 and \231*\232, or)-.25 F .349(array v)184 324 R .348(ariables subscripted with \231@\232 or \231*\232, as an error when\ - performing parameter e)-.25 F(x-)-.15 E 2.891(pansion. If)184 336 R --.15(ex)2.891 G .391(pansion is attempted on an unset v).15 F .391 -(ariable or parameter)-.25 F 2.89(,t)-.4 G .39(he shell prints an)-2.89 -F(error message, and, if not interacti)184 348 Q -.15(ve)-.25 G 2.5(,e) -.15 G(xits with a non-zero status.)-2.65 E F2144 360 Q F1 + performing parameter e)-.25 F(x-)-.15 E 2.89(pansion. If)184 336 R -.15 +(ex)2.89 G .391(pansion is attempted on an unset v).15 F .391 +(ariable or parameter)-.25 F 2.891(,t)-.4 G .391(he shell prints an) +-2.891 F(error message, and, if not interacti)184 348 Q -.15(ve)-.25 G +2.5(,e).15 G(xits with a non-zero status.)-2.65 E F2144 360 Q F1 (Print shell input lines as the)184 360 Q 2.5(ya)-.15 G(re read.)-2.5 E F2144 372 Q F1 .315(After e)184 372 R .315(xpanding each)-.15 F F0 .315(simple command)2.815 F F1(,)A F2 -.25(fo)2.815 G(r).25 E F1 (command,)2.815 E F2(case)2.815 E F1(command,)2.815 E F2(select)2.815 E -F1(command,)2.815 E 1.236(or arithmetic)184 384 R F2 -.25(fo)3.736 G(r) +F1(command,)2.815 E 1.235(or arithmetic)184 384 R F2 -.25(fo)3.736 G(r) .25 E F1 1.236(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F1(follo)3.486 E 1.236 (wed by the com-)-.25 F(mand and its e)184 396 Q(xpanded ar)-.15 E (guments or associated w)-.18 E(ord list, to the standard error)-.1 E(.) --.55 E F2144 408 Q F1 1.205(The shell performs brace e)184 408 R -1.205(xpansion \(see)-.15 F F2 1.205(Brace Expansion)3.705 F F1(abo) -3.705 E -.15(ve)-.15 G 3.706(\). This).15 F 1.206(is on by de-)3.706 F --.1(fa)184 420 S(ult.).1 E F2144 432 Q F1 .214(If set,)184 432 R -F2(bash)2.714 E F1 .214(does not o)2.714 F -.15(ve)-.15 G .214 +-.55 E F2144 408 Q F1 1.206(The shell performs brace e)184 408 R +1.206(xpansion \(see)-.15 F F2 1.205(Brace Expansion)3.705 F F1(abo) +3.705 E -.15(ve)-.15 G 3.705(\). This).15 F 1.205(is on by de-)3.705 F +-.1(fa)184 420 S(ult.).1 E F2144 432 Q F1 .213(If set,)184 432 R +F2(bash)2.713 E F1 .213(does not o)2.713 F -.15(ve)-.15 G .214 (rwrite an e).15 F .214(xisting \214le with the)-.15 F F2(>)2.714 E F1 -(,)A F2(>&)2.714 E F1 2.713(,a)C(nd)-2.713 E F2(<>)2.713 E F1 .213 -(redirection opera-)2.713 F 3.148(tors. Using)184 444 R .648 +(,)A F2(>&)2.714 E F1 2.714(,a)C(nd)-2.714 E F2(<>)2.714 E F1 .214 +(redirection opera-)2.714 F 3.148(tors. Using)184 444 R .648 (the redirection operator)3.148 F F2(>|)3.148 E F1 .648(instead of)3.148 F F2(>)3.148 E F1 .648(will o)3.148 F -.15(ve)-.15 G .648 (rride this and force the cre-).15 F(ation of an output \214le.)184 456 -Q F2144 468 Q F1 .104(If set, an)184 468 R 2.604(yt)-.15 G .104 -(rap on)-2.604 F F2(ERR)2.604 E F1 .103 -(is inherited by shell functions, command substitutions, and com-)2.604 -F .838(mands e)184 480 R -.15(xe)-.15 G .838(cuted in a subshell en).15 -F 3.338(vironment. The)-.4 F F2(ERR)3.338 E F1 .839 -(trap is normally not inherited in)3.339 F(such cases.)184 492 Q F2 -144 504 Q F1(Enable)184 504 Q F2(!)3.032 E F1 .532 -(style history substitution.)5.532 F .531(This option is on by def)5.532 -F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 516 Q -.15 -(ve)-.25 G(.).15 E F2144 528 Q F1 .959 +Q F2144 468 Q F1 .103(If set, an)184 468 R 2.603(yt)-.15 G .103 +(rap on)-2.603 F F2(ERR)2.603 E F1 .104 +(is inherited by shell functions, command substitutions, and com-)2.603 +F .839(mands e)184 480 R -.15(xe)-.15 G .839(cuted in a subshell en).15 +F 3.339(vironment. The)-.4 F F2(ERR)3.338 E F1 .838 +(trap is normally not inherited in)3.338 F(such cases.)184 492 Q F2 +144 504 Q F1(Enable)184 504 Q F2(!)3.031 E F1 .531 +(style history substitution.)5.531 F .531(This option is on by def)5.531 +F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 516 Q -.15 +(ve)-.25 G(.).15 E F2144 528 Q F1 .96 (If set, the shell does not resolv)184 528 R 3.459(es)-.15 G .959 -(ymbolic links when e)-3.459 F -.15(xe)-.15 G .96 -(cuting commands such as).15 F F2(cd)3.46 E F1 1.453 -(that change the current w)184 540 R 1.453(orking directory)-.1 F 6.453 -(.I)-.65 G 3.952(tu)-6.453 G 1.452(ses the ph)-3.952 F 1.452 -(ysical directory structure in-)-.05 F 3.334(stead. By)184 552 R(def) -3.334 E(ault,)-.1 E F2(bash)3.334 E F1(follo)3.334 E .834 +(ymbolic links when e)-3.459 F -.15(xe)-.15 G .959 +(cuting commands such as).15 F F2(cd)3.459 E F1 1.452 +(that change the current w)184 540 R 1.452(orking directory)-.1 F 6.452 +(.I)-.65 G 3.953(tu)-6.452 G 1.453(ses the ph)-3.953 F 1.453 +(ysical directory structure in-)-.05 F 3.335(stead. By)184 552 R(def) +3.335 E(ault,)-.1 E F2(bash)3.334 E F1(follo)3.334 E .834 (ws the logical chain of directories when performing com-)-.25 F (mands which change the current directory)184 564 Q(.)-.65 E F2144 576 Q F1 .89(If set, an)184 576 R 3.39(yt)-.15 G .89(raps on)-3.39 F F2 @@ -10404,28 +10403,28 @@ F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 516 Q -.15 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F2(DEB)4.432 E (UG)-.1 E F1(and)4.432 E F2(RETURN)184 600 Q F1 (traps are normally not inherited in such cases.)2.5 E F2144 612 Q -F1 .91(If no ar)184 612 R .909(guments follo)-.18 F 3.409(wt)-.25 G .909 -(his option, unset the positional parameters.)-3.409 F .909 +F1 .909(If no ar)184 612 R .909(guments follo)-.18 F 3.409(wt)-.25 G +.909(his option, unset the positional parameters.)-3.409 F .91 (Otherwise, set the)5.909 F(positional parameters to the)184 624 Q F0 (ar)2.5 E(g)-.37 E F1(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G (ome of them be)-2.5 E(gin with a)-.15 E F22.5 E F1(.)A F2144 -636 Q F1 1.367(Signal the end of options, and assign all remaining)184 -636 R F0(ar)3.868 E(g)-.37 E F1 3.868(st)C 3.868(ot)-3.868 G 1.368 -(he positional parameters.)-3.868 F(The)184 648 Q F22.849 E F1 -(and)2.849 E F22.849 E F1 .349(options are turned of)2.849 F 2.849 -(f. If)-.25 F .349(there are no)2.849 F F0(ar)2.849 E(g)-.37 E F1 .348 +636 Q F1 1.368(Signal the end of options, and assign all remaining)184 +636 R F0(ar)3.868 E(g)-.37 E F1 3.867(st)C 3.867(ot)-3.867 G 1.367 +(he positional parameters.)-3.867 F(The)184 648 Q F22.848 E F1 +(and)2.848 E F22.848 E F1 .349(options are turned of)2.848 F 2.849 +(f. If)-.25 F .349(there are no)2.849 F F0(ar)2.849 E(g)-.37 E F1 .349 (s, the positional parameters re-)B(main unchanged.)184 660 Q .425 (The options are of)144 676.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef) -2.925 E .425(ault unless otherwise noted.)-.1 F .425 -(Using + rather than \255 causes these options)5.425 F .178 -(to be turned of)144 688.8 R 2.678(f. The)-.25 F .178 +(Using + rather than \255 causes these options)5.425 F .177 +(to be turned of)144 688.8 R 2.677(f. The)-.25 F .178 (options can also be speci\214ed as ar)2.678 F .178(guments to an in) --.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .653 +-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .654 (current set of options may be found in)144 700.8 R F2<24ad>3.153 E F1 -5.653(.T)C .653(he return status is al)-5.653 F -.1(wa)-.1 G .654 -(ys zero unless an in).1 F -.25(va)-.4 G .654(lid op-).25 F -(tion is encountered.)144 712.8 Q(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(84)188.45 E 0 Cg EP +5.653(.T)C .653(he return status is al)-5.653 F -.1(wa)-.1 G .653 +(ys zero unless an in).1 F -.25(va)-.4 G .653(lid op-).25 F +(tion is encountered.)144 712.8 Q(GNU Bash 5.3)72 768 Q(2025 April 7) +149.285 E(84)198.445 E 0 Cg EP %%Page: 85 85 %%BeginPageSetup BP @@ -10433,35 +10432,35 @@ BP /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) .25 E F1(\(1\)).95 E/F2 10/Times-Bold@0 SF(shift)108 84 Q F1([)2.5 E F0 -(n)A F1(])A .597(Rename positional parameters from)144 96 R F0(n)3.097 E +(n)A F1(])A .596(Rename positional parameters from)144 96 R F0(n)3.097 E F1 .597(+1 .)B -2.735 1.666(.. t)1.666 H(o)-1.666 E F2 .597($1 .)3.097 F 1.666(..)1.666 G(.)-1.666 E F1 -.15(Pa)5.597 G .597 -(rameters represented by the numbers).15 F F2($#)3.096 E F1(do)144 108 Q -.078(wn to)-.25 F F2($#)2.578 E F1A F0(n)A F1 .078(+1 are unset.)B +(rameters represented by the numbers).15 F F2($#)3.097 E F1(do)144 108 Q +.079(wn to)-.25 F F2($#)2.579 E F1A F0(n)A F1 .078(+1 are unset.)B F0(n)5.438 E F1 .078(must be a non-ne)2.818 F -.05(ga)-.15 G(ti).05 E .378 -.15(ve n)-.25 H .078(umber less than or equal to).15 F F2($#)2.578 -E F1 5.078(.I)C(f)-5.078 E F0(n)2.938 E F1 .079(is 0, no)2.818 F .503 -(parameters are changed.)144 120 R(If)5.503 E F0(n)3.363 E F1 .503 -(is not gi)3.243 F -.15(ve)-.25 G .502(n, it is assumed to be 1.).15 F -(If)5.502 E F0(n)3.362 E F1 .502(is greater than)3.242 F F2($#)3.002 E -F1 3.002(,t)C .502(he posi-)-3.002 F .46 +E F1 5.078(.I)C(f)-5.078 E F0(n)2.938 E F1 .078(is 0, no)2.818 F .502 +(parameters are changed.)144 120 R(If)5.502 E F0(n)3.362 E F1 .502 +(is not gi)3.242 F -.15(ve)-.25 G .502(n, it is assumed to be 1.).15 F +(If)5.503 E F0(n)3.363 E F1 .503(is greater than)3.243 F F2($#)3.003 E +F1 3.003(,t)C .503(he posi-)-3.003 F .46 (tional parameters are not changed.)144 132 R .46 (The return status is greater than zero if)5.46 F F0(n)3.32 E F1 .46 (is greater than)3.2 F F2($#)2.96 E F1(or)2.96 E (less than zero; otherwise 0.)144 144 Q F2(shopt)108 160.8 Q F1([)2.5 E F2(\255pqsu)A F1 2.5(][)C F2-2.5 E F1 2.5(][)C F0(optname)-2.5 E -F1 1.666(...)2.5 G(])-1.666 E -.8(To)144 172.8 S .64(ggle the v).8 F +F1 1.666(...)2.5 G(])-1.666 E -.8(To)144 172.8 S .639(ggle the v).8 F .639(alues of settings controlling optional shell beha)-.25 F(vior)-.2 E -5.639(.T)-.55 G .639(he settings can be either those)-5.639 F .374 -(listed belo)144 184.8 R 1.674 -.65(w, o)-.25 H 1.174 -.4(r, i).65 H -2.874(ft).4 G(he)-2.874 E F22.874 E F1 .375 +5.639(.T)-.55 G .64(he settings can be either those)-5.639 F .375 +(listed belo)144 184.8 R 1.675 -.65(w, o)-.25 H 1.175 -.4(r, i).65 H +2.875(ft).4 G(he)-2.875 E F22.875 E F1 .375 (option is used, those a)2.875 F -.25(va)-.2 G .375(ilable with the).25 -F F22.875 E F1 .375(option to the)2.875 F F2(set)2.875 E F1 -.2 -(bu)2.875 G .375(iltin com-).2 F(mand.)144 196.8 Q -.4(Wi)144 213.6 S -.548(th no options, or with the).4 F F23.048 E F1 .548 +F F22.875 E F1 .374(option to the)2.875 F F2(set)2.874 E F1 -.2 +(bu)2.874 G .374(iltin com-).2 F(mand.)144 196.8 Q -.4(Wi)144 213.6 S +.547(th no options, or with the).4 F F23.048 E F1 .548 (option, display a list of all settable options, with an indication of) -3.048 F .674(whether or not each is set; if an)144 225.6 R(y)-.15 E F0 -(optnames)3.175 E F1 .675 +3.048 F .675(whether or not each is set; if an)144 225.6 R(y)-.15 E F0 +(optnames)3.175 E F1 .674 (are supplied, the output is restricted to those options.)3.175 F(The) 144 237.6 Q F22.5 E F1 (option displays output in a form that may be reused as input.)2.5 E @@ -10470,75 +10469,75 @@ F F22.875 E F1 .375(option to the)2.875 F F2(set)2.875 E F1 -.2 266.4 Q F0(optname)2.5 E F1(.)A F2144 278.4 Q F1 (Disable \(unset\) each)180 278.4 Q F0(optname)2.5 E F1(.)A F2144 290.4 Q F1 .003(Suppresses normal output \(quiet mode\); the return sta\ -tus indicates whether the)180 290.4 R F0(optname)2.503 E F1(is)2.503 E +tus indicates whether the)180 290.4 R F0(optname)2.504 E F1(is)2.504 E .042(set or unset.)180 302.4 R .042(If multiple)5.042 F F0(optname)2.542 E F1(ar)2.542 E .042(guments are supplied with)-.18 F F22.542 E F1 2.542(,t)C .042(he return status is zero)-2.542 F(if all)180 314.4 Q F0 (optnames)2.5 E F1(are enabled; non-zero otherwise.)2.5 E F2144 326.4 Q F1(Restricts the v)180 326.4 Q(alues of)-.25 E F0(optname)2.5 E F1(to be those de\214ned for the)2.5 E F22.5 E F1(option to the) -2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E .625(If either)144 343.2 -R F23.125 E F1(or)3.124 E F23.124 E F1 .624(is used with no) +2.5 E F2(set)2.5 E F1 -.2(bu)2.5 G(iltin.).2 E .624(If either)144 343.2 +R F23.124 E F1(or)3.124 E F23.124 E F1 .624(is used with no) 3.124 F F0(optname)3.124 E F1(ar)3.124 E(guments,)-.18 E F2(shopt)3.124 -E F1(sho)3.124 E .624(ws only those options which are)-.25 F .983 -(set or unset, respecti)144 355.2 R -.15(ve)-.25 G(ly).15 E 5.983(.U) --.65 G .983(nless otherwise noted, the)-5.983 F F2(shopt)3.484 E F1 .984 -(options are disabled \(unset\) by de-)3.484 F -.1(fa)144 367.2 S(ult.) +E F1(sho)3.124 E .624(ws only those options which are)-.25 F .984 +(set or unset, respecti)144 355.2 R -.15(ve)-.25 G(ly).15 E 5.984(.U) +-.65 G .984(nless otherwise noted, the)-5.984 F F2(shopt)3.484 E F1 .983 +(options are disabled \(unset\) by de-)3.483 F -.1(fa)144 367.2 S(ult.) .1 E 1.544(The return status when listing options is zero if all)144 384 -R F0(optnames)4.044 E F1 1.544(are enabled, non-zero otherwise.)4.044 F +R F0(optnames)4.044 E F1 1.545(are enabled, non-zero otherwise.)4.045 F .696 (When setting or unsetting options, the return status is zero unless an) -144 396 R F0(optname)3.196 E F1 .696(is not a v)3.196 F .696(alid shell) +144 396 R F0(optname)3.196 E F1 .696(is not a v)3.196 F .695(alid shell) -.25 F(option.)144 408 Q(The list of)144 424.8 Q F2(shopt)2.5 E F1 -(options is:)2.5 E F2(array_expand_once)144 441.6 Q F1 1.832 +(options is:)2.5 E F2(array_expand_once)144 441.6 Q F1 1.831 (If set, the shell suppresses multiple e)184 453.6 R -.25(va)-.25 G -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 +1.832(luation of associati).25 F 2.132 -.15(ve a)-.25 H 1.832(nd inde) +.15 F -.15(xe)-.15 G 4.332(da).15 G 1.832(rray sub-)-4.332 F .025 (scripts during arithmetic e)184 465.6 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 477.6 S (riable assignments, and while e).25 E -.15(xe)-.15 G(cuting b).15 E (uiltins that perform array dereferencing.)-.2 E F2(assoc_expand_once) 144 489.6 Q F1(Deprecated; a synon)184 501.6 Q(ym for)-.15 E F2 -(array_expand_once)2.5 E F1(.)A F2(autocd)144 513.6 Q F1 .2 +(array_expand_once)2.5 E F1(.)A F2(autocd)144 513.6 Q F1 .199 (If set, a command name that is the name of a directory is e)184 513.6 R --.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E +-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E (ment to the)184 525.6 Q F2(cd)2.5 E F1 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 F2(bash_sour)144 537.6 Q(ce_fullpath)-.18 E F1 .124 (If set, \214lenames added to the)184 549.6 R F2 -.3(BA)2.624 G (SH_SOURCE).3 E F1 .124(array v)2.624 F .124(ariable are con)-.25 F -.15 -(ve)-.4 G .124(rted to full path-).15 F(names \(see)184 561.6 Q F2 +(ve)-.4 G .123(rted to full path-).15 F(names \(see)184 561.6 Q F2 (Shell V)2.5 E(ariables)-.92 E F1(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2 -(cdable_v)144 573.6 Q(ars)-.1 E F1 .156(If set, an ar)184 585.6 R .156 -(gument to the)-.18 F F2(cd)2.656 E F1 -.2(bu)2.656 G .155 +(cdable_v)144 573.6 Q(ars)-.1 E F1 .155(If set, an ar)184 585.6 R .155 +(gument to the)-.18 F F2(cd)2.655 E F1 -.2(bu)2.655 G .156 (iltin command that is not a directory is assumed to be the).2 F (name of a v)184 597.6 Q(ariable whose v)-.25 E (alue is the directory to change to.)-.25 E F2(cdspell)144 609.6 Q F1 -1.292(If set, the)184 609.6 R F2(cd)3.792 E F1 1.293(command attempts t\ -o correct minor errors in the spelling of a directory)3.792 F 3.982 +1.293(If set, the)184 609.6 R F2(cd)3.793 E F1 1.293(command attempts t\ +o correct minor errors in the spelling of a directory)3.793 F 3.982 (component. Minor)184 621.6 R 1.482 (errors include transposed characters, a missing character)3.982 F 3.982 -(,a)-.4 G 1.482(nd one)-3.982 F -.15(ex)184 633.6 S .972(tra character) -.15 F 5.972(.I)-.55 G(f)-5.972 E F2(cd)3.472 E F1 .972 +(,a)-.4 G 1.482(nd one)-3.982 F -.15(ex)184 633.6 S .973(tra character) +.15 F 5.973(.I)-.55 G(f)-5.973 E F2(cd)3.473 E F1 .972 (corrects the directory name, it prints the corrected \214lename, and) -3.472 F(the command proceeds.)184 645.6 Q +3.473 F(the command proceeds.)184 645.6 Q (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.) -.15 E F2(checkhash)144 657.6 Q F1 .737(If set,)184 669.6 R F2(bash)3.237 -E F1 .736(checks that a command found in the hash table e)3.237 F .736 +.15 E F2(checkhash)144 657.6 Q F1 .736(If set,)184 669.6 R F2(bash)3.236 +E F1 .736(checks that a command found in the hash table e)3.236 F .737 (xists before trying to e)-.15 F -.15(xe)-.15 G(-).15 E(cute it.)184 681.6 Q(If a hashed command no longer e)5 E(xists,)-.15 E F2(bash)2.5 E -F1(performs a normal path search.)2.5 E F2(checkjobs)144 693.6 Q F1 .448 -(If set,)184 705.6 R F2(bash)2.948 E F1 .448(lists the status of an) -2.948 F 2.949(ys)-.15 G .449(topped and running jobs before e)-2.949 F -.449(xiting an interacti)-.15 F -.15(ve)-.25 G 2.784(shell. If)184 717.6 -R(an)2.784 E 2.784(yj)-.15 G .284(obs are running,)-2.784 F F2(bash) +F1(performs a normal path search.)2.5 E F2(checkjobs)144 693.6 Q F1 .449 +(If set,)184 705.6 R F2(bash)2.949 E F1 .449(lists the status of an) +2.949 F 2.949(ys)-.15 G .448(topped and running jobs before e)-2.949 F +.448(xiting an interacti)-.15 F -.15(ve)-.25 G 2.783(shell. If)184 717.6 +R(an)2.783 E 2.783(yj)-.15 G .283(obs are running,)-2.783 F F2(bash) 2.784 E F1 .284(defers the e)2.784 F .284(xit until a second e)-.15 F -.283(xit is attempted with-)-.15 F .834(out an interv)184 729.6 R .834 +.284(xit is attempted with-)-.15 F .835(out an interv)184 729.6 R .835 (ening command \(see)-.15 F/F3 9/Times-Bold@0 SF .835(JOB CONTR)3.335 F -(OL)-.27 E F1(abo)3.085 E -.15(ve)-.15 G 3.335(\). The).15 F .835 -(shell al)3.335 F -.1(wa)-.1 G .835(ys postpones).1 F(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(85)188.45 E 0 Cg EP +(OL)-.27 E F1(abo)3.085 E -.15(ve)-.15 G 3.334(\). The).15 F .834 +(shell al)3.334 F -.1(wa)-.1 G .834(ys postpones).1 F(GNU Bash 5.3)72 +768 Q(2025 April 7)149.285 E(85)198.445 E 0 Cg EP %%Page: 86 86 %%BeginPageSetup BP @@ -10549,99 +10548,99 @@ BP (obs are stopped.)-2.5 E/F2 10/Times-Bold@0 SF(checkwinsize)144 96 Q F1 1.09(If set,)184 108 R F2(bash)3.59 E F1 1.09(checks the windo)3.59 F 3.59(ws)-.25 G 1.09(ize after each e)-3.59 F 1.09(xternal \(non-b)-.15 F -1.09(uiltin\) command and, if)-.2 F(necessary)184 120 Q 2.937(,u)-.65 G -.437(pdates the v)-2.937 F .437(alues of)-.25 F/F3 9/Times-Bold@0 SF +1.09(uiltin\) command and, if)-.2 F(necessary)184 120 Q 2.938(,u)-.65 G +.438(pdates the v)-2.938 F .438(alues of)-.25 F/F3 9/Times-Bold@0 SF (LINES)2.938 E F1(and)2.688 E F3(COLUMNS)2.938 E/F4 9/Times-Roman@0 SF -(,)A F1 .438(using the \214le descriptor associ-)2.688 F +(,)A F1 .437(using the \214le descriptor associ-)2.688 F (ated with the standard error if it is a terminal.)184 132 Q (This option is enabled by def)5 E(ault.)-.1 E F2(cmdhist)144 144 Q F1 -.173(If set,)184 144 R F2(bash)2.673 E F1 .173(attempts to sa)2.673 F -.473 -.15(ve a)-.2 H .172 +.172(If set,)184 144 R F2(bash)2.672 E F1 .172(attempts to sa)2.672 F +.472 -.15(ve a)-.2 H .173 (ll lines of a multiple-line command in the same history en-).15 F(try) -184 156 Q 5.596(.T)-.65 G .597(his allo)-5.596 F .597 +184 156 Q 5.597(.T)-.65 G .597(his allo)-5.597 F .597 (ws easy re-editing of multi-line commands.)-.25 F .597 -(This option is enabled by de-)5.597 F -.1(fa)184 168 S 1.288(ult, b).1 +(This option is enabled by de-)5.597 F -.1(fa)184 168 S 1.287(ult, b).1 F 1.288(ut only has an ef)-.2 F 1.288 -(fect if command history is enabled, as described abo)-.25 F 1.587 -.15 +(fect if command history is enabled, as described abo)-.25 F 1.588 -.15 (ve u)-.15 H(nder).15 E F3(HIST)184 180 Q(OR)-.162 E(Y)-.315 E F4(.)A F2 (compat31)144 192 Q(compat32)144 204 Q(compat40)144 216 Q(compat41)144 228 Q(compat42)144 240 Q(compat43)144 252 Q(compat44)144 264 Q F1 .889 (These control aspects of the shell')184 276 R 3.389(sc)-.55 G .889 (ompatibility mode \(see)-3.389 F F3 .889(SHELL COMP)3.389 F -.855(AT) -.666 G(IBILITY).855 E(MODE)184 288 Q F1(belo)2.25 E(w\).)-.25 E F2 -(complete_fullquote)144 300 Q F1 .654(If set,)184 312 R F2(bash)3.153 E +(complete_fullquote)144 300 Q F1 .653(If set,)184 312 R F2(bash)3.153 E F1 .653(quotes all shell metacharacters in \214lenames and directory na\ -mes when per)3.153 F(-)-.2 E 1.524(forming completion.)184 324 R 1.524 -(If not set,)6.524 F F2(bash)4.024 E F1(remo)4.024 E -.15(ve)-.15 G +mes when per)3.153 F(-)-.2 E 1.525(forming completion.)184 324 R 1.524 +(If not set,)6.525 F F2(bash)4.024 E F1(remo)4.024 E -.15(ve)-.15 G 4.024(sm).15 G 1.524(etacharacters such as the dollar sign)-4.024 F 2.667(from the set of characters that will be quoted in completed \214l\ -enames when these)184 336 R .028(metacharacters appear in shell v)184 -348 R .028(ariable references in w)-.25 F .029(ords to be completed.)-.1 -F .029(This means)5.029 F 1.073(that dollar signs in v)184 360 R 1.073 +enames when these)184 336 R .029(metacharacters appear in shell v)184 +348 R .028(ariable references in w)-.25 F .028(ords to be completed.)-.1 +F .028(This means)5.028 F 1.072(that dollar signs in v)184 360 R 1.073 (ariable names that e)-.25 F 1.073 (xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25 -(ev e)184 372 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123 +(ev e)184 372 T 1.923 -.4(r, a).25 H 1.423 -.15(ny d).4 H 1.123 (ollar signs appearing in \214lenames will not be quoted, either).15 F -6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59 +6.123(.T)-.55 G 1.122(his is acti)-6.123 F -.15(ve)-.25 G .59 (only when bash is using backslashes to quote completed \214lenames.)184 384 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 396 Q (ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E -(ersions through 4.2.)-.15 E F2(dir)144 408 Q(expand)-.18 E F1 .486 -(If set,)184 420 R F2(bash)2.986 E F1 .486 +(ersions through 4.2.)-.15 E F2(dir)144 408 Q(expand)-.18 E F1 .487 +(If set,)184 420 R F2(bash)2.987 E F1 .486 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F -.487(xpansion when perform-)-.15 F 1.25(ing \214lename completion.)184 +.486(xpansion when perform-)-.15 F 1.25(ing \214lename completion.)184 432 R 1.25(This changes the contents of the)6.25 F F2 -.18(re)3.75 G (adline).18 E F1 1.25(editing b)3.75 F(uf)-.2 E(fer)-.25 E 6.25(.I)-.55 G(f)-6.25 E(not set,)184 444 Q F2(bash)2.5 E F1(attempts to preserv)2.5 -E 2.5(ew)-.15 G(hat the user typed.)-2.5 E F2(dirspell)144 456 Q F1 .858 -(If set,)184 456 R F2(bash)3.358 E F1 .858 -(attempts spelling correction on directory names during w)3.358 F .859 +E 2.5(ew)-.15 G(hat the user typed.)-2.5 E F2(dirspell)144 456 Q F1 .859 +(If set,)184 456 R F2(bash)3.359 E F1 .858 +(attempts spelling correction on directory names during w)3.359 F .858 (ord completion if)-.1 F (the directory name initially supplied does not e)184 468 Q(xist.)-.15 E -F2(dotglob)144 480 Q F1 1.088(If set,)184 480 R F2(bash)3.588 E F1 1.088 +F2(dotglob)144 480 Q F1 1.087(If set,)184 480 R F2(bash)3.587 E F1 1.088 (includes \214lenames be)3.588 F 1.088 (ginning with a \231.\232 in the results of pathname e)-.15 F(xpan-)-.15 E 2.5(sion. The)184 492 R(\214lenames)2.5 E F0(.)4.166 E F1(and)4.166 E F0(..)4.166 E F1(must al)4.166 E -.1(wa)-.1 G(ys be matched e).1 E (xplicitly)-.15 E 2.5(,e)-.65 G -.15(ve)-2.75 G 2.5(ni).15 G(f)-2.5 E F2 -(dotglob)2.5 E F1(is set.)2.5 E F2(execfail)144 504 Q F1 .516 -(If set, a non-interacti)184 504 R .816 -.15(ve s)-.25 H .516 +(dotglob)2.5 E F1(is set.)2.5 E F2(execfail)144 504 Q F1 .517 +(If set, a non-interacti)184 504 R .817 -.15(ve s)-.25 H .517 (hell will not e).15 F .516(xit if it cannot e)-.15 F -.15(xe)-.15 G -.517(cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the) +.516(cute the \214le speci\214ed as an ar).15 F(-)-.2 E(gument to the) 184 516 Q F2(exec)2.5 E F1 -.2(bu)2.5 G 2.5(iltin. An).2 F(interacti)2.5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 E F2(exec)2.5 E -F1 -.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 528 Q F1 .717 +F1 -.1(fa)2.5 G(ils.).1 E F2(expand_aliases)144 528 Q F1 .716 (If set, aliases are e)184 540 R .717(xpanded as described abo)-.15 F -1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F1 .716 +1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F1 .717 (This option is enabled)5.217 F(by def)184 552 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F2(extdeb)144 564 Q(ug)-.2 E F1 .17 (If set at shell in)184 576 R -.2(vo)-.4 G .17 (cation, or in a shell startup \214le, arrange to e).2 F -.15(xe)-.15 G -.17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.082 +.17(cute the deb).15 F .17(ugger pro\214le)-.2 F 1.081 (before the shell starts, identical to the)184 588 R F23.582 -E(ugger)-.2 E F1 3.581(option. If)3.581 F 1.081(set after in)3.581 F -.2 -(vo)-.4 G 1.081(cation, be-).2 F(ha)184 600 Q +E(ugger)-.2 E F1 3.582(option. If)3.582 F 1.082(set after in)3.582 F -.2 +(vo)-.4 G 1.082(cation, be-).2 F(ha)184 600 Q (vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F2(1.)184 -612 Q F1(The)220 612 Q F24.25 E F1 1.75(option to the)4.25 F F2 +612 Q F1(The)220 612 Q F24.251 E F1 1.751(option to the)4.251 F F2 (declar)4.251 E(e)-.18 E F1 -.2(bu)4.251 G 1.751 (iltin displays the source \214le name and line).2 F (number corresponding to each function name supplied as an ar)220 624 Q (gument.)-.18 E F2(2.)184 636 Q F1 1.667(If the command run by the)220 636 R F2(DEB)4.167 E(UG)-.1 E F1 1.667(trap returns a non-zero v)4.167 F 1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 648 -Q -.15(xe)-.15 G(cuted.).15 E F2(3.)184 660 Q F1 .84 -(If the command run by the)220 660 R F2(DEB)3.34 E(UG)-.1 E F1 .841 -(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15 +Q -.15(xe)-.15 G(cuted.).15 E F2(3.)184 660 Q F1 .841 +(If the command run by the)220 660 R F2(DEB)3.341 E(UG)-.1 E F1 .841 +(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15 (exe)220 672 S .488 (cuting in a subroutine \(a shell function or a shell script e).15 F -.15(xe)-.15 G .488(cuted by the).15 F F2(.)2.988 E F1(or)2.988 E F2 (sour)220 684 Q(ce)-.18 E F1 -.2(bu)2.5 G (iltins\), the shell simulates a call to).2 E F2 -.18(re)2.5 G(tur).18 E (n)-.15 E F1(.)A F2(4.)184 696 Q F3 -.27(BA)220 696 S(SH_ARGC).27 E F1 -(and)3.153 E F3 -.27(BA)3.403 G(SH_ARGV).27 E F1 .904 +(and)3.154 E F3 -.27(BA)3.404 G(SH_ARGV).27 E F1 .904 (are updated as described in their descriptions)3.154 F(abo)220 708 Q --.15(ve)-.15 G(\).).15 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E -(86)188.45 E 0 Cg EP +-.15(ve)-.15 G(\).).15 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E +(86)198.445 E 0 Cg EP %%Page: 87 87 %%BeginPageSetup BP @@ -10657,91 +10656,91 @@ n tracing is enabled: command substitution, shell functions, and sub-) l functions, and subshells)220 108 R(in)220 120 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F2(\()2.5 E F0(command)2.5 E F2(\))2.5 E F1 (inherit the)2.5 E F2(ERR)2.5 E F1(trap.)2.5 E F2(extglob)144 132 Q F1 -.857(If set, enable the e)184 132 R .856 -(xtended pattern matching features described abo)-.15 F 1.156 -.15(ve u) --.15 H(nder).15 E F2 -.1(Pa)3.356 G(thname).1 E(Expansion)184 144 Q F1 +.856(If set, enable the e)184 132 R .856 +(xtended pattern matching features described abo)-.15 F 1.157 -.15(ve u) +-.15 H(nder).15 E F2 -.1(Pa)3.357 G(thname).1 E(Expansion)184 144 Q F1 (.)A F2(extquote)144 156 Q F1 .86(If set,)184 168 R F2($)3.36 E F1<08>A F0(string)A F1 3.36<0861>C(nd)-3.36 E F2($)3.36 E F1(")A F0(string)A F1 3.36("q)C .86(uoting is performed within)-3.36 F F2(${)3.36 E F0(par)A (ameter)-.15 E F2(})A F1 -.15(ex)3.36 G .86(pansions en-).15 F (closed in double quotes.)184 180 Q(This option is enabled by def)5 E -(ault.)-.1 E F2(failglob)144 192 Q F1 .243(If set, patterns which f)184 +(ault.)-.1 E F2(failglob)144 192 Q F1 .242(If set, patterns which f)184 192 R .243(ail to match \214lenames during pathname e)-.1 F .243 (xpansion result in an e)-.15 F(x-)-.15 E(pansion error)184 204 Q(.)-.55 -E F2 -.25(fo)144 216 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F1 .936 +E F2 -.25(fo)144 216 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F1 .937 (If set, the suf)184 228 R<8c78>-.25 E .936(es speci\214ed by the)-.15 F /F3 9/Times-Bold@0 SF(FIGNORE)3.436 E F1 .936(shell v)3.186 F .936 -(ariable cause w)-.25 F .937(ords to be ignored)-.1 F .32 +(ariable cause w)-.25 F .936(ords to be ignored)-.1 F .32 (when performing w)184 240 R .32(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32(he ignored w)-2.82 F .32 -(ords are the only possible com-)-.1 F 3.238(pletions. See)184 252 R F2 -.738(Shell V)3.238 F(ariables)-.92 E F1(abo)3.238 E 1.038 -.15(ve f)-.15 +(ords are the only possible com-)-.1 F 3.239(pletions. See)184 252 R F2 +.739(Shell V)3.239 F(ariables)-.92 E F1(abo)3.238 E 1.038 -.15(ve f)-.15 H .738(or a description of).15 F F3(FIGNORE)3.238 E/F4 9/Times-Roman@0 -SF(.)A F1 .739(This option is en-)5.238 F(abled by def)184 264 Q(ault.) --.1 E F2(globasciiranges)144 276 Q F1 2.519(If set, range e)184 288 R -2.519(xpressions used in pattern matching brack)-.15 F 2.518(et e)-.1 F -2.518(xpressions \(see)-.15 F F3 -.09(Pa)5.018 G(tter).09 E(n)-.135 E -(Matching)184 300 Q F1(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha) --3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214 +SF(.)A F1 .738(This option is en-)5.238 F(abled by def)184 264 Q(ault.) +-.1 E F2(globasciiranges)144 276 Q F1 2.518(If set, range e)184 288 R +2.519(xpressions used in pattern matching brack)-.15 F 2.519(et e)-.1 F +2.519(xpressions \(see)-.15 F F3 -.09(Pa)5.019 G(tter).09 E(n)-.135 E +(Matching)184 300 Q F1(abo)2.965 E -.15(ve)-.15 G 3.215(\)b).15 G(eha) +-3.215 E 1.015 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214 (nt)-3.214 G .714(he traditional C locale when performing comparisons.) -3.214 F .987(That is, pattern matching does not tak)184 312 R 3.487(et) -.1 G .987(he current locale')-3.487 F 3.487(sc)-.55 G .987 -(ollating sequence into ac-)-3.487 F 1.551(count, so)184 324 R F2(b) -4.051 E F1 1.551(will not collate between)4.051 F F2(A)4.051 E F1(and) -4.051 E F2(B)4.052 E F1 4.052(,a)C 1.552(nd upper)-4.052 F 1.552 -(-case and lo)-.2 F(wer)-.25 E 1.552(-case ASCII)-.2 F +(ollating sequence into ac-)-3.487 F 1.552(count, so)184 324 R F2(b) +4.052 E F1 1.552(will not collate between)4.052 F F2(A)4.051 E F1(and) +4.051 E F2(B)4.051 E F1 4.051(,a)C 1.551(nd upper)-4.051 F 1.551 +(-case and lo)-.2 F(wer)-.25 E 1.551(-case ASCII)-.2 F (characters will collate together)184 336 Q(.)-.55 E F2(globskipdots)144 348 Q F1 .727(If set, pathname e)184 360 R .727(xpansion will ne)-.15 F -.15(ve)-.25 G 3.227(rm).15 G .727(atch the \214lenames)-3.227 F F0(.) 4.893 E F1(and)4.893 E F0(..)4.893 E F1 3.227(,e)1.666 G -.15(ve)-3.477 -G 3.227(ni).15 G 3.227(ft)-3.227 G .727(he pattern)-3.227 F(be)184 372 Q +G 3.227(ni).15 G 3.227(ft)-3.227 G .728(he pattern)-3.227 F(be)184 372 Q (gins with a \231.\232.)-.15 E(This option is enabled by def)5 E(ault.) --.1 E F2(globstar)144 384 Q F1 .518(If set, the pattern)184 384 R F2(**) -3.018 E F1 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F -.519(xt will match all \214les and zero)-.15 F .432 +-.1 E F2(globstar)144 384 Q F1 .519(If set, the pattern)184 384 R F2(**) +3.019 E F1 .519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F +.518(xt will match all \214les and zero)-.15 F .431 (or more directories and subdirectories.)184 396 R .431 -(If the pattern is follo)5.432 F .431(wed by a)-.25 F F2(/)2.931 E F1 -2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184 +(If the pattern is follo)5.431 F .432(wed by a)-.25 F F2(/)2.932 E F1 +2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184 408 Q F2(gnu_errfmt)144 420 Q F1(If set, shell error messages are writt\ en in the standard GNU error message format.)184 432 Q F2(histappend)144 444 Q F1 .676 (If set, the history list is appended to the \214le named by the v)184 -456 R .676(alue of the)-.25 F F3(HISTFILE)3.177 E F1 -.25(va)2.927 G +456 R .676(alue of the)-.25 F F3(HISTFILE)3.176 E F1 -.25(va)2.926 G (ri-).25 E(able when the shell e)184 468 Q(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F2(histr)144 480 Q(eedit)-.18 -E F1 .118(If set, and)184 492 R F2 -.18(re)2.618 G(adline).18 E F1 .118 -(is being used, the user is gi)2.618 F -.15(ve)-.25 G 2.618(nt).15 G -.117(he opportunity to re-edit a f)-2.618 F .117(ailed his-)-.1 F -(tory substitution.)184 504 Q F2(histv)144 516 Q(erify)-.1 E F1 .402 +E F1 .117(If set, and)184 492 R F2 -.18(re)2.617 G(adline).18 E F1 .118 +(is being used, the user is gi)2.617 F -.15(ve)-.25 G 2.618(nt).15 G +.118(he opportunity to re-edit a f)-2.618 F .118(ailed his-)-.1 F +(tory substitution.)184 504 Q F2(histv)144 516 Q(erify)-.1 E F1 .403 (If set, and)184 528 R F2 -.18(re)2.903 G(adline).18 E F1 .403 (is being used, the results of history substitution are not immediately) -2.903 F .662(passed to the shell parser)184 540 R 5.662(.I)-.55 G .661 -(nstead, the resulting line is loaded into the)-5.662 F F2 -.18(re)3.161 -G(adline).18 E F1(editing)3.161 E -.2(bu)184 552 S -.25(ff).2 G(er).25 E +2.903 F .661(passed to the shell parser)184 540 R 5.661(.I)-.55 G .662 +(nstead, the resulting line is loaded into the)-5.661 F F2 -.18(re)3.162 +G(adline).18 E F1(editing)3.162 E -.2(bu)184 552 S -.25(ff).2 G(er).25 E 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F2 -(hostcomplete)144 564 Q F1 1.181(If set, and)184 576 R F2 -.18(re)3.681 -G(adline).18 E F1 1.181(is being used,)3.681 F F2(bash)3.682 E F1 1.182 -(will attempt to perform hostname completion)3.682 F 1.381(when a w)184 -588 R 1.381(ord containing a)-.1 F F2(@)3.881 E F1 1.381 -(is being completed \(see)3.881 F F2(Completing)3.88 E F1(under)3.88 E -F3(READLINE)3.88 E F1(abo)184 600 Q -.15(ve)-.15 G 2.5(\). This).15 F +(hostcomplete)144 564 Q F1 1.182(If set, and)184 576 R F2 -.18(re)3.682 +G(adline).18 E F1 1.182(is being used,)3.682 F F2(bash)3.682 E F1 1.181 +(will attempt to perform hostname completion)3.681 F 1.38(when a w)184 +588 R 1.38(ord containing a)-.1 F F2(@)3.881 E F1 1.381 +(is being completed \(see)3.881 F F2(Completing)3.881 E F1(under)3.881 E +F3(READLINE)3.881 E F1(abo)184 600 Q -.15(ve)-.15 G 2.5(\). This).15 F (is enabled by def)2.5 E(ault.)-.1 E F2(huponexit)144 612 Q F1(If set,) 184 624 Q F2(bash)2.5 E F1(will send)2.5 E F3(SIGHUP)2.5 E F1 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e) -.15 E(xits.)-.15 E F2(inherit_err)144 636 Q(exit)-.18 E F1 .219 +.15 E(xits.)-.15 E F2(inherit_err)144 636 Q(exit)-.18 E F1 .22 (If set, command substitution inherits the v)184 648 R .219(alue of the) --.25 F F2(err)2.719 E(exit)-.18 E F1 .22(option, instead of unsetting) +-.25 F F2(err)2.719 E(exit)-.18 E F1 .219(option, instead of unsetting) 2.719 F(it in the subshell en)184 660 Q 2.5(vironment. This)-.4 F (option is enabled when posix mode is enabled.)2.5 E F2(interacti)144 -672 Q -.1(ve)-.1 G(_comments).1 E F1 .209(In an interacti)184 684 R .509 --.15(ve s)-.25 H .209(hell, a w).15 F .209(ord be)-.1 F .209 -(ginning with)-.15 F F2(#)2.709 E F1 .209(causes that w)2.709 F .208 +672 Q -.1(ve)-.1 G(_comments).1 E F1 .208(In an interacti)184 684 R .508 +-.15(ve s)-.25 H .208(hell, a w).15 F .209(ord be)-.1 F .209 +(ginning with)-.15 F F2(#)2.709 E F1 .209(causes that w)2.709 F .209 (ord and all remaining char)-.1 F(-)-.2 E .612 (acters on that line to be ignored, as in a non-interacti)184 696 R .912 --.15(ve s)-.25 H .612(hell \(see).15 F F3(COMMENTS)3.113 E F1(abo)2.863 +-.15(ve s)-.25 H .612(hell \(see).15 F F3(COMMENTS)3.112 E F1(abo)2.862 E -.15(ve)-.15 G(\).).15 E(This option is enabled by def)184 708 Q -(ault.)-.1 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(87)188.45 E -0 Cg EP +(ault.)-.1 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(87)198.445 E 0 +Cg EP %%Page: 88 88 %%BeginPageSetup BP @@ -10752,70 +10751,70 @@ BP (If set, and job control is not acti)184 84 R -.15(ve)-.25 G 2.566(,t) .15 G .066(he shell runs the last command of a pipeline not e)-2.566 F -.15(xe)-.15 G(-).15 E(cuted in the background in the current shell en) -184 96 Q(vironment.)-.4 E F2(lithist)144 108 Q F1 .654(If set, and the) -184 108 R F2(cmdhist)3.154 E F1 .654 +184 96 Q(vironment.)-.4 E F2(lithist)144 108 Q F1 .655(If set, and the) +184 108 R F2(cmdhist)3.155 E F1 .654 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G -3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F +3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F (with embedded ne)184 120 Q (wlines rather than using semicolon separators where possible.)-.25 E F2 -(localv)144 132 Q(ar_inherit)-.1 E F1 .422(If set, local v)184 144 R +(localv)144 132 Q(ar_inherit)-.1 E F1 .421(If set, local v)184 144 R .422(ariables inherit the v)-.25 F .422(alue and attrib)-.25 F .422 (utes of a v)-.2 F .422(ariable of the same name that)-.25 F -.15(ex)184 -156 S .173(ists at a pre).15 F .173(vious scope before an)-.25 F 2.673 -(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .174 -(The nameref attrib)5.174 F .174(ute is not)-.2 F(inherited.)184 168 Q -F2(localv)144 180 Q(ar_unset)-.1 E F1 .329(If set, calling)184 192 R F2 -(unset)2.829 E F1 .329(on local v)2.829 F .329(ariables in pre)-.25 F -.328(vious function scopes marks them so subse-)-.25 F .364 +156 S .174(ists at a pre).15 F .174(vious scope before an)-.25 F 2.673 +(yn)-.15 G .673 -.25(ew va)-2.673 H .173(lue is assigned.).25 F .173 +(The nameref attrib)5.173 F .173(ute is not)-.2 F(inherited.)184 168 Q +F2(localv)144 180 Q(ar_unset)-.1 E F1 .328(If set, calling)184 192 R F2 +(unset)2.828 E F1 .328(on local v)2.828 F .329(ariables in pre)-.25 F +.329(vious function scopes marks them so subse-)-.25 F .365 (quent lookups \214nd them unset until that function returns.)184 204 R -.365(This is identical to the beha)5.364 F(v-)-.2 E +.364(This is identical to the beha)5.364 F(v-)-.2 E (ior of unsetting local v)184 216 Q (ariables at the current function scope.)-.25 E F2(login_shell)144 228 Q F1 .486 (The shell sets this option if it is started as a login shell \(see)184 -240 R/F3 9/Times-Bold@0 SF(INV)2.986 E(OCA)-.405 E(TION)-.855 E F1(abo) -2.736 E -.15(ve)-.15 G 2.986(\). The).15 F -.25(va)184 252 S -(lue may not be changed.).25 E F2(mailwar)144 264 Q(n)-.15 E F1 .814 -(If set, and a \214le that)184 276 R F2(bash)3.314 E F1 .815 -(is checking for mail has been accessed since the last time it)3.314 F +240 R/F3 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F1(abo) +2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 252 S +(lue may not be changed.).25 E F2(mailwar)144 264 Q(n)-.15 E F1 .815 +(If set, and a \214le that)184 276 R F2(bash)3.315 E F1 .814 +(is checking for mail has been accessed since the last time it)3.315 F -.1(wa)184 288 S 2.5(sc).1 G(heck)-2.5 E(ed,)-.1 E F2(bash)2.5 E F1 (displays the message \231The mail in)2.5 E F0(mail\214le)2.5 E F1 -(has been read\232.)2.5 E F2(no_empty_cmd_completion)144 300 Q F1 .61 -(If set, and)184 312 R F2 -.18(re)3.11 G(adline).18 E F1 .609 +(has been read\232.)2.5 E F2(no_empty_cmd_completion)144 300 Q F1 .609 +(If set, and)184 312 R F2 -.18(re)3.109 G(adline).18 E F1 .609 (is being used,)3.109 F F2(bash)3.109 E F1 .609(does not search)3.109 F -F3 -.666(PA)3.109 G(TH)-.189 E F1 .609(for possible completions)2.859 F +F3 -.666(PA)3.109 G(TH)-.189 E F1 .61(for possible completions)2.86 F (when completion is attempted on an empty line.)184 324 Q F2(nocaseglob) -144 336 Q F1 .436(If set,)184 348 R F2(bash)2.936 E F1 .436 -(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25 -H .437(ashion when performing pathname).05 F -.15(ex)184 360 S +144 336 Q F1 .437(If set,)184 348 R F2(bash)2.937 E F1 .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 360 S (pansion \(see).15 E F2 -.1(Pa)2.5 G(thname Expansion).1 E F1(abo)2.5 E --.15(ve)-.15 G(\).).15 E F2(nocasematch)144 372 Q F1 1.194(If set,)184 -384 R F2(bash)3.694 E F1 1.194(matches patterns in a case\255insensiti) -3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05 +-.15(ve)-.15 G(\).).15 E F2(nocasematch)144 372 Q F1 1.193(If set,)184 +384 R F2(bash)3.693 E F1 1.194(matches patterns in a case\255insensiti) +3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05 F .551(while e)184 396 R -.15(xe)-.15 G(cuting).15 E F2(case)3.051 E F1 (or)3.051 E F2([[)3.051 E F1 .551 (conditional commands, when performing pattern substitution)3.051 F -.1 -(wo)184 408 S .623(rd e).1 F .623(xpansions, or when \214ltering possib\ +(wo)184 408 S .622(rd e).1 F .623(xpansions, or when \214ltering possib\ le completions as part of programmable com-)-.15 F(pletion.)184 420 Q F2 -(noexpand_translation)144 432 Q F1 .669(If set,)184 444 R F2(bash)3.169 -E F1 .669(encloses the translated results of)3.169 F F2($")3.169 E F1 +(noexpand_translation)144 432 Q F1 .67(If set,)184 444 R F2(bash)3.17 E +F1 .669(encloses the translated results of)3.169 F F2($")3.169 E F1 1.666(...)C F2(")-1.666 E F1 .669(quoting in single quotes instead of) 3.169 F(double quotes.)184 456 Q (If the string is not translated, this has no ef)5 E(fect.)-.25 E F2 (nullglob)144 468 Q F1 1.581(If set, pathname e)184 480 R 1.581 (xpansion patterns which match no \214les \(see)-.15 F F2 -.1(Pa)4.081 G -1.58(thname Expansion).1 F F1(abo)184 492 Q -.15(ve)-.15 G 2.5(\)e).15 G -(xpand to nothing and are remo)-2.65 E -.15(ve)-.15 G(d, rather than e) +1.581(thname Expansion).1 F F1(abo)184 492 Q -.15(ve)-.15 G 2.5(\)e).15 +G(xpand to nothing and are remo)-2.65 E -.15(ve)-.15 G(d, rather than e) .15 E(xpanding to themselv)-.15 E(es.)-.15 E F2(patsub_r)144 504 Q -(eplacement)-.18 E F1 .105(If set,)184 516 R F2(bash)2.605 E F1 -.15(ex) -2.605 G .105(pands occurrences of).15 F F2(&)2.606 E F1 .106 -(in the replacement string of pattern substitution to)2.606 F .528 -(the te)184 528 R .528(xt matched by the pattern, as described under) --.15 F F2 -.1(Pa)3.027 G .527(rameter Expansion).1 F F1(abo)3.027 E -.15 -(ve)-.15 G 5.527(.T).15 G(his)-5.527 E(option is enabled by def)184 540 -Q(ault.)-.1 E F2(pr)144 552 Q(ogcomp)-.18 E F1 .766 -(If set, enable the programmable completion f)184 564 R .767 -(acilities \(see)-.1 F F2(Pr)3.267 E .767(ogrammable Completion)-.18 F +(eplacement)-.18 E F1 .106(If set,)184 516 R F2(bash)2.606 E F1 -.15(ex) +2.606 G .106(pands occurrences of).15 F F2(&)2.606 E F1 .105 +(in the replacement string of pattern substitution to)2.606 F .527 +(the te)184 528 R .527(xt matched by the pattern, as described under) +-.15 F F2 -.1(Pa)3.028 G .528(rameter Expansion).1 F F1(abo)3.028 E -.15 +(ve)-.15 G 5.528(.T).15 G(his)-5.528 E(option is enabled by def)184 540 +Q(ault.)-.1 E F2(pr)144 552 Q(ogcomp)-.18 E F1 .767 +(If set, enable the programmable completion f)184 564 R .766 +(acilities \(see)-.1 F F2(Pr)3.266 E .766(ogrammable Completion)-.18 F F1(abo)184 576 Q -.15(ve)-.15 G 2.5(\). This).15 F (option is enabled by def)2.5 E(ault.)-.1 E F2(pr)144 588 Q (ogcomp_alias)-.18 E F1 2.124 @@ -10827,19 +10826,19 @@ E F1 2.124(treats a command name that)4.624 F(doesn')184 612 Q 3.11(th) (bash)3.973 E F1 1.473 (attempts programmable completion using the command w)3.973 F 1.473 (ord resulting)-.1 F(from the e)184 636 Q(xpanded alias.)-.15 E F2(pr) -144 648 Q(omptv)-.18 E(ars)-.1 E F1 1.447(If set, prompt strings under) -184 660 R 1.448(go parameter e)-.18 F 1.448 -(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 672 S -.171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17 -(fter being e)-2.67 F .17(xpanded as described in)-.15 F F3(PR)2.67 E -(OMPTING)-.27 E F1(abo)2.42 E -.15(ve)-.15 G(.).15 E +144 648 Q(omptv)-.18 E(ars)-.1 E F1 1.448(If set, prompt strings under) +184 660 R 1.448(go parameter e)-.18 F 1.447 +(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 672 S .17 +(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17 +(fter being e)-2.67 F .17(xpanded as described in)-.15 F F3(PR)2.671 E +(OMPTING)-.27 E F1(abo)2.421 E -.15(ve)-.15 G(.).15 E (This option is enabled by def)184 684 Q(ault.)-.1 E F2 -.18(re)144 696 S(stricted_shell).18 E F1 1.069 (The shell sets this option if it is started in restricted mode \(see) 184 708 R F3 1.069(RESTRICTED SHELL)3.569 F F1(belo)184 720 Q 4.178 (w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F 1.678(This is not reset when the startup \214les are)6.678 F -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(88)188.45 E 0 Cg EP +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(88)198.445 E 0 Cg EP %%Page: 89 89 %%BeginPageSetup BP @@ -10849,49 +10848,50 @@ BP .25 E F1(\(1\)).95 E -.15(exe)184 84 S(cuted, allo).15 E (wing the startup \214les to disco)-.25 E -.15(ve)-.15 G 2.5(rw).15 G (hether or not a shell is restricted.)-2.5 E/F2 10/Times-Bold@0 SF -(shift_v)144 96 Q(erbose)-.1 E F1 .501(If set, the)184 108 R F2(shift) -3.001 E F1 -.2(bu)3.001 G .501 -(iltin prints an error message when the shift count e).2 F .502 +(shift_v)144 96 Q(erbose)-.1 E F1 .502(If set, the)184 108 R F2(shift) +3.002 E F1 -.2(bu)3.002 G .501 +(iltin prints an error message when the shift count e).2 F .501 (xceeds the number)-.15 F(of positional parameters.)184 120 Q F2(sour) -144 132 Q(cepath)-.18 E F1 .771(If set, the)184 144 R F2(.)3.271 E F1 -(\()3.271 E F2(sour)A(ce)-.18 E F1 3.271(\)b)C .771(uiltin uses the v) --3.471 F .771(alue of)-.25 F/F3 9/Times-Bold@0 SF -.666(PA)3.27 G(TH) --.189 E F1 .77(to \214nd the directory containing the)3.02 F .421 -(\214le supplied as an ar)184 156 R .421(gument when the)-.18 F F2 -2.921 E F1 .421(option is not supplied.)2.921 F .422 -(This option is enabled)5.422 F(by def)184 168 Q(ault.)-.1 E F2 -.1(va) +144 132 Q(cepath)-.18 E F1 .77(If set, the)184 144 R F2(.)3.27 E F1(\() +3.27 E F2(sour)A(ce)-.18 E F1 3.27(\)b)C .77(uiltin uses the v)-3.47 F +.771(alue of)-.25 F/F3 9/Times-Bold@0 SF -.666(PA)3.271 G(TH)-.189 E F1 +.771(to \214nd the directory containing the)3.021 F .422 +(\214le supplied as an ar)184 156 R .422(gument when the)-.18 F F2 +2.921 E F1 .421(option is not supplied.)2.921 F .421 +(This option is enabled)5.421 F(by def)184 168 Q(ault.)-.1 E F2 -.1(va) 144 180 S(rr).1 E(edir_close)-.18 E F1 .74(If set, the shell automatica\ lly closes \214le descriptors assigned using the)184 192 R F0({varname}) -3.24 E F1(redi-)3.24 E .423(rection syntax \(see)184 204 R F3 +3.24 E F1(redi-)3.24 E .424(rection syntax \(see)184 204 R F3 (REDIRECTION)2.924 E F1(abo)2.674 E -.15(ve)-.15 G 2.924(\)i).15 G .424 (nstead of lea)-2.924 F .424(ving them open when the com-)-.2 F -(mand completes.)184 216 Q F2(xpg_echo)144 228 Q F1 .074(If set, the)184 +(mand completes.)184 216 Q F2(xpg_echo)144 228 Q F1 .073(If set, the)184 240 R F2(echo)2.574 E F1 -.2(bu)2.574 G .074(iltin e).2 F .074 (xpands backslash-escape sequences by def)-.15 F 2.574(ault. If)-.1 F -(the)2.574 E F2(posix)2.573 E F1(shell)2.573 E(option is also enabled,) +(the)2.574 E F2(posix)2.574 E F1(shell)2.574 E(option is also enabled,) 184 252 Q F2(echo)2.5 E F1(does not interpret an)2.5 E 2.5(yo)-.15 G -(ptions.)-2.5 E F2(suspend)108 268.8 Q F1([)2.5 E F2A F1(])A .909 -(Suspend the e)144 280.8 R -.15(xe)-.15 G .909 +(ptions.)-2.5 E F2(suspend)108 268.8 Q F1([)2.5 E F2A F1(])A .91 +(Suspend the e)144 280.8 R -.15(xe)-.15 G .91 (cution of this shell until it recei).15 F -.15(ve)-.25 G 3.41(sa).15 G -F3(SIGCONT)A F1 3.41(signal. A)3.16 F .91(login shell, or a shell)3.41 F -1.044(without job control enabled, cannot be suspended; the)144 292.8 R -F23.543 E F1 1.043(option will o)3.543 F -.15(ve)-.15 G 1.043 -(rride this and force the).15 F 2.743(suspension. The)144 304.8 R .244(\ +F3(SIGCONT)-.001 E F1 3.409(signal. A)3.159 F .909 +(login shell, or a shell)3.409 F 1.043 +(without job control enabled, cannot be suspended; the)144 292.8 R F2 +3.543 E F1 1.043(option will o)3.543 F -.15(ve)-.15 G 1.044 +(rride this and force the).15 F 2.744(suspension. The)144 304.8 R .244(\ return status is 0 unless the shell is a login shell or job control is \ -not enabled and)2.743 F F2144 316.8 Q F1(is not supplied.)2.5 E F2 +not enabled and)2.744 F F2144 316.8 Q F1(is not supplied.)2.5 E F2 (test)108 333.6 Q F0 -.2(ex)2.5 G(pr).2 E F2([)108 345.6 Q F0 -.2(ex)2.5 -G(pr).2 E F2(])2.5 E F1 .878(Return a status of 0 \(true\) or 1 \(f)144 -345.6 R .877(alse\) depending on the e)-.1 F -.25(va)-.25 G .877 +G(pr).2 E F2(])2.5 E F1 .877(Return a status of 0 \(true\) or 1 \(f)144 +345.6 R .878(alse\) depending on the e)-.1 F -.25(va)-.25 G .878 (luation of the conditional e).25 F(xpression)-.15 E F0 -.2(ex)144 357.6 S(pr).2 E F1 5.53(.E).73 G .53 (ach operator and operand must be a separate ar)-5.53 F 3.03 -(gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.361 -(primaries described abo)144 369.6 R 1.661 -.15(ve u)-.15 H(nder).15 E -F3(CONDITION)3.861 E 1.36(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.) -A F2(test)5.86 E F1 1.36(does not accept an)3.86 F 3.86(yo)-.15 G(p-) --3.86 E(tions, nor does it accept and ignore an ar)144 381.6 Q +(gument. Expressions)-.18 F .53(are composed of the)3.03 F 1.36 +(primaries described abo)144 369.6 R 1.66 -.15(ve u)-.15 H(nder).15 E F3 +(CONDITION)3.86 E 1.36(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A +F2(test)5.86 E F1 1.361(does not accept an)3.86 F 3.861(yo)-.15 G(p-) +-3.861 E(tions, nor does it accept and ignore an ar)144 381.6 Q (gument of)-.18 E F22.5 E F1(as signifying the end of options.)2.5 -E .785(Expressions may be combined using the follo)144 398.4 R .786 +E .786(Expressions may be combined using the follo)144 398.4 R .785 (wing operators, listed in decreasing order of prece-)-.25 F 2.93 (dence. The)144 410.4 R -.25(eva)2.93 G .43 (luation depends on the number of ar).25 F .43(guments; see belo)-.18 F @@ -10918,9 +10918,9 @@ E F0 -.2(ex)2.5 G(pr1).2 E F1(or)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1 (uments).18 E .37(If the \214rst ar)180 588 R .37(gument is)-.18 F F2(!) 2.87 E F1 2.87(,t)C .37(he e)-2.87 F .37 (xpression is true if and only if the second ar)-.15 F .37 -(gument is null.)-.18 F .38(If the \214rst ar)180 600 R .38 -(gument is one of the unary conditional operators listed abo)-.18 F .679 --.15(ve u)-.15 H(nder).15 E F3(CONDI-)2.879 E(TION)180 612 Q .552 +(gument is null.)-.18 F .379(If the \214rst ar)180 600 R .38 +(gument is one of the unary conditional operators listed abo)-.18 F .68 +-.15(ve u)-.15 H(nder).15 E F3(CONDI-)2.88 E(TION)180 612 Q .553 (AL EXPRESSIONS)-.18 F F4(,)A F1 .552(the e)2.802 F .552 (xpression is true if the unary test is true.)-.15 F .552 (If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 624 Q @@ -10931,21 +10931,21 @@ E F0 -.2(ex)2.5 G(pr1).2 E F1(or)2.5 E F0 -.2(ex)2.5 G(pr2).2 E F1 (If the second ar)5.236 F .236(gument is one of)-.18 F .855 (the binary conditional operators listed abo)180 660 R 1.155 -.15(ve u) -.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F F4(,)A -F1(the)3.105 E .579(result of the e)180 672 R .578(xpression is the res\ +F1(the)3.104 E .578(result of the e)180 672 R .578(xpression is the res\ ult of the binary test using the \214rst and third ar)-.15 F(guments) --.18 E 1.332(as operands.)180 684 R(The)6.332 E F23.832 E F1(and) -3.832 E F23.832 E F1 1.333 +-.18 E 1.333(as operands.)180 684 R(The)6.333 E F23.833 E F1(and) +3.833 E F23.832 E F1 1.332 (operators are considered binary operators when there are)3.832 F .558 (three ar)180 696 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F .558(gument is)-.18 F F2(!)3.058 E F1 3.058(,t)C .558(he v)-3.058 F .558 (alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F(o-ar)-.1 -E(gument)-.18 E .52(test using the second and third ar)180 708 R 3.021 -(guments. If)-.18 F .521(the \214rst ar)3.021 F .521(gument is e)-.18 F -(xactly)-.15 E F2(\()3.021 E F1 .521(and the third)3.021 F(ar)180 720 Q -2.9(gument is e)-.18 F(xactly)-.15 E F2(\))5.4 E F1 5.399(,t)C 2.899 -(he result is the one-ar)-5.399 F 2.899(gument test of the second ar) --.18 F(gument.)-.18 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E -(89)188.45 E 0 Cg EP +E(gument)-.18 E .521(test using the second and third ar)180 708 R 3.021 +(guments. If)-.18 F .521(the \214rst ar)3.021 F .52(gument is e)-.18 F +(xactly)-.15 E F2(\()3.02 E F1 .52(and the third)3.02 F(ar)180 720 Q +2.899(gument is e)-.18 F(xactly)-.15 E F2(\))5.399 E F1 5.399(,t)C 2.899 +(he result is the one-ar)-5.399 F 2.9(gument test of the second ar)-.18 +F(gument.)-.18 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(89)198.445 +E 0 Cg EP %%Page: 90 90 %%BeginPageSetup BP @@ -10953,18 +10953,18 @@ BP /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) .25 E F1(\(1\)).95 E(Otherwise, the e)180 84 Q(xpression is f)-.15 E -(alse.)-.1 E 2.5(4a)144 96 S -.18(rg)-2.5 G(uments).18 E .429(The follo) -180 108 R .429(wing conditions are applied in the order listed.)-.25 F -.43(If the \214rst ar)5.429 F .43(gument is)-.18 F/F2 10/Times-Bold@0 SF -(!)2.93 E F1 2.93(,t)C .43(he re-)-2.93 F 1.315(sult is the ne)180 120 R --.05(ga)-.15 G 1.314(tion of the three-ar).05 F 1.314(gument e)-.18 F -1.314(xpression composed of the remaining ar)-.15 F(gu-)-.18 E 2.901 -(ments. If)180 132 R .401(the \214rst ar)2.901 F .401(gument is e)-.18 F -(xactly)-.15 E F2(\()2.901 E F1 .401(and the fourth ar)2.901 F .401 -(gument is e)-.18 F(xactly)-.15 E F2(\))2.901 E F1 2.902(,t)C .402 -(he result is)-2.902 F 1.236(the tw)180 144 R(o-ar)-.1 E 1.236 +(alse.)-.1 E 2.5(4a)144 96 S -.18(rg)-2.5 G(uments).18 E .43(The follo) +180 108 R .43(wing conditions are applied in the order listed.)-.25 F +.429(If the \214rst ar)5.429 F .429(gument is)-.18 F/F2 10/Times-Bold@0 +SF(!)2.929 E F1 2.929(,t)C .429(he re-)-2.929 F 1.314(sult is the ne)180 +120 R -.05(ga)-.15 G 1.314(tion of the three-ar).05 F 1.314(gument e) +-.18 F 1.314(xpression composed of the remaining ar)-.15 F(gu-)-.18 E +2.902(ments. If)180 132 R .402(the \214rst ar)2.902 F .401(gument is e) +-.18 F(xactly)-.15 E F2(\()2.901 E F1 .401(and the fourth ar)2.901 F +.401(gument is e)-.18 F(xactly)-.15 E F2(\))2.901 E F1 2.901(,t)C .401 +(he result is)-2.901 F 1.235(the tw)180 144 R(o-ar)-.1 E 1.236 (gument test of the second and third ar)-.18 F 3.736 -(guments. Otherwise,)-.18 F 1.235(the e)3.736 F 1.235(xpression is)-.15 +(guments. Otherwise,)-.18 F 1.236(the e)3.736 F 1.236(xpression is)-.15 F(parsed and e)180 156 Q -.25(va)-.25 G (luated according to precedence using the rules listed abo).25 E -.15 (ve)-.15 G(.).15 E 2.5(5o)144 168 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments) @@ -10973,106 +10973,106 @@ F(parsed and e)180 156 Q -.25(va)-.25 G .25 F(abo)180 192 Q -.15(ve)-.15 G(.).15 E .163 (When the shell is in posix mode, or if the e)144 208.8 R .163 (xpression is part of the)-.15 F F2([[)2.663 E F1 .163(command, the) -2.663 F F2(<)2.663 E F1(and)2.662 E F2(>)2.662 E F1(opera-)2.662 E .669 +2.663 F F2(<)2.663 E F1(and)2.663 E F2(>)2.663 E F1(opera-)2.663 E .669 (tors sort using the current locale.)144 220.8 R .669 (If the shell is not in posix mode, the)5.669 F F2(test)3.169 E F1(and) -3.169 E F2([)3.169 E F1 .669(commands sort)3.169 F(le)144 232.8 Q -(xicographically using ASCII ordering.)-.15 E .007 +3.169 E F2([)3.169 E F1 .668(commands sort)3.169 F(le)144 232.8 Q +(xicographically using ASCII ordering.)-.15 E .006 (The historical operator)144 249.6 R .006 (-precedence parsing with 4 or more ar)-.2 F .006 -(guments can lead to ambiguities when)-.18 F .841 +(guments can lead to ambiguities when)-.18 F .842 (it encounters strings that look lik)144 261.6 R 3.341(ep)-.1 G 3.341 (rimaries. The)-3.341 F/F3 9/Times-Roman@0 SF(POSIX)3.341 E F1 .841 -(standard has deprecated the)3.091 F F23.342 E F1(and)3.342 E F2 -3.342 E F1 .886(primaries and enclosing e)144 273.6 R .886 +(standard has deprecated the)3.091 F F23.341 E F1(and)3.341 E F2 +3.341 E F1 .885(primaries and enclosing e)144 273.6 R .886 (xpressions within parentheses.)-.15 F .886 -(Scripts should no longer use them.)5.886 F(It')5.885 E(s)-.55 E .066 +(Scripts should no longer use them.)5.886 F(It')5.886 E(s)-.55 E .066 (much more reliable to restrict test in)144 285.6 R -.2(vo)-.4 G .066 (cations to a single primary).2 F 2.566(,a)-.65 G .066 -(nd to replace uses of)-2.566 F F22.566 E F1(and)2.567 E F2 -2.567 E F1(with the shell')144 297.6 Q(s)-.55 E F2(&&)2.5 E F1(and)2.5 E +(nd to replace uses of)-2.566 F F22.566 E F1(and)2.566 E F2 +2.566 E F1(with the shell')144 297.6 Q(s)-.55 E F2(&&)2.5 E F1(and)2.5 E F2(||)2.5 E F1(list operators.)2.5 E F2(times)108 314.4 Q F1 1.229(Prin\ t the accumulated user and system times for the shell and for processes\ run from the shell.)144 314.4 R(The return status is 0.)144 326.4 Q F2 (trap)108 343.2 Q F1([)2.5 E F2(\255lpP)A F1 2.5(][)C([)-2.5 E F0 (action)A F1(])A F0(sigspec)2.5 E F1 1.666(...)2.5 G(])-1.666 E(The)144 -355.2 Q F0(action)4.331 E F1 1.501(is a command that is read and e)4.241 +355.2 Q F0(action)4.332 E F1 1.501(is a command that is read and e)4.242 F -.15(xe)-.15 G 1.501(cuted when the shell recei).15 F -.15(ve)-.25 G -4.001(sa).15 G 1.802 -.15(ny o)-4.001 H 4.002(ft).15 G 1.502(he signals) --4.002 F F0(sigspec)144.34 367.2 Q F1 5.709(.I).31 G(f)-5.709 E F0 -(action)3.539 E F1 .709(is absent \(and there is a single)3.449 F F0 +4.001(sa).15 G 1.801 -.15(ny o)-4.001 H 4.001(ft).15 G 1.501(he signals) +-4.001 F F0(sigspec)144.34 367.2 Q F1 5.708(.I).31 G(f)-5.708 E F0 +(action)3.538 E F1 .709(is absent \(and there is a single)3.449 F F0 (sigspec)3.209 E F1 3.209(\)o)C(r)-3.209 E F23.209 E F1 3.209(,e)C -.709(ach speci\214ed)-3.209 F F0(sigspec)3.209 E F1 .708(is reset to) -3.209 F .292(the v)144 379.2 R .292(alue it had when the shell w)-.25 F +.709(ach speci\214ed)-3.209 F F0(sigspec)3.209 E F1 .709(is reset to) +3.209 F .293(the v)144 379.2 R .292(alue it had when the shell w)-.25 F .292(as started.)-.1 F(If)5.292 E F0(action)3.122 E F1 .292 (is the null string the signal speci\214ed by each)3.032 F F0(sigspec) 144.34 391.2 Q F1(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 .165(If no ar)144 408 R .165 (guments are supplied,)-.18 F F2(trap)2.665 E F1 .165 (displays the actions associated with each trapped signal as a set)2.665 -F(of)144 420 Q F2(trap)2.569 E F1 .069(commands that can be reused as s\ -hell input to restore the current signal dispositions.)2.569 F(If)5.07 E -F22.57 E F1 .474(is gi)144 432 R -.15(ve)-.25 G .474(n, and).15 F +F(of)144 420 Q F2(trap)2.57 E F1 .069(commands that can be reused as sh\ +ell input to restore the current signal dispositions.)2.57 F(If)5.069 E +F22.569 E F1 .473(is gi)144 432 R -.15(ve)-.25 G .473(n, and).15 F F0(action)3.303 E F1 .473(is not present, then)3.213 F F2(trap)2.973 E F1 .473(displays the actions associated with each)2.973 F F0(sigspec) -3.313 E F1(or)3.283 E(,)-.4 E .363 +3.314 E F1(or)3.284 E(,)-.4 E .364 (if none are supplied, for all trapped signals, as a set of)144 444 R F2 -(trap)2.864 E F1 .364(commands that can be reused as shell)2.864 F .207 +(trap)2.864 E F1 .363(commands that can be reused as shell)2.864 F .207 (input to restore the current signal dispositions.)144 456 R(The)5.207 E F22.707 E F1 .207(option beha)2.707 F -.15(ve)-.2 G 2.707(ss).15 G -(imilarly)-2.707 E 2.707(,b)-.65 G .207(ut displays only)-2.907 F 1.552 +(imilarly)-2.707 E 2.707(,b)-.65 G .208(ut displays only)-2.907 F 1.553 (the actions associated with each)144 468 R F0(sigspec)4.052 E F1(ar) -4.052 E(gument.)-.18 E F26.552 E F1 1.553(requires at least one) -4.052 F F0(sigspec)4.053 E F1(ar)4.053 E(gument.)-.18 E(The)144 480 Q F2 -2.78 E F1(or)2.78 E F22.78 E F1 .279 -(options may be used in a subshell en)2.78 F .279 -(vironment \(e.g., command substitution\) and, as)-.4 F .238 -(long as the)144 492 R 2.738(ya)-.15 G .238(re used before)-2.738 F F2 -(trap)2.738 E F1 .238(is used to change a signal')2.738 F 2.739(sh)-.55 -G .239(andling, will display the state of its)-2.739 F(parent')144 504 Q -2.5(st)-.55 G(raps.)-2.5 E(The)144 520.8 Q F22.516 E F1 .016 +4.052 E(gument.)-.18 E F26.552 E F1 1.552(requires at least one) +4.052 F F0(sigspec)4.052 E F1(ar)4.052 E(gument.)-.18 E(The)144 480 Q F2 +2.779 E F1(or)2.779 E F22.779 E F1 .279 +(options may be used in a subshell en)2.779 F .28 +(vironment \(e.g., command substitution\) and, as)-.4 F .239 +(long as the)144 492 R 2.739(ya)-.15 G .239(re used before)-2.739 F F2 +(trap)2.739 E F1 .238(is used to change a signal')2.739 F 2.738(sh)-.55 +G .238(andling, will display the state of its)-2.738 F(parent')144 504 Q +2.5(st)-.55 G(raps.)-2.5 E(The)144 520.8 Q F22.515 E F1 .016 (option prints a list of signal names and their corresponding numbers.) -2.516 F(Each)5.015 E F0(sigspec)2.855 E F1 .015(is either)2.825 F 2.614 -(as)144 532.8 S .114(ignal name de\214ned in <)-2.614 F F0(signal.h)A F1 -.114(>, or a signal number)B 5.114(.S)-.55 G .115 -(ignal names are case insensiti)-5.114 F .415 -.15(ve a)-.25 H .115 -(nd the).15 F/F4 9/Times-Bold@0 SF(SIG)144 544.8 Q F1 .783 -(pre\214x is optional.)3.033 F(If)5.783 E F23.283 E F1 .782 -(is supplied with no)3.283 F F0(sigspec)3.282 E F1(ar)3.282 E .782 -(guments, it prints a list of v)-.18 F .782(alid signal)-.25 F(names.) -144 556.8 Q .016(If a)144 573.6 R F0(sigspec)2.856 E F1(is)2.826 E F4 -(EXIT)2.516 E F1(\(0\),)2.266 E F0(action)2.846 E F1 .016(is e)2.756 F --.15(xe)-.15 G .016(cuted on e).15 F .017(xit from the shell.)-.15 F -.017(If a)5.017 F F0(sigspec)2.857 E F1(is)2.827 E F4(DEB)2.517 E(UG) --.09 E F3(,)A F0(action)2.597 E F1(is)2.757 E -.15(exe)144 585.6 S .798 -(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F0 .798(simple command) -3.298 F F1(,)A F0(for)3.298 E F1(command,)3.298 E F0(case)3.297 E F1 -(command,)3.297 E F0(select)3.297 E F1 .797(command, \(\( arith-)3.297 F -.573(metic command, [[ conditional command, arithmetic)144 597.6 R F0 -(for)3.073 E F1 .574(command, and before the \214rst command)3.073 F +2.515 F(Each)5.016 E F0(sigspec)2.856 E F1 .016(is either)2.826 F 2.615 +(as)144 532.8 S .115(ignal name de\214ned in <)-2.615 F F0(signal.h)A F1 +.114(>, or a signal number)B 5.114(.S)-.55 G .114 +(ignal names are case insensiti)-5.114 F .414 -.15(ve a)-.25 H .114 +(nd the).15 F/F4 9/Times-Bold@0 SF(SIG)144 544.8 Q F1 .782 +(pre\214x is optional.)3.032 F(If)5.782 E F23.282 E F1 .782 +(is supplied with no)3.282 F F0(sigspec)3.282 E F1(ar)3.282 E .783 +(guments, it prints a list of v)-.18 F .783(alid signal)-.25 F(names.) +144 556.8 Q .017(If a)144 573.6 R F0(sigspec)2.857 E F1(is)2.827 E F4 +(EXIT)2.517 E F1(\(0\),)2.267 E F0(action)2.847 E F1 .017(is e)2.757 F +-.15(xe)-.15 G .017(cuted on e).15 F .016(xit from the shell.)-.15 F +.016(If a)5.016 F F0(sigspec)2.856 E F1(is)2.826 E F4(DEB)2.516 E(UG) +-.09 E F3(,)A F0(action)2.596 E F1(is)2.756 E -.15(exe)144 585.6 S .797 +(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F0 .797(simple command) +3.297 F F1(,)A F0(for)3.297 E F1(command,)3.297 E F0(case)3.298 E F1 +(command,)3.298 E F0(select)3.298 E F1 .798(command, \(\( arith-)3.298 F +.574(metic command, [[ conditional command, arithmetic)144 597.6 R F0 +(for)3.073 E F1 .573(command, and before the \214rst command)3.073 F -.15(exe)144 609.6 S 1.98(cutes in a shell function \(see).15 F F4 1.98 (SHELL GRAMMAR)4.48 F F1(abo)4.23 E -.15(ve)-.15 G 4.48(\). Refer).15 F 1.98(to the description of the)4.48 F F2(extdeb)144 621.6 Q(ug)-.2 E F1 -.384(shell option \(see)2.884 F F2(shopt)2.884 E F1(abo)2.884 E -.15(ve) +.385(shell option \(see)2.885 F F2(shopt)2.884 E F1(abo)2.884 E -.15(ve) -.15 G 2.884(\)f).15 G .384(or details of its ef)-2.884 F .384 (fect on the)-.25 F F2(DEB)2.884 E(UG)-.1 E F1 2.884(trap. If)2.884 F(a) -2.885 E F0(sigspec)3.225 E F1(is)144 633.6 Q F4(RETURN)2.803 E F3(,)A F0 -(action)2.883 E F1 .303(is e)3.043 F -.15(xe)-.15 G .302 +2.884 E F0(sigspec)3.224 E F1(is)144 633.6 Q F4(RETURN)2.802 E F3(,)A F0 +(action)2.882 E F1 .302(is e)3.042 F -.15(xe)-.15 G .302 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G -.302(cuted with the).15 F F2(.)2.802 E F1(or)2.802 E F2(sour)2.802 E(ce) +.303(cuted with the).15 F F2(.)2.803 E F1(or)2.803 E F2(sour)2.803 E(ce) -.18 E F1 -.2(bu)144 645.6 S(iltins \214nishes e).2 E -.15(xe)-.15 G -(cuting.).15 E .348(If a)144 662.4 R F0(sigspec)3.188 E F1(is)3.159 E F4 +(cuting.).15 E .349(If a)144 662.4 R F0(sigspec)3.189 E F1(is)3.159 E F4 (ERR)2.849 E F3(,)A F0(action)2.929 E F1 .349(is e)3.089 F -.15(xe)-.15 G .349(cuted whene).15 F -.15(ve)-.25 G 2.849(rap).15 G .349 -(ipeline \(which may consist of a single simple)-2.849 F .165 +(ipeline \(which may consist of a single simple)-2.849 F .164 (command\), a list, or a compound command returns a non\255zero e)144 -674.4 R .164(xit status, subject to the follo)-.15 F(wing)-.25 E 2.576 -(conditions. The)144 686.4 R F4(ERR)2.576 E F1 .076(trap is not e)2.326 -F -.15(xe)-.15 G .076(cuted if the f).15 F .077 -(ailed command is part of the command list imme-)-.1 F .315 -(diately follo)144 698.4 R .315(wing a)-.25 F F2(while)2.815 E F1(or) -2.815 E F2(until)2.814 E F1(reserv)2.814 E .314(ed w)-.15 F .314 -(ord, part of the test in an)-.1 F F0(if)2.824 E F1 .314 +674.4 R .165(xit status, subject to the follo)-.15 F(wing)-.25 E 2.577 +(conditions. The)144 686.4 R F4(ERR)2.577 E F1 .077(trap is not e)2.327 +F -.15(xe)-.15 G .077(cuted if the f).15 F .076 +(ailed command is part of the command list imme-)-.1 F .314 +(diately follo)144 698.4 R .314(wing a)-.25 F F2(while)2.814 E F1(or) +2.814 E F2(until)2.814 E F1(reserv)2.814 E .314(ed w)-.15 F .314 +(ord, part of the test in an)-.1 F F0(if)2.824 E F1 .315 (statement, part of a com-)4.774 F .435(mand e)144 710.4 R -.15(xe)-.15 G .435(cuted in a).15 F F2(&&)2.935 E F1(or)2.935 E F2(||)2.935 E F1 .435(list e)2.935 F .435(xcept the command follo)-.15 F .435 @@ -11080,26 +11080,25 @@ G .435(cuted in a).15 F F2(&&)2.935 E F1(or)2.935 E F2(||)2.935 E F1 2.935(,a)C .735 -.15(ny c)-2.935 H(ommand).15 E 1.225(in a pipeline b) 144 722.4 R 1.225(ut the last \(subject to the state of the)-.2 F F2 (pipefail)3.725 E F1 1.225(shell option\), or if the command')3.725 F(s) --.55 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(90)188.45 E 0 Cg -EP +-.55 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(90)198.445 E 0 Cg EP %%Page: 91 91 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E .789(return v)144 84 R .789(alue is being in)-.25 F --.15(ve)-.4 G .789(rted using).15 F/F2 10/Times-Bold@0 SF(!)3.289 E F1 -5.789(.T)C .789(hese are the same conditions obe)-5.789 F .79 -(yed by the)-.15 F F2(err)3.29 E(exit)-.18 E F1(\()3.29 E F2A F1 -(\))A(option.)144 96 Q .07(When the shell is not interacti)144 112.8 R --.15(ve)-.25 G 2.57(,s).15 G .069 +.25 E F1(\(1\)).95 E .79(return v)144 84 R .79(alue is being in)-.25 F +-.15(ve)-.4 G .79(rted using).15 F/F2 10/Times-Bold@0 SF(!)3.29 E F1 +5.789(.T)C .789(hese are the same conditions obe)-5.789 F .789 +(yed by the)-.15 F F2(err)3.289 E(exit)-.18 E F1(\()3.289 E F2A F1 +(\))A(option.)144 96 Q .069(When the shell is not interacti)144 112.8 R +-.15(ve)-.25 G 2.569(,s).15 G .07 (ignals ignored upon entry to the shell cannot be trapped or reset.) --2.57 F(Interacti)144 124.8 Q .951 -.15(ve s)-.25 H .651 +-2.569 F(Interacti)144 124.8 Q .952 -.15(ve s)-.25 H .652 (hells permit trapping signals ignored on entry).15 F 5.651(.T)-.65 G -.652(rapped signals that are not being ig-)-6.001 F .577 +.651(rapped signals that are not being ig-)-6.001 F .576 (nored are reset to their original v)144 136.8 R .576 -(alues in a subshell or subshell en)-.25 F .576 +(alues in a subshell or subshell en)-.25 F .577 (vironment when one is created.)-.4 F(The return status is f)144 148.8 Q (alse if an)-.1 E(y)-.15 E F0(sigspec)2.84 E F1(is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F2(trap)2.5 E F1(returns true.)2.5 E F2(true)108 @@ -11107,61 +11106,60 @@ G(lid; otherwise).25 E F2(trap)2.5 E F1(returns true.)2.5 E F2(true)108 182.4 Q F1([)2.5 E F2(\255aftpP)A F1(])A F0(name)2.5 E F1([)2.5 E F0 (name)A F1 1.666(...)2.5 G(])-1.666 E(Indicate ho)144 194.4 Q 2.5(we) -.25 G(ach)-2.5 E F0(name)2.86 E F1 -.1(wo)2.68 G -(uld be interpreted if used as a command name.).1 E .8(If the)144 211.2 -R F23.3 E F1 .8(option is used,)3.3 F F2(type)3.3 E F1 .801 -(prints a string which is one of)3.3 F F0(alias)3.631 E F1(,).27 E F0 --.1(ke)3.301 G(ywor)-.2 E(d)-.37 E F1(,).77 E F0(function)5.271 E F1(,) -.24 E F0 -.2(bu)3.301 G(iltin).2 E F1 3.301(,o).24 G(r)-3.301 E F0 -(\214le)145.91 223.2 Q F1(if)3.622 E F0(name)3.802 E F1 .942 +(uld be interpreted if used as a command name.).1 E .801(If the)144 +211.2 R F23.301 E F1 .801(option is used,)3.301 F F2(type)3.301 E +F1 .801(prints a string which is one of)3.301 F F0(alias)3.63 E F1(,).27 +E F0 -.1(ke)3.3 G(ywor)-.2 E(d)-.37 E F1(,).77 E F0(function)5.27 E F1 +(,).24 E F0 -.2(bu)3.3 G(iltin).2 E F1 3.3(,o).24 G(r)-3.3 E F0(\214le) +145.91 223.2 Q F1(if)3.622 E F0(name)3.802 E F1 .942 (is an alias, shell reserv)3.622 F .942(ed w)-.15 F .942 (ord, function, b)-.1 F .942(uiltin, or e)-.2 F -.15(xe)-.15 G .942 (cutable \214le, respecti).15 F -.15(ve)-.25 G(ly).15 E 5.942(.I)-.65 G (f)-5.942 E(the)144 235.2 Q F0(name)2.86 E F1(is not found,)2.68 E F2 (type)2.5 E F1(prints nothing and returns a non-zero e)2.5 E -(xit status.)-.15 E 1.482(If the)144 252 R F23.982 E F1 1.482 -(option is used,)3.982 F F2(type)3.982 E F1 1.482 -(either returns the pathname of the e)3.982 F -.15(xe)-.15 G 1.483 -(cutable \214le that w).15 F 1.483(ould be)-.1 F .441 -(found by searching)144 264 R F2($P)2.941 E -.95(AT)-.74 G(H).95 E F1 -(for)2.941 E F0(name)3.301 E F1 .441 -(or nothing if \231type \255t name\232 w)3.121 F .44(ould not return)-.1 -F F0(\214le)4.85 E F1 5.44(.T).18 G(he)-5.44 E F22.94 E F1 .205 -(option forces a)144 276 R/F3 9/Times-Bold@0 SF -.666(PA)2.705 G(TH) --.189 E F1 .205(search for each)2.455 F F0(name)2.705 E F1 2.705(,e)C --.15(ve)-2.955 G 2.705(ni).15 G 2.706<6699>-2.705 G .206 -(type \255t name\232 w)-2.706 F .206(ould not return)-.1 F F0(\214le) -4.616 E F1 5.206(.I).18 G(f)-5.206 E F0(name)2.706 E F1 .242 +(xit status.)-.15 E 1.483(If the)144 252 R F23.983 E F1 1.483 +(option is used,)3.983 F F2(type)3.983 E F1 1.482 +(either returns the pathname of the e)3.982 F -.15(xe)-.15 G 1.482 +(cutable \214le that w).15 F 1.482(ould be)-.1 F .44(found by searching) +144 264 R F2($P)2.94 E -.95(AT)-.74 G(H).95 E F1(for)2.94 E F0(name)3.3 +E F1 .441(or nothing if \231type \255t name\232 w)3.12 F .441 +(ould not return)-.1 F F0(\214le)4.851 E F1 5.441(.T).18 G(he)-5.441 E +F22.941 E F1 .206(option forces a)144 276 R/F3 9/Times-Bold@0 SF +-.666(PA)2.706 G(TH)-.189 E F1 .206(search for each)2.456 F F0(name) +2.706 E F1 2.706(,e)C -.15(ve)-2.956 G 2.706(ni).15 G 2.705<6699>-2.706 +G .205(type \255t name\232 w)-2.705 F .205(ould not return)-.1 F F0 +(\214le)4.615 E F1 5.205(.I).18 G(f)-5.205 E F0(name)2.705 E F1 .241 (is present in the table of hashed commands,)144 288 R F22.742 E -F1(and)2.742 E F22.742 E F1 .241(print the hashed v)2.742 F .241 +F1(and)2.742 E F22.742 E F1 .242(print the hashed v)2.742 F .242 (alue, which is not neces-)-.25 F (sarily the \214le that appears \214rst in)144 300 Q F3 -.666(PA)2.5 G -(TH)-.189 E/F4 9/Times-Roman@0 SF(.)A F1 .652(If the)144 316.8 R F2 -3.152 E F1 .652(option is used,)3.152 F F2(type)3.153 E F1 .653 +(TH)-.189 E/F4 9/Times-Roman@0 SF(.)A F1 .653(If the)144 316.8 R F2 +3.153 E F1 .653(option is used,)3.153 F F2(type)3.153 E F1 .653 (prints all of the places that contain a command named)3.153 F F0(name) -3.513 E F1 5.653(.T).18 G(his)-5.653 E .736(includes aliases, reserv)144 -328.8 R .736(ed w)-.15 F .736(ords, functions, and b)-.1 F .736 +3.512 E F1 5.652(.T).18 G(his)-5.652 E .735(includes aliases, reserv)144 +328.8 R .735(ed w)-.15 F .736(ords, functions, and b)-.1 F .736 (uiltins, b)-.2 F .736(ut the path search options \()-.2 F F2A F1 -(and)3.235 E F23.235 E F1(\))A .291 +(and)3.236 E F23.236 E F1(\))A .292 (can be supplied to restrict the output to e)144 340.8 R -.15(xe)-.15 G -.292(cutable \214les.).15 F F2(type)5.292 E F1 .292 +.292(cutable \214les.).15 F F2(type)5.292 E F1 .291 (does not consult the table of hashed)2.792 F(commands when using)144 352.8 Q F22.5 E F1(with)2.5 E F22.5 E F1 2.5(,a)C (nd only performs a)-2.5 E F3 -.666(PA)2.5 G(TH)-.189 E F1(search for) -2.25 E F0(name)2.5 E F1(.)A(The)144 369.6 Q F22.758 E F1 .257 -(option suppresses shell function lookup, as with the)2.758 F F2 -(command)2.757 E F1 -.2(bu)2.757 G(iltin.).2 E F2(type)5.257 E F1 .257 -(returns true if)2.757 F(all of the ar)144 381.6 Q(guments are found, f) +2.25 E F0(name)2.5 E F1(.)A(The)144 369.6 Q F22.757 E F1 .257 +(option suppresses shell function lookup, as with the)2.757 F F2 +(command)2.757 E F1 -.2(bu)2.758 G(iltin.).2 E F2(type)5.258 E F1 .258 +(returns true if)2.758 F(all of the ar)144 381.6 Q(guments are found, f) -.18 E(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 398.4 Q F1([)2.5 E F2(\255HS)A F1(])A F22.5 E(ulimit)108 410.4 Q F1([)2.5 E F2(\255HS)A F1 2.5(][)C F2(\255bcde\214klmnpqrstuvxPR)-2.5 E -(T)-.4 E F1([)2.5 E F0(limit)A F1(]])A(Pro)144 422.4 Q .278 +(T)-.4 E F1([)2.5 E F0(limit)A F1(]])A(Pro)144 422.4 Q .279 (vides control o)-.15 F -.15(ve)-.15 G 2.778(rt).15 G .278 (he resources a)-2.778 F -.25(va)-.2 G .278 (ilable to the shell and to processes it starts, on systems that).25 F (allo)144 434.4 Q 2.5(ws)-.25 G(uch control.)-2.5 E(The)144 451.2 Q F2 -2.694 E F1(and)2.694 E F22.694 E F1 .193 +2.693 E F1(and)2.693 E F22.693 E F1 .193 (options specify whether the hard or soft limit is set for the gi)2.693 -F -.15(ve)-.25 G 2.693(nr).15 G 2.693(esource. A)-2.693 F(hard)2.693 E +F -.15(ve)-.25 G 2.694(nr).15 G 2.694(esource. A)-2.694 F(hard)2.694 E .497(limit cannot be increased by a non-root user once it is set; a sof\ t limit may be increased up to the)144 463.2 R -.25(va)144 475.2 S (lue of the hard limit.).25 E(If neither)5 E F22.5 E F1(nor)2.5 E @@ -11169,13 +11167,13 @@ F22.5 E F1(is speci\214ed,)2.5 E F2(ulimit)2.5 E F1 (sets both the soft and hard limits.)2.5 E .402(The v)144 492 R .402 (alue of)-.25 F F0(limit)2.992 E F1 .402(can be a number in the unit sp\ eci\214ed for the resource or one of the special v)3.582 F(al-)-.25 E -(ues)144 504 Q F2(hard)3.018 E F1(,)A F2(soft)3.018 E F1 3.018(,o)C(r) --3.018 E F2(unlimited)3.018 E F1 3.018(,w)C .518 +(ues)144 504 Q F2(hard)3.019 E F1(,)A F2(soft)3.019 E F1 3.019(,o)C(r) +-3.019 E F2(unlimited)3.019 E F1 3.018(,w)C .518 (hich stand for the current hard limit, the current soft limit, and no) --3.018 F 1.056(limit, respecti)144 516 R -.15(ve)-.25 G(ly).15 E 6.056 -(.I)-.65 G(f)-6.056 E F0(limit)3.646 E F1 1.056(is omitted,)4.236 F F2 -(ulimit)3.555 E F1 1.055(prints the current v)3.555 F 1.055 -(alue of the soft limit of the re-)-.25 F .636(source, unless the)144 +-3.018 F 1.055(limit, respecti)144 516 R -.15(ve)-.25 G(ly).15 E 6.055 +(.I)-.65 G(f)-6.055 E F0(limit)3.645 E F1 1.055(is omitted,)4.235 F F2 +(ulimit)3.555 E F1 1.055(prints the current v)3.555 F 1.056 +(alue of the soft limit of the re-)-.25 F .637(source, unless the)144 528 R F23.137 E F1 .637(option is gi)3.137 F -.15(ve)-.25 G 3.137 (n. When).15 F .637 (more than one resource is speci\214ed, the limit name)3.137 F @@ -11197,10 +11195,10 @@ F1(The maximum size of a process')180 588 Q 2.5(sd)-.55 G(ata se)-2.5 E -.1 E(.)-.65 E F2144 660 Q F1(The maximum resident set size \(man) 180 660 Q 2.5(ys)-.15 G(ystems do not honor this limit\).)-2.5 E F2 144 672 Q F1 .791(The maximum number of open \214le descriptors \ -\(most systems do not allo)180 672 R 3.29(wt)-.25 G .79(his v)-3.29 F -.79(alue to)-.25 F(be set\).)180 684 Q F2144 696 Q F1 +\(most systems do not allo)180 672 R 3.291(wt)-.25 G .791(his v)-3.291 F +.791(alue to)-.25 F(be set\).)180 684 Q F2144 696 Q F1 (The pipe size in 512-byte blocks \(this may not be set\).)180 696 Q -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(91)188.45 E 0 Cg EP +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(91)198.445 E 0 Cg EP %%Page: 92 92 %%BeginPageSetup BP @@ -11221,7 +11219,7 @@ F1(The maximum number of processes a)180 132 Q -.25(va)-.2 G F2144 180 Q F1(The maximum number of pseudoterminals.)180 180 Q F2 144 192 Q F1(The maximum time a real-time process can run before \ blocking, in microseconds.)180 192 Q F2144 204 Q F1 -(The maximum number of threads.)180 204 Q(If)144 220.8 Q F0(limit)3.062 +(The maximum number of threads.)180 204 Q(If)144 220.8 Q F0(limit)3.061 E F1 .471(is supplied, and the)3.651 F F22.971 E F1 .471 (option is not used,)2.971 F F0(limit)2.971 E F1 .471(is the ne)2.971 F 2.971(wv)-.25 G .471(alue of the speci\214ed resource.)-3.221 F @@ -11229,99 +11227,98 @@ E F1 .471(is supplied, and the)3.651 F F22.971 E F1 .471 (is assumed.)2.5 E -1.11(Va)144 249.6 S .388 (lues are in 1024-byte increments, e)1.11 F .388(xcept for)-.15 F F2 2.888 E F1 2.888(,w)C .388(hich is in seconds;)-2.888 F F2 -2.888 E F1 2.888(,w)C .389(hich is in microsec-)-2.888 F(onds;)144 261.6 -Q F23.287 E F1 3.287(,w)C .787 -(hich is in units of 512-byte blocks;)-3.287 F F23.287 E F1(,)A F2 +2.888 E F1 2.888(,w)C .388(hich is in microsec-)-2.888 F(onds;)144 261.6 +Q F23.286 E F1 3.286(,w)C .786 +(hich is in units of 512-byte blocks;)-3.286 F F23.287 E F1(,)A F2 3.287 E F1(,)A F23.287 E F1(,)A F23.287 E F1(,)A F2 -3.286 E F1 3.286(,a)C(nd)-3.286 E F23.286 E F1 3.286(,w)C -.786(hich are unscaled)-3.286 F -.25(va)144 273.6 S .498 +3.287 E F1 3.287(,a)C(nd)-3.287 E F23.287 E F1 3.287(,w)C +.787(hich are unscaled)-3.287 F -.25(va)144 273.6 S .498 (lues; and, when in posix mode,).25 F F22.998 E F1(and)2.998 E F2 2.998 E F1 2.998(,w)C .498(hich are in 512-byte increments.)-2.998 -F .499(The return status)5.498 F(is 0 unless an in)144 285.6 Q -.25(va) +F .498(The return status)5.498 F(is 0 unless an in)144 285.6 Q -.25(va) -.4 G(lid option or ar).25 E (gument is supplied, or an error occurs while setting a ne)-.18 E 2.5 (wl)-.25 G(imit.)-2.5 E F2(umask)108 302.4 Q F1([)2.5 E F2A F1 2.5 -(][)C F2-2.5 E F1 2.5(][)C F0(mode)-2.5 E F1(])A .792 -(Set the user \214le-creation mask to)144 314.4 R F0(mode)3.672 E F1 -5.792(.I).18 G(f)-5.792 E F0(mode)3.672 E F1(be)3.472 E .791 +(][)C F2-2.5 E F1 2.5(][)C F0(mode)-2.5 E F1(])A .791 +(Set the user \214le-creation mask to)144 314.4 R F0(mode)3.671 E F1 +5.792(.I).18 G(f)-5.792 E F0(mode)3.672 E F1(be)3.472 E .792 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\ therwise it is interpreted as a symbolic mode mask similar to that acce\ pted by)144 326.4 R F0 -.15(ch)2.566 G(mod).15 E F1(\(1\).).77 E(If)144 -338.4 Q F0(mode)3.032 E F1 .152(is omitted,)2.832 F F2(umask)2.652 E F1 -.152(prints the current v)2.652 F .152(alue of the mask.)-.25 F(The) -5.152 E F22.651 E F1 .151(option without a)2.651 F F0(mode)2.651 E -F1(ar)2.651 E(-)-.2 E .394 +338.4 Q F0(mode)3.031 E F1 .151(is omitted,)2.831 F F2(umask)2.651 E F1 +.152(prints the current v)2.651 F .152(alue of the mask.)-.25 F(The) +5.152 E F22.652 E F1 .152(option without a)2.652 F F0(mode)2.652 E +F1(ar)2.652 E(-)-.2 E .394 (gument prints the mask in a symbolic format; the def)144 350.4 R .394 (ault output is an octal number)-.1 F 5.394(.I)-.55 G 2.894(ft)-5.394 G -(he)-2.894 E F22.894 E F1(op-)2.894 E .329(tion is supplied, and) +(he)-2.894 E F22.893 E F1(op-)2.893 E .329(tion is supplied, and) 144 362.4 R F0(mode)3.209 E F1 .329 (is omitted, the output is in a form that may be reused as input.)3.009 -F .329(The re-)5.329 F .15(turn status is zero if the mode w)144 374.4 R -.151(as successfully changed or if no)-.1 F F0(mode)2.651 E F1(ar)2.651 -E .151(gument w)-.18 F .151(as supplied, and)-.1 F(non-zero otherwise.) -144 386.4 Q F2(unalias)108 403.2 Q F1<5bad>2.5 E F2(a)A F1 2.5(][)C F0 -(name)-2.5 E F1 1.666(...)2.5 G(])-1.666 E(Remo)144 415.2 Q .707 -.15 -(ve e)-.15 H(ach).15 E F0(name)2.907 E F1 .406 -(from the list of de\214ned aliases.)2.907 F(If)5.406 E F22.906 E -F1 .406(is supplied, remo)2.906 F .706 -.15(ve a)-.15 H .406 +F .329(The re-)5.329 F .151(turn status is zero if the mode w)144 374.4 +R .151(as successfully changed or if no)-.1 F F0(mode)2.65 E F1(ar)2.65 +E .15(gument w)-.18 F .15(as supplied, and)-.1 F(non-zero otherwise.)144 +386.4 Q F2(unalias)108 403.2 Q F1<5bad>2.5 E F2(a)A F1 2.5(][)C F0(name) +-2.5 E F1 1.666(...)2.5 G(])-1.666 E(Remo)144 415.2 Q .706 -.15(ve e) +-.15 H(ach).15 E F0(name)2.906 E F1 .406 +(from the list of de\214ned aliases.)2.906 F(If)5.406 E F22.906 E +F1 .406(is supplied, remo)2.906 F .707 -.15(ve a)-.15 H .407 (ll alias de\214nitions.).15 F(The return v)144 427.2 Q (alue is true unless a supplied)-.25 E F0(name)2.86 E F1 (is not a de\214ned alias.)2.68 E F2(unset)108 444 Q F1<5bad>2.5 E F2 (fv)A F1 2.5(][)C-2.5 E F2(n)A F1 2.5(][)C F0(name)-2.5 E F1 1.666 -(...)2.5 G(])-1.666 E -.15(Fo)144 456 S 3.803(re).15 G(ach)-3.803 E F0 -(name)4.163 E F1 3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H -1.303(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303 -(If the)6.303 F F23.804 E F1 1.304(option is gi)3.804 F -.15(ve) --.25 G 1.304(n, each).15 F F0(name)144.36 468 Q F1 .069 -(refers to a shell v)2.749 F .069(ariable, and that v)-.25 F .069 +(...)2.5 G(])-1.666 E -.15(Fo)144 456 S 3.804(re).15 G(ach)-3.804 E F0 +(name)4.164 E F1 3.804(,r).18 G(emo)-3.804 E 1.604 -.15(ve t)-.15 H +1.304(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303 +(If the)6.303 F F23.803 E F1 1.303(option is gi)3.803 F -.15(ve) +-.25 G 1.303(n, each).15 F F0(name)144.36 468 Q F1 .069 +(refers to a shell v)2.748 F .069(ariable, and that v)-.25 F .069 (ariable is remo)-.25 F -.15(ve)-.15 G 2.569(d. If).15 F F22.569 E -F1 .069(is speci\214ed, each)2.569 F F0(name)2.929 E F1 .068(refers to) -2.748 F 2.565(as)144 480 S .065 -(hell function, and the function de\214nition is remo)-2.565 F -.15(ve) --.15 G 2.566(d. If).15 F(the)2.566 E F22.566 E F1 .066 -(option is supplied, and)2.566 F F0(name)2.566 E F1 .066(is a)2.566 F --.25(va)144 492 S .875(riable with the).25 F F0(namer)3.375 E(ef)-.37 E -F1(attrib)3.375 E(ute,)-.2 E F0(name)3.375 E F1 .875 -(will be unset rather than the v)3.375 F .874(ariable it references.) --.25 F F25.874 E F1 1.216(has no ef)144 504 R 1.216(fect if the) +F1 .069(is speci\214ed, each)2.569 F F0(name)2.929 E F1 .069(refers to) +2.749 F 2.566(as)144 480 S .066 +(hell function, and the function de\214nition is remo)-2.566 F -.15(ve) +-.15 G 2.566(d. If).15 F(the)2.566 E F22.565 E F1 .065 +(option is supplied, and)2.565 F F0(name)2.565 E F1 .065(is a)2.565 F +-.25(va)144 492 S .874(riable with the).25 F F0(namer)3.374 E(ef)-.37 E +F1(attrib)3.374 E(ute,)-.2 E F0(name)3.374 E F1 .875 +(will be unset rather than the v)3.375 F .875(ariable it references.) +-.25 F F25.875 E F1 1.217(has no ef)144 504 R 1.217(fect if the) -.25 F F23.716 E F1 1.216(option is supplied.)3.716 F 1.216 -(Read-only v)6.216 F 1.217(ariables and functions may not be unset.)-.25 -F .714(When v)144 516 R .714(ariables or functions are remo)-.25 F -.15 -(ve)-.15 G .714(d, the).15 F 3.214(ya)-.15 G .714(re also remo)-3.214 F --.15(ve)-.15 G 3.213(df).15 G .713(rom the en)-3.213 F .713 -(vironment passed to)-.4 F 1.003(subsequent commands.)144 528 R 1.003 -(If no options are supplied, each)6.003 F F0(name)3.503 E F1 1.003 +(Read-only v)6.216 F 1.216(ariables and functions may not be unset.)-.25 +F .713(When v)144 516 R .713(ariables or functions are remo)-.25 F -.15 +(ve)-.15 G .713(d, the).15 F 3.214(ya)-.15 G .714(re also remo)-3.214 F +-.15(ve)-.15 G 3.214(df).15 G .714(rom the en)-3.214 F .714 +(vironment passed to)-.4 F 1.004(subsequent commands.)144 528 R 1.003 +(If no options are supplied, each)6.004 F F0(name)3.503 E F1 1.003 (refers to a v)3.503 F 1.003(ariable; if there is no)-.25 F -.25(va)144 -540 S .177(riable by that name, a function with that name, if an).25 F -1.477 -.65(y, i)-.15 H 2.677(su).65 G 2.676(nset. Some)-2.677 F .176 -(shell v)2.676 F .176(ariables may not be)-.25 F 2.804(unset. If)144 552 -R(an)2.804 E 2.804(yo)-.15 G(f)-2.804 E/F4 9/Times-Bold@0 SF -.27(BA) +540 S .176(riable by that name, a function with that name, if an).25 F +1.477 -.65(y, i)-.15 H 2.677(su).65 G 2.677(nset. Some)-2.677 F .177 +(shell v)2.677 F .177(ariables may not be)-.25 F 2.805(unset. If)144 552 +R(an)2.805 E 2.804(yo)-.15 G(f)-2.804 E/F4 9/Times-Bold@0 SF -.27(BA) 2.804 G(SH_ALIASES).27 E F3(,)A F4 -.27(BA)2.554 G(SH_ARGV0).27 E F3(,)A -F4 -.27(BA)2.554 G(SH_CMDS).27 E F3(,)A F4 -.27(BA)2.555 G(SH_COMMAND) -.27 E F3(,)A F4 -.27(BA)2.555 G(SH_SUB-).27 E(SHELL)144 564 Q F3(,)A F4 +F4 -.27(BA)2.554 G(SH_CMDS).27 E F3(,)A F4 -.27(BA)2.554 G(SH_COMMAND) +.27 E F3(,)A F4 -.27(BA)2.554 G(SH_SUB-).27 E(SHELL)144 564 Q F3(,)A F4 -.27(BA)2.79 G(SHPID).27 E F3(,)A F4(COMP_W)2.79 E(ORDBREAKS)-.09 E F3 (,)A F4(DIRST)2.79 E -.495(AC)-.81 G(K).495 E F3(,)A F4(EPOCHREAL)2.79 E (TIME)-.828 E F3(,)A F4(EPOCHSECONDS)2.79 E F3(,)A F4(FUNCN)144 576 Q -(AME)-.18 E F3(,)A F4(GR)4.367 E(OUPS)-.27 E F3(,)A F4(HISTCMD)4.368 E +(AME)-.18 E F3(,)A F4(GR)4.368 E(OUPS)-.27 E F3(,)A F4(HISTCMD)4.368 E F3(,)A F4(LINENO)4.368 E F3(,)A F4(RANDOM)4.368 E F3(,)A F4(SECONDS) -4.368 E F3(,)A F1(or)4.368 E F4(SRANDOM)4.618 E F1 2.118(are unset,) -4.368 F(the)144 588 Q 2.742(yl)-.15 G .242 -(ose their special properties, e)-2.742 F -.15(ve)-.25 G 2.741(ni).15 G +4.368 E F3(,)A F1(or)4.368 E F4(SRANDOM)4.618 E F1 2.117(are unset,) +4.368 F(the)144 588 Q 2.741(yl)-.15 G .241 +(ose their special properties, e)-2.741 F -.15(ve)-.25 G 2.741(ni).15 G 2.741(ft)-2.741 G(he)-2.741 E 2.741(ya)-.15 G .241 -(re subsequently reset.)-2.741 F .241(The e)5.241 F .241 +(re subsequently reset.)-2.741 F .241(The e)5.241 F .242 (xit status is true unless)-.15 F(a)144 600 Q F0(name)2.86 E F1 (is readonly or may not be unset.)2.68 E F2(wait)108 616.8 Q F1([)2.5 E F2(\255fn)A F1 2.5(][)C F2-2.5 E F0(varname)2.5 E F1 2.5(][)C F0 -(id)-2.5 E F1 1.666(...)2.5 G(])-1.666 E -.8(Wa)144 628.8 S 1.008 +(id)-2.5 E F1 1.666(...)2.5 G(])-1.666 E -.8(Wa)144 628.8 S 1.009 (it for each speci\214ed child process).8 F F0(id)3.508 E F1 1.008 -(and return the termination status of the last)3.508 F F0(id)3.509 E F1 -6.009(.E)C(ach)-6.009 E F0(id)3.509 E F1 .5(may be a process ID)144 -640.8 R F0(pid)3 E F1 .5(or a job speci\214cation)3 F F0(jobspec)2.999 E -F1 2.999(;i)C 2.999(faj)-2.999 G .499(obspec is supplied,)-2.999 F F2 -(wait)2.999 E F1 -.1(wa)2.999 G .499(its for all).1 F -(processes in the job)144 652.8 Q(.)-.4 E .386(If no options or)144 -669.6 R F0(id)2.886 E F1 2.886(sa)C .386(re supplied,)-2.886 F F2(wait) -2.886 E F1 -.1(wa)2.886 G .386 +(and return the termination status of the last)3.508 F F0(id)3.508 E F1 +6.008(.E)C(ach)-6.008 E F0(id)3.508 E F1 .499(may be a process ID)144 +640.8 R F0(pid)2.999 E F1 .499(or a job speci\214cation)2.999 F F0 +(jobspec)2.999 E F1 3(;i)C 3(faj)-3 G .5(obspec is supplied,)-3 F F2 +(wait)3 E F1 -.1(wa)3 G .5(its for all).1 F(processes in the job)144 +652.8 Q(.)-.4 E .387(If no options or)144 669.6 R F0(id)2.887 E F1 2.886 +(sa)C .386(re supplied,)-2.886 F F2(wait)2.886 E F1 -.1(wa)2.886 G .386 (its for all running background jobs and the last-e).1 F -.15(xe)-.15 G (cuted).15 E(process substitution, if its process id is the same as)144 681.6 Q F2($!)2.5 E F1 2.5(,a)C(nd the return status is zero.)-2.5 E .47 @@ -11329,40 +11326,40 @@ F1 2.999(;i)C 2.999(faj)-2.999 G .499(obspec is supplied,)-2.999 F F2 (wait)2.97 E F1 -.1(wa)2.97 G .47(its for an).1 F 2.97(yo)-.15 G .47 (ne of the gi)-2.97 F -.15(ve)-.25 G(n).15 E F0(id)2.97 E F1 2.97(so)C 1.27 -.4(r, i)-2.97 H 2.97(fn).4 G(o)-2.97 E F0(id)2.97 E F1 2.97(sa)C -.47(re supplied, an)-2.97 F(y)-.15 E .481 +.47(re supplied, an)-2.97 F(y)-.15 E .482 (job or process substitution, to complete and returns its e)144 710.4 R -.482(xit status.)-.15 F .482(If none of the supplied)5.482 F F0(id)2.982 -E F1 2.982(si)C 2.982(sa)-2.982 G 1.338(child of the shell, or if no)144 +.482(xit status.)-.15 F .481(If none of the supplied)5.482 F F0(id)2.981 +E F1 2.981(si)C 2.981(sa)-2.981 G 1.337(child of the shell, or if no)144 722.4 R F0(id)3.838 E F1 3.838(sa)C 1.338 -(re supplied and the shell has no unw)-3.838 F 1.337 +(re supplied and the shell has no unw)-3.838 F 1.338 (aited-for children, the e)-.1 F(xit)-.15 E(GNU Bash 5.3)72 768 Q -(2025 February 24)139.29 E(92)188.45 E 0 Cg EP +(2025 April 7)149.285 E(92)198.445 E 0 Cg EP %%Page: 93 93 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E(status is 127.)144 84 Q .346(If the)144 100.8 R/F2 -10/Times-Bold@0 SF2.846 E F1 .347(option is supplied,)2.846 F F2 +.25 E F1(\(1\)).95 E(status is 127.)144 84 Q .347(If the)144 100.8 R/F2 +10/Times-Bold@0 SF2.847 E F1 .347(option is supplied,)2.847 F F2 (wait)2.847 E F1 .347 (assigns the process or job identi\214er of the job for which the e) 2.847 F(xit)-.15 E .006(status is returned to the v)144 112.8 R(ariable) -.25 E F0(varname)2.506 E F1 .006(named by the option ar)2.506 F 2.506 -(gument. The)-.18 F -.25(va)2.506 G .006(riable, which can-).25 F .224 -(not be readonly)144 124.8 R 2.724(,w)-.65 G .224 -(ill be unset initially)-2.724 F 2.724(,b)-.65 G .224(efore an)-2.724 F -2.724(ya)-.15 G 2.724(ssignment. This)-2.724 F .225 -(is useful only when used with)2.725 F(the)144 136.8 Q F22.5 E F1 -(option.)2.5 E .533(Supplying the)144 153.6 R F23.033 E F1 .533 +(gument. The)-.18 F -.25(va)2.506 G .006(riable, which can-).25 F .225 +(not be readonly)144 124.8 R 2.725(,w)-.65 G .225 +(ill be unset initially)-2.725 F 2.724(,b)-.65 G .224(efore an)-2.724 F +2.724(ya)-.15 G 2.724(ssignment. This)-2.724 F .224 +(is useful only when used with)2.724 F(the)144 136.8 Q F22.5 E F1 +(option.)2.5 E .532(Supplying the)144 153.6 R F23.033 E F1 .533 (option, when job control is enabled, forces)3.033 F F2(wait)3.033 E F1 -.533(to w)3.033 F .533(ait for each)-.1 F F0(id)3.033 E F1 .532 +.533(to w)3.033 F .533(ait for each)-.1 F F0(id)3.033 E F1 .533 (to terminate)3.033 F(before returning its status, instead of returning\ when it changes status.)144 165.6 Q .311(If none of the)144 182.4 R F0 (id)2.811 E F1 2.811(ss)C .311(pecify one of the shell')-2.811 F 2.811 (sa)-.55 G(cti)-2.811 E .611 -.15(ve c)-.25 H .311 (hild processes, the return status is 127.).15 F(If)5.311 E F2(wait) -2.812 E F1 .153(is interrupted by a signal, an)144 194.4 R(y)-.15 E F0 +2.811 E F1 .153(is interrupted by a signal, an)144 194.4 R(y)-.15 E F0 (varname)2.653 E F1 .153 (will remain unset, and the return status will be greater than)2.653 F .21(128, as described under)144 206.4 R F2(SIGN)2.71 E(ALS)-.2 E F1(abo) @@ -11370,80 +11367,80 @@ BP (therwise, the return status is the e)-5.21 F .21 (xit status of the last)-.15 F F0(id)144 218.4 Q F1(.)A/F3 10.95 /Times-Bold@0 SF(SHELL COMP)72 235.2 Q -1.04(AT)-.81 G(IBILITY MODE)1.04 -E F1 1.355(Bash-4.0 introduced the concept of a)108 247.2 R F0 1.355 -(shell compatibility le)3.855 F(vel)-.15 E F1 3.855(,s)C 1.354 +E F1 1.354(Bash-4.0 introduced the concept of a)108 247.2 R F0 1.355 +(shell compatibility le)3.855 F(vel)-.15 E F1 3.855(,s)C 1.355 (peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108 259.2 S -.621(iltin \().2 F F2(compat31)A F1(,)A F2(compat32)3.121 E F1(,)A F2 -(compat40)3.121 E F1(,)A F2(compat41)3.121 E F1 3.121(,a)C .621 -(nd so on\).)-3.121 F .622(There is only one current compatibility)5.622 -F(le)108 271.2 Q -.15(ve)-.25 G 3.058<6c8a>.15 G .557 -(each option is mutually e)-.001 F(xclusi)-.15 E -.15(ve)-.25 G 5.557 +.622(iltin \().2 F F2(compat31)A F1(,)A F2(compat32)3.122 E F1(,)A F2 +(compat40)3.122 E F1(,)A F2(compat41)3.122 E F1 3.122(,a)C .622 +(nd so on\).)-3.122 F .621(There is only one current compatibility)5.621 +F(le)108 271.2 Q -.15(ve)-.25 G 3.057(l\212e).15 G .557 +(ach option is mutually e)-3.057 F(xclusi)-.15 E -.15(ve)-.25 G 5.557 (.T).15 G .557(he compatibility le)-5.557 F -.15(ve)-.25 G 3.057(li).15 G 3.057(si)-3.057 G .557(ntended to allo)-3.057 F 3.057(wu)-.25 G .557 -(sers to select be-)-3.057 F(ha)108 283.2 Q 1.083(vior from pre)-.2 F -1.083(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F -1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.584(ym)-.15 G 1.084 -(igrate scripts to use)-3.584 F(current features and beha)108 295.2 Q +(sers to select be-)-3.057 F(ha)108 283.2 Q 1.084(vior from pre)-.2 F +1.084(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F +1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.583(ym)-.15 G 1.083 +(igrate scripts to use)-3.583 F(current features and beha)108 295.2 Q (vior)-.2 E 5(.I)-.55 G(t')-5 E 2.5(si)-.55 G -(ntended to be a temporary solution.)-2.5 E 1.457 +(ntended to be a temporary solution.)-2.5 E 1.456 (This section does not mention beha)108 312 R 1.457 -(vior that is standard for a particular v)-.2 F 1.456 -(ersion \(e.g., setting)-.15 F F2(compat32)3.956 E F1 .445 +(vior that is standard for a particular v)-.2 F 1.457 +(ersion \(e.g., setting)-.15 F F2(compat32)3.957 E F1 .446 (means that quoting the right hand side of the re)108 324 R(ge)-.15 E -.446(xp matching operator quotes special re)-.15 F(ge)-.15 E .446 +.445(xp matching operator quotes special re)-.15 F(ge)-.15 E .445 (xp characters in)-.15 F(the w)108 336 Q(ord, which is def)-.1 E (ault beha)-.1 E(vior in bash-3.2 and subsequent v)-.2 E(ersions\).)-.15 -E .523(If a user enables, say)108 352.8 R(,)-.65 E F2(compat32)3.023 E +E .522(If a user enables, say)108 352.8 R(,)-.65 E F2(compat32)3.023 E F1 3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F .523(fect the beha) --.25 F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .522 -(ls up to and includ-).15 F .259(ing the current compatibility le)108 -364.8 R -.15(ve)-.25 G 2.759(l. The).15 F .259 -(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.76(lc).15 G -.26(ontrols beha)-2.76 F .26(vior that changed)-.2 F 1.646(in that v)108 -376.8 R 1.646(ersion of)-.15 F F2(bash)4.146 E F1 4.146(,b)C 1.646 -(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15(ve b)-.2 H -1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F 1.645 -(or instance, the)-.15 F .76 +-.25 F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .523 +(ls up to and includ-).15 F .26(ing the current compatibility le)108 +364.8 R -.15(ve)-.25 G 2.76(l. The).15 F .259 +(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.759(lc).15 +G .259(ontrols beha)-2.759 F .259(vior that changed)-.2 F 1.645 +(in that v)108 376.8 R 1.646(ersion of)-.15 F F2(bash)4.146 E F1 4.146 +(,b)C 1.646(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15 +(ve b)-.2 H 1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F +1.646(or instance, the)-.15 F .761 (change to use locale-based comparisons with the)108 388.8 R F2([[)3.261 -E F1 .761(command came in bash-4.1, and earlier v)3.261 F .761 -(ersions used)-.15 F 1.905(ASCII-based comparisons, so enabling)108 -400.8 R F2(compat32)4.405 E F1 1.904 -(will enable ASCII-based comparisons as well.)4.405 F(That)6.904 E .295 +E F1 .76(command came in bash-4.1, and earlier v)3.261 F .76 +(ersions used)-.15 F 1.904(ASCII-based comparisons, so enabling)108 +400.8 R F2(compat32)4.404 E F1 1.905 +(will enable ASCII-based comparisons as well.)4.404 F(That)6.905 E .296 (granularity may not be suf)108 412.8 R .296 (\214cient for all uses, and as a result users should emplo)-.25 F 2.796 -(yc)-.1 G .296(ompatibility le)-2.796 F -.15(ve)-.25 G .296(ls care-).15 +(yc)-.1 G .295(ompatibility le)-2.796 F -.15(ve)-.25 G .295(ls care-).15 F(fully)108 424.8 Q 5(.R)-.65 G(ead the documentation for a particular \ -feature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .532 -(Bash-4.3 introduced a ne)108 441.6 R 3.032(ws)-.25 G .531(hell v)-3.032 +feature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .531 +(Bash-4.3 introduced a ne)108 441.6 R 3.031(ws)-.25 G .531(hell v)-3.031 F(ariable:)-.25 E/F4 9/Times-Bold@0 SF -.27(BA)3.031 G(SH_COMP).27 E -.855(AT)-.666 G/F5 9/Times-Roman@0 SF(.).855 E F1 .531(The v)5.031 F -.531(alue assigned to this v)-.25 F .531(ariable \(a decimal)-.25 F -.15 -(ve)108 453.6 S .107(rsion number lik).15 F 2.607(e4)-.1 G .107 -(.2, or an inte)-2.607 F .107(ger corresponding to the)-.15 F F2(compat) -2.608 E F0(NN)A F1 .108(option, lik)2.608 F 2.608(e4)-.1 G .108 -(2\) determines the com-)-2.608 F(patibility le)108 465.6 Q -.15(ve)-.25 -G(l.).15 E .734(Starting with bash-4.4,)108 482.4 R F2(bash)3.233 E F1 +.531(alue assigned to this v)-.25 F .532(ariable \(a decimal)-.25 F -.15 +(ve)108 453.6 S .108(rsion number lik).15 F 2.608(e4)-.1 G .108 +(.2, or an inte)-2.608 F .108(ger corresponding to the)-.15 F F2(compat) +2.607 E F0(NN)A F1 .107(option, lik)2.607 F 2.607(e4)-.1 G .107 +(2\) determines the com-)-2.607 F(patibility le)108 465.6 Q -.15(ve)-.25 +G(l.).15 E .733(Starting with bash-4.4,)108 482.4 R F2(bash)3.233 E F1 (be)3.233 E -.05(ga)-.15 G 3.233(nd).05 G .733 (eprecating older compatibility le)-3.233 F -.15(ve)-.25 G 3.233(ls. Ev) .15 F(entually)-.15 E 3.233(,t)-.65 G .733(he options will be)-3.233 F (remo)108 494.4 Q -.15(ve)-.15 G 2.5(di).15 G 2.5(nf)-2.5 G -.2(avo)-2.6 G 2.5(ro).2 G(f)-2.5 E F4 -.27(BA)2.5 G(SH_COMP).27 E -.855(AT)-.666 G -F5(.).855 E F1 1.44(Bash-5.0 w)108 511.2 R 1.44(as the \214nal v)-.1 F -1.44(ersion for which there w)-.15 F 1.441(as an indi)-.1 F 1.441 -(vidual shopt option for the pre)-.25 F 1.441(vious v)-.25 F(ersion.) --.15 E F4 -.27(BA)108 523.2 S(SH_COMP).27 E -.855(AT)-.666 G F1 +F5(.).855 E F1 1.441(Bash-5.0 w)108 511.2 R 1.441(as the \214nal v)-.1 F +1.441(ersion for which there w)-.15 F 1.441(as an indi)-.1 F 1.44 +(vidual shopt option for the pre)-.25 F 1.44(vious v)-.25 F(ersion.)-.15 +E F4 -.27(BA)108 523.2 S(SH_COMP).27 E -.855(AT)-.666 G F1 (is the only mechanism to control the compatibility le)3.105 E -.15(ve) -.25 G 2.5(li).15 G 2.5(nv)-2.5 G(ersions ne)-2.65 E(wer than bash-5.0.) --.25 E 1.614(The follo)108 540 R 1.613(wing table describes the beha) +-.25 E 1.613(The follo)108 540 R 1.613(wing table describes the beha) -.25 F 1.613(vior changes controlled by each compatibility le)-.2 F -.15 -(ve)-.25 G 4.113(ls).15 G 4.113(etting. The)-4.113 F F2(compat)108 552 Q +(ve)-.25 G 4.113(ls).15 G 4.114(etting. The)-4.113 F F2(compat)108 552 Q F0(NN)A F1 1.186 -(tag is used as shorthand for setting the compatibility le)3.685 F -.15 +(tag is used as shorthand for setting the compatibility le)3.686 F -.15 (ve)-.25 G 3.686(lt).15 G(o)-3.686 E F0(NN)3.686 E F1 1.186 -(using one of the follo)3.686 F(wing)-.25 E 3.807(mechanisms. F)108 564 -R 1.307(or v)-.15 F 1.307 +(using one of the follo)3.686 F(wing)-.25 E 3.806(mechanisms. F)108 564 +R 1.306(or v)-.15 F 1.306 (ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G -3.806(lm).15 G 1.306(ay be set using the corresponding)-3.806 F F2 +3.807(lm).15 G 1.307(ay be set using the corresponding)-3.807 F F2 (compat)108 576 Q F0(NN)A F1 .502(shopt option.)3.002 F -.15(Fo)5.502 G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)-.15 F F4 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F1 -.25(va)3.607 G @@ -11453,21 +11450,21 @@ F F4 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F1 -.25(va)3.607 G Q F2([[)2.5 E F1(command')2.5 E 2.5(sr)-.55 G -.15(eg)-2.5 G -.15(ex).15 G 2.5(pm).15 G(atching operator \(=\001\) has no special ef)-2.5 E (fect.)-.25 E F2(compat32)108 633.6 Q F1<83>144 645.6 Q(The)180 645.6 Q -F2(<)3.251 E F1(and)3.251 E F2(>)3.251 E F1 .751(operators to the)3.251 -F F2([[)3.251 E F1 .75 +F2(<)3.25 E F1(and)3.25 E F2(>)3.25 E F1 .75(operators to the)3.25 F F2 +([[)3.251 E F1 .751 (command do not consider the current locale when com-)3.251 F (paring strings; the)180 657.6 Q 2.5(yu)-.15 G(se ASCII ordering.)-2.5 E -F2(compat40)108 674.4 Q F1<83>144 686.4 Q(The)180 686.4 Q F2(<)3.25 E F1 -(and)3.25 E F2(>)3.25 E F1 .75(operators to the)3.25 F F2([[)3.251 E F1 -.751(command do not consider the current locale when com-)3.251 F .496 -(paring strings; the)180 698.4 R 2.996(yu)-.15 G .496 -(se ASCII ordering.)-2.996 F F2(Bash)5.495 E F1 -.15(ve)2.995 G .495 -(rsions prior to bash-4.1 use ASCII col-).15 F 1.173(lation and)180 -710.4 R F0(str)4.013 E(cmp)-.37 E F1 1.173 -(\(3\); bash-4.1 and later use the current locale').19 F 3.674(sc)-.55 G -1.174(ollation sequence and)-3.674 F F0(str)180.34 722.4 Q(coll)-.37 E -F1(\(3\).).51 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(93) -188.45 E 0 Cg EP +F2(compat40)108 674.4 Q F1<83>144 686.4 Q(The)180 686.4 Q F2(<)3.251 E +F1(and)3.251 E F2(>)3.251 E F1 .751(operators to the)3.251 F F2([[)3.251 +E F1 .75(command do not consider the current locale when com-)3.251 F +.495(paring strings; the)180 698.4 R 2.995(yu)-.15 G .495 +(se ASCII ordering.)-2.995 F F2(Bash)5.495 E F1 -.15(ve)2.995 G .496 +(rsions prior to bash-4.1 use ASCII col-).15 F 1.174(lation and)180 +710.4 R F0(str)4.014 E(cmp)-.37 E F1 1.173 +(\(3\); bash-4.1 and later use the current locale').19 F 3.673(sc)-.55 G +1.173(ollation sequence and)-3.673 F F0(str)180.34 722.4 Q(coll)-.37 E +F1(\(3\).).51 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(93)198.445 +E 0 Cg EP %%Page: 94 94 %%BeginPageSetup BP @@ -11479,39 +11476,39 @@ BP (may be follo)3.716 F 1.216 (wed by options and still be recognized as a reserv)-.25 F(ed)-.15 E -.1 (wo)180 108 S(rd \(this is).1 E/F3 9/Times-Roman@0 SF(POSIX)2.5 E F1 -(interpretation 267\).)2.25 E<83>144 120 Q(In)180 120 Q F0(posix)2.673 E -F1 .174(mode, the parser requires that an e)2.673 F -.15(ve)-.25 G 2.674 -(nn).15 G .174(umber of single quotes occur in the)-2.674 F F0(wor)2.674 -E(d)-.37 E F1 .282(portion of a double-quoted parameter e)180 132 R .282 -(xpansion and treats them specially)-.15 F 2.781(,s)-.65 G 2.781(ot) --2.781 G .281(hat charac-)-2.781 F +(interpretation 267\).)2.25 E<83>144 120 Q(In)180 120 Q F0(posix)2.674 E +F1 .174(mode, the parser requires that an e)2.674 F -.15(ve)-.25 G 2.674 +(nn).15 G .174(umber of single quotes occur in the)-2.674 F F0(wor)2.673 +E(d)-.37 E F1 .281(portion of a double-quoted parameter e)180 132 R .282 +(xpansion and treats them specially)-.15 F 2.782(,s)-.65 G 2.782(ot) +-2.782 G .282(hat charac-)-2.782 F (ters within the single quotes are considered quoted \(this is)180 144 Q F3(POSIX)2.5 E F1(interpretation 221\).)2.25 E F2(compat42)108 160.8 Q F1<83>144 172.8 Q .753(The replacement string in double-quoted pattern \ -substitution does not under)180 172.8 R .753(go quote re-)-.18 F(mo)180 +substitution does not under)180 172.8 R .752(go quote re-)-.18 F(mo)180 184.8 Q -.25(va)-.15 G(l, as it does in v).25 E(ersions after bash-4.2.) -.15 E<83>144 196.8 Q .514 (In posix mode, single quotes are considered special when e)180 196.8 R -.514(xpanding the)-.15 F F0(wor)3.014 E(d)-.37 E F1 .513(portion of) -3.013 F 3.39(ad)180 208.8 S .89(ouble-quoted parameter e)-3.39 F .89 -(xpansion and can be used to quote a closing brace or other)-.15 F .215 -(special character \(this is part of)180 220.8 R F3(POSIX)2.715 E F1 -.214(interpretation 221\); in later v)2.465 F .214 +.514(xpanding the)-.15 F F0(wor)3.014 E(d)-.37 E F1 .514(portion of) +3.014 F 3.39(ad)180 208.8 S .89(ouble-quoted parameter e)-3.39 F .89 +(xpansion and can be used to quote a closing brace or other)-.15 F .214 +(special character \(this is part of)180 220.8 R F3(POSIX)2.714 E F1 +.215(interpretation 221\); in later v)2.465 F .215 (ersions, single quotes)-.15 F(are not special within double-quoted w) 180 232.8 Q(ord e)-.1 E(xpansions.)-.15 E F2(compat43)108 249.6 Q F1<83> -144 261.6 Q -.8(Wo)180 261.6 S .374(rd e).8 F .374 +144 261.6 Q -.8(Wo)180 261.6 S .375(rd e).8 F .374 (xpansion errors are considered non-f)-.15 F .374 (atal errors that cause the current command to)-.1 F -.1(fa)180 273.6 S .605(il, e).1 F -.15(ve)-.25 G 3.105(ni).15 G 3.105(np)-3.105 G .605 (osix mode \(the def)-3.105 F .605(ault beha)-.1 F .605(vior is to mak) -.2 F 3.105(et)-.1 G .605(hem f)-3.105 F .605 (atal errors that cause the)-.1 F(shell to e)180 285.6 Q(xit\).)-.15 E -<83>144 297.6 Q .195(When e)180 297.6 R -.15(xe)-.15 G .196 -(cuting a shell function, the loop state \(while/until/etc.\)).15 F .196 -(is not reset, so)5.196 F F2(br)2.696 E(eak)-.18 E F1(or)2.696 E F2 +<83>144 297.6 Q .196(When e)180 297.6 R -.15(xe)-.15 G .196 +(cuting a shell function, the loop state \(while/until/etc.\)).15 F .195 +(is not reset, so)5.196 F F2(br)2.695 E(eak)-.18 E F1(or)2.695 E F2 (continue)180 309.6 Q F1 1.167 (in that function will break or continue loops in the calling conte) -3.667 F 3.666(xt. Bash-4.4)-.15 F(and later reset the loop state to pre) +3.666 F 3.667(xt. Bash-4.4)-.15 F(and later reset the loop state to pre) 180 321.6 Q -.15(ve)-.25 G(nt this.).15 E F2(compat44)108 338.4 Q F1<83> 144 350.4 Q .481(The shell sets up the v)180 350.4 R .481(alues used by) -.25 F/F4 9/Times-Bold@0 SF -.27(BA)2.981 G(SH_ARGV).27 E F1(and)2.731 E @@ -11519,48 +11516,47 @@ F4 -.27(BA)2.981 G(SH_ARGC).27 E F1 .481(so the)2.731 F 2.981(yc)-.15 G .481(an e)-2.981 F(xpand)-.15 E(to the shell')180 362.4 Q 2.5(sp)-.55 G (ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fe)-2.5 G (xtended deb)-2.65 E(ugging mode is not enabled.)-.2 E<83>144 374.4 Q -3.855(As)180 374.4 S 1.355(ubshell inherits loops from its parent conte) --3.855 F 1.354(xt, so)-.15 F F2(br)3.854 E(eak)-.18 E F1(or)3.854 E F2 -(continue)3.854 E F1 1.354(will cause the)3.854 F(subshell to e)180 +3.854(As)180 374.4 S 1.354(ubshell inherits loops from its parent conte) +-3.854 F 1.354(xt, so)-.15 F F2(br)3.854 E(eak)-.18 E F1(or)3.854 E F2 +(continue)3.855 E F1 1.355(will cause the)3.855 F(subshell to e)180 386.4 Q 2.5(xit. Bash-5.0)-.15 F(and later reset the loop state to pre) 2.5 E -.15(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 398.4 Q -1.11(Va) -180 398.4 S .494(riable assignments preceding b)1.11 F .494(uiltins lik) --.2 F(e)-.1 E F2(export)2.994 E F1(and)2.995 E F2 -.18(re)2.995 G -(adonly).18 E F1 .495(that set attrib)2.995 F .495(utes con-)-.2 F .12 -(tinue to af)180 410.4 R .12(fect v)-.25 F .119 -(ariables with the same name in the calling en)-.25 F .119(vironment e) --.4 F -.15(ve)-.25 G 2.619(ni).15 G 2.619(ft)-2.619 G .119(he shell is) --2.619 F(not in posix mode.)180 422.4 Q F2(compat50)108 439.2 Q F1<83> -144 451.2 Q 1.209(Bash-5.1 changed the w)180 451.2 R(ay)-.1 E F4 -($RANDOM)3.709 E F1 1.209 -(is generated to introduce slightly more random-)3.459 F 3.372(ness. If) -180 463.2 R .871(the shell compatibility le)3.372 F -.15(ve)-.25 G 3.371 -(li).15 G 3.371(ss)-3.371 G .871(et to 50 or lo)-3.371 F(wer)-.25 E -3.371(,i)-.4 G 3.371(tr)-3.371 G -2.15 -.25(ev e)-3.371 H .871 -(rts to the method from).25 F .732(bash-5.0 and pre)180 475.2 R .732 -(vious v)-.25 F .733 +180 398.4 S .495(riable assignments preceding b)1.11 F .495(uiltins lik) +-.2 F(e)-.1 E F2(export)2.995 E F1(and)2.995 E F2 -.18(re)2.994 G +(adonly).18 E F1 .494(that set attrib)2.994 F .494(utes con-)-.2 F .119 +(tinue to af)180 410.4 R .119(fect v)-.25 F .119 +(ariables with the same name in the calling en)-.25 F .12(vironment e) +-.4 F -.15(ve)-.25 G 2.62(ni).15 G 2.62(ft)-2.62 G .12(he shell is)-2.62 +F(not in posix mode.)180 422.4 Q F2(compat50)108 439.2 Q F1<83>144 451.2 +Q 1.209(Bash-5.1 changed the w)180 451.2 R(ay)-.1 E F4($RANDOM)3.709 E +F1 1.209(is generated to introduce slightly more random-)3.459 F 3.371 +(ness. If)180 463.2 R .871(the shell compatibility le)3.371 F -.15(ve) +-.25 G 3.371(li).15 G 3.371(ss)-3.371 G .871(et to 50 or lo)-3.371 F +(wer)-.25 E 3.371(,i)-.4 G 3.371(tr)-3.371 G -2.15 -.25(ev e)-3.371 H +.872(rts to the method from).25 F .733(bash-5.0 and pre)180 475.2 R .733 +(vious v)-.25 F .732 (ersions, so seeding the random number generator by assigning a)-.15 F -.25(va)180 487.2 S(lue to).25 E F4(RANDOM)2.5 E F1 (will produce the same sequence as in bash-5.0.)2.25 E<83>144 499.2 Q -.696(If the command hash table is empty)180 499.2 R 3.196(,b)-.65 G .696 -(ash v)-3.196 F .695(ersions prior to bash-5.1 printed an informa-)-.15 -F 1.32(tional message to that ef)180 511.2 R 1.321(fect, e)-.25 F -.15 +.695(If the command hash table is empty)180 499.2 R 3.196(,b)-.65 G .696 +(ash v)-3.196 F .696(ersions prior to bash-5.1 printed an informa-)-.15 +F 1.321(tional message to that ef)180 511.2 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 523.2 Q F22.5 E F1 (option is supplied.)2.5 E F2(compat51)108 540 Q F1<83>144 552 Q(The)180 -552 Q F2(unset)2.955 E F1 -.2(bu)2.955 G .455 -(iltin treats attempts to unset array subscripts).2 F F2(@)2.954 E F1 -(and)2.954 E F2(*)2.954 E F1(dif)2.954 E .454(ferently depending)-.25 F +552 Q F2(unset)2.954 E F1 -.2(bu)2.954 G .454 +(iltin treats attempts to unset array subscripts).2 F F2(@)2.955 E F1 +(and)2.955 E F2(*)2.955 E F1(dif)2.955 E .455(ferently depending)-.25 F (on whether the array is inde)180 564 Q -.15(xe)-.15 G 2.5(do).15 G 2.5 (ra)-2.5 G(ssociati)-2.5 E -.15(ve)-.25 G 2.5(,a).15 G(nd dif)-2.5 E (ferently than in pre)-.25 E(vious v)-.25 E(ersions.)-.15 E<83>144 576 Q -.234(Arithmetic commands \()180 576 R F2(\(\()2.734 E F1 1.666(...)C F2 +.235(Arithmetic commands \()180 576 R F2(\(\()2.734 E F1 1.666(...)C F2 (\)\))-1.666 E F1 2.734(\)a)2.734 G .234(nd the e)-2.734 F .234 (xpressions in an arithmetic for statement can be)-.15 F -.15(ex)180 588 -S(panded more than once.).15 E<83>144 600 Q .251(Expressions used as ar) +S(panded more than once.).15 E<83>144 600 Q .25(Expressions used as ar) 180 600 R .251(guments to arithmetic operators in the)-.18 F F2([[)2.751 -E F1 .25(conditional command can)2.751 F(be e)180 612 Q +E F1 .251(conditional command can)2.751 F(be e)180 612 Q (xpanded more than once.)-.15 E<83>144 624 Q(The e)180 624 Q (xpressions in substring parameter brace e)-.15 E(xpansion can be e)-.15 E(xpanded more than once.)-.15 E<83>144 636 Q(The e)180 636 Q @@ -11569,62 +11565,61 @@ F1 -.1(wo)2.5 G(rd e).1 E(xpansion can be e)-.15 E (xpanded more than once.)-.15 E<83>144 648 Q(Arithmetic e)180 648 Q (xpressions used as inde)-.15 E -.15(xe)-.15 G 2.5(da).15 G (rray subscripts can be e)-2.5 E(xpanded more than once.)-.15 E<83>144 -660 Q F2 .605(test \255v)180 660 R F1 3.105(,w)C .605(hen gi)-3.105 F --.15(ve)-.25 G 3.105(na).15 G 3.105(na)-3.105 G -.18(rg)-3.105 G .605 +660 Q F2 .606(test \255v)180 660 R F1 3.106(,w)C .606(hen gi)-3.106 F +-.15(ve)-.25 G 3.106(na).15 G 3.106(na)-3.106 G -.18(rg)-3.106 G .605 (ument of).18 F F2(A[@])3.105 E F1 3.105(,w)C(here)-3.105 E F2(A)3.105 E -F1 .606(is an e)3.105 F .606(xisting associati)-.15 F .906 -.15(ve a) --.25 H(rray).15 E 3.106(,w)-.65 G(ill)-3.106 E .714 +F1 .605(is an e)3.105 F .605(xisting associati)-.15 F .905 -.15(ve a) +-.25 H(rray).15 E 3.105(,w)-.65 G(ill)-3.105 E .714 (return true if the array has an)180 672 R 3.214(ys)-.15 G .714 (et elements.)-3.214 F .714(Bash-5.2 will look for and report on a k) 5.714 F -.15(ey)-.1 G(named)180 684 Q F2(@)2.5 E F1(.)A<83>144 696 Q -1.362(The ${)180 696 R F0(par)A(ameter)-.15 E F2([:]=)A F0(value)A F1 -3.862(}w)C 1.362(ord e)-3.962 F 1.362(xpansion will return)-.15 F F0 -(value)3.862 E F1 3.862(,b)C 1.363(efore an)-3.862 F 3.863(yv)-.15 G -(ariable-spe-)-4.113 E .623(ci\214c transformations ha)180 708 R .923 +1.363(The ${)180 696 R F0(par)A(ameter)-.15 E F2([:]=)A F0(value)A F1 +3.863(}w)C 1.362(ord e)-3.963 F 1.362(xpansion will return)-.15 F F0 +(value)3.862 E F1 3.862(,b)C 1.362(efore an)-3.862 F 3.862(yv)-.15 G +(ariable-spe-)-4.112 E .623(ci\214c transformations ha)180 708 R .923 -.15(ve b)-.2 H .623(een performed \(e.g., con).15 F -.15(ve)-.4 G .623 (rting to lo).15 F 3.123(wercase\). Bash-5.2)-.25 F(will)3.123 E (return the \214nal v)180 720 Q(alue assigned to the v)-.25 E(ariable.) --.25 E(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(94)188.45 E 0 Cg -EP +-.25 E(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(94)198.445 E 0 Cg EP %%Page: 95 95 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Italic@0 SF -.25(BA)72 48 S(SH).25 E/F1 10/Times-Roman@0 SF 138.32(\(1\) General).95 F(Commands Manual)2.5 E F0 -.25(BA)140.82 G(SH) -.25 E F1(\(1\)).95 E<83>144 84 Q -.15(Pa)180 84 S .945 -(rsing command substitutions will beha).15 F 1.245 -.15(ve a)-.2 H 3.445 -(si).15 G 3.446(fe)-3.445 G .946(xtended globbing \(see the description) --3.596 F .339(of the)180 96 R/F2 10/Times-Bold@0 SF(shopt)2.839 E F1 -.2 -(bu)2.839 G .339(iltin abo).2 F -.15(ve)-.15 G 2.839(\)i).15 G 2.839(se) --2.839 G .338(nabled, so that parsing a command substitution containing) --2.839 F .022(an e)180 108 R .022(xtglob pattern \(say)-.15 F 2.522(,a) --.65 G 2.522(sp)-2.522 G .022(art of a shell function\) will not f) --2.522 F 2.523(ail. This)-.1 F .023(assumes the intent is)2.523 F .04 +.25 E F1(\(1\)).95 E<83>144 84 Q -.15(Pa)180 84 S .946 +(rsing command substitutions will beha).15 F 1.246 -.15(ve a)-.2 H 3.445 +(si).15 G 3.445(fe)-3.445 G .945(xtended globbing \(see the description) +-3.595 F .338(of the)180 96 R/F2 10/Times-Bold@0 SF(shopt)2.838 E F1 -.2 +(bu)2.838 G .338(iltin abo).2 F -.15(ve)-.15 G 2.838(\)i).15 G 2.838(se) +-2.838 G .339(nabled, so that parsing a command substitution containing) +-2.838 F .023(an e)180 108 R .023(xtglob pattern \(say)-.15 F 2.523(,a) +-.65 G 2.523(sp)-2.523 G .022(art of a shell function\) will not f) +-2.523 F 2.522(ail. This)-.1 F .022(assumes the intent is)2.522 F .039 (to enable e)180 120 R .039(xtglob before the command is e)-.15 F -.15 -(xe)-.15 G .039(cuted and w).15 F .039(ord e)-.1 F .039 -(xpansions are performed.)-.15 F(It)5.039 E .4(will f)180 132 R .4 +(xe)-.15 G .039(cuted and w).15 F .039(ord e)-.1 F .04 +(xpansions are performed.)-.15 F(It)5.04 E .4(will f)180 132 R .4 (ail at w)-.1 F .4(ord e)-.1 F .4(xpansion time if e)-.15 F .4 (xtglob hasn')-.15 F 2.9(tb)-.18 G .4 (een enabled by the time the command)-2.9 F(is e)180 144 Q -.15(xe)-.15 G(cuted.).15 E F2(compat52)108 160.8 Q F1<83>144 172.8 Q(The)180 172.8 Q -F2(test)3.168 E F1 -.2(bu)3.168 G .667 +F2(test)3.167 E F1 -.2(bu)3.167 G .667 (iltin uses its historical algorithm to parse parenthesized sube).2 F -.667(xpressions when)-.15 F(gi)180 184.8 Q -.15(ve)-.25 G 2.5<6e8c>.15 G +.668(xpressions when)-.15 F(gi)180 184.8 Q -.15(ve)-.25 G 2.5<6e8c>.15 G .3 -.15(ve o)-2.5 H 2.5(rm).15 G(ore ar)-2.5 E(guments.)-.18 E<83>144 -196.8 Q .483(If the)180 196.8 R F22.983 E F1(or)2.983 E F2 +196.8 Q .484(If the)180 196.8 R F22.984 E F1(or)2.983 E F2 2.983 E F1 .483(option is supplied to the)2.983 F F2(bind)2.983 E F1 -.2 -(bu)2.983 G(iltin,).2 E F2(bind)2.983 E F1 .483(treats an)2.983 F 2.984 -(ya)-.15 G -.18(rg)-2.984 G .484(uments remain-).18 F .339 +(bu)2.983 G(iltin,).2 E F2(bind)2.983 E F1 .483(treats an)2.983 F 2.983 +(ya)-.15 G -.18(rg)-2.983 G .483(uments remain-).18 F .339 (ing after option processing as bindable command names, and displays an) -180 208.8 R 2.839(yk)-.15 G .639 -.15(ey s)-2.939 H(equences).15 E +180 208.8 R 2.84(yk)-.15 G .64 -.15(ey s)-2.94 H(equences).15 E (bound to those commands, instead of treating the ar)180 220.8 Q (guments as k)-.18 E .3 -.15(ey s)-.1 H(equences to bind.).15 E/F3 10.95 /Times-Bold@0 SF(RESTRICTED SHELL)72 237.6 Q F1(If)108 249.6 Q F2(bash) -3.571 E F1 1.071(is started with the name)3.571 F F2(rbash)3.571 E F1 +3.572 E F1 1.071(is started with the name)3.571 F F2(rbash)3.571 E F1 3.571(,o)C 3.571(rt)-3.571 G(he)-3.571 E F23.571 E F1 1.071 (option is supplied at in)3.571 F -.2(vo)-.4 G 1.071 -(cation, the shell becomes).2 F F0 -.37(re)3.572 G(-).37 E(stricted)108 +(cation, the shell becomes).2 F F0 -.37(re)3.571 G(-).37 E(stricted)108 261.6 Q F1 5.445(.A)C .445(restricted shell is used to set up an en)-2.5 F .445(vironment more controlled than the standard shell.)-.4 F .445 (It be-)5.445 F(ha)108 273.6 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to) @@ -11646,7 +11641,7 @@ F1(option to the)2.5 E F2(.)2.5 E F1 -.2(bu)5 G E<83>108 391.2 Q .351 (Specifying a \214lename containing a slash as an ar)144 391.2 R .351 (gument to the)-.18 F F22.851 E F1 .351(option to the)2.851 F F2 -(hash)2.852 E F1 -.2(bu)2.852 G .352(iltin com-).2 F(mand.)144 403.2 Q +(hash)2.851 E F1 -.2(bu)2.851 G .351(iltin com-).2 F(mand.)144 403.2 Q <83>108 420 Q(Importing function de\214nitions from the shell en)144 420 Q(vironment at startup.)-.4 E<83>108 436.8 Q -.15(Pa)144 436.8 S (rsing the v).15 E(alues of)-.25 E F4 -.27(BA)2.5 G(SHOPTS).27 E F1(and) @@ -11667,8 +11662,8 @@ F2(set +r)2.5 E F1(or)2.5 E F2(shopt \255u r)2.5 E(estricted_shell)-.18 E F1(.)A(These restrictions are enforced after an)108 554.4 Q 2.5(ys) -.15 G(tartup \214les are read.)-2.5 E 1.566 (When a command that is found to be a shell script is e)108 571.2 R -.15 -(xe)-.15 G 1.566(cuted \(see).15 F F4 1.566(COMMAND EXECUTION)4.066 F F1 -(abo)3.816 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 583.2 Q F1(turns of) +(xe)-.15 G 1.567(cuted \(see).15 F F4 1.567(COMMAND EXECUTION)4.067 F F1 +(abo)3.817 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 583.2 Q F1(turns of) 2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15 E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F3(SEE ALSO)72 600 Q F0(Bash Refer)108 612 Q(ence Manual)-.37 E F1 2.5(,B)C(rian F)-2.5 @@ -11682,7 +11677,7 @@ F0(The Gnu History Libr)108 636 Q(ary)-.15 E F1 2.5(,B)C(rian F)-2.5 E (.case.edu/\001chet/bash/POSIX \212 a description of posix mode)-.65 E F0(sh)108 684 Q F1(\(1\),)A F0(ksh)2.5 E F1(\(1\),)A F0(csh)2.5 E F1 (\(1\))A F0(emacs)108 696 Q F1(\(1\),)A F0(vi)2.5 E F1(\(1\))A -(GNU Bash 5.3)72 768 Q(2025 February 24)139.29 E(95)188.45 E 0 Cg EP +(GNU Bash 5.3)72 768 Q(2025 April 7)149.285 E(95)198.445 E 0 Cg EP %%Page: 96 96 %%BeginPageSetup BP @@ -11711,23 +11706,23 @@ E F1(The indi)144 220.8 Q(vidual login shell cleanup \214le, e)-.25 E (bfox@gnu.or)108 309.6 Q(g)-.18 E(Chet Rame)108 326.4 Q 1.3 -.65(y, C) -.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve) -.25 G(rsity).15 E(chet.rame)108 338.4 Q(y@case.edu)-.15 E F2 -.11(BU)72 -355.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F1 .567 +355.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F1 .568 (If you \214nd a b)108 367.2 R .568(ug in)-.2 F F3(bash)3.068 E F1 3.068 (,y)C .568(ou should report it.)-3.068 F .568 (But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568 -(ure that it really is a b)-3.068 F .568(ug, and)-.2 F 5.626 +(ure that it really is a b)-3.068 F .567(ug, and)-.2 F 5.625 (that it appears in the latest v)108 379.2 R 5.625(ersion of)-.15 F F3 -(bash)8.125 E F1 10.625(.T)C 5.625(he latest v)-10.625 F 5.625 -(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625 +(bash)8.125 E F1 10.625(.T)C 5.625(he latest v)-10.625 F 5.626 +(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626 (ilable from).25 F F0(ftp://ftp.gnu.or)108 391.2 Q(g/pub/gnu/bash/)-.37 E F1(and)2.5 E F0(http://git.savannah.gnu.or)2.5 E (g/cgit/bash.git/snapshot/bash-master)-.37 E(.tar)-1.11 E(.gz)-1.11 E F1 -(.)A .41(Once you ha)108 408 R .71 -.15(ve d)-.2 H .41 -(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the) --.15 F F0(bashb)3.181 E(ug)-.2 E F1 .411(command to submit a b)3.131 F -.411(ug report.)-.2 F(If)5.411 E .022(you ha)108 420 R .322 -.15 -(ve a \214)-.2 H .021(x, you are encouraged to mail that as well!).15 F --1.1(Yo)5.021 G 2.521(um)1.1 G .021 +(.)A .411(Once you ha)108 408 R .711 -.15(ve d)-.2 H .411 +(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the) +-.15 F F0(bashb)3.18 E(ug)-.2 E F1 .41(command to submit a b)3.13 F .41 +(ug report.)-.2 F(If)5.41 E .021(you ha)108 420 R .321 -.15(ve a \214) +-.2 H .021(x, you are encouraged to mail that as well!).15 F -1.1(Yo) +5.021 G 2.521(um)1.1 G .021 (ay send suggestions and \231philosophical\232 b)-2.521 F(ug)-.2 E (reports to)108 432 Q F0 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F1 (or post them to the Usenet ne)2.5 E(wsgroup)-.25 E F3(gnu.bash.b)2.5 E @@ -11743,10 +11738,10 @@ Q(ug)-.2 E F1 547.2 Q(ug reports concerning this manual page should be directed to)-.2 E F0 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F1(.) .25 E F2 -.11(BU)72 564 S(GS).11 E F1(It')108 576 Q 2.5(st)-.55 G -(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.868 -(There are some subtle dif)108 592.8 R 1.868(ferences between)-.25 F F3 +(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869 +(There are some subtle dif)108 592.8 R 1.869(ferences between)-.25 F F3 (bash)4.369 E F1 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F -F3(sh)4.369 E F1 4.369(,m)C 1.869(ostly because of the)-4.369 F/F4 9 +F3(sh)4.368 E F1 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9 /Times-Roman@0 SF(POSIX)108 604.8 Q F1(speci\214cation.)2.25 E (Aliases are confusing in some uses.)108 621.6 Q(Shell b)108 638.4 Q (uiltin commands and functions are not stoppable/restartable.)-.2 E .146 @@ -11762,7 +11757,7 @@ into a subshell, which may be stopped as a unit, or to start the comman\ d in the background and immedi-)108 691.2 R (ately bring it into the fore)108 703.2 Q(ground.)-.15 E(Array v)108 720 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E(GNU Bash 5.3)72 -768 Q(2025 February 24)139.29 E(96)188.45 E 0 Cg EP +768 Q(2025 April 7)149.285 E(96)198.445 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/bashref.dvi b/doc/bashref.dvi index b1416339..bc0a1fba 100644 Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ diff --git a/doc/bashref.html b/doc/bashref.html index eb4d54b8..2cc31506 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -4,9 +4,9 @@