diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index 185272bf..27aa30b1 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -3476,3 +3476,83 @@ builtins/printf.def supplied, use `double' when in posix mode (as posix specifies) and long double (if it's available, double if not) in default mode. From a report from Paul Eggert + + 4/12 + ---- +lib/sh/oslib.c + - bzero: update function signature to modern BSD version + + 4/14 + ---- +lib/sh/oslib.c + - bcopy, gethostname, mkfifo: update function signatures to modern + versions + + 4/15 + ---- +jobs.c,nojobs.c + - wait_for_single_pid: if the pid or job argument is invalid -- isn't + a child of this shell -- return 257, which is out of the range of + valid 8-bit status values + +execute_cmd.c + - execute_pipeline: if wait_for_single_pid returns > 256, set it to + 127 (invalid process) + +jobs.c + - wait_for_background_pids: if wait_for_single_pid returns > 256, set + the status we return in PS to 127 (what it was before) + +builtins/wait.def + - wait_builtin: if wait_for_single_pid returns > 256, treat it as an + error and set pstat.pid to NO_PID + - wait_builtin: if -p supplied, and we get to the end of the argument + list with PSTAT.PID != NO_PID (which we assume means that the return + value is set from PSTAT.STATUS), set the variable name to PSTAT.PID. + From a report by Robert Elz + - wait_builtin: for compatibility with the netbsd sh, leave the variable + name specified with `-p' unset if there are no PID arguments. + From a report by Robert Elz + + 4/17 + ---- +parse.y + - xparse_dolparen: if (flags & SX_NOLONGJMP), don't call + jump_to_top_level() on errors + +bashline.c + - bash_quote_filename: don't call quote_word_break_chars() unless we + have word break chars initialized. Fixes bug reported by + Sam James + + 4/18 + ---- +pcomplete.c + - gen_globpat_matches: call glob_filename with the GX_GLOBSTAR flag if + the `globstar' shell option is enabled. From a report by + Steve + +lib/malloc/malloc.c + - internal_free: remove the GLIBC21 code (!) + - internal_free: make the code that tests against memtop and calls + lesscore depend on USE_LESSCORE being defined, which it is by + default + +lib/malloc/imalloc.h + - USE_LESSCORE: define + +parse.y,shell.h + - token_buffer_size and its corresponding saved value in the shell's + parser state are now size_t instead of int + +stringlib.c + - strsub,strcreplace: use size_t instead of int for local length and + indexing variables + +lib/sh/zmapfd.c + - zmapfd: use size_t instead of int for local length and indexing + variables + +lib/sh/zgetline.c + - zgetline: use size_t instead of int for local length and indexing + variables diff --git a/bashline.c b/bashline.c index f9fce251..c85b05b6 100644 --- a/bashline.c +++ b/bashline.c @@ -4341,7 +4341,7 @@ bash_quote_filename (s, rtype, qcp) /* We may need to quote additional characters: those that readline treats as word breaks that are not quoted by backslash_quote. */ /* XXX - test complete_fullquote here? */ - if (rtext && cs == COMPLETE_BSQUOTE) + if (rtext && cs == COMPLETE_BSQUOTE && rl_completer_word_break_characters) { mtext = quote_word_break_chars (rtext); free (rtext); diff --git a/builtins/wait.def b/builtins/wait.def index 9bde1660..b066d78d 100644 --- a/builtins/wait.def +++ b/builtins/wait.def @@ -1,4 +1,4 @@ -This file is wait.def, from which is created wait.c. +'This file is wait.def, from which is created wait.c. It implements the builtin "wait" in Bash. Copyright (C) 1987-2021 Free Software Foundation, Inc. @@ -236,8 +236,12 @@ wait_builtin (list) if (list == 0) { opt = wait_for_background_pids (&pstat); +#if 0 + /* Compatibility with NetBSD sh: don't set VNAME since it doesn't + correspond to the return status. */ if (vname && opt) builtin_bind_var_to_int (vname, pstat.pid, bindflags); +#endif WAIT_RETURN (EXECUTION_SUCCESS); } @@ -255,8 +259,11 @@ wait_builtin (list) { pid = (pid_t)pid_value; status = wait_for_single_pid (pid, wflags|JWAIT_PERROR); - pstat.pid = pid; - pstat.status = status; + /* status > 256 means pid error */ + pstat.pid = (status > 256) ? NO_PID : pid; + pstat.status = (status > 256) ? 127 : status; + if (status > 256) + status = 127; } else { @@ -313,6 +320,9 @@ wait_builtin (list) list = list->next; } + if (vname && pstat.pid != NO_PID) + builtin_bind_var_to_int (vname, pstat.pid, bindflags); + WAIT_RETURN (status); } diff --git a/doc/bash.1 b/doc/bash.1 index 1026fac7..e593be65 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -3874,7 +3874,9 @@ is a or a .B ^ then any character not enclosed is matched. -The sorting order of characters in range expressions is determined by +The sorting order of characters in range expressions, +and the characters included in the range, +are determined by the current locale and the values of the .SM .B LC_COLLATE diff --git a/doc/bash.html b/doc/bash.html index 04e8841e..06f042bd 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ -
BASH(1)2022 February 10BASH(1) +BASH(1)2022 March 11BASH(1)

Index @@ -3503,6 +3503,14 @@ interpreted as relative to one greater than the maximum index of array, and an index of -1 references the last element.

+The += operator will append to an array variable when assigning +using the compound assignment syntax; see +PARAMETERS + + +above. +

+ Any element of an array may be referenced using ${name[subscript]}. The braces are required to avoid conflicts with pathname expansion. If @@ -3995,7 +4003,7 @@ is substituted. Substring Expansion. Expands to up to length characters of the value of parameter starting at the character specified by offset. -If parameter is @, an indexed array subscripted by +If parameter is @ or *, an indexed array subscripted by @ or *, or an associative array name, the results differ as described below. If length is omitted, expands to the substring of the value of @@ -4018,8 +4026,8 @@ a number of characters, and the expansion is the characters between Note that a negative offset must be separated from the colon by at least one space to avoid being confused with the :- expansion.

-If parameter is @, the result is length positional -parameters beginning at offset. +If parameter is @ or *, the result is length +positional parameters beginning at offset. A negative offset is taken relative to one greater than the greatest positional parameter, so an offset of -1 evaluates to the last positional parameter. @@ -5693,11 +5701,24 @@ been enabled. Variables local to the function may be declared with the local -builtin command. Ordinarily, variables and their values +builtin command (local variables). +Ordinarily, variables and their values are shared between the function and its caller. If a variable is declared local, the variable's visible scope is restricted to that function and its children (including the functions it calls). +

+ +In the following description, the current scope is a currently- +executing function. +Previous scopes consist of that function's caller and so on, +back to the "global" scope, where the shell is not executing +any shell function. +Consequently, a local variable at the current scope is a variable +declared using the local or declare builtins in the +function that is currently executing. +

+ Local variables "shadow" variables with the same name declared at previous scopes. For instance, a local variable declared in a function @@ -5731,11 +5752,13 @@ variable is local to the current scope, unset will unset it; otherwise the unset will refer to the variable found in any calling scope as described above. If a variable at the current local scope is unset, it will remain so +(appearing as unset) until it is reset in that scope or until the function returns. Once the function returns, any instance of the variable at a previous scope will become visible. If the unset acts on a variable at a previous scope, any instance of a -variable with that name that had been shadowed will become visible. +variable with that name that had been shadowed will become visible +(see below how the localvar_unset shell option changes this behavior).

The FUNCNEST variable, if set to a numeric value greater @@ -7713,11 +7736,11 @@ matching text found by incremental and non-incremental history searches.

enable-bracketed-paste (On)
-When set to On, readline will configure the terminal in a way -that will enable it to insert each paste into the editing buffer as a -single string of characters, instead of treating each character as if -it had been read from the keyboard. This can prevent pasted characters -from being interpreted as editing commands. +When set to On, readline configures the terminal to insert each +paste into the editing buffer as a single string of characters, instead +of treating each character as if it had been read from the keyboard. +This prevents readline from executing any editing commands bound to key +sequences appearing in the pasted text.
enable-keypad (Off)
@@ -14654,7 +14677,7 @@ There may be only one active coprocess at a time.
-
GNU Bash 5.22022 February 10BASH(1) +GNU Bash 5.22022 March 11BASH(1)

@@ -14761,6 +14784,6 @@ There may be only one active coprocess at a time.
This document was created by man2html from bash.1.
-Time: 11 February 2022 09:18:02 EST +Time: 08 April 2022 15:46:17 EDT diff --git a/doc/bash.pdf b/doc/bash.pdf index 9ca99f4a..50b5575c 100644 Binary files a/doc/bash.pdf and b/doc/bash.pdf differ diff --git a/doc/bash.ps b/doc/bash.ps index d2ec940f..ac18a31e 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.22.4 -%%CreationDate: Fri Feb 11 09:17:45 2022 +%%CreationDate: Fri Apr 8 15:46:03 2022 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -340,7 +340,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E (~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti) 144 710.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(1)193.45 E 0 Cg EP +(2022 March 11)144.29 E(1)198.45 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -463,8 +463,8 @@ F2(~/.bashr)108 691.2 Q(c)-.37 E F0 2.535(,i)C 2.535(ft)-2.535 G .035 Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25 G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806 (un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15 -F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(2) -193.45 E 0 Cg EP +F(ariable)-.25 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(2)198.45 E +0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -594,7 +594,7 @@ F2(case)3.144 E F0(or)3.144 E F2(select)3.143 E F0 .643(command \(only) 669.6 R F6(SHELL GRAMMAR)72 686.4 Q F0 (This section describes the syntax of the v)108 698.4 Q (arious forms of shell commands.)-.25 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(3)193.45 E 0 Cg EP +(2022 March 11)144.29 E(3)198.45 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -717,7 +717,7 @@ or more pipelines separated by the)108 650.4 R F1(&&)2.671 E F0(and) G(cuted if, and only if,).15 E F2(command1)2.7 E F0(returns an e)2.5 E (xit status of zero \(success\).)-.15 E(An OR list has the form)108 712.8 Q F2(command1)144 729.6 Q F1(||)2.5 E F2(command2)2.5 E F0 -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(4)193.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(4)198.45 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP @@ -853,7 +853,7 @@ ormal quoting and pattern characters lose their meanings between brack) .583(with inde)144 720 R 3.083(x0)-.15 G .582 (contains the portion of the string matching the entire re)-.001 F .582 (gular e)-.15 F 3.082(xpression. Substrings)-.15 F(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(5)193.45 E 0 Cg EP +(2022 March 11)144.29 E(5)198.45 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP @@ -996,8 +996,8 @@ E F0 .116(causes the shell to test the ne)2.616 F .116 .116(nd e).65 F(x-)-.15 E .768(ecute an)144 720 R 3.268(ya)-.15 G (ssociated)-3.268 E F2(list)3.268 E F0 .768 (on a successful match, continuing the case statement e)3.268 F -.15(xe) --.15 G .768(cution as if the).15 F(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(6)193.45 E 0 Cg EP +-.15 G .768(cution as if the).15 F(GNU Bash 5.2)72 768 Q(2022 March 11) +144.29 E(6)198.45 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP @@ -1119,7 +1119,7 @@ Q F0 2.697(As)108 679.2 S .198 (cutes a compound command with).15 F 2.5(an)108 691.2 S .5 -.25(ew s) -2.5 H(et of positional parameters.).25 E (Shell functions are declared as follo)5 E(ws:)-.25 E(GNU Bash 5.2)72 -768 Q(2022 February 10)139.29 E(7)193.45 E 0 Cg EP +768 Q(2022 March 11)144.29 E(7)198.45 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP @@ -1252,8 +1252,8 @@ E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H (replaced as speci\214ed by the ANSI C standard.)3.027 F (Backslash escape sequences, if present, are decoded as follo)108 684 Q (ws:)-.25 E F2(\\a)144 696 Q F0(alert \(bell\))180 696 Q F2(\\b)144 708 -Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E -(8)193.45 E 0 Cg EP +Q F0(backspace)180 708 Q(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(8) +198.45 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP @@ -1368,7 +1368,7 @@ F .376(alue to a shell v)-.25 F .376(ariable or array inde)-.25 F .376 (sion and added to the v)108 722.4 R(ariable')-.25 E 3.727(sc)-.55 G 1.227(urrent v)-3.727 F 1.227(alue, which is also e)-.25 F -.25(va)-.25 G 3.727(luated. When).25 F 1.226(+= is applied to an array)3.726 F -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(9)193.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(9)198.45 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP @@ -1510,7 +1510,7 @@ E(ground pipeline.)-.15 E F1108 703.2 Q F0 .881 R -.2(vo)-.4 G .881(cation, by the).2 F F1(set)3.382 E F0 -.2(bu)3.382 G .882(iltin command, or).2 F(those set by the shell itself \(such as the) 144 715.2 Q F12.5 E F0(option\).)2.5 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(10)188.45 E 0 Cg EP +(2022 March 11)144.29 E(10)193.45 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP @@ -1638,7 +1638,7 @@ F F1($0)2.75 E F0 2.75(;s)C(ee)-2.75 E .04 (f)-5.216 E F1 -.3(BA)2.716 G(SH_ARGV0).3 E F0 .216 (is unset, it loses its special properties, e)2.716 F -.15(ve)-.25 G 2.715(ni).15 G(f)-2.715 E(it is subsequently reset.)144 705.6 Q -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(11)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(11)193.45 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP @@ -1744,7 +1744,7 @@ H(he current completion function.).1 E F1(COMP_LINE)108 690 Q F0 1.207 (yt)-3.537 G 1.037(he programmable completion f)-3.537 F 1.037 (acilities \(see)-.1 F F1(Pr)3.537 E 1.037(ogrammable Completion)-.18 F F0(be-)3.537 E(lo)144 726 Q(w\).)-.25 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(12)188.45 E 0 Cg EP +(2022 March 11)144.29 E(12)193.45 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP @@ -1867,8 +1867,8 @@ F1(]})A F0 -.1(wa)2.512 G 2.512(sc).1 G .012(alled from the \214le) (at line number)144 702 R F1(${B)3.683 E(ASH_LINENO[)-.3 E F2($i)A F1 (]})A F0 6.183(.T)C(he)-6.183 E F1(caller)3.683 E F0 -.2(bu)3.683 G 1.184(iltin displays the current call stack using).2 F -(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2022 February 10) -139.29 E(13)188.45 E 0 Cg EP +(this information.)144 714 Q(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 +E(13)193.45 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP @@ -1963,7 +1963,7 @@ F F0(\(see)4.047 E F2 1.547(SHELL B)4.047 F(UIL)-.09 E 1.547(TIN COM-) 3.266 E 3.516(w\). The)-.25 F 1.017 (characters between the insertion point and the)3.516 F (mark are often called the)144 720 Q F3 -.37(re)2.5 G(gion)-.03 E F0(.)A -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(14)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(14)193.45 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP @@ -2086,8 +2086,8 @@ E F0 3.747(command. This)3.747 F 1.248 (is a colon-separated list of directories in which the)3.747 F 3.796 (shell looks for destination directories speci\214ed by the)144 729.6 R F1(cd)6.295 E F0 6.295(command. A)6.295 F 3.795(sample v)6.295 F 3.795 -(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(15) -188.45 E 0 Cg EP +(alue is)-.25 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(15)193.45 E +0 Cg EP %%Page: 16 16 %%BeginPageSetup BP @@ -2204,7 +2204,7 @@ A F2(HISTFILE)108 672 Q F0 .181 -.1 F(alue)-.25 E(is)144 696 Q F5(~/.bash_history)2.5 E F0 5(.I)C 2.5 (fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5 (dw).15 G(hen a shell e)-2.5 E(xits.)-.15 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(16)188.45 E 0 Cg EP +(2022 March 11)144.29 E(16)193.45 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP @@ -2323,7 +2323,7 @@ F0(\(see)4.427 E F2(READLINE)2.761 E F0(be-)2.511 E(lo)144 624 Q(w\).) (rrides the v).15 F .973(alue of)-.25 F F2(LANG)3.473 E F0 .973(and an) 3.223 F 3.473(yo)-.15 G(ther)-3.473 E F1(LC_)3.473 E F0 -.25(va)3.473 G .973(riable specifying a locale cate-).25 F(gory)144 720 Q(.)-.65 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(17)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(17)193.45 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP @@ -2432,8 +2432,8 @@ E F0(and)3.423 E F1(\\W)3.423 E F0 .923(prompt string escapes \(see) -.15 F F2(PR)3.674 E(OMPTING)-.27 E F0(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 720 Q --.15(xe)-.15 G(cuted.).15 E(GNU Bash 5.2)72 768 Q(2022 February 10) -139.29 E(18)188.45 E 0 Cg EP +-.15(xe)-.15 G(cuted.).15 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E +(18)193.45 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP @@ -2547,7 +2547,7 @@ E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo) (must be a pre\214x of a stopped job')144 692.4 R 2.816(sn)-.55 G .316 (ame; this pro)-2.816 F .316(vides functionality analogous to the)-.15 F F1(%)2.816 E F3(string)A F0(job)2.816 E(identi\214er)144 704.4 Q(.)-.55 -E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(19)188.45 E 0 Cg EP +E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(19)193.45 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP @@ -2668,872 +2668,876 @@ E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239 -.15(eg a)-2.676 H(ti).15 E .476 -.15(ve i)-.25 H .177 (ndices count back from the end of the array).15 F 2.677(,a)-.65 G .177 (nd an inde)-2.677 F 2.677(xo)-.15 G 2.677<66ad>-2.677 G 2.677(1r)-2.677 -G .177(eferences the last el-)-2.677 F(ement.)108 585.6 Q(An)108 602.4 Q -3.576(ye)-.15 G 1.076(lement of an array may be referenced using ${) --3.576 F F3(name)A F0([)A F3(subscript)A F0 3.575(]}. The)B 1.075 -(braces are required to a)3.575 F -.2(vo)-.2 G(id).2 E 1.541 -(con\215icts with pathname e)108 614.4 R 4.041(xpansion. If)-.15 F F3 -(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0(or)4.041 E F1(*)4.041 E -F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)-.1 F 1.541 -(xpands to all members of)-.15 F F3(name)4.042 E F0(.)A 1.057 -(These subscripts dif)108 626.4 R 1.057(fer only when the w)-.25 F 1.057 -(ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056 -(ord is double-quoted,)-.1 F(${)108 638.4 Q F3(name)A F0 .52([*]} e)B -.52(xpands to a single w)-.15 F .52(ord with the v)-.1 F .521 +G .177(eferences the last el-)-2.677 F(ement.)108 585.6 Q .717 +(The += operator will append to an array v)108 602.4 R .716 +(ariable when assigning using the compound assignment syntax;)-.25 F +(see)108 614.4 Q F2 -.666(PA)2.5 G(RAMETERS).666 E F0(abo)2.25 E -.15 +(ve)-.15 G(.).15 E(An)108 631.2 Q 3.575(ye)-.15 G 1.075 +(lement of an array may be referenced using ${)-3.575 F F3(name)A F0([)A +F3(subscript)A F0 3.575(]}. The)B 1.076(braces are required to a)3.576 F +-.2(vo)-.2 G(id).2 E 1.542(con\215icts with pathname e)108 643.2 R 4.041 +(xpansion. If)-.15 F F3(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0 +(or)4.041 E F1(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e) +-.1 F 1.541(xpands to all members of)-.15 F F3(name)4.041 E F0(.)A 1.056 +(These subscripts dif)108 655.2 R 1.056(fer only when the w)-.25 F 1.057 +(ord appears within double quotes.)-.1 F 1.057(If the w)6.057 F 1.057 +(ord is double-quoted,)-.1 F(${)108 667.2 Q F3(name)A F0 .521([*]} e)B +.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52 (alue of each array member separated by the \214rst character)-.25 F -1.375(of the)108 650.4 R F2(IFS)3.875 E F0 1.375(special v)3.625 F 1.375 +1.374(of the)108 679.2 R F2(IFS)3.874 E F0 1.374(special v)3.624 F 1.375 (ariable, and ${)-.25 F F3(name)A F0 1.375([@]} e)B 1.375 -(xpands each element of)-.15 F F3(name)3.875 E F0 1.374(to a separate w) -3.875 F 3.874(ord. When)-.1 F 2.027(there are no array members, ${)108 -662.4 R F3(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F -2.028(If the double-quoted e)7.028 F 2.028(xpansion occurs)-.15 F .759 -(within a w)108 674.4 R .759(ord, the e)-.1 F .759 +(xpands each element of)-.15 F F3(name)3.875 E F0 1.375(to a separate w) +3.875 F 3.875(ord. When)-.1 F 2.028(there are no array members, ${)108 +691.2 R F3(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F +2.027(If the double-quoted e)7.028 F 2.027(xpansion occurs)-.15 F .758 +(within a w)108 703.2 R .759(ord, the e)-.1 F .759 (xpansion of the \214rst parameter is joined with the be)-.15 F .759 -(ginning part of the original w)-.15 F(ord,)-.1 E .515(and the e)108 -686.4 R .516(xpansion of the last parameter is joined with the last par\ -t of the original w)-.15 F 3.016(ord. This)-.1 F .516(is analogous)3.016 -F .228(to the e)108 698.4 R .228(xpansion of the special parameters)-.15 +(ginning part of the original w)-.15 F(ord,)-.1 E .516(and the e)108 +715.2 R .516(xpansion of the last parameter is joined with the last par\ +t of the original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015 +F .227(to the e)108 727.2 R .228(xpansion of the special parameters)-.15 F F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228 -(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727 -(\). ${#).15 F F3(name)A F0([)A F3(subscript)A F0(]})A -.15(ex)108 710.4 -S .886(pands to the length of ${).15 F F3(name)A F0([)A F3(subscript)A -F0 3.386(]}. If)B F3(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or) -3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886 -(xpansion is the number of ele-)-.15 F .295(ments in the array)108 722.4 -R 5.295(.I)-.65 G 2.795(ft)-5.295 G(he)-2.795 E F3(subscript)3.135 E F0 -.295(used to reference an element of an inde)3.475 F -.15(xe)-.15 G -2.794(da).15 G .294(rray e)-2.794 F -.25(va)-.25 G .294 -(luates to a number).25 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 -E(20)188.45 E 0 Cg EP +(Special P)2.728 F(arameters)-.1 E F0(abo)2.728 E -.15(ve)-.15 G 2.728 +(\). ${#).15 F F3(name)A F0([)A F3(subscript)A F0(]})A(GNU Bash 5.2)72 +768 Q(2022 March 11)144.29 E(20)193.45 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .628 -(less than zero, it is interpreted as relati)108 84 R .928 -.15(ve t) --.25 H 3.128(oo).15 G .629(ne greater than the maximum inde)-3.128 F -3.129(xo)-.15 G 3.129(ft)-3.129 G .629(he array)-3.129 F 3.129(,s)-.65 G -3.129(on)-3.129 G -2.25 -.15(eg a)-3.129 H(ti).15 E -.15(ve)-.25 G -(indices count back from the end of the array)108 96 Q 2.5(,a)-.65 G +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.15(ex)108 84 S +.886(pands to the length of ${).15 F/F1 10/Times-Italic@0 SF(name)A F0 +([)A F1(subscript)A F0 3.386(]}. If)B F1(subscript)3.386 E F0(is)3.386 E +/F2 10/Times-Bold@0 SF(*)3.386 E F0(or)3.386 E F2(@)3.386 E F0 3.386(,t) +C .886(he e)-3.386 F .886(xpansion is the number of ele-)-.15 F .294 +(ments in the array)108 96 R 5.294(.I)-.65 G 2.794(ft)-5.294 G(he)-2.794 +E F1(subscript)3.135 E F0 .295(used to reference an element of an inde) +3.475 F -.15(xe)-.15 G 2.795(da).15 G .295(rray e)-2.795 F -.25(va)-.25 +G .295(luates to a number).25 F .629 +(less than zero, it is interpreted as relati)108 108 R .929 -.15(ve t) +-.25 H 3.128(oo).15 G .628(ne greater than the maximum inde)-3.128 F +3.128(xo)-.15 G 3.128(ft)-3.128 G .628(he array)-3.128 F 3.128(,s)-.65 G +3.128(on)-3.128 G -2.25 -.15(eg a)-3.128 H(ti).15 E -.15(ve)-.25 G +(indices count back from the end of the array)108 120 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 -112.8 R .595(ariable without a subscript is equi)-.25 F -.25(va)-.25 G +136.8 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 124.8 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25 -E(alid subscript is le)-.25 E -.05(ga)-.15 G(l, and).05 E/F1 10 -/Times-Bold@0 SF(bash)2.5 E F0(will create an array if necessary)2.5 E -(.)-.65 E(An array v)108 141.6 Q -(ariable is considered set if a subscript has been assigned a v)-.25 E +108 148.8 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25 +E(alid subscript is le)-.25 E -.05(ga)-.15 G(l, and).05 E F2(bash)2.5 E +F0(will create an array if necessary)2.5 E(.)-.65 E(An array v)108 165.6 +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 158.4 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 F1(!)A/F2 10/Times-Italic@0 SF(name)A F0([)A F2(@)A F0 -.418(]} and ${)B F1(!)A F2(name)A F0([)A F2(*)A F0(]})A -.15(ex)108 -170.4 S .75(pand to the indices assigned in array v).15 F(ariable)-.25 E -F2(name)3.249 E F0 5.749(.T)C .749 +.418(It is possible to obtain the k)108 182.4 R -.15(ey)-.1 G 2.918(s\() +.15 G .418(indices\) of an array as well as the v)-2.918 F 2.917 +(alues. ${)-.25 F F2(!)A F1(name)A F0([)A F1(@)A F0 .417(]} and ${)B F2 +(!)A F1(name)A F0([)A F1(*)A F0(]})A -.15(ex)108 194.4 S .749 +(pand to the indices assigned in array v).15 F(ariable)-.25 E F1(name) +3.249 E F0 5.749(.T)C .75 (he treatment when in double quotes is similar to)-5.749 F(the e)108 -182.4 Q(xpansion of the special parameters)-.15 E F2(@)2.5 E F0(and)2.5 -E F2(*)2.5 E F0(within double quotes.)2.5 E(The)108 199.2 Q F1(unset) -2.766 E F0 -.2(bu)2.766 G .267(iltin is used to destro).2 F 2.767(ya)-.1 -G(rrays.)-2.767 E F1(unset)5.267 E F2(name)2.767 E F0([)A F2(subscript)A +206.4 Q(xpansion of the special parameters)-.15 E F1(@)2.5 E F0(and)2.5 +E F1(*)2.5 E F0(within double quotes.)2.5 E(The)108 223.2 Q F2(unset) +2.767 E F0 -.2(bu)2.767 G .267(iltin is used to destro).2 F 2.767(ya)-.1 +G(rrays.)-2.767 E F2(unset)5.267 E F1(name)2.767 E F0([)A F1(subscript)A F0 2.767(]d)C(estro)-2.767 E .267(ys the array element at inde)-.1 F(x) --.15 E F2(sub-)2.767 E(script)108 211.2 Q F0 2.858(,f)C .358 +-.15 E F1(sub-)2.766 E(script)108 235.2 Q F0 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 223.2 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 F1(unset)6.205 E F2 -(name)3.705 E F0(,)A(where)108 235.2 Q F2(name)3.413 E F0 .913 -(is an array)3.413 F 3.413(,r)-.65 G(emo)-3.413 E -.15(ve)-.15 G 3.413 -(st).15 G .912(he entire array)-3.413 F(.)-.65 E F1(unset)5.912 E F2 -(name)3.412 E F0([)A F2(subscript)A F0 .912(], where)B F2(subscript) -3.412 E F0(is)3.412 E F1(*)3.412 E F0(or)3.412 E F1(@)3.412 E F0 3.412 -(,b)C(e-)-3.412 E(ha)108 247.2 Q -.15(ve)-.2 G 3.125(sd).15 G(if)-3.125 -E .625(ferently depending on whether)-.25 F F2(name)3.125 E F0 .626 -(is an inde)3.125 F -.15(xe)-.15 G 3.126(do).15 G 3.126(ra)-3.126 G -(ssociati)-3.126 E .926 -.15(ve a)-.25 H(rray).15 E 5.626(.I)-.65 G(f) --5.626 E F2(name)3.126 E F0 .626(is an associati)3.126 F -.15(ve)-.25 G -(array)108 259.2 Q 3.067(,t)-.65 G .567 -(his unsets the element with subscript)-3.067 F F1(*)3.067 E F0(or)3.067 -E F1(@)3.067 E F0 5.567(.I)C(f)-5.567 E F2(name)3.067 E F0 .567 +2.858(da).15 G .358(rrays are interpreted as de-)-2.858 F 1.205 +(scribed abo)108 247.2 R -.15(ve)-.15 G 6.205(.U).15 G 1.205 +(nsetting the last element of an array v)-6.205 F 1.204 +(ariable does not unset the v)-.25 F(ariable.)-.25 E F2(unset)6.204 E F1 +(name)3.704 E F0(,)A(where)108 259.2 Q F1(name)3.412 E F0 .912 +(is an array)3.412 F 3.412(,r)-.65 G(emo)-3.412 E -.15(ve)-.15 G 3.412 +(st).15 G .912(he entire array)-3.412 F(.)-.65 E F2(unset)5.912 E F1 +(name)3.412 E F0([)A F1(subscript)A F0 .912(], where)B F1(subscript) +3.413 E F0(is)3.413 E F2(*)3.413 E F0(or)3.413 E F2(@)3.413 E F0 3.413 +(,b)C(e-)-3.413 E(ha)108 271.2 Q -.15(ve)-.2 G 3.126(sd).15 G(if)-3.126 +E .626(ferently depending on whether)-.25 F F1(name)3.126 E F0 .626 +(is an inde)3.126 F -.15(xe)-.15 G 3.126(do).15 G 3.126(ra)-3.126 G +(ssociati)-3.126 E .925 -.15(ve a)-.25 H(rray).15 E 5.625(.I)-.65 G(f) +-5.625 E F1(name)3.125 E F0 .625(is an associati)3.125 F -.15(ve)-.25 G +(array)108 283.2 Q 3.067(,t)-.65 G .567 +(his unsets the element with subscript)-3.067 F F2(*)3.067 E F0(or)3.067 +E F2(@)3.067 E F0 5.567(.I)C(f)-5.567 E F1(name)3.067 E F0 .567 (is an inde)3.067 F -.15(xe)-.15 G 3.067(da).15 G(rray)-3.067 E 3.067 (,u)-.65 G .567(nset remo)-3.067 F -.15(ve)-.15 G 3.067(sa).15 G .567 -(ll of the)-3.067 F(elements b)108 271.2 Q(ut does not remo)-.2 E .3 --.15(ve t)-.15 H(he array itself.).15 E .028(When using a v)108 288 R -.028(ariable name with a subscript as an ar)-.25 F .029 -(gument to a command, such as with)-.18 F F1(unset)2.529 E F0 2.529(,w)C -.029(ithout us-)-2.529 F .938(ing the w)108 300 R .938(ord e)-.1 F .938 +(ll of the)-3.067 F(elements b)108 295.2 Q(ut does not remo)-.2 E .3 +-.15(ve t)-.15 H(he array itself.).15 E .029(When using a v)108 312 R +.029(ariable name with a subscript as an ar)-.25 F .028 +(gument to a command, such as with)-.18 F F2(unset)2.528 E F0 2.528(,w)C +.028(ithout us-)-2.528 F .937(ing the w)108 324 R .937(ord e)-.1 F .937 (xpansion syntax described abo)-.15 F -.15(ve)-.15 G 3.437(,t).15 G .937 -(he ar)-3.437 F .937(gument is subject to pathname e)-.18 F 3.437 -(xpansion. If)-.15 F(path-)3.437 E(name e)108 312 Q +(he ar)-3.437 F .938(gument is subject to pathname e)-.18 F 3.438 +(xpansion. If)-.15 F(path-)3.438 E(name e)108 336 Q (xpansion is not desired, the ar)-.15 E(gument should be quoted.)-.18 E -(The)108 328.8 Q F1(declar)2.683 E(e)-.18 E F0(,)A F1(local)2.683 E F0 -2.683(,a)C(nd)-2.683 E F1 -.18(re)2.683 G(adonly).18 E F0 -.2(bu)2.683 G -.184(iltins each accept a).2 F F12.684 E F0 .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 F12.684 E F0(op-)2.684 E .042 -(tion to specify an associati)108 340.8 R .341 -.15(ve a)-.25 H(rray).15 +(The)108 352.8 Q F2(declar)2.684 E(e)-.18 E F0(,)A F2(local)2.684 E F0 +2.684(,a)C(nd)-2.684 E F2 -.18(re)2.684 G(adonly).18 E F0 -.2(bu)2.684 G +.184(iltins each accept a).2 F F22.684 E F0 .184 +(option to specify an inde)2.684 F -.15(xe)-.15 G 2.683(da).15 G .183 +(rray and a)-2.683 F F22.683 E F0(op-)2.683 E .041 +(tion to specify an associati)108 364.8 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 F12.541 E F0(tak)2.541 E .041(es precedence.)-.1 F(The) -5.041 E F1 -.18(re)2.541 G(ad).18 E F0 -.2(bu)2.541 G .041(iltin ac-).2 -F .863(cepts a)108 352.8 R F13.363 E F0 .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 F1(set)3.364 E F0(and)3.364 E F1(declar)3.364 E(e)-.18 E F0 -.2 -(bu)108 364.8 S(iltins display array v).2 E(alues in a w)-.25 E +-2.541 F F22.541 E F0(tak)2.541 E .041(es precedence.)-.1 F(The) +5.041 E F2 -.18(re)2.542 G(ad).18 E F0 -.2(bu)2.542 G .042(iltin ac-).2 +F .864(cepts a)108 376.8 R F23.364 E F0 .864 +(option to assign a list of w)3.364 F .864 +(ords read from the standard input to an array)-.1 F 5.863(.T)-.65 G(he) +-5.863 E F2(set)3.363 E F0(and)3.363 E F2(declar)3.363 E(e)-.18 E F0 -.2 +(bu)108 388.8 S(iltins display array v).2 E(alues in a w)-.25 E (ay that allo)-.1 E(ws them to be reused as assignments.)-.25 E/F3 10.95 -/Times-Bold@0 SF(EXP)72 381.6 Q(ANSION)-.81 E F0 .76(Expansion is perfo\ -rmed on the command line after it has been split into w)108 393.6 R 3.26 +/Times-Bold@0 SF(EXP)72 405.6 Q(ANSION)-.81 E F0 .76(Expansion is perfo\ +rmed on the command line after it has been split into w)108 417.6 R 3.26 (ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26(nk).15 G .76 -(inds of)-3.26 F -.15(ex)108 405.6 S .2(pansion performed:).15 F F2(br) -2.971 E .201(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .201(tilde e) -2.831 F(xpansion)-.2 E F0(,).24 E F2(par)3.951 E .201 -(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .201 -(command sub-)2.901 F(stitution)108 417.6 Q F0(,).24 E F2(arithmetic e) -2.83 E(xpansion)-.2 E F0(,).24 E F2(wor)2.84 E 2.5(ds)-.37 G(plitting) --2.5 E F0 2.5(,a).22 G(nd)-2.5 E F2(pathname e)3.75 E(xpansion)-.2 E F0 -(.).24 E .419(The order of e)108 434.4 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 446.4 -S .195(pansion, and command substitution \(done in a left-to-right f).15 -F .196(ashion\); w)-.1 F .196(ord splitting; and pathname e)-.1 F(xpan-) --.15 E(sion.)108 458.4 Q .257 -(On systems that can support it, there is an additional e)108 475.2 R -.257(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F2(pr)2.757 E .257 -(ocess substitution)-.45 F F0 5.257(.T)C .256(his is per)-5.257 F(-)-.2 -E(formed at the same time as tilde, parameter)108 487.2 Q 2.5(,v)-.4 G +(inds of)-3.26 F -.15(ex)108 429.6 S .201(pansion performed:).15 F F1 +(br)2.971 E .201(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .201(tilde e) +2.831 F(xpansion)-.2 E F0(,).24 E F1(par)3.951 E .201 +(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .2 +(command sub-)2.901 F(stitution)108 441.6 Q F0(,).24 E F1(arithmetic e) +2.83 E(xpansion)-.2 E F0(,).24 E F1(wor)2.84 E 2.5(ds)-.37 G(plitting) +-2.5 E F0 2.5(,a).22 G(nd)-2.5 E F1(pathname e)3.75 E(xpansion)-.2 E F0 +(.).24 E .418(The order of e)108 458.4 R .418(xpansions is: brace e)-.15 +F .418(xpansion; tilde e)-.15 F .419(xpansion, parameter and v)-.15 F +.419(ariable e)-.25 F .419(xpansion, arithmetic)-.15 F -.15(ex)108 470.4 +S .196(pansion, and command substitution \(done in a left-to-right f).15 +F .195(ashion\); w)-.1 F .195(ord splitting; and pathname e)-.1 F(xpan-) +-.15 E(sion.)108 482.4 Q .257 +(On systems that can support it, there is an additional e)108 499.2 R +.257(xpansion a)-.15 F -.25(va)-.2 G(ilable:).25 E F1(pr)2.757 E .257 +(ocess substitution)-.45 F F0 5.257(.T)C .257(his is per)-5.257 F(-)-.2 +E(formed at the same time as tilde, parameter)108 511.2 Q 2.5(,v)-.4 G (ariable, and arithmetic e)-2.75 E(xpansion and command substitution.) --.15 E .002(After these e)108 504 R .003 +-.15 E .003(After these e)108 528 R .003 (xpansions are performed, quote characters present in the original w) --.15 F .003(ord are remo)-.1 F -.15(ve)-.15 G 2.503(du).15 G .003 -(nless the)-2.503 F(y)-.15 E(ha)108 516 Q .3 -.15(ve b)-.2 H -(een quoted themselv).15 E(es \()-.15 E F2(quote r)A(emo)-.37 E(val)-.1 -E F0(\).)A .172(Only brace e)108 532.8 R .172(xpansion, w)-.15 F .171 +-.15 F .002(ord are remo)-.1 F -.15(ve)-.15 G 2.502(du).15 G .002 +(nless the)-2.502 F(y)-.15 E(ha)108 540 Q .3 -.15(ve b)-.2 H +(een quoted themselv).15 E(es \()-.15 E F1(quote r)A(emo)-.37 E(val)-.1 +E F0(\).)A .171(Only brace e)108 556.8 R .171(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 544.8 R .776(xpansions e)-.15 F +(xpansion can increase the number of w)-.15 F .172(ords of the e)-.1 F +(x-)-.15 E .777(pansion; other e)108 568.8 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 .696(pansions of ")108 556.8 R F1($@)A F0 3.196("a)C -.696(nd ")-3.196 F F1(${)A F2(name)A F1([@]})A F0 .696 -(", and, in most cases,)B F1($*)3.196 E F0(and)3.196 E F1(${)3.196 E F2 -(name)A F1([*]})A F0 .695(as e)3.196 F .695(xplained abo)-.15 F .995 --.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0 SF -.666(PA)3.195 G(-).666 -E(RAMETERS)108 568.8 Q/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 -585.6 Q F2(Br)108.58 597.6 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606 +-.15 F(x-)-.15 E .695(pansions of ")108 580.8 R F2($@)A F0 3.195("a)C +.695(nd ")-3.195 F F2(${)A F1(name)A F2([@]})A F0 .696 +(", and, in most cases,)B F2($*)3.196 E F0(and)3.196 E F2(${)3.196 E F1 +(name)A F2([*]})A F0 .696(as e)3.196 F .696(xplained abo)-.15 F .996 +-.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0 SF -.666(PA)3.196 G(-).666 +E(RAMETERS)108 592.8 Q/F5 9/Times-Roman@0 SF(\).)A F2(Brace Expansion)87 +609.6 Q F1(Br)108.58 621.6 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606 (is a mechanism by which arbitrary strings may be generated.)3.346 F -.606(This mechanism is similar)5.606 F(to)108 609.6 Q F2 .415 +.606(This mechanism is similar)5.606 F(to)108 633.6 Q F1 .415 (pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415 (ut the \214lenames generated need not e)-3.115 F 2.915(xist. P)-.15 F .415(atterns to be brace e)-.15 F .415(xpanded tak)-.15 F 2.915(et)-.1 G -(he)-2.915 E .073(form of an optional)108 621.6 R F2(pr)3.823 E(eamble) +(he)-2.915 E .074(form of an optional)108 645.6 R F1(pr)3.823 E(eamble) -.37 E F0 2.573(,f).18 G(ollo)-2.573 E .073 (wed by either a series of comma-separated strings or a sequence e)-.25 -F(xpres-)-.15 E .49(sion between a pair of braces, follo)108 633.6 R -.489(wed by an optional)-.25 F F2(postscript)4.239 E F0 5.489(.T).68 G -.489(he preamble is pre\214x)-5.489 F .489(ed to each string)-.15 F .659 -(contained within the braces, and the postscript is then appended to ea\ -ch resulting string, e)108 645.6 R .659(xpanding left to)-.15 F(right.) -108 657.6 Q .719(Brace e)108 674.4 R .719(xpansions may be nested.)-.15 -F .719(The results of each e)5.719 F .719 +F(xpres-)-.15 E .489(sion between a pair of braces, follo)108 657.6 R +.489(wed by an optional)-.25 F F1(postscript)4.239 E F0 5.49(.T).68 G +.49(he preamble is pre\214x)-5.49 F .49(ed to each string)-.15 F .659(c\ +ontained within the braces, and the postscript is then appended to each\ + resulting string, e)108 669.6 R .658(xpanding left to)-.15 F(right.)108 +681.6 Q .718(Brace e)108 698.4 R .719(xpansions may be nested.)-.15 F +.719(The results of each e)5.719 F .719 (xpanded string are not sorted; left to right order is)-.15 F(preserv) -108 686.4 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0 -(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.148(As) -108 703.2 S .648(equence e)-3.148 F .648(xpression tak)-.15 F .649 -(es the form)-.1 F F1({)3.149 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A -F1(]})A F0 3.149(,w)C(here)-3.149 E F2(x)3.149 E F0(and)3.149 E F2(y) -3.149 E F0 .649(are either inte)3.149 F .649 -(gers or single letters, and)-.15 F F2(incr)108 715.2 Q F0 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.013 -(ber between)108 727.2 R F2(x)3.513 E F0(and)3.513 E F2(y)3.513 E F0 -3.513(,i)C(nclusi)-3.513 E -.15(ve)-.25 G 6.013(.S).15 G 1.013 -(upplied inte)-6.013 F 1.013(gers may be pre\214x)-.15 F 1.013(ed with) --.15 F F2(0)3.513 E F0 1.013(to force each term to ha)3.513 F 1.314 -.15 -(ve t)-.2 H(he).15 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(21) -188.45 E 0 Cg EP +108 710.4 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F2({)A F0 +(d,c,b)A F2(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.149(As) +108 727.2 S .649(equence e)-3.149 F .649(xpression tak)-.15 F .649 +(es the form)-.1 F F2({)3.149 E F1(x)A F2(..)A F1(y)A F2([..)A F1(incr)A +F2(]})A F0 3.149(,w)C(here)-3.149 E F1(x)3.149 E F0(and)3.149 E F1(y) +3.149 E F0 .649(are either inte)3.149 F .648 +(gers or single letters, and)-.15 F(GNU Bash 5.2)72 768 Q(2022 March 11) +144.29 E(21)193.45 E 0 Cg EP %%Page: 22 22 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .015(same width.) -108 84 R .015(When either)5.015 F/F1 10/Times-Italic@0 SF(x)2.515 E F0 -(or)2.515 E F1(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell\ - attempts to force all generated terms to contain)-.15 F 1.13 -(the same number of digits, zero-padding where necessary)108 96 R 6.131 -(.W)-.65 G 1.131(hen letters are supplied, the e)-6.131 F 1.131 -(xpression e)-.15 F(x-)-.15 E .485(pands to each character le)108 108 R -.485(xicographically between)-.15 F F1(x)2.985 E F0(and)2.984 E F1(y) -2.984 E F0 2.984(,i)C(nclusi)-2.984 E -.15(ve)-.25 G 2.984(,u).15 G .484 -(sing the def)-2.984 F .484(ault C locale.)-.1 F .484(Note that)5.484 F -(both)108 120 Q F1(x)2.966 E F0(and)2.966 E F1(y)2.966 E F0 .467 -(must be of the same type \(inte)2.966 F .467(ger or letter\).)-.15 F +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10 +/Times-Italic@0 SF(incr)108 84 Q F0 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.014(ber between) +108 96 R F1(x)3.514 E F0(and)3.514 E F1(y)3.513 E F0 3.513(,i)C(nclusi) +-3.513 E -.15(ve)-.25 G 6.013(.S).15 G 1.013(upplied inte)-6.013 F 1.013 +(gers may be pre\214x)-.15 F 1.013(ed with)-.15 F F1(0)3.513 E F0 1.013 +(to force each term to ha)3.513 F 1.313 -.15(ve t)-.2 H(he).15 E .014 +(same width.)108 108 R .014(When either)5.014 F F1(x)2.514 E F0(or)2.514 +E F1(y)2.514 E F0(be)2.514 E .015(gins with a zero, the shell attempts \ +to force all generated terms to contain)-.15 F 1.131 +(the same number of digits, zero-padding where necessary)108 120 R 6.131 +(.W)-.65 G 1.13(hen letters are supplied, the e)-6.131 F 1.13 +(xpression e)-.15 F(x-)-.15 E .484(pands to each character le)108 132 R +.484(xicographically between)-.15 F F1(x)2.984 E F0(and)2.984 E F1(y) +2.984 E F0 2.984(,i)C(nclusi)-2.984 E -.15(ve)-.25 G 2.984(,u).15 G .485 +(sing the def)-2.984 F .485(ault C locale.)-.1 F .485(Note that)5.485 F +(both)108 144 Q F1(x)2.967 E F0(and)2.967 E F1(y)2.967 E F0 .467 +(must be of the same type \(inte)2.967 F .467(ger or letter\).)-.15 F .467(When the increment is supplied, it is used as the)5.467 F(dif)108 -132 Q(ference between each term.)-.25 E(The def)5 E -(ault increment is 1 or \2551 as appropriate.)-.1 E .582(Brace e)108 -148.8 R .582(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581 -(ther e)-3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581 -(haracters special to other e)-3.081 F(xpansions)-.15 E .015 -(are preserv)108 160.8 R .015(ed in the result.)-.15 F .015 -(It is strictly te)5.015 F(xtual.)-.15 E/F2 10/Times-Bold@0 SF(Bash) -5.016 E F0 .016(does not apply an)2.516 F 2.516(ys)-.15 G .016 -(yntactic interpretation to the con-)-2.516 F(te)108 172.8 Q +156 Q(ference between each term.)-.25 E(The def)5 E +(ault increment is 1 or \2551 as appropriate.)-.1 E .581(Brace e)108 +172.8 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 184.8 R .016(ed in the result.)-.15 F .016 +(It is strictly te)5.016 F(xtual.)-.15 E/F2 10/Times-Bold@0 SF(Bash) +5.016 E F0 .015(does not apply an)2.516 F 2.515(ys)-.15 G .015 +(yntactic interpretation to the con-)-2.515 F(te)108 196.8 Q (xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.) --.15 E 2.502(Ac)108 189.6 S .002(orrectly-formed brace e)-2.502 F .001(\ +-.15 E 2.501(Ac)108 213.6 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 .457(quoted comma or a v)108 201.6 R .458 + one un-)-.15 F .458(quoted comma or a v)108 225.6 R .458 (alid sequence e)-.25 F 2.958(xpression. An)-.15 F 2.958(yi)-.15 G .458 -(ncorrectly formed brace e)-2.958 F .458(xpansion is left unchanged.) --.15 F(A)108 213.6 Q F2({)2.522 E F0(or)2.522 E F2(,)2.522 E F0 .022 -(may be quoted with a backslash to pre)2.522 F -.15(ve)-.25 G .021 -(nt its being considered part of a brace e).15 F 2.521(xpression. T)-.15 -F 2.521(oa)-.8 G -.2(vo)-2.721 G(id).2 E .172 -(con\215icts with parameter e)108 225.6 R .172(xpansion, the string)-.15 +(ncorrectly formed brace e)-2.958 F .457(xpansion is left unchanged.) +-.15 F(A)108 237.6 Q F2({)2.521 E F0(or)2.521 E F2(,)2.521 E F0 .021 +(may be quoted with a backslash to pre)2.521 F -.15(ve)-.25 G .022 +(nt its being considered part of a brace e).15 F 2.522(xpression. T)-.15 +F 2.522(oa)-.8 G -.2(vo)-2.722 G(id).2 E .172 +(con\215icts with parameter e)108 249.6 R .172(xpansion, the string)-.15 F F2(${)2.672 E F0 .172(is not considered eligible for brace e)2.672 F -.172(xpansion, and inhibits)-.15 F(brace e)108 237.6 Q +.172(xpansion, and inhibits)-.15 F(brace e)108 261.6 Q (xpansion until the closing)-.15 E F2(})2.5 E F0(.)A 1.476(This constru\ ct is typically used as shorthand when the common pre\214x of the strin\ -gs to be generated is)108 254.4 R(longer than in the abo)108 266.4 Q .3 +gs to be generated is)108 278.4 R(longer than in the abo)108 290.4 Q .3 -.15(ve ex)-.15 H(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 -283.2 Q -.65(w,)-.25 G(dist,b).65 E(ugs})-.2 E(or)108 295.2 Q(cho)144 -307.2 Q(wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 -E(w_e)-.25 E(x}})-.15 E .618(Brace e)108 324 R .618 +307.2 Q -.65(w,)-.25 G(dist,b).65 E(ugs})-.2 E(or)108 319.2 Q(cho)144 +331.2 Q(wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 +E(w_e)-.25 E(x}})-.15 E .618(Brace e)108 348 R .618 (xpansion introduces a slight incompatibility with historical v)-.15 F .618(ersions of)-.15 F F2(sh)3.118 E F0(.)A F2(sh)5.618 E F0 .618 -(does not treat open-)3.118 F .248 -(ing or closing braces specially when the)108 336 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 F0(remo)108 348 Q -.15 +(does not treat open-)3.118 F .247 +(ing or closing braces specially when the)108 360 R 2.747(ya)-.15 G .247 +(ppear as part of a w)-2.747 F .248(ord, and preserv)-.1 F .248 +(es them in the output.)-.15 F F2(Bash)5.248 E F0(remo)108 372 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 F0(as)3.53 E F1(\214le{1,2})108 360 Q F0 .515 -(appears identically in the output.)3.015 F .515(The same w)5.515 F .515 -(ord is output as)-.1 F F1 .514(\214le1 \214le2)4.925 F F0 .514(after e) -3.034 F .514(xpansion by)-.15 F F2(bash)3.014 E F0(.)A .436 -(If strict compatibility with)108 372 R F2(sh)2.936 E F0 .436 +3.53 E F0(as)3.53 E F1(\214le{1,2})108 384 Q F0 .514 +(appears identically in the output.)3.014 F .515(The same w)5.515 F .515 +(ord is output as)-.1 F F1 .515(\214le1 \214le2)4.925 F F0 .515(after e) +3.035 F .515(xpansion by)-.15 F F2(bash)3.015 E F0(.)A .437 +(If strict compatibility with)108 396 R F2(sh)2.936 E F0 .436 (is desired, start)2.936 F F2(bash)2.936 E F0 .436(with the)2.936 F F2 -(+B)2.936 E F0 .436(option or disable brace e)2.936 F .437 -(xpansion with the)-.15 F F2(+B)108 384 Q F0(option to the)2.5 E F2(set) +(+B)2.936 E F0 .436(option or disable brace e)2.936 F .436 +(xpansion with the)-.15 F F2(+B)108 408 Q F0(option to the)2.5 E F2(set) 2.5 E F0(command \(see)2.5 E/F3 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 -E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -.18(Ti)87 400.8 S -(lde Expansion).18 E F0 1.087(If a w)108 412.8 R 1.087(ord be)-.1 F -1.087(gins with an unquoted tilde character \(`)-.15 F F2(~)A F0 1.086 +E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -.18(Ti)87 424.8 S +(lde Expansion).18 E F0 1.086(If a w)108 436.8 R 1.086(ord be)-.1 F +1.086(gins with an unquoted tilde character \(`)-.15 F F2(~)A F0 1.087 ('\), all of the characters preceding the \214rst unquoted)B .185(slash\ \(or all characters, if there is no unquoted slash\) are considered a) -108 424.8 R F1(tilde-pr)2.685 E(e\214x)-.37 E F0 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 436.8 R .725 -(wing the tilde are treated as a possible)-.25 F F1(lo)108 448.8 Q .522 -(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522 +108 448.8 R F1(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn) +-5.185 G .185(one of the characters)-2.685 F .725(in the tilde-pre\214x\ + are quoted, the characters in the tilde-pre\214x follo)108 460.8 R .726 +(wing the tilde are treated as a possible)-.25 F F1(lo)108 472.8 Q .523 +(gin name)-.1 F F0 5.523(.I)C 3.023(ft)-5.523 G .523 (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 F3(HOME)108 460.8 Q/F4 -9/Times-Roman@0 SF(.)A F0(If)4.787 E F3(HOME)2.787 E F0 .287 -(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286 -(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\ +-3.023 F .522(alue of the shell parameter)-.25 F F3(HOME)108 484.8 Q/F4 +9/Times-Roman@0 SF(.)A F0(If)4.786 E F3(HOME)2.786 E F0 .287 +(is unset, the home directory of the user e)2.536 F -.15(xe)-.15 G .287 +(cuting the shell is substituted instead.).15 F(Other)5.287 E(-)-.2 E(w\ ise, the tilde-pre\214x is replaced with the home directory associated \ -with the speci\214ed login name.)108 472.8 Q .092 -(If the tilde-pre\214x is a `~+', the v)108 489.6 R .092 +with the speci\214ed login name.)108 496.8 Q .093 +(If the tilde-pre\214x is a `~+', the v)108 513.6 R .092 (alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092 -(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is) -5.093 F 3.404(a`)108 501.6 S .904(~\255', the v)-3.404 F .904 +(replaces the tilde-pre\214x.)2.342 F .092(If the tilde-pre\214x is) +5.092 F 3.403(a`)108 525.6 S .903(~\255', the v)-3.403 F .903 (alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0 -.904(if it is set, is substituted.)3.154 F .903(If the characters follo) -5.903 F .903(wing the)-.25 F .879 -(tilde in the tilde-pre\214x consist of a number)108 513.6 R F1(N)3.379 -E F0 3.379(,o)C .879(ptionally pre\214x)-3.379 F .88 +.904(if it is set, is substituted.)3.154 F .904(If the characters follo) +5.904 F .904(wing the)-.25 F .88 +(tilde in the tilde-pre\214x consist of a number)108 537.6 R F1(N)3.38 E +F0 3.38(,o)C .88(ptionally pre\214x)-3.38 F .879 (ed by a `+' or a `\255', the tilde-pre\214x is re-)-.15 F .138(placed \ with the corresponding element from the directory stack, as it w)108 -525.6 R .138(ould be displayed by the)-.1 F F2(dirs)2.638 E F0 -.2(bu) -2.638 G(iltin).2 E(in)108 537.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.838(dw).1 G -.338(ith the tilde-pre\214x as an ar)-2.838 F 2.838(gument. If)-.18 F +549.6 R .138(ould be displayed by the)-.1 F F2(dirs)2.639 E F0 -.2(bu) +2.639 G(iltin).2 E(in)108 561.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.839(dw).1 G +.338(ith the tilde-pre\214x as an ar)-2.839 F 2.838(gument. If)-.18 F .338(the characters follo)2.838 F .338 (wing the tilde in the tilde-pre\214x consist)-.25 F -(of a number without a leading `+' or `\255', `+' is assumed.)108 549.6 -Q(If the login name is in)108 566.4 Q -.25(va)-.4 G(lid, or the tilde e) -.25 E(xpansion f)-.15 E(ails, the w)-.1 E(ord is unchanged.)-.1 E .167 -(Each v)108 583.2 R .167(ariable assignment is check)-.25 F .167 +(of a number without a leading `+' or `\255', `+' is assumed.)108 573.6 +Q(If the login name is in)108 590.4 Q -.25(va)-.4 G(lid, or the tilde e) +.25 E(xpansion f)-.15 E(ails, the w)-.1 E(ord is unchanged.)-.1 E .166 +(Each v)108 607.2 R .167(ariable assignment is check)-.25 F .167 (ed for unquoted tilde-pre\214x)-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F2(:)2.667 E F0 .167(or the \214rst)2.667 F F2(=) -2.666 E F0 5.166(.I)C(n)-5.166 E .467(these cases, tilde e)108 595.2 R -.467(xpansion is also performed.)-.15 F(Consequently)5.467 E 2.967(,o) --.65 G .468(ne may use \214lenames with tildes in assign-)-2.967 F -(ments to)108 607.2 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 +2.667 E F0 5.167(.I)C(n)-5.167 E .468(these cases, tilde e)108 619.2 R +.468(xpansion is also performed.)-.15 F(Consequently)5.467 E 2.967(,o) +-.65 G .467(ne may use \214lenames with tildes in assign-)-2.967 F +(ments to)108 631.2 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT) -.666 G(H).855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v) --.15 E(alue.)-.25 E .024(Bash also performs tilde e)108 624 R .024 -(xpansion on w)-.15 F .023(ords satisfying the conditions of v)-.1 F -.023(ariable assignments \(as described)-.25 F(abo)108 636 Q .769 -.15 -(ve u)-.15 H(nder).15 E F3 -.666(PA)2.969 G(RAMETERS).666 E F4(\))A F0 -.469(when the)2.719 F 2.969(ya)-.15 G .469(ppear as ar)-2.969 F .469 -(guments to simple commands.)-.18 F .47(Bash does not do this,)5.469 F --.15(ex)108 648 S(cept for the).15 E F1(declar)2.5 E(ation)-.15 E F0 +-.15 E(alue.)-.25 E .023(Bash also performs tilde e)108 648 R .023 +(xpansion on w)-.15 F .024(ords satisfying the conditions of v)-.1 F +.024(ariable assignments \(as described)-.25 F(abo)108 660 Q .77 -.15 +(ve u)-.15 H(nder).15 E F3 -.666(PA)2.97 G(RAMETERS).666 E F4(\))A F0 +.47(when the)2.72 F 2.969(ya)-.15 G .469(ppear as ar)-2.969 F .469 +(guments to simple commands.)-.18 F .469(Bash does not do this,)5.469 F +-.15(ex)108 672 S(cept for the).15 E F1(declar)2.5 E(ation)-.15 E F0 (commands listed abo)2.5 E -.15(ve)-.15 G 2.5(,w).15 G(hen in)-2.5 E F1 -(posix mode)2.5 E F0(.)A F2 -.1(Pa)87 664.8 S(rameter Expansion).1 E F0 -.2(The `)108 676.8 R F2($)A F0 2.7('c)C .199 -(haracter introduces parameter e)-2.7 F .199 -(xpansion, command substitution, or arithmetic e)-.15 F 2.699 -(xpansion. The)-.15 F(pa-)2.699 E .314(rameter name or symbol to be e) -108 688.8 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 700.8 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 -712.8 Q 1.189 -(When braces are used, the matching ending brace is the \214rst `)108 -729.6 R F2(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a) --3.69 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(22)188.45 E 0 Cg -EP +(posix mode)2.5 E F0(.)A F2 -.1(Pa)87 688.8 S(rameter Expansion).1 E F0 +.199(The `)108 700.8 R F2($)A F0 2.699('c)C .199 +(haracter introduces parameter e)-2.699 F .199 +(xpansion, command substitution, or arithmetic e)-.15 F 2.7 +(xpansion. The)-.15 F(pa-)2.7 E .314(rameter name or symbol to be e)108 +712.8 R .314(xpanded may be enclosed in braces, which are optional b) +-.15 F .314(ut serv)-.2 F 2.813(et)-.15 G 2.813(op)-2.813 G(rotect) +-2.813 E .414(the v)108 724.8 R .414(ariable to be e)-.25 F .414 +(xpanded from characters immediately follo)-.15 F .415 +(wing it which could be interpreted as part of)-.25 F(GNU Bash 5.2)72 +768 Q(2022 March 11)144.29 E(22)193.45 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .822 -(quoted string, and not within an embedded arithmetic e)108 84 R .821 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(the name.)108 84 Q +1.19(When braces are used, the matching ending brace is the \214rst `) +108 100.8 R/F1 10/Times-Bold@0 SF(})A F0 3.689('n)C 1.189 +(ot escaped by a backslash or within a)-3.689 F .821 +(quoted string, and not within an embedded arithmetic e)108 112.8 R .822 (xpansion, command substitution, or parameter e)-.15 F(x-)-.15 E -(pansion.)108 96 Q(${)108 112.8 Q/F1 10/Times-Italic@0 SF(par)A(ameter) --.15 E F0(})A .106(The v)144 124.8 R .106(alue of)-.25 F F1(par)2.606 E -(ameter)-.15 E F0 .106(is substituted.)2.606 F .106 -(The braces are required when)5.106 F F1(par)3.856 E(ameter)-.15 E F0 -.106(is a positional pa-)3.336 F .111 -(rameter with more than one digit, or when)144 136.8 R F1(par)3.861 E -(ameter)-.15 E F0 .111(is follo)3.341 F .11 +(pansion.)108 124.8 Q(${)108 141.6 Q/F2 10/Times-Italic@0 SF(par)A +(ameter)-.15 E F0(})A .106(The v)144 153.6 R .106(alue of)-.25 F F2(par) +2.606 E(ameter)-.15 E F0 .106(is substituted.)2.606 F .106 +(The braces are required when)5.106 F F2(par)3.856 E(ameter)-.15 E F0 +.106(is a positional pa-)3.336 F .11 +(rameter with more than one digit, or when)144 165.6 R F2(par)3.86 E +(ameter)-.15 E F0 .111(is follo)3.341 F .111 (wed by a character which is not to be)-.25 F .208 -(interpreted as part of its name.)144 148.8 R(The)5.208 E F1(par)2.708 E +(interpreted as part of its name.)144 177.6 R(The)5.208 E F2(par)2.708 E (ameter)-.15 E F0 .208(is a shell parameter as described abo)2.708 F --.15(ve)-.15 G/F2 10/Times-Bold@0 SF -.74(PA)2.858 G(RAME-).74 E(TERS) -144 160.8 Q F0 2.5(\)o)C 2.5(ra)-2.5 G 2.5(na)-2.5 G(rray reference \() --2.5 E F2(Arrays)A F0(\).)A .347(If the \214rst character of)108 177.6 R -F1(par)2.846 E(ameter)-.15 E F0 .346(is an e)2.846 F .346 -(xclamation point \()-.15 F F2(!)A F0 .346(\), and)B F1(par)2.846 E -(ameter)-.15 E F0 .346(is not a)2.846 F F1(namer)2.846 E(ef)-.37 E F0 -2.846(,i)C 2.846(ti)-2.846 G(ntroduces)-2.846 E 2.906(al)108 189.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 F2(Bash)5.406 E F0 .406(uses the v)2.906 F .406 -(alue formed by e)-.25 F .406(xpanding the rest of)-.15 F F1(par)2.906 E -(ameter)-.15 E F0 .406(as the ne)2.906 F(w)-.25 E F1(par)2.907 E(ame-) --.15 E(ter)108 201.6 Q F0 2.579(;t)C .079(his is then e)-2.579 F .079 -(xpanded and that v)-.15 F .079(alue is used in the rest of the e)-.25 F -.078(xpansion, rather than the e)-.15 F .078(xpansion of the)-.15 F -(original)108 213.6 Q F1(par)2.542 E(ameter)-.15 E F0 5.042(.T)C .042 -(his is kno)-5.042 F .042(wn as)-.25 F F1(indir)2.543 E .043(ect e)-.37 -F(xpansion)-.2 E F0 5.043(.T)C .043(he v)-5.043 F .043 -(alue is subject to tilde e)-.25 F .043(xpansion, parameter)-.15 F -.15 -(ex)108 225.6 S .249(pansion, command substitution, and arithmetic e).15 -F 2.749(xpansion. If)-.15 F F1(par)2.749 E(ameter)-.15 E F0 .248 -(is a nameref, this e)2.749 F .248(xpands to the)-.15 F 1.51 -(name of the parameter referenced by)108 237.6 R F1(par)4.01 E(ameter) +-.15(ve)-.15 G F1 -.74(PA)2.858 G(RAME-).74 E(TERS)144 189.6 Q F0 2.5 +(\)o)C 2.5(ra)-2.5 G 2.5(na)-2.5 G(rray reference \()-2.5 E F1(Arrays)A +F0(\).)A .346(If the \214rst character of)108 206.4 R F2(par)2.846 E +(ameter)-.15 E F0 .346(is an e)2.846 F .346(xclamation point \()-.15 F +F1(!)A F0 .346(\), and)B F2(par)2.846 E(ameter)-.15 E F0 .346(is not a) +2.846 F F2(namer)2.846 E(ef)-.37 E F0 2.847(,i)C 2.847(ti)-2.847 G +(ntroduces)-2.847 E 2.907(al)108 218.4 S -2.15 -.25(ev e)-2.907 H 2.907 +(lo).25 G 2.906(fi)-2.907 G(ndirection.)-2.906 E F1(Bash)5.406 E F0 .406 +(uses the v)2.906 F .406(alue formed by e)-.25 F .406 +(xpanding the rest of)-.15 F F2(par)2.906 E(ameter)-.15 E F0 .406 +(as the ne)2.906 F(w)-.25 E F2(par)2.906 E(ame-)-.15 E(ter)108 230.4 Q +F0 2.578(;t)C .078(his is then e)-2.578 F .078(xpanded and that v)-.15 F +.079(alue is used in the rest of the e)-.25 F .079 +(xpansion, rather than the e)-.15 F .079(xpansion of the)-.15 F +(original)108 242.4 Q F2(par)2.543 E(ameter)-.15 E F0 5.043(.T)C .043 +(his is kno)-5.043 F .043(wn as)-.25 F F2(indir)2.543 E .043(ect e)-.37 +F(xpansion)-.2 E F0 5.043(.T)C .043(he v)-5.043 F .042 +(alue is subject to tilde e)-.25 F .042(xpansion, parameter)-.15 F -.15 +(ex)108 254.4 S .248(pansion, command substitution, and arithmetic e).15 +F 2.748(xpansion. If)-.15 F F2(par)2.749 E(ameter)-.15 E F0 .249 +(is a nameref, this e)2.749 F .249(xpands to the)-.15 F 1.51 +(name of the parameter referenced by)108 266.4 R F2(par)4.01 E(ameter) -.15 E F0 1.51(instead of performing the complete indirect e)4.01 F -(xpansion.)-.15 E .388(The e)108 249.6 R .387 -(xceptions to this are the e)-.15 F .387(xpansions of ${)-.15 F F2(!)A -F1(pr)A(e\214x)-.37 E F2(*)A F0 2.887(}a)C .387(nd ${)-2.887 F F2(!)A F1 -(name)A F0([)A F1(@)A F0 .387(]} described belo)B 4.187 -.65(w. T)-.25 H -.387(he e).65 F(xclama-)-.15 E(tion point must immediately follo)108 -261.6 Q 2.5(wt)-.25 G(he left brace in order to introduce indirection.) --2.5 E .334(In each of the cases belo)108 278.4 R -.65(w,)-.25 G F1(wor) +(xpansion.)-.15 E .387(The e)108 278.4 R .387 +(xceptions to this are the e)-.15 F .387(xpansions of ${)-.15 F F1(!)A +F2(pr)A(e\214x)-.37 E F1(*)A F0 2.887(}a)C .387(nd ${)-2.887 F F1(!)A F2 +(name)A F0([)A F2(@)A F0 .387(]} described belo)B 4.188 -.65(w. T)-.25 H +.388(he e).65 F(xclama-)-.15 E(tion point must immediately follo)108 +290.4 Q 2.5(wt)-.25 G(he left brace in order to introduce indirection.) +-2.5 E .334(In each of the cases belo)108 307.2 R -.65(w,)-.25 G F2(wor) 3.484 E(d)-.37 E F0 .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 290.4 Q(xpansion.)-.15 E .067 -(When not performing substring e)108 307.2 R .067 +F(and arithmetic e)108 319.2 Q(xpansion.)-.15 E .066 +(When not performing substring e)108 336 R .067 (xpansion, using the forms documented belo)-.15 F 2.567(w\()-.25 G -(e.g.,)-2.567 E F2(:-)2.567 E F0(\),)A F2(bash)2.567 E F0 .066 -(tests for a pa-)2.567 F(rameter that is unset or null.)108 319.2 Q(Omi\ -tting the colon results in a test only for a parameter that is unset.)5 -E(${)108 336 Q F1(par)A(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(})A -F2 .722(Use Default V)144 348 R(alues)-.92 E F0 5.722(.I)C(f)-5.722 E F1 -(par)4.472 E(ameter)-.15 E F0 .723(is unset or null, the e)3.952 F .723 -(xpansion of)-.15 F F1(wor)3.563 E(d)-.37 E F0 .723(is substituted.) -3.993 F(Other)5.723 E(-)-.2 E(wise, the v)144 360 Q(alue of)-.25 E F1 -(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 372 Q F1(par) -A(ameter)-.15 E F2(:=)A F1(wor)A(d)-.37 E F0(})A F2 .812 -(Assign Default V)144 384 R(alues)-.92 E F0 5.812(.I)C(f)-5.812 E F1 +(e.g.,)-2.567 E F1(:-)2.567 E F0(\),)A F1(bash)2.567 E F0 .067 +(tests for a pa-)2.567 F(rameter that is unset or null.)108 348 Q(Omitt\ +ing the colon results in a test only for a parameter that is unset.)5 E +(${)108 364.8 Q F2(par)A(ameter)-.15 E F1<3aad>A F2(wor)A(d)-.37 E F0(}) +A F1 .723(Use Default V)144 376.8 R(alues)-.92 E F0 5.723(.I)C(f)-5.723 +E F2(par)4.473 E(ameter)-.15 E F0 .723(is unset or null, the e)3.953 F +.722(xpansion of)-.15 F F2(wor)3.562 E(d)-.37 E F0 .722(is substituted.) +3.992 F(Other)5.722 E(-)-.2 E(wise, the v)144 388.8 Q(alue of)-.25 E F2 +(par)3.75 E(ameter)-.15 E F0(is substituted.)3.23 E(${)108 400.8 Q F2 +(par)A(ameter)-.15 E F1(:=)A F2(wor)A(d)-.37 E F0(})A F1 .811 +(Assign Default V)144 412.8 R(alues)-.92 E F0 5.812(.I)C(f)-5.812 E F2 (par)4.562 E(ameter)-.15 E F0 .812(is unset or null, the e)4.042 F .812 -(xpansion of)-.15 F F1(wor)3.652 E(d)-.37 E F0 .812(is assigned to)4.082 -F F1(pa-)4.561 E -.15(ra)144 396 S(meter).15 E F0 5.741(.T).73 G .741 -(he v)-5.741 F .741(alue of)-.25 F F1(par)4.491 E(ameter)-.15 E F0 .742 -(is then substituted.)3.972 F .742 +(xpansion of)-.15 F F2(wor)3.652 E(d)-.37 E F0 .812(is assigned to)4.082 +F F2(pa-)4.562 E -.15(ra)144 424.8 S(meter).15 E F0 5.742(.T).73 G .742 +(he v)-5.742 F .742(alue of)-.25 F F2(par)4.492 E(ameter)-.15 E F0 .742 +(is then substituted.)3.972 F .741 (Positional parameters and special parame-)5.742 F -(ters may not be assigned to in this w)144 408 Q(ay)-.1 E(.)-.65 E(${) -108 420 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A F2 -.535(Display Err)144 432 R .535(or if Null or Unset)-.18 F F0 5.535(.I)C -(f)-5.535 E F1(par)4.285 E(ameter)-.15 E F0 .535 -(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F1(wor)3.035 E -(d)-.37 E F0 .535(\(or a mes-)3.035 F .012(sage to that ef)144 444 R -.012(fect if)-.25 F F1(wor)2.852 E(d)-.37 E F0 .013(is not present\) is\ - written to the standard error and the shell, if it is not in-)3.282 F -(teracti)144 456 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,) --2.65 F(the v)2.5 E(alue of)-.25 E F1(par)2.5 E(ameter)-.15 E F0 -(is substituted.)2.5 E(${)108 468 Q F1(par)A(ameter)-.15 E F2(:+)A F1 -(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 480 R .745(nate V)-.15 F -(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F1(par)4.495 E(ameter)-.15 E F0 +(ters may not be assigned to in this w)144 436.8 Q(ay)-.1 E(.)-.65 E(${) +108 448.8 Q F2(par)A(ameter)-.15 E F1(:?)A F2(wor)A(d)-.37 E F0(})A F1 +.535(Display Err)144 460.8 R .535(or if Null or Unset)-.18 F F0 5.535 +(.I)C(f)-5.535 E F2(par)4.285 E(ameter)-.15 E F0 .535 +(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F2(wor)3.035 E +(d)-.37 E F0 .535(\(or a mes-)3.035 F .013(sage to that ef)144 472.8 R +.013(fect if)-.25 F F2(wor)2.853 E(d)-.37 E F0 .013(is not present\) is\ + written to the standard error and the shell, if it is not in-)3.283 F +(teracti)144 484.8 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,) +-2.65 F(the v)2.5 E(alue of)-.25 E F2(par)2.5 E(ameter)-.15 E F0 +(is substituted.)2.5 E(${)108 496.8 Q F2(par)A(ameter)-.15 E F1(:+)A F2 +(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 508.8 R .745(nate V)-.15 F +(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F2(par)4.495 E(ameter)-.15 E F0 .745(is null or unset, nothing is substituted, otherwise the e)3.975 F -(xpan-)-.15 E(sion of)144 492 Q F1(wor)2.84 E(d)-.37 E F0 -(is substituted.)3.27 E(${)108 504 Q F1(par)A(ameter)-.15 E F2(:)A F1 -(of)A(fset)-.18 E F0(})A(${)108 516 Q F1(par)A(ameter)-.15 E F2(:)A F1 -(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .002(Substring Expansion) -144 528 R F0 5.002(.E)C .002(xpands to up to)-5.002 F F1(length)2.502 E -F0 .002(characters of the v)2.502 F .002(alue of)-.25 F F1(par)2.502 E -(ameter)-.15 E F0 .002(starting at the)2.502 F .235 -(character speci\214ed by)144 540 R F1(of)2.735 E(fset)-.18 E F0 5.235 -(.I)C(f)-5.235 E F1(par)2.735 E(ameter)-.15 E F0(is)2.735 E F2(@)2.735 E -F0 2.735(,a)C 2.735(ni)-2.735 G(nde)-2.735 E -.15(xe)-.15 G 2.735(da).15 -G .235(rray subscripted by)-2.735 F F2(@)2.735 E F0(or)2.735 E F2(*) -2.735 E F0 2.735(,o)C 2.735(ra)-2.735 G 2.735(na)-2.735 G(s-)-2.735 E -(sociati)144 552 Q 1.577 -.15(ve a)-.25 H 1.277 -(rray name, the results dif).15 F 1.277(fer as described belo)-.25 F -5.077 -.65(w. I)-.25 H(f).65 E F1(length)3.777 E F0 1.278(is omitted, e) -3.778 F 1.278(xpands to the)-.15 F .043(substring of the v)144 564 R -.043(alue of)-.25 F F1(par)2.543 E(ameter)-.15 E F0 .042 -(starting at the character speci\214ed by)2.543 F F1(of)2.542 E(fset) --.18 E F0 .042(and e)2.542 F .042(xtending to the)-.15 F .846 -(end of the v)144 576 R(alue.)-.25 E F1(length)5.846 E F0(and)3.346 E F1 -(of)3.346 E(fset)-.18 E F0 .846(are arithmetic e)3.346 F .847 -(xpressions \(see)-.15 F/F3 9/Times-Bold@0 SF .847(ARITHMETIC EV)3.347 F -(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(belo)144 588 Q(w\).)-.25 E -(If)144 612 Q F1(of)3.029 E(fset)-.18 E F0 -.25(eva)3.029 G .529 +(xpan-)-.15 E(sion of)144 520.8 Q F2(wor)2.84 E(d)-.37 E F0 +(is substituted.)3.27 E(${)108 532.8 Q F2(par)A(ameter)-.15 E F1(:)A F2 +(of)A(fset)-.18 E F0(})A(${)108 544.8 Q F2(par)A(ameter)-.15 E F1(:)A F2 +(of)A(fset)-.18 E F1(:)A F2(length)A F0(})A F1 .002(Substring Expansion) +144 556.8 R F0 5.002(.E)C .002(xpands to up to)-5.002 F F2(length)2.502 +E F0 .002(characters of the v)2.502 F .002(alue of)-.25 F F2(par)2.502 E +(ameter)-.15 E F0 .002(starting at the)2.502 F .003 +(character speci\214ed by)144 568.8 R F2(of)2.503 E(fset)-.18 E F0 5.003 +(.I)C(f)-5.003 E F2(par)2.503 E(ameter)-.15 E F0(is)2.503 E F1(@)2.503 E +F0(or)2.503 E F1(*)2.503 E F0 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 F1(@) +2.503 E F0(or)2.503 E F1(*)2.504 E F0 2.504(,o)C 2.504(ra)-2.504 G(n) +-2.504 E(associati)144 580.8 Q 1.022 -.15(ve a)-.25 H .722 +(rray name, the results dif).15 F .722(fer as described belo)-.25 F +4.522 -.65(w. I)-.25 H(f).65 E F2(length)3.222 E F0 .722(is omitted, e) +3.222 F .722(xpands to the)-.15 F .042(substring of the v)144 592.8 R +.042(alue of)-.25 F F2(par)2.542 E(ameter)-.15 E F0 .043 +(starting at the character speci\214ed by)2.542 F F2(of)2.543 E(fset) +-.18 E F0 .043(and e)2.543 F .043(xtending to the)-.15 F .847 +(end of the v)144 604.8 R(alue.)-.25 E F2(length)5.846 E F0(and)3.346 E +F2(of)3.346 E(fset)-.18 E F0 .846(are arithmetic e)3.346 F .846 +(xpressions \(see)-.15 F/F3 9/Times-Bold@0 SF .846(ARITHMETIC EV)3.346 F +(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(belo)144 616.8 Q(w\).)-.25 E +(If)144 640.8 Q F2(of)3.028 E(fset)-.18 E F0 -.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 -.045(end of the v)144 624 R .045(alue of)-.25 F F1(par)2.546 E(ameter) --.15 E F0 5.046(.I)C(f)-5.046 E F1(length)2.546 E F0 -.25(eva)2.546 G +.046(end of the v)144 652.8 R .046(alue of)-.25 F F2(par)2.546 E(ameter) +-.15 E F0 5.046(.I)C(f)-5.046 E F2(length)2.546 E F0 -.25(eva)2.546 G .046(luates to a number less than zero, it is interpreted as an).25 F -(of)144 636 Q .203(fset in characters from the end of the v)-.25 F .202 -(alue of)-.25 F F1(par)2.702 E(ameter)-.15 E F0 .202 -(rather than a number of characters, and)2.702 F .557(the e)144 648 R -.557(xpansion is the characters between)-.15 F F1(of)3.057 E(fset)-.18 E -F0 .557(and that result.)3.057 F .558(Note that a ne)5.558 F -.05(ga) --.15 G(ti).05 E .858 -.15(ve o)-.25 H -.25(ff).15 G .558(set must be).25 -F(separated from the colon by at least one space to a)144 660 Q -.2(vo) --.2 G(id being confused with the).2 E F2(:-)2.5 E F0 -.15(ex)2.5 G -(pansion.).15 E(If)144 684 Q F1(par)2.959 E(ameter)-.15 E F0(is)2.959 E -F2(@)2.959 E F0 2.959(,t)C .459(he result is)-2.959 F F1(length)2.959 E -F0 .459(positional parameters be)2.959 F .458(ginning at)-.15 F F1(of) -2.958 E(fset)-.18 E F0 5.458(.A)C(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15 -(ve)-.25 G F1(of)3.108 E(fset)-.18 E F0 .6(is tak)144 696 R .6 -(en relati)-.1 F .9 -.15(ve t)-.25 H 3.1(oo).15 G .6 -(ne greater than the greatest positional parameter)-3.1 F 3.1(,s)-.4 G -3.1(oa)-3.1 G 3.1(no)-3.1 G -.25(ff)-3.1 G .6(set of \2551 e).25 F -.25 -(va)-.25 G(luates).25 E .64(to the last positional parameter)144 708 R -5.64(.I)-.55 G 3.14(ti)-5.64 G 3.14(sa)-3.14 G 3.139(ne)-3.14 G .639 -(xpansion error if)-3.289 F F1(length)3.139 E F0 -.25(eva)3.139 G .639 -(luates to a number less than).25 F(zero.)144 720 Q(GNU Bash 5.2)72 768 -Q(2022 February 10)139.29 E(23)188.45 E 0 Cg EP +(of)144 664.8 Q .202(fset in characters from the end of the v)-.25 F +.202(alue of)-.25 F F2(par)2.702 E(ameter)-.15 E F0 .203 +(rather than a number of characters, and)2.702 F .558(the e)144 676.8 R +.558(xpansion is the characters between)-.15 F F2(of)3.058 E(fset)-.18 E +F0 .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 688.8 Q -.2 +(vo)-.2 G(id being confused with the).2 E F1(:-)2.5 E F0 -.15(ex)2.5 G +(pansion.).15 E(If)144 712.8 Q F2(par)3.283 E(ameter)-.15 E F0(is)3.283 +E F1(@)3.283 E F0(or)3.283 E F1(*)3.284 E F0 3.284(,t)C .784 +(he result is)-3.284 F F2(length)3.284 E F0 .784 +(positional parameters be)3.284 F .784(ginning at)-.15 F F2(of)3.284 E +(fset)-.18 E F0 5.784(.A)C(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve) +-.25 G F2(of)144 724.8 Q(fset)-.18 E F0 1.552(is tak)4.052 F 1.552 +(en relati)-.1 F 1.852 -.15(ve t)-.25 H 4.051(oo).15 G 1.551 +(ne greater than the greatest positional parameter)-4.051 F 4.051(,s)-.4 +G 4.051(oa)-4.051 G 4.051(no)-4.051 G -.25(ff)-4.051 G 1.551 +(set of \2551).25 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(23) +193.45 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(If)144 84 Q/F1 10 -/Times-Italic@0 SF(par)3.013 E(ameter)-.15 E F0 .514(is an inde)3.013 F --.15(xe)-.15 G 3.014(da).15 G .514 -(rray name subscripted by @ or *, the result is the)-3.014 F F1(length) -3.014 E F0 .514(members of)3.014 F 1.082(the array be)144 96 R 1.082 -(ginning with ${)-.15 F F1(par)A(ameter)-.15 E F0([)A F1(of)A(fset)-.18 -E F0 3.582(]}. A)B(ne)3.582 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F1 -(of)3.732 E(fset)-.18 E F0 1.081(is tak)3.581 F 1.081(en relati)-.1 F -1.381 -.15(ve t)-.25 H 3.581(oo).15 G 1.081(ne greater)-3.581 F 1.079 -(than the maximum inde)144 108 R 3.579(xo)-.15 G 3.579(ft)-3.579 G 1.079 -(he speci\214ed array)-3.579 F 6.079(.I)-.65 G 3.579(ti)-6.079 G 3.579 -(sa)-3.579 G 3.58(ne)-3.579 G 1.08(xpansion error if)-3.73 F F1(length) -3.58 E F0 -.25(eva)3.58 G 1.08(luates to a).25 F(number less than zero.) -144 120 Q(Substring e)144 144 Q(xpansion applied to an associati)-.15 E -.3 -.15(ve a)-.25 H(rray produces unde\214ned results.).15 E .821 -(Substring inde)144 168 R .821(xing is zero-based unless the positional\ - parameters are used, in which case the in-)-.15 F(de)144 180 Q .159 -(xing starts at 1 by def)-.15 F 2.659(ault. If)-.1 F F1(of)2.659 E(fset) --.18 E F0 .159(is 0, and the positional parameters are used,)2.659 F/F2 -10/Times-Bold@0 SF($0)2.659 E F0 .159(is pre\214x)2.659 F .159(ed to) --.15 F(the list.)144 192 Q(${)108 208.8 Q F2(!)A F1(pr)A(e\214x)-.37 E -F2(*)A F0(})A(${)108 220.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(@)A F0(})A -F2 .085(Names matching pr)144 232.8 R(e\214x)-.18 E F0 5.085(.E)C .084 -(xpands to the names of v)-5.085 F .084(ariables whose names be)-.25 F -.084(gin with)-.15 F F1(pr)2.584 E(e\214x)-.37 E F0 2.584(,s)C(epa-) --2.584 E .257(rated by the \214rst character of the)144 244.8 R/F3 9 -/Times-Bold@0 SF(IFS)2.757 E F0 .257(special v)2.507 F 2.757 -(ariable. When)-.25 F F1(@)2.758 E F0 .258(is used and the e)2.758 F -.258(xpansion appears)-.15 F(within double quotes, each v)144 256.8 Q +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.25(eva)144 84 S +.555(luates to the last positional parameter).25 F 5.555(.I)-.55 G 3.055 +(ti)-5.555 G 3.055(sa)-3.055 G 3.055(ne)-3.055 G .555(xpansion error if) +-3.205 F/F1 10/Times-Italic@0 SF(length)3.055 E F0 -.25(eva)3.055 G .555 +(luates to a number).25 F(less than zero.)144 96 Q(If)144 120 Q F1(par) +3.014 E(ameter)-.15 E F0 .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 F1(length)3.014 E F0 .513(members of)3.013 F 1.081(the array be)144 +132 R 1.081(ginning with ${)-.15 F F1(par)A(ameter)-.15 E F0([)A F1(of)A +(fset)-.18 E F0 3.581(]}. A)B(ne)3.581 E -.05(ga)-.15 G(ti).05 E -.15 +(ve)-.25 G F1(of)3.732 E(fset)-.18 E F0 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 144 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 F1(length)3.579 E F0 -.25(eva)3.579 G 1.079(luates to a).25 F +(number less than zero.)144 156 Q(Substring e)144 180 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 204 R +.821(xing is zero-based unless the positional parameters are used, in w\ +hich case the in-)-.15 F(de)144 216 Q .159(xing starts at 1 by def)-.15 +F 2.659(ault. If)-.1 F F1(of)2.659 E(fset)-.18 E F0 .159 +(is 0, and the positional parameters are used,)2.659 F/F2 10 +/Times-Bold@0 SF($0)2.659 E F0 .159(is pre\214x)2.659 F .158(ed to)-.15 +F(the list.)144 228 Q(${)108 244.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A +F0(})A(${)108 256.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(@)A F0(})A F2 .084 +(Names matching pr)144 268.8 R(e\214x)-.18 E F0 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 F1(pr)2.585 E(e\214x)-.37 E F0 2.585(,s)C(epa-) +-2.585 E .258(rated by the \214rst character of the)144 280.8 R/F3 9 +/Times-Bold@0 SF(IFS)2.758 E F0 .257(special v)2.507 F 2.757 +(ariable. When)-.25 F F1(@)2.757 E F0 .257(is used and the e)2.757 F +.257(xpansion appears)-.15 F(within double quotes, each v)144 292.8 Q (ariable name e)-.25 E(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 -273.6 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 285.6 Q F2(!)A F1 -(name)A F0([)A F1(*)A F0(]})A F2 1.137(List of array k)144 297.6 R(eys) +309.6 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 321.6 Q F2(!)A F1 +(name)A F0([)A F1(*)A F0(]})A F2 1.136(List of array k)144 333.6 R(eys) -.1 E F0 6.136(.I)C(f)-6.136 E F1(name)3.636 E F0 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.136 -(s\) as-).15 F .397(signed in)144 309.6 R F1(name)2.897 E F0 5.397(.I)C +(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G 1.137 +(s\) as-).15 F .397(signed in)144 345.6 R F1(name)2.897 E F0 5.397(.I)C (f)-5.397 E F1(name)2.897 E F0 .397(is not an array)2.897 F 2.897(,e) -.65 G .397(xpands to 0 if)-3.047 F F1(name)2.897 E F0 .397 (is set and null otherwise.)2.897 F(When)5.397 E F1(@)2.897 E F0 -(is used and the e)144 321.6 Q +(is used and the e)144 357.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 338.4 Q F2(#)A F1(par)A -(ameter)-.15 E F0(})A F2 -.1(Pa)144 350.4 S .471(rameter length).1 F F0 -5.471(.T)C .471(he length in characters of the v)-5.471 F .471(alue of) --.25 F F1(par)2.971 E(ameter)-.15 E F0 .47(is substituted.)2.97 F(If) -5.47 E F1(par)4.22 E(ame-)-.15 E(ter)144 362.4 Q F0(is)3.626 E F2(*) -2.896 E F0(or)2.896 E F2(@)2.896 E F0 2.896(,t)C .396(he v)-2.896 F .397 +H(pands to a separate w).15 E(ord.)-.1 E(${)108 374.4 Q F2(#)A F1(par)A +(ameter)-.15 E F0(})A F2 -.1(Pa)144 386.4 S .47(rameter length).1 F F0 +5.47(.T)C .471(he length in characters of the v)-5.47 F .471(alue of) +-.25 F F1(par)2.971 E(ameter)-.15 E F0 .471(is substituted.)2.971 F(If) +5.471 E F1(par)4.221 E(ame-)-.15 E(ter)144 398.4 Q F0(is)3.627 E F2(*) +2.897 E F0(or)2.897 E F2(@)2.897 E F0 2.897(,t)C .397(he v)-2.897 F .397 (alue substituted is the number of positional parameters.)-.25 F(If) -5.397 E F1(par)4.147 E(ameter)-.15 E F0 .397(is an ar)3.627 F(-)-.2 E -.781(ray name subscripted by)144 374.4 R F2(*)3.281 E F0(or)3.281 E F2 -(@)3.281 E F0 3.281(,t)C .781(he v)-3.281 F .78 -(alue substituted is the number of elements in the array)-.25 F 5.78(.I) --.65 G(f)-5.78 E F1(par)145.25 386.4 Q(ameter)-.15 E F0 .455(is an inde) -3.685 F -.15(xe)-.15 G 2.955(da).15 G .456 -(rray name subscripted by a ne)-2.955 F -.05(ga)-.15 G(ti).05 E .756 --.15(ve n)-.25 H(umber).15 E 2.956(,t)-.4 G .456 -(hat number is interpreted)-2.956 F .973(as relati)144 398.4 R 1.273 --.15(ve t)-.25 H 3.473(oo).15 G .973(ne greater than the maximum inde) --3.473 F 3.473(xo)-.15 G(f)-3.473 E F1(par)3.473 E(ameter)-.15 E F0 -3.472(,s)C 3.472(on)-3.472 G -2.25 -.15(eg a)-3.472 H(ti).15 E 1.272 --.15(ve i)-.25 H .972(ndices count back).15 F(from the end of the array) -144 410.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 427.2 Q F1 -(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A(${)108 439.2 Q F1 -(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 451.2 +5.396 E F1(par)4.146 E(ameter)-.15 E F0 .396(is an ar)3.626 F(-)-.2 E +.78(ray name subscripted by)144 410.4 R F2(*)3.28 E F0(or)3.28 E F2(@) +3.28 E F0 3.28(,t)C .78(he v)-3.28 F .781 +(alue substituted is the number of elements in the array)-.25 F 5.781 +(.I)-.65 G(f)-5.781 E F1(par)145.25 422.4 Q(ameter)-.15 E F0 .456 +(is an inde)3.686 F -.15(xe)-.15 G 2.956(da).15 G .456 +(rray name subscripted by a ne)-2.956 F -.05(ga)-.15 G(ti).05 E .756 +-.15(ve n)-.25 H(umber).15 E 2.955(,t)-.4 G .455 +(hat number is interpreted)-2.955 F .972(as relati)144 434.4 R 1.272 +-.15(ve t)-.25 H 3.472(oo).15 G .973(ne greater than the maximum inde) +-3.472 F 3.473(xo)-.15 G(f)-3.473 E F1(par)3.473 E(ameter)-.15 E F0 +3.473(,s)C 3.473(on)-3.473 G -2.25 -.15(eg a)-3.473 H(ti).15 E 1.273 +-.15(ve i)-.25 H .973(ndices count back).15 F(from the end of the array) +144 446.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 463.2 Q F1 +(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A(${)108 475.2 Q F1 +(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 487.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 F0 6.196(.T)C(he)-6.196 E F1(wor)4.036 E(d)-.37 E F0 1.196 (is e)4.466 F 1.196(xpanded to produce a pattern just as in path-)-.15 F -.544(name e)144 463.2 R .544(xpansion, and matched ag)-.15 F .544 +.543(name e)144 499.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 F1(par) -4.294 E(ameter)-.15 E F0 .543(using the rules described)3.774 F(under) -144 475.2 Q F2 -.1(Pa)3.132 G(tter).1 E 3.132(nM)-.15 G(atching)-3.132 E +4.294 E(ameter)-.15 E F0 .544(using the rules described)3.774 F(under) +144 511.2 Q F2 -.1(Pa)3.133 G(tter).1 E 3.133(nM)-.15 G(atching)-3.133 E F0(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 .633 -(alue of)-.25 F F1(par)4.383 E(ameter)-.15 E F0(,).73 E 1.152 -(then the result of the e)144 487.2 R 1.151(xpansion is the e)-.15 F -1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F1(par)4.901 E(ameter)-.15 E -F0 1.151(with the shortest matching)4.381 F .183(pattern \(the `)144 -499.2 R(`)-.74 E F2(#)A F0 1.663 -.74('' c)D .184 +(he pattern matches the be)-3.132 F .632(ginning of the v)-.15 F .632 +(alue of)-.25 F F1(par)4.382 E(ameter)-.15 E F0(,).73 E 1.151 +(then the result of the e)144 523.2 R 1.151(xpansion is the e)-.15 F +1.151(xpanded v)-.15 F 1.151(alue of)-.25 F F1(par)4.902 E(ameter)-.15 E +F0 1.152(with the shortest matching)4.382 F .184(pattern \(the `)144 +535.2 R(`)-.74 E F2(#)A F0 1.664 -.74('' c)D .184 (ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2(##)A F0 -1.664 -.74('' c)D .184(ase\) deleted.).74 F(If)5.184 E F1(par)3.934 E -(ameter)-.15 E F0(is)3.414 E F2(@)2.684 E F0(or)144 511.2 Q F2(*)3.019 E -F0 3.019(,t)C .518(he pattern remo)-3.019 F -.25(va)-.15 G 3.018(lo).25 +1.664 -.74('' c)D .184(ase\) deleted.).74 F(If)5.183 E F1(par)3.933 E +(ameter)-.15 E F0(is)3.413 E F2(@)2.683 E F0(or)144 547.2 Q F2(*)3.018 E +F0 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 .303(sion is the resultant list.)144 523.2 R(If) -5.303 E F1(par)4.053 E(ameter)-.15 E F0 .303(is an array v)3.533 F .303 -(ariable subscripted with)-.25 F F2(@)2.804 E F0(or)2.804 E F2(*)2.804 E -F0 2.804(,t)C .304(he pattern re-)-2.804 F(mo)144 535.2 Q -.25(va)-.15 G -2.988(lo).25 G .487 +-3.018 F(xpan-)-.15 E .304(sion is the resultant list.)144 559.2 R(If) +5.304 E F1(par)4.054 E(ameter)-.15 E F0 .303(is an array v)3.533 F .303 +(ariable subscripted with)-.25 F F2(@)2.803 E F0(or)2.803 E F2(*)2.803 E +F0 2.803(,t)C .303(he pattern re-)-2.803 F(mo)144 571.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.988 F .487(xpansion is the resultant)-.15 F(list.)144 547.2 Q(${)108 -564 Q F1(par)A(ameter)-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 576 +-2.987 F .487(xpansion is the resultant)-.15 F(list.)144 583.2 Q(${)108 +600 Q F1(par)A(ameter)-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 612 Q F1(par)A(ameter)-.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 -588 Q .346 -.1(ve m)-.1 H .146(atching suf\214x patter).1 F(n)-.15 E F0 -5.146(.T)C(he)-5.146 E F1(wor)2.646 E(d)-.37 E F0 .147(is e)2.647 F .147 -(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 600 -S .459(pansion, and matched ag).15 F .459(ainst the e)-.05 F .459 -(xpanded v)-.15 F .458(alue of)-.25 F F1(par)4.208 E(ameter)-.15 E F0 -.458(using the rules described under)3.688 F F2 -.1(Pa)144 612 S(tter).1 +624 Q .347 -.1(ve m)-.1 H .147(atching suf\214x patter).1 F(n)-.15 E F0 +5.147(.T)C(he)-5.147 E F1(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146 +(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 636 +S .458(pansion, and matched ag).15 F .458(ainst the e)-.05 F .458 +(xpanded v)-.15 F .458(alue of)-.25 F F1(par)4.209 E(ameter)-.15 E F0 +.459(using the rules described under)3.689 F F2 -.1(Pa)144 648 S(tter).1 E 3.314(nM)-.15 G(atching)-3.314 E F0(belo)3.314 E 4.614 -.65(w. I)-.25 H 3.314(ft).65 G .814(he pattern matches a trailing portion of the e) -3.314 F .814(xpanded v)-.15 F .814(alue of)-.25 F F1(pa-)4.564 E -.15 -(ra)144 624 S(meter).15 E F0 3.817(,t).73 G 1.317 -(hen the result of the e)-3.817 F 1.317(xpansion is the e)-.15 F 1.317 -(xpanded v)-.15 F 1.316(alue of)-.25 F F1(par)5.066 E(ameter)-.15 E F0 -1.316(with the shortest)4.546 F 1.084(matching pattern \(the `)144 636 R -(`)-.74 E F2(%)A F0 2.564 -.74('' c)D 1.084 +(ra)144 660 S(meter).15 E F0 3.816(,t).73 G 1.316 +(hen the result of the e)-3.816 F 1.317(xpansion is the e)-.15 F 1.317 +(xpanded v)-.15 F 1.317(alue of)-.25 F F1(par)5.067 E(ameter)-.15 E F0 +1.317(with the shortest)4.547 F 1.085(matching pattern \(the `)144 672 R +(`)-.74 E F2(%)A F0 2.565 -.74('' c)D 1.084 (ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2(%%)A F0 -2.565 -.74('' c)D 1.085(ase\) deleted.).74 F(If)6.085 E F1(par)145.25 -648 Q(ameter)-.15 E F0(is)3.39 E F2(@)2.66 E F0(or)2.66 E F2(*)2.66 E F0 -2.66(,t)C .16(he pattern remo)-2.66 F -.25(va)-.15 G 2.659(lo).25 G .159 -(peration is applied to each positional parameter in turn,)-2.659 F .509 -(and the e)144 660 R .509(xpansion is the resultant list.)-.15 F(If) -5.509 E F1(par)4.259 E(ameter)-.15 E F0 .51(is an array v)3.739 F .51 -(ariable subscripted with)-.25 F F2(@)3.01 E F0(or)3.01 E F2(*)3.01 E F0 -(,)A .423(the pattern remo)144 672 R -.25(va)-.15 G 2.923(lo).25 G .422 +2.564 -.74('' c)D 1.084(ase\) deleted.).74 F(If)6.084 E F1(par)145.25 +684 Q(ameter)-.15 E F0(is)3.389 E F2(@)2.659 E F0(or)2.659 E F2(*)2.659 +E F0 2.659(,t)C .159(he pattern remo)-2.659 F -.25(va)-.15 G 2.659(lo) +.25 G .16(peration is applied to each positional parameter in turn,) +-2.659 F .51(and the e)144 696 R .51(xpansion is the resultant list.) +-.15 F(If)5.51 E F1(par)4.259 E(ameter)-.15 E F0 .509(is an array v) +3.739 F .509(ariable subscripted with)-.25 F F2(@)3.009 E F0(or)3.009 E +F2(*)3.009 E F0(,)A .422(the pattern remo)144 708 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.923 F .422(xpansion is)-.15 F(the resultant list.)144 684 Q(${)108 -700.8 Q F1(par)A(ameter)-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0 -(})A(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(24)188.45 E 0 Cg EP +-2.922 F .423(xpansion is)-.15 F(the resultant list.)144 720 Q +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(24)193.45 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(${)108 84 Q/F1 10 -/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10/Times-Bold@0 SF(//)A F1 +/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10/Times-Bold@0 SF(/)A F1 (pattern)A F2(/)A F1(string)A F0(})A(${)108 96 Q F1(par)A(ameter)-.15 E -F2(/#)A F1(pattern)A F2(/)A F1(string)A F0(})A(${)108 108 Q F1(par)A -(ameter)-.15 E F2(/%)A F1(pattern)A F2(/)A F1(string)A F0(})A F2 -.1(Pa) -144 120 S(tter).1 E 3.606(ns)-.15 G(ubstitution)-3.606 E F0 6.106(.T)C -(he)-6.106 E F1(pattern)3.606 E F0 1.106(is e)3.606 F 1.107 +F2(//)A F1(pattern)A F2(/)A F1(string)A F0(})A(${)108 108 Q F1(par)A +(ameter)-.15 E F2(/#)A F1(pattern)A F2(/)A F1(string)A F0(})A(${)108 120 +Q F1(par)A(ameter)-.15 E F2(/%)A F1(pattern)A F2(/)A F1(string)A F0(})A +F2 -.1(Pa)144 132 S(tter).1 E 3.607(ns)-.15 G(ubstitution)-3.607 E F0 +6.107(.T)C(he)-6.107 E F1(pattern)3.607 E F0 1.107(is e)3.607 F 1.106 (xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E -(sion.)144 132 Q F1 -.8(Pa)6.034 G -.15(ra).8 G(meter).15 E F0 1.034 -(is e)3.534 F 1.033(xpanded and the longest match of)-.15 F F1(pattern) -3.533 E F0(ag)3.533 E 1.033(ainst its v)-.05 F 1.033 -(alue is replaced with)-.25 F F1(string)144 144 Q F0(.)A F1(string)5.499 +(sion.)144 144 Q F1 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033 +(is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F1(pattern) +3.533 E F0(ag)3.533 E 1.034(ainst its v)-.05 F 1.034 +(alue is replaced with)-.25 F F1(string)144 156 Q F0(.)A F1(string)5.499 E F0(under)2.999 E .499(goes tilde e)-.18 F .499 (xpansion, parameter and v)-.15 F .499(ariable e)-.25 F .499 (xpansion, arithmetic e)-.15 F(xpansion,)-.15 E 1.137 -(command and process substitution, and quote remo)144 156 R -.25(va)-.15 +(command and process substitution, and quote remo)144 168 R -.25(va)-.15 G 3.637(l. The).25 F 1.137(match is performed using the rules)3.637 F -.075(described under)144 168 R F2 -.1(Pa)2.575 G(tter).1 E 2.575(nM)-.15 -G(atching)-2.575 E F0(belo)2.575 E 3.875 -.65(w. I)-.25 H 2.575(nt).65 G -.075(he \214rst form abo)-2.575 F -.15(ve)-.15 G 2.575(,o).15 G .076 -(nly the \214rst match is replaced.)-2.575 F .48(If there are tw)144 180 +.076(described under)144 180 R F2 -.1(Pa)2.576 G(tter).1 E 2.576(nM)-.15 +G(atching)-2.576 E F0(belo)2.576 E 3.876 -.65(w. I)-.25 H 2.575(nt).65 G +.075(he \214rst form abo)-2.575 F -.15(ve)-.15 G 2.575(,o).15 G .075 +(nly the \214rst match is replaced.)-2.575 F .48(If there are tw)144 192 R 2.98(os)-.1 G .48(lashes separating)-2.98 F F1(par)2.98 E(ameter)-.15 E F0(and)2.98 E F1(pattern)2.98 E F0 .48(\(the second form abo)2.98 F --.15(ve)-.15 G .48(\), all matches of).15 F F1(pattern)144 192 Q F0 .374 -(are replaced with)2.874 F F1(string)2.874 E F0 5.374(.I)C(f)-5.374 E F1 +-.15(ve)-.15 G .48(\), all matches of).15 F F1(pattern)144 204 Q F0 .375 +(are replaced with)2.875 F F1(string)2.874 E F0 5.374(.I)C(f)-5.374 E F1 (pattern)2.874 E F0 .374(is preceded by)2.874 F F2(#)2.874 E F0 .374 -(\(the third form abo)2.874 F -.15(ve)-.15 G .375(\), it must match).15 -F .089(at the be)144 204 R .089(ginning of the e)-.15 F .088(xpanded v) +(\(the third form abo)2.874 F -.15(ve)-.15 G .374(\), it must match).15 +F .088(at the be)144 216 R .088(ginning of the e)-.15 F .088(xpanded v) -.15 F .088(alue of)-.25 F F1(par)2.588 E(ameter)-.15 E F0 5.088(.I)C(f) --5.088 E F1(pattern)2.588 E F0 .088(is preceded by)2.588 F F2(%)2.588 E -F0 .088(\(the fourth form)2.588 F(abo)144 216 Q -.15(ve)-.15 G .315 +-5.088 E F1(pattern)2.588 E F0 .088(is preceded by)2.588 F F2(%)2.589 E +F0 .089(\(the fourth form)2.589 F(abo)144 228 Q -.15(ve)-.15 G .315 (\), it must match at the end of the e).15 F .315(xpanded v)-.15 F .315 (alue of)-.25 F F1(par)2.815 E(ameter)-.15 E F0 5.315(.I)C 2.815(ft) -5.315 G .315(he e)-2.815 F .315(xpansion of)-.15 F F1(string)2.815 E F0 -(is)2.815 E .399(null, matches of)144 228 R F1(pattern)2.899 E F0 .399 -(are deleted.)2.899 F(If)5.399 E F1(string)2.898 E F0 .398 -(is null, matches of)2.898 F F1(pattern)2.898 E F0 .398 -(are deleted and the)2.898 F F2(/)2.898 E F0(fol-)2.898 E(lo)144 240 Q +(is)2.815 E .398(null, matches of)144 240 R F1(pattern)2.898 E F0 .398 +(are deleted.)2.898 F(If)5.398 E F1(string)2.898 E F0 .398 +(is null, matches of)2.898 F F1(pattern)2.898 E F0 .399 +(are deleted and the)2.899 F F2(/)2.899 E F0(fol-)2.899 E(lo)144 252 Q (wing)-.25 E F1(pattern)2.5 E F0(may be omitted.)2.5 E .95(If the)144 -264 R F2(patsub_r)3.45 E(eplacement)-.18 E F0 .95 +276 R F2(patsub_r)3.45 E(eplacement)-.18 E F0 .95 (shell option is enabled using)3.45 F F2(shopt)3.45 E F0 3.45(,a)C 1.25 -.15(ny u)-3.45 H .95(nquoted instances of).15 F F2(&)3.45 E F0(in)3.45 -E F1(string)144 276 Q F0(are replaced with the matching portion of)2.5 E -F1(pattern)2.5 E F0(.)A .75(Quoting an)144 300 R 3.25(yp)-.15 G .75 -(art of)-3.25 F F1(string)3.25 E F0 .749(inhibits replacement in the e) -3.249 F .749(xpansion of the quoted portion, including)-.15 F .767 -(replacement strings stored in shell v)144 312 R 3.267 +E F1(string)144 288 Q F0(are replaced with the matching portion of)2.5 E +F1(pattern)2.5 E F0(.)A .749(Quoting an)144 312 R 3.249(yp)-.15 G .749 +(art of)-3.249 F F1(string)3.249 E F0 .749 +(inhibits replacement in the e)3.249 F .75 +(xpansion of the quoted portion, including)-.15 F .767 +(replacement strings stored in shell v)144 324 R 3.267 (ariables. Backslash)-.25 F .767(will escape)3.267 F F2(&)3.267 E F0(in) -3.267 E F1(string)3.267 E F0 3.267(;t)C .768(he backslash is)-3.267 F -(remo)144 324 Q -.15(ve)-.15 G 2.669(di).15 G 2.669(no)-2.669 G .169 -(rder to permit a literal)-2.669 F F2(&)2.669 E F0 .169 +3.267 E F1(string)3.267 E F0 3.267(;t)C .767(he backslash is)-3.267 F +(remo)144 336 Q -.15(ve)-.15 G 2.668(di).15 G 2.668(no)-2.668 G .169 +(rder to permit a literal)-2.668 F F2(&)2.669 E F0 .169 (in the replacement string.)2.669 F .169 -(Backslash can also be used to es-)5.169 F 1.428(cape a backslash;)144 -336 R F2(\\\\)3.928 E F0 1.428 +(Backslash can also be used to es-)5.169 F 1.429(cape a backslash;)144 +348 R F2(\\\\)3.928 E F0 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 F1 -(string)144 348 Q F0 .292(is double-quoted to a)2.792 F -.2(vo)-.2 G +(Users should tak)6.428 F 3.928(ec)-.1 G 1.428(are if)-3.928 F F1 +(string)144 360 Q F0 .292(is double-quoted to a)2.791 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 360 R --.15(Pa)5.053 G .054(ttern substitution performs the check).15 F .07 -(for unquoted)144 372 R F2(&)2.57 E F0 .07(after e)2.57 F(xpanding)-.15 -E F1(string)2.569 E F0 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 F0 -(the)2.569 E(y)-.15 E -.1(wa)144 384 S 1.112(nt to be tak).1 F 1.112 +(anted interactions between the backslash and double-quoting,)-.1 F .054 +(since backslash has special meaning within double quotes.)144 372 R +-.15(Pa)5.053 G .053(ttern substitution performs the check).15 F .069 +(for unquoted)144 384 R F2(&)2.569 E F0 .069(after e)2.569 F(xpanding) +-.15 E F1(string)2.569 E F0 2.569(;s)C .069 +(hell programmers should quote an)-2.569 F 2.57(yo)-.15 G .07 +(ccurrences of)-2.57 F F2(&)2.57 E F0(the)2.57 E(y)-.15 E -.1(wa)144 396 +S 1.113(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 F0(the)3.612 E 3.613(yw)-.15 G -1.113(ant to be re-)-3.713 F(placed are unquoted.)144 396 Q .687(If the) -144 420 R F2(nocasematch)3.187 E F0 .687 +1.112(nstances of)-3.612 F F2(&)3.612 E F0(the)3.612 E 3.612(yw)-.15 G +1.112(ant to be re-)-3.712 F(placed are unquoted.)144 408 Q .686(If the) +144 432 R F2(nocasematch)3.186 E F0 .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 .736(alphabetic characters.)144 -432 R(If)5.736 E F1(par)4.486 E(ameter)-.15 E F0(is)3.966 E F2(@)3.236 E +444 R(If)5.736 E F1(par)4.486 E(ameter)-.15 E F0(is)3.966 E F2(@)3.236 E F0(or)3.236 E F2(*)3.236 E F0 3.236(,t)C .736 -(he substitution operation is applied to each posi-)-3.236 F .655 -(tional parameter in turn, and the e)144 444 R .654 -(xpansion is the resultant list.)-.15 F(If)5.654 E F1(par)4.404 E -(ameter)-.15 E F0 .654(is an array v)3.884 F(ariable)-.25 E .347 -(subscripted with)144 456 R F2(@)2.847 E F0(or)2.847 E F2(*)2.847 E F0 -2.847(,t)C .348(he substitution operation is applied to each member of \ -the array in turn,)-2.847 F(and the e)144 468 Q -(xpansion is the resultant list.)-.15 E(${)108 484.8 Q F1(par)A(ameter) --.15 E F2(^)A F1(pattern)A F0(})A(${)108 496.8 Q F1(par)A(ameter)-.15 E -F2(^^)A F1(pattern)A F0(})A(${)108 508.8 Q F1(par)A(ameter)-.15 E F2(,)A -F1(pattern)A F0(})A(${)108 520.8 Q F1(par)A(ameter)-.15 E F2(,,)A F1 -(pattern)A F0(})A F2 .438(Case modi\214cation)144 532.8 R F0 5.438(.T)C -.438(his e)-5.438 F .437 +(he substitution operation is applied to each posi-)-3.236 F .654 +(tional parameter in turn, and the e)144 456 R .654 +(xpansion is the resultant list.)-.15 F(If)5.655 E F1(par)4.405 E +(ameter)-.15 E F0 .655(is an array v)3.885 F(ariable)-.25 E .348 +(subscripted with)144 468 R F2(@)2.848 E F0(or)2.848 E F2(*)2.848 E F0 +2.848(,t)C .348(he substitution operation is applied to each member of \ +the array in turn,)-2.848 F(and the e)144 480 Q +(xpansion is the resultant list.)-.15 E(${)108 496.8 Q F1(par)A(ameter) +-.15 E F2(^)A F1(pattern)A F0(})A(${)108 508.8 Q F1(par)A(ameter)-.15 E +F2(^^)A F1(pattern)A F0(})A(${)108 520.8 Q F1(par)A(ameter)-.15 E F2(,)A +F1(pattern)A F0(})A(${)108 532.8 Q F1(par)A(ameter)-.15 E F2(,,)A F1 +(pattern)A F0(})A F2 .437(Case modi\214cation)144 544.8 R F0 5.437(.T)C +.437(his e)-5.437 F .438 (xpansion modi\214es the case of alphabetic characters in)-.15 F F1(par) -2.937 E(ameter)-.15 E F0 5.437(.T)C(he)-5.437 E F1(pattern)144 544.8 Q -F0 .373(is e)2.873 F .374 +2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F1(pattern)144 556.8 Q +F0 .374(is e)2.874 F .374 (xpanded to produce a pattern just as in pathname e)-.15 F 2.874 -(xpansion. Each)-.15 F .374(character in the e)2.874 F(x-)-.15 E .514 -(panded v)144 556.8 R .514(alue of)-.25 F F1(par)3.014 E(ameter)-.15 E -F0 .514(is tested ag)3.014 F(ainst)-.05 E F1(pattern)3.014 E F0 3.014 -(,a)C .513(nd, if it matches the pattern, its case is con-)-3.014 F -.15 -(ve)144 568.8 S 2.822(rted. The).15 F .323 -(pattern should not attempt to match more than one character)2.822 F -5.323(.T)-.55 G(he)-5.323 E F2(^)2.823 E F0 .323(operator con)2.823 F --.15(ve)-.4 G(rts).15 E(lo)144 580.8 Q .181(wercase letters matching) --.25 F F1(pattern)2.681 E F0 .181(to uppercase; the)2.681 F F2(,)2.681 E -F0 .181(operator con)2.681 F -.15(ve)-.4 G .18 -(rts matching uppercase letters).15 F .085(to lo)144 592.8 R 2.585 +(xpansion. Each)-.15 F .373(character in the e)2.873 F(x-)-.15 E .513 +(panded v)144 568.8 R .513(alue of)-.25 F F1(par)3.013 E(ameter)-.15 E +F0 .513(is tested ag)3.013 F(ainst)-.05 E F1(pattern)3.013 E F0 3.013 +(,a)C .514(nd, if it matches the pattern, its case is con-)-3.013 F -.15 +(ve)144 580.8 S 2.823(rted. The).15 F .323 +(pattern should not attempt to match more than one character)2.823 F +5.322(.T)-.55 G(he)-5.322 E F2(^)2.822 E F0 .322(operator con)2.822 F +-.15(ve)-.4 G(rts).15 E(lo)144 592.8 Q .18(wercase letters matching)-.25 +F F1(pattern)2.681 E F0 .181(to uppercase; the)2.681 F F2(,)2.681 E F0 +.181(operator con)2.681 F -.15(ve)-.4 G .181 +(rts matching uppercase letters).15 F .085(to lo)144 604.8 R 2.585 (wercase. The)-.25 F F2(^^)2.585 E F0(and)2.585 E F2(,,)2.585 E F0 -.15 (ex)2.585 G .085(pansions con).15 F -.15(ve)-.4 G .085 (rt each matched character in the e).15 F .085(xpanded v)-.15 F .085 -(alue; the)-.25 F F2(^)2.585 E F0(and)144 604.8 Q F2(,)3.591 E F0 -.15 -(ex)3.591 G 1.091(pansions match and con).15 F -.15(ve)-.4 G 1.091 -(rt only the \214rst character in the e).15 F 1.09(xpanded v)-.15 F 3.59 -(alue. If)-.25 F F1(pattern)3.59 E F0(is)3.59 E 1.12 -(omitted, it is treated lik)144 616.8 R 3.62(ea)-.1 G F2(?)A F0 3.62(,w) -C 1.12(hich matches e)-3.62 F -.15(ve)-.25 G 1.121(ry character).15 F -6.121(.I)-.55 G(f)-6.121 E F1(par)4.871 E(ameter)-.15 E F0(is)4.351 E F2 -(@)3.621 E F0(or)3.621 E F2(*)3.621 E F0 3.621(,t)C 1.121(he case)-3.621 -F .339(modi\214cation operation is applied to each positional parameter\ - in turn, and the e)144 628.8 R .339(xpansion is the re-)-.15 F .249 -(sultant list.)144 640.8 R(If)5.249 E F1(par)3.999 E(ameter)-.15 E F0 -.249(is an array v)3.479 F .249(ariable subscripted with)-.25 F F2(@) -2.749 E F0(or)2.75 E F2(*)2.75 E F0 2.75(,t)C .25 -(he case modi\214cation oper)-2.75 F(-)-.2 E +(alue; the)-.25 F F2(^)2.585 E F0(and)144 616.8 Q F2(,)3.59 E F0 -.15 +(ex)3.59 G 1.09(pansions match and con).15 F -.15(ve)-.4 G 1.091 +(rt only the \214rst character in the e).15 F 1.091(xpanded v)-.15 F +3.591(alue. If)-.25 F F1(pattern)3.591 E F0(is)3.591 E 1.121 +(omitted, it is treated lik)144 628.8 R 3.621(ea)-.1 G F2(?)A F0 3.621 +(,w)C 1.121(hich matches e)-3.621 F -.15(ve)-.25 G 1.121(ry character) +.15 F 6.12(.I)-.55 G(f)-6.12 E F1(par)4.87 E(ameter)-.15 E F0(is)4.35 E +F2(@)3.62 E F0(or)3.62 E F2(*)3.62 E F0 3.62(,t)C 1.12(he case)-3.62 F +.339(modi\214cation operation is applied to each positional parameter i\ +n turn, and the e)144 640.8 R .34(xpansion is the re-)-.15 F .25 +(sultant list.)144 652.8 R(If)5.25 E F1(par)4 E(ameter)-.15 E F0 .25 +(is an array v)3.48 F .249(ariable subscripted with)-.25 F F2(@)2.749 E +F0(or)2.749 E F2(*)2.749 E F0 2.749(,t)C .249 +(he case modi\214cation oper)-2.749 F(-)-.2 E (ation is applied to each member of the array in turn, and the e)144 -652.8 Q(xpansion is the resultant list.)-.15 E(${)108 669.6 Q F1(par)A -(ameter)-.15 E F2(@)A F1(oper)A(ator)-.15 E F0(})A F2 -.1(Pa)144 681.6 S +664.8 Q(xpansion is the resultant list.)-.15 E(${)108 681.6 Q F1(par)A +(ameter)-.15 E F2(@)A F1(oper)A(ator)-.15 E F0(})A F2 -.1(Pa)144 693.6 S .86(rameter transf).1 F(ormation)-.25 E F0 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 F1(par)3.36 E(ameter)-.15 E F0 .153(or information about)144 693.6 R -F1(par)2.653 E(ameter)-.15 E F0 .153(itself, depending on the v)2.653 F -.153(alue of)-.25 F F1(oper)2.653 E(ator)-.15 E F0 5.154(.E)C(ach)-5.154 -E F1(oper)2.654 E(ator)-.15 E F0 .154(is a sin-)2.654 F(gle letter:)144 -705.6 Q(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(25)188.45 E 0 Cg -EP +F F1(par)3.36 E(ameter)-.15 E F0 .154(or information about)144 705.6 R +F1(par)2.654 E(ameter)-.15 E F0 .153(itself, depending on the v)2.654 F +.153(alue of)-.25 F F1(oper)2.653 E(ator)-.15 E F0 5.153(.E)C(ach)-5.153 +E F1(oper)2.653 E(ator)-.15 E F0 .153(is a sin-)2.653 F(gle letter:)144 +717.6 Q(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(25)193.45 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(U)144 84 Q F0 .143(The e)180 84 R .142 +SF(U)144 84 Q F0 .142(The e)180 84 R .142 (xpansion is a string that is the v)-.15 F .142(alue of)-.25 F/F2 10 /Times-Italic@0 SF(par)2.642 E(ameter)-.15 E F0 .142(with lo)2.642 F -.142(wercase alphabetic charac-)-.25 F(ters con)180 96 Q -.15(ve)-.4 G -(rted to uppercase.).15 E F1(u)144 108 Q F0 .429(The e)180 108 R .429 +.143(wercase alphabetic charac-)-.25 F(ters con)180 96 Q -.15(ve)-.4 G +(rted to uppercase.).15 E F1(u)144 108 Q F0 .43(The e)180 108 R .43 (xpansion is a string that is the v)-.15 F .429(alue of)-.25 F F2(par) -2.929 E(ameter)-.15 E F0 .43(with the \214rst character con)2.93 F -.15 -(ve)-.4 G(rted).15 E(to uppercase, if it is alphabetic.)180 120 Q F1(L) -144 132 Q F0 .125(The e)180 132 R .124 +2.929 E(ameter)-.15 E F0 .429(with the \214rst character con)2.929 F +-.15(ve)-.4 G(rted).15 E(to uppercase, if it is alphabetic.)180 120 Q F1 +(L)144 132 Q F0 .124(The e)180 132 R .124 (xpansion is a string that is the v)-.15 F .124(alue of)-.25 F F2(par) -2.624 E(ameter)-.15 E F0 .124(with uppercase alphabetic charac-)2.624 F +2.624 E(ameter)-.15 E F0 .125(with uppercase alphabetic charac-)2.625 F (ters con)180 144 Q -.15(ve)-.4 G(rted to lo).15 E(wercase.)-.25 E F1(Q) -144 156 Q F0 1.064(The e)180 156 R 1.064 +144 156 Q F0 1.065(The e)180 156 R 1.065 (xpansion is a string that is the v)-.15 F 1.065(alue of)-.25 F F2(par) -3.565 E(ameter)-.15 E F0 1.065(quoted in a format that can be)3.565 F -(reused as input.)180 168 Q F1(E)144 180 Q F0 .441(The e)180 180 R .441 +3.565 E(ameter)-.15 E F0 1.064(quoted in a format that can be)3.565 F +(reused as input.)180 168 Q F1(E)144 180 Q F0 .44(The e)180 180 R .441 (xpansion is a string that is the v)-.15 F .441(alue of)-.25 F F2(par) -2.941 E(ameter)-.15 E F0 .44(with backslash escape sequences)2.94 F -.15 -(ex)180 192 S(panded as with the).15 E F1($'...)2.5 E(')-.55 E F0 -(quoting mechanism.)2.5 E F1(P)144 204 Q F0 1.072(The e)180 204 R 1.073 +2.941 E(ameter)-.15 E F0 .441(with backslash escape sequences)2.941 F +-.15(ex)180 192 S(panded as with the).15 E F1($'...)2.5 E(')-.55 E F0 +(quoting mechanism.)2.5 E F1(P)144 204 Q F0 1.073(The e)180 204 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 F2(par)3.573 E(ameter)-.15 E F0 1.073(as if it)3.573 F(were a prompt string \(see)180 216 Q F1(PR)2.5 -E(OMPTING)-.3 E F0(belo)2.5 E(w\).)-.25 E F1(A)144 228 Q F0 1.138(The e) +E(OMPTING)-.3 E F0(belo)2.5 E(w\).)-.25 E F1(A)144 228 Q F0 1.137(The e) 180 228 R 1.138 (xpansion is a string in the form of an assignment statement or)-.15 F -F1(declar)3.637 E(e)-.18 E F0(command)3.637 E(that, if e)180 240 Q -.25 +F1(declar)3.638 E(e)-.18 E F0(command)3.638 E(that, if e)180 240 Q -.25 (va)-.25 G(luated, will recreate).25 E F2(par)2.5 E(ameter)-.15 E F0 (with its attrib)2.5 E(utes and v)-.2 E(alue.)-.25 E F1(K)144 252 Q F0 -1.339(Produces a possibly-quoted v)180 252 R 1.339(ersion of the v)-.15 -F 1.339(alue of)-.25 F F2(par)3.839 E(ameter)-.15 E F0 3.839(,e)C 1.34 -(xcept that it prints the)-3.989 F -.25(va)180 264 S .258(lues of inde) +1.34(Produces a possibly-quoted v)180 252 R 1.339(ersion of the v)-.15 F +1.339(alue of)-.25 F F2(par)3.839 E(ameter)-.15 E F0 3.839(,e)C 1.339 +(xcept that it prints the)-3.989 F -.25(va)180 264 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 F1(Ar)2.757 E(-)-.37 E(rays)180 +(-v).15 E .257(alue pairs \(see)-.25 F F1(Ar)2.758 E(-)-.37 E(rays)180 276 Q F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(a)144 288 Q F0(The e)180 288 Q(xpansion is a string consisting of \215ag v)-.15 E (alues representing)-.25 E F2(par)2.5 E(ameter)-.15 E F0 1.1 -.55('s a)D -(ttrib).55 E(utes.)-.2 E F1(k)144 300 Q F0(Lik)180 300 Q 2.657(et)-.1 G -.157(he K transformation, b)-2.657 F .157(ut e)-.2 F .157(xpands the k) +(ttrib).55 E(utes.)-.2 E F1(k)144 300 Q F0(Lik)180 300 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 .158(nd associati) --2.657 F .458 -.15(ve a)-.25 H -.2(r-).15 G(rays to separate w)180 312 Q -(ords after w)-.1 E(ord splitting.)-.1 E(If)144 328.8 Q F2(par)4.403 E -(ameter)-.15 E F0(is)3.883 E F1(@)3.153 E F0(or)3.153 E F1(*)3.153 E F0 +(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 312 Q +(ords after w)-.1 E(ord splitting.)-.1 E(If)144 328.8 Q F2(par)4.402 E +(ameter)-.15 E F0(is)3.882 E F1(@)3.152 E F0(or)3.152 E F1(*)3.153 E F0 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 340.8 R(If)5.403 E F2(par)4.153 E(ameter)-.15 E F0 .403 (is an array v)3.633 F .403(ariable subscripted with)-.25 F F1(@)2.903 E -F0(or)2.903 E F1(*)2.903 E F0 2.903(,t)C .403(he opera-)-2.903 F +F0(or)2.903 E F1(*)2.903 E F0 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 352.8 Q(xpansion is the resultant list.)-.15 E .708(The result of the e) 144 376.8 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 388.8 Q -.65(w.)-.25 G F1(Command Substitution)87 405.6 Q F2 -1.697(Command substitution)108 417.6 R F0(allo)4.197 E 1.697 -(ws the output of a command to replace the command name.)-.25 F 1.698 -(There are tw)6.698 F(o)-.1 E(forms:)108 429.6 Q F1($\()144 446.4 Q F2 +1.698(Command substitution)108 417.6 R F0(allo)4.198 E 1.697 +(ws the output of a command to replace the command name.)-.25 F 1.697 +(There are tw)6.697 F(o)-.1 E(forms:)108 429.6 Q F1($\()144 446.4 Q F2 (command)A F1(\))1.666 E F0(or)108 458.4 Q F1<92>144 470.4 Q F2(command) -A F1<92>A(Bash)108 487.2 Q F0 .089(performs the e)2.589 F .089 -(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F2(command)2.589 E F0 -.088(in a subshell en)2.589 F .088(vironment and replacing the command) +A F1<92>A(Bash)108 487.2 Q F0 .088(performs the e)2.588 F .088 +(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F2(command)2.588 E F0 +.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 499.2 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 .192(lines are not deleted, b) +-.25 F .41(Embedded ne)5.41 F(w-)-.25 E .191(lines are not deleted, b) 108 511.2 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 F1($\(cat)2.691 E F2(\214le) -2.691 E F1(\))A F0(can be replaced by the equi)108 523.2 Q -.25(va)-.25 +-.1 F .192(The command substitution)5.192 F F1($\(cat)2.692 E F2(\214le) +2.692 E F1(\))A F0(can be replaced by the equi)108 523.2 Q -.25(va)-.25 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E F1 (\))A F0(.)A 1.724(When the old-style backquote form of substitution is\ used, backslash retains its literal meaning e)108 540 R(xcept)-.15 E -.315(when follo)108 552 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1<92> -2.815 E F0 2.815(,o)C(r)-2.815 E F1(\\)2.815 E F0 5.315(.T)C .314(he \ +.314(when follo)108 552 R .314(wed by)-.25 F F1($)2.814 E F0(,)A F1<92> +2.814 E F0 2.814(,o)C(r)-2.814 E F1(\\)2.814 E F0 5.314(.T)C .315(he \ \214rst backquote not preceded by a backslash terminates the command su\ -b-)-5.315 F 3.886(stitution. When)108 564 R 1.386(using the $\()3.886 F -F2(command).833 E F0 3.886(\)f)1.666 G 1.387 -(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G -3.887(pt)-3.887 G 1.387(he com-)-3.887 F +b-)-5.314 F 3.887(stitution. When)108 564 R 1.387(using the $\()3.887 F +F2(command).833 E F0 3.887(\)f)1.666 G 1.386 +(orm, all characters between the parentheses mak)-3.887 F 3.886(eu)-.1 G +3.886(pt)-3.886 G 1.386(he com-)-3.886 F (mand; none are treated specially)108 576 Q(.)-.65 E .894 (Command substitutions may be nested.)108 592.8 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 604.8 Q .422 (If the substitution appears within double quotes, w)108 621.6 R .422 -(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15 +(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15 F(on the results.)108 633.6 Q F1(Arithmetic Expansion)87 650.4 Q F0 -1.035(Arithmetic e)108 662.4 R 1.035(xpansion allo)-.15 F 1.035 +1.034(Arithmetic e)108 662.4 R 1.034(xpansion allo)-.15 F 1.034 (ws the e)-.25 F -.25(va)-.25 G 1.034(luation of an arithmetic e).25 F -1.034(xpression and the substitution of the result.)-.15 F +1.035(xpression and the substitution of the result.)-.15 F (The format for arithmetic e)108 674.4 Q(xpansion is:)-.15 E F1($\(\() 144 691.2 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 708 Q -F2 -.2(ex)2.735 G(pr).2 E(ession)-.37 E F0(under)2.975 E .235 +F2 -.2(ex)2.736 G(pr).2 E(ession)-.37 E F0(under)2.976 E .236 (goes the same e)-.18 F .236 -(xpansions as if it were within double quotes, b)-.15 F .236 -(ut double quote charac-)-.2 F 2.8(ters in)108 720 R F2 -.2(ex)5.3 G(pr) -.2 E(ession)-.37 E F0 2.799(are not treated specially and are remo)5.3 F --.15(ve)-.15 G 5.299(d. All).15 F(tok)5.299 E 2.799(ens in the e)-.1 F -2.799(xpression under)-.15 F(go)-.18 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(26)188.45 E 0 Cg EP +(xpansions as if it were within double quotes, b)-.15 F .235 +(ut double quote charac-)-.2 F 2.799(ters in)108 720 R F2 -.2(ex)5.299 G +(pr).2 E(ession)-.37 E F0 2.799(are not treated specially and are remo) +5.299 F -.15(ve)-.15 G 5.299(d. All).15 F(tok)5.3 E 2.8(ens in the e)-.1 +F 2.8(xpression under)-.15 F(go)-.18 E(GNU Bash 5.2)72 768 Q +(2022 March 11)144.29 E(26)193.45 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .919 -(parameter and v)108 84 R .919(ariable e)-.25 F .919 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .92 +(parameter and v)108 84 R .92(ariable e)-.25 F .919 (xpansion, command substitution, and quote remo)-.15 F -.25(va)-.15 G -3.419(l. The).25 F .92(result is treated as the)3.419 F(arithmetic e)108 -96 Q(xpression to be e)-.15 E -.25(va)-.25 G 2.5(luated. Arithmetic).25 -F -.15(ex)2.5 G(pansions may be nested.).15 E 1.379(The e)108 112.8 R --.25(va)-.25 G 1.378 +3.419(l. The).25 F .919(result is treated as the)3.419 F(arithmetic e) +108 96 Q(xpression to be e)-.15 E -.25(va)-.25 G 2.5(luated. Arithmetic) +.25 F -.15(ex)2.5 G(pansions may be nested.).15 E 1.378(The e)108 112.8 +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/F1 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)3.878 F (ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F2 9/Times-Roman@0 SF(.)A F0 -(If)5.878 E/F3 10/Times-Italic@0 SF -.2(ex)108 124.8 S(pr).2 E(ession) +(If)5.879 E/F3 10/Times-Italic@0 SF -.2(ex)108 124.8 S(pr).2 E(ession) -.37 E F0(is in)2.74 E -.25(va)-.4 G(lid,).25 E/F4 10/Times-Bold@0 SF (bash)2.5 E F0(prints a message indicating f)2.5 E (ailure and no substitution occurs.)-.1 E F4(Pr)87 141.6 Q (ocess Substitution)-.18 E F3(Pr)108 153.6 Q .405(ocess substitution) -.45 F F0(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 165.6 Q F4(<\()3.251 E F3 -(list)A F4(\)).833 E F0(or)3.251 E F4(>\()3.251 E F3(list)A F4(\)).833 E -F0 5.751(.T)C .751(he process)-5.751 F F3(list)3.251 E F0 .751 +(It tak)5.405 F .405(es the form)-.1 F(of)108 165.6 Q F4(<\()3.25 E F3 +(list)A F4(\)).833 E F0(or)3.25 E F4(>\()3.25 E F3(list)A F4(\)).833 E +F0 5.75(.T)C .751(he process)-5.75 F F3(list)3.251 E F0 .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 .147 +(nd its input or output appears as a \214lename.)-3.251 F .148 (This \214lename is passed as an ar)108 177.6 R .148 -(gument to the current command as the result of the e)-.18 F 2.648 -(xpansion. If)-.15 F(the)2.648 E F4(>\()2.648 E F3(list)A F4(\)).833 E -F0 .56(form is used, writing to the \214le will pro)108 189.6 R .56 +(gument to the current command as the result of the e)-.18 F 2.647 +(xpansion. If)-.15 F(the)2.647 E F4(>\()2.647 E F3(list)A F4(\)).833 E +F0 .559(form is used, writing to the \214le will pro)108 189.6 R .559 (vide input for)-.15 F F3(list)3.059 E F0 5.559(.I)C 3.059(ft)-5.559 G -(he)-3.059 E F4(<\()3.059 E F3(list)A F4(\)).833 E F0 .559 -(form is used, the \214le passed as an)3.059 F(ar)108 201.6 Q .308 +(he)-3.059 E F4(<\()3.06 E F3(list)A F4(\)).833 E F0 .56 +(form is used, the \214le passed as an)3.06 F(ar)108 201.6 Q .309 (gument should be read to obtain the output of)-.18 F F3(list)2.808 E F0 -5.308(.P)C .309(rocess substitution is supported on systems that sup-) +5.308(.P)C .308(rocess substitution is supported on systems that sup-) -5.308 F(port named pipes \()108 213.6 Q F3(FIFOs)A F0 2.5(\)o)C 2.5(rt) -2.5 G(he)-2.5 E F4(/de)2.5 E(v/fd)-.15 E F0 -(method of naming open \214les.)2.5 E .897(When a)108 230.4 R -.25(va) +(method of naming open \214les.)2.5 E .896(When a)108 230.4 R -.25(va) -.2 G .896(ilable, process substitution is performed simultaneously wit\ -h parameter and v).25 F .896(ariable e)-.25 F(xpansion,)-.15 E +h parameter and v).25 F .897(ariable e)-.25 F(xpansion,)-.15 E (command substitution, and arithmetic e)108 242.4 Q(xpansion.)-.15 E F4 --.75(Wo)87 259.2 S(rd Splitting).75 E F0 1.142 -(The shell scans the results of parameter e)108 271.2 R 1.143 -(xpansion, command substitution, and arithmetic e)-.15 F 1.143 +-.75(Wo)87 259.2 S(rd Splitting).75 E F0 1.143 +(The shell scans the results of parameter e)108 271.2 R 1.142 +(xpansion, command substitution, and arithmetic e)-.15 F 1.142 (xpansion that)-.15 F(did not occur within double quotes for)108 283.2 Q F3(wor)2.84 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063 (The shell treats each character of)108 300 R F1(IFS)2.563 E F0 .063 @@ -3541,154 +3545,153 @@ F3(wor)2.84 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063 (nd splits the results of the other e)-2.563 F .063(xpansions into w) -.15 F(ords)-.1 E .207(using these characters as \214eld terminators.) 108 312 R(If)5.207 E F1(IFS)2.707 E F0 .207(is unset, or its v)2.457 F -.207(alue is e)-.25 F(xactly)-.15 E F4()2.708 E F0 -(,)A .837(the def)108 324 R .837(ault, then sequences of)-.1 F F4 -()3.337 E F0(,)A F4()3.337 E F0 3.337(,a)C(nd)-3.337 E F4 -()3.337 E F0 .836(at the be)3.336 F .836 -(ginning and end of the results of)-.15 F .345(the pre)108 336 R .345 +.207(alue is e)-.25 F(xactly)-.15 E F4()2.707 E F0 +(,)A .836(the def)108 324 R .836(ault, then sequences of)-.1 F F4 +()3.336 E F0(,)A F4()3.336 E F0 3.336(,a)C(nd)-3.336 E F4 +()3.336 E F0 .837(at the be)3.336 F .837 +(ginning and end of the results of)-.15 F .346(the pre)108 336 R .345 (vious e)-.25 F .345(xpansions are ignored, and an)-.15 F 2.845(ys)-.15 G .345(equence of)-2.845 F F1(IFS)2.845 E F0 .345 (characters not at the be)2.595 F .345(ginning or end serv)-.15 F(es) --.15 E 1.237(to delimit w)108 348 R 3.737(ords. If)-.1 F F1(IFS)3.737 E -F0 1.236(has a v)3.486 F 1.236(alue other than the def)-.25 F 1.236 +-.15 E 1.236(to delimit w)108 348 R 3.736(ords. If)-.1 F F1(IFS)3.736 E +F0 1.236(has a v)3.486 F 1.236(alue other than the def)-.25 F 1.237 (ault, then sequences of the whitespace characters)-.1 F F4(space)108 -360 Q F0(,)A F4(tab)2.506 E F0 2.506(,a)C(nd)-2.506 E F4(newline)2.506 E -F0 .006(are ignored at the be)2.506 F .006(ginning and end of the w)-.15 -F .007(ord, as long as the whitespace charac-)-.1 F .921 -(ter is in the v)108 372 R .92(alue of)-.25 F F1(IFS)3.42 E F0(\(an)3.17 -E F1(IFS)3.42 E F0 .92(whitespace character\).)3.17 F(An)5.92 E 3.42(yc) --.15 G .92(haracter in)-3.42 F F1(IFS)3.42 E F0 .92(that is not)3.17 F -F1(IFS)3.42 E F0(whitespace,)3.17 E .428(along with an)108 384 R 2.928 -(ya)-.15 G(djacent)-2.928 E F1(IFS)2.928 E F0 .428 +360 Q F0(,)A F4(tab)2.507 E F0 2.507(,a)C(nd)-2.507 E F4(newline)2.507 E +F0 .007(are ignored at the be)2.507 F .006(ginning and end of the w)-.15 +F .006(ord, as long as the whitespace charac-)-.1 F .92(ter is in the v) +108 372 R .92(alue of)-.25 F F1(IFS)3.42 E F0(\(an)3.17 E F1(IFS)3.42 E +F0 .92(whitespace character\).)3.17 F(An)5.92 E 3.42(yc)-.15 G .92 +(haracter in)-3.42 F F1(IFS)3.42 E F0 .921(that is not)3.17 F F1(IFS) +3.421 E F0(whitespace,)3.171 E .429(along with an)108 384 R 2.928(ya) +-.15 G(djacent)-2.928 E F1(IFS)2.928 E F0 .428 (whitespace characters, delimits a \214eld.)2.678 F 2.928(As)5.428 G -.428(equence of)-2.928 F F1(IFS)2.928 E F0 .429(whitespace charac-)2.679 +.428(equence of)-2.928 F F1(IFS)2.928 E F0 .428(whitespace charac-)2.678 F(ters is also treated as a delimiter)108 396 Q 5(.I)-.55 G 2.5(ft)-5 G (he v)-2.5 E(alue of)-.25 E F1(IFS)2.5 E F0(is null, no w)2.25 E -(ord splitting occurs.)-.1 E .783(Explicit null ar)108 412.8 R .783 +(ord splitting occurs.)-.1 E .782(Explicit null ar)108 412.8 R .782 (guments \()-.18 F F4 .833("").833 G F0(or)2.449 E F4 .833<0808>4.115 G F0 3.282(\)a)C .782 -(re retained and passed to commands as empty strings.)-3.282 F .782 -(Unquoted im-)5.782 F .178(plicit null ar)108 424.8 R .179 +(re retained and passed to commands as empty strings.)-3.282 F .783 +(Unquoted im-)5.783 F .179(plicit null ar)108 424.8 R .179 (guments, resulting from the e)-.18 F .179 (xpansion of parameters that ha)-.15 F .479 -.15(ve n)-.2 H 2.679(ov).15 -G .179(alues, are remo)-2.929 F -.15(ve)-.15 G 2.679(d. If).15 F 2.679 -(ap)2.679 G(a-)-2.679 E .319(rameter with no v)108 436.8 R .319 +G .179(alues, are remo)-2.929 F -.15(ve)-.15 G 2.678(d. If).15 F 2.678 +(ap)2.678 G(a-)-2.678 E .318(rameter with no v)108 436.8 R .319 (alue is e)-.25 F .319(xpanded within double quotes, a null ar)-.15 F -.319(gument results and is retained and passed)-.18 F -(to a command as an empty string.)108 448.8 Q(When a quoted null ar)5 E -.001(gument appears as part of a w)-.18 F .001(ord whose e)-.1 F -(xpansion)-.15 E .984(is non-null, the null ar)108 460.8 R .984 -(gument is remo)-.18 F -.15(ve)-.15 G 3.483(d. That).15 F .983 -(is, the w)3.483 F(ord)-.1 E/F5 10/Courier@0 SF -5.1673.483 -F F0(becomes)3.483 E F53.483 E F0 .983(after w)3.483 F .983 +.319(gument results and is retained and passed)-.18 F .001 +(to a command as an empty string.)108 448.8 R .001 +(When a quoted null ar)5.001 F(gument appears as part of a w)-.18 E +(ord whose e)-.1 E(xpansion)-.15 E .983(is non-null, the null ar)108 +460.8 R .983(gument is remo)-.18 F -.15(ve)-.15 G 3.483(d. That).15 F +.983(is, the w)3.483 F(ord)-.1 E/F5 10/Courier@0 SF -5.167 +3.483 F F0(becomes)3.484 E F53.484 E F0 .984(after w)3.484 F .984 (ord splitting and)-.1 F(null ar)108 472.8 Q(gument remo)-.18 E -.25(va) -.15 G(l.).25 E(Note that if no e)108 489.6 Q (xpansion occurs, no splitting is performed.)-.15 E F4 -.1(Pa)87 506.4 S -(thname Expansion).1 E F0 .37(After w)108 518.4 R .37 -(ord splitting, unless the)-.1 F F42.87 E F0 .37 -(option has been set,)2.87 F F4(bash)2.87 E F0 .371(scans each w)2.871 F -.371(ord for the characters)-.1 F F4(*)2.871 E F0(,)A F4(?)2.871 E F0 -2.871(,a)C(nd)-2.871 E F4([)2.871 E F0(.)A .634 +(thname Expansion).1 E F0 .371(After w)108 518.4 R .371 +(ord splitting, unless the)-.1 F F42.871 E F0 .371 +(option has been set,)2.871 F F4(bash)2.871 E F0 .37(scans each w)2.87 F +.37(ord for the characters)-.1 F F4(*)2.87 E F0(,)A F4(?)2.87 E F0 2.87 +(,a)C(nd)-2.87 E F4([)2.87 E F0(.)A .633 (If one of these characters appears, and is not quoted, then the w)108 -530.4 R .634(ord is re)-.1 F -.05(ga)-.15 G .633(rded as a).05 F F3 -(pattern)4.383 E F0 3.133(,a).24 G .633(nd replaced)-3.133 F 1.34(with \ +530.4 R .634(ord is re)-.1 F -.05(ga)-.15 G .634(rded as a).05 F F3 +(pattern)4.384 E F0 3.134(,a).24 G .634(nd replaced)-3.134 F 1.34(with \ an alphabetically sorted list of \214lenames matching the pattern \(see) 108 542.4 R F1 -.09(Pa)3.84 G(tter).09 E 3.59(nM)-.135 G(atching)-3.59 E -F0(belo)3.59 E 3.84(w\). If)-.25 F(no)3.84 E .534 +F0(belo)3.589 E 3.839(w\). If)-.25 F(no)3.839 E .534 (matching \214lenames are found, and the shell option)108 554.4 R F4 (nullglob)3.034 E F0 .534(is not enabled, the w)3.034 F .534 -(ord is left unchanged.)-.1 F(If)5.534 E(the)108 566.4 Q F4(nullglob) -3.284 E F0 .785(option is set, and no matches are found, the w)3.284 F -.785(ord is remo)-.1 F -.15(ve)-.15 G 3.285(d. If).15 F(the)3.285 E F4 -(failglob)3.285 E F0 .785(shell option is)3.285 F .754(set, and no matc\ +(ord is left unchanged.)-.1 F(If)5.535 E(the)108 566.4 Q F4(nullglob) +3.285 E F0 .785(option is set, and no matches are found, the w)3.285 F +.785(ord is remo)-.1 F -.15(ve)-.15 G 3.285(d. If).15 F(the)3.284 E F4 +(failglob)3.284 E F0 .784(shell option is)3.284 F .754(set, and no matc\ hes are found, an error message is printed and the command is not e)108 -578.4 R -.15(xe)-.15 G 3.254(cuted. If).15 F .754(the shell)3.254 F -(option)108 590.4 Q F4(nocaseglob)3.263 E F0 .763 -(is enabled, the match is performed without re)3.263 F -.05(ga)-.15 G -.764(rd to the case of alphabetic characters.).05 F .039 +578.4 R -.15(xe)-.15 G 3.255(cuted. If).15 F .755(the shell)3.255 F +(option)108 590.4 Q F4(nocaseglob)3.264 E F0 .763 +(is enabled, the match is performed without re)3.264 F -.05(ga)-.15 G +.763(rd to the case of alphabetic characters.).05 F .039 (When a pattern is used for pathname e)108 602.4 R .039 (xpansion, the character)-.15 F F4 -.63(``)2.539 G -.55(.').63 G(')-.08 E F0 .039(at the start of a name or immediately fol-)5.039 F(lo)108 -614.4 Q .19(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.69 -(,u)-.65 G .19(nless the shell option)-2.69 F F4(dotglob)2.691 E F0 .191 -(is set.)2.691 F .191(In order to match the \214le-)5.191 F(names)108 -626.4 Q F4 -.63(``)3.645 G -.55(.').63 G(')-.08 E F0(and)6.145 E F4 -.63 -(``)3.645 G(..).63 E -.63('')-.55 G F0 3.645(,t).63 G 1.145 -(he pattern must be)-3.645 F 1.145(gin with `)-.15 F(`.)-.74 E 2.625 +614.4 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 F4(dotglob)2.69 E +F0 .19(is set.)2.69 F .19(In order to match the \214le-)5.19 F(names)108 +626.4 Q F4 -.63(``)3.644 G -.55(.').63 G(')-.08 E F0(and)6.144 E F4 -.63 +(``)3.644 G(..).63 E -.63('')-.55 G F0 3.644(,t).63 G 1.145 +(he pattern must be)-3.644 F 1.145(gin with `)-.15 F(`.)-.74 E 2.625 -.74('' \()-.7 H 1.145(for e).74 F 1.145(xample, `)-.15 F(`.?')-.74 E 1.145('\), e)-.74 F -.15(ve)-.25 G 3.645(ni).15 G(f)-3.645 E F4(dotglob) -3.644 E F0 1.144(is set.)3.644 F 1.144(If the)6.144 F F4(globskipdots) -108 638.4 Q F0 .153(shell option is enabled, the \214lenames)2.653 F F4 --.63(``)2.653 G -.55(.').63 G(')-.08 E F0(and)5.153 E F4 -.63(``)2.654 G -(..).63 E -.63('')-.55 G F0 .154(are ne)5.784 F -.15(ve)-.25 G 2.654(rm) -.15 G .154(atched, e)-2.654 F -.15(ve)-.25 G 2.654(ni).15 G 2.654(ft) --2.654 G .154(he pattern be-)-2.654 F .12(gins with a)108 650.4 R F4 +3.645 E F0 1.145(is set.)3.645 F 1.145(If the)6.145 F F4(globskipdots) +108 638.4 Q F0 .154(shell option is enabled, the \214lenames)2.654 F F4 +-.63(``)2.654 G -.55(.').63 G(')-.08 E F0(and)5.154 E F4 -.63(``)2.654 G +(..).63 E -.63('')-.55 G F0 .153(are ne)5.783 F -.15(ve)-.25 G 2.653(rm) +.15 G .153(atched, e)-2.653 F -.15(ve)-.25 G 2.653(ni).15 G 2.653(ft) +-2.653 G .153(he pattern be-)-2.653 F .12(gins with a)108 650.4 R F4 -.63(``)2.62 G -.55(.').63 G(')-.08 E F0 5.12(.W)C .12 (hen not matching pathnames, the)-5.12 F F4 -.63(``)2.62 G -.55(.').63 G (')-.08 E F0 .12(character is not treated specially)5.12 F 5.12(.W)-.65 -G .12(hen matching)-5.12 F 3.54(ap)108 662.4 S 1.04 -(athname, the slash character must al)-3.54 F -.1(wa)-.1 G 1.04 -(ys be matched e).1 F 1.041(xplicitly by a slash in the pattern, b)-.15 -F 1.041(ut in other)-.2 F .132(matching conte)108 674.4 R .132 +G .12(hen matching)-5.12 F 3.541(ap)108 662.4 S 1.041 +(athname, the slash character must al)-3.541 F -.1(wa)-.1 G 1.041 +(ys be matched e).1 F 1.04(xplicitly by a slash in the pattern, b)-.15 F +1.04(ut in other)-.2 F .131(matching conte)108 674.4 R .132 (xts it can be matched by a special pattern character as described belo) --.15 F 2.631(wu)-.25 G(nder)-2.631 E F1 -.09(Pa)2.631 G(tter).09 E 2.381 -(nM)-.135 G(atch-)-2.381 E(ing)108 686.4 Q F2(.)A F0 .605 -(See the description of)5.105 F F4(shopt)3.105 E F0(belo)3.105 E 3.106 +-.15 F 2.632(wu)-.25 G(nder)-2.632 E F1 -.09(Pa)2.632 G(tter).09 E 2.382 +(nM)-.135 G(atch-)-2.382 E(ing)108 686.4 Q F2(.)A F0 .606 +(See the description of)5.106 F F4(shopt)3.106 E F0(belo)3.106 E 3.106 (wu)-.25 G(nder)-3.106 E F1 .606(SHELL B)3.106 F(UIL)-.09 E .606 -(TIN COMMANDS)-.828 F F0 .606(for a description of the)2.856 F F4(no-) -3.106 E(caseglob)108 698.4 Q F0(,)A F4(nullglob)2.5 E F0(,)A F4 +(TIN COMMANDS)-.828 F F0 .605(for a description of the)2.855 F F4(no-) +3.105 E(caseglob)108 698.4 Q F0(,)A F4(nullglob)2.5 E F0(,)A F4 (globskipdots)2.5 E F0(,)A F4(failglob)2.5 E F0 2.5(,a)C(nd)-2.5 E F4 (dotglob)2.5 E F0(shell options.)2.5 E(The)108 715.2 Q F1(GLOBIGNORE) -2.562 E F0 .062(shell v)2.312 F .061 +2.561 E F0 .061(shell v)2.311 F .061 (ariable may be used to restrict the set of \214le names matching a)-.25 -F F3(pattern)3.811 E F0 5.061(.I).24 G(f)-5.061 E F1(GLO-)2.561 E +F F3(pattern)3.812 E F0 5.062(.I).24 G(f)-5.062 E F1(GLO-)2.562 E (BIGNORE)108 727.2 Q F0 2.015(is set, each matching \214le name that al\ -so matches one of the patterns in)4.264 F F1(GLOBIGNORE)4.515 E F0(is) -4.265 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(27)188.45 E 0 Cg -EP +so matches one of the patterns in)4.265 F F1(GLOBIGNORE)4.515 E F0(is) +4.264 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(27)193.45 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(remo)108 84 Q -.15 -(ve)-.15 G 3.915(df).15 G 1.415(rom the list of matches.)-3.915 F 1.415 +(ve)-.15 G 3.914(df).15 G 1.414(rom the list of matches.)-3.914 F 1.415 (If the)6.415 F/F1 10/Times-Bold@0 SF(nocaseglob)3.915 E F0 1.415 -(option is set, the matching ag)3.915 F 1.414(ainst the patterns in)-.05 -F/F2 9/Times-Bold@0 SF(GLOBIGNORE)108 96 Q F0 .146 -(is performed without re)2.396 F -.05(ga)-.15 G .146(rd to case.).05 F +(option is set, the matching ag)3.915 F 1.415(ainst the patterns in)-.05 +F/F2 9/Times-Bold@0 SF(GLOBIGNORE)108 96 Q F0 .147 +(is performed without re)2.397 F -.05(ga)-.15 G .147(rd to case.).05 F .146(The \214lenames)5.146 F F1 -.63(``)2.646 G -.55(.').63 G(')-.08 E -F0(and)5.147 E F1 -.63(``)2.647 G(..).63 E -.63('')-.55 G F0 .147 -(are al)5.777 F -.1(wa)-.1 G .147(ys ignored when).1 F F2(GLOBIGNORE)108 +F0(and)5.146 E F1 -.63(``)2.646 G(..).63 E -.63('')-.55 G F0 .146 +(are al)5.776 F -.1(wa)-.1 G .146(ys ignored when).1 F F2(GLOBIGNORE)108 108 Q F0 .827(is set and not null.)3.077 F(Ho)5.827 E(we)-.25 E -.15(ve) -.25 G 1.627 -.4(r, s).15 H(etting).4 E F2(GLOBIGNORE)3.327 E F0 .827 (to a non-null v)3.077 F .827(alue has the ef)-.25 F .827(fect of)-.25 F -.682(enabling the)108 120 R F1(dotglob)3.182 E F0 .682 -(shell option, so all other \214lenames be)3.182 F .682(ginning with a) +.683(enabling the)108 120 R F1(dotglob)3.183 E F0 .682 +(shell option, so all other \214lenames be)3.183 F .682(ginning with a) -.15 F F1 -.63(``)3.182 G -.55(.').63 G(')-.08 E F0 .682(will match.) -5.682 F 2.283 -.8(To g)5.683 H .683(et the old).8 F(beha)108 132 Q 1.185 -(vior of ignoring \214lenames be)-.2 F 1.185(ginning with a)-.15 F F1 +5.682 F 2.282 -.8(To g)5.682 H .682(et the old).8 F(beha)108 132 Q 1.184 +(vior of ignoring \214lenames be)-.2 F 1.184(ginning with a)-.15 F F1 -.63(``)3.684 G -.55(.').63 G(')-.08 E F0 3.684(,m)C(ak)-3.684 E(e)-.1 E -F1 -.63(``)3.684 G(.*').63 E(')-.63 E F0 1.184(one of the patterns in) -6.184 F F2(GLOBIGNORE)3.684 E/F3 9/Times-Roman@0 SF(.)A F0(The)108 144 Q -F1(dotglob)3.131 E F0 .631(option is disabled when)3.131 F F2 -(GLOBIGNORE)3.132 E F0 .632(is unset.)2.882 F .632 +F1 -.63(``)3.684 G(.*').63 E(')-.63 E F0 1.185(one of the patterns in) +6.185 F F2(GLOBIGNORE)3.685 E/F3 9/Times-Roman@0 SF(.)A F0(The)108 144 Q +F1(dotglob)3.132 E F0 .632(option is disabled when)3.132 F F2 +(GLOBIGNORE)3.132 E F0 .632(is unset.)2.882 F .631 (The pattern matching honors the setting of)5.632 F(the)108 156 Q F1 (extglob)2.5 E F0(shell option.)2.5 E F1 -.1(Pa)108 172.8 S(tter).1 E 2.5(nM)-.15 G(atching)-2.5 E F0(An)108 189.6 Q 3.138(yc)-.15 G .638(har\ acter that appears in a pattern, other than the special pattern charact\ -ers described belo)-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 2.721 +ers described belo)-3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 2.722 (itself. The)108 201.6 R .221(NUL character may not occur in a pattern.) -2.721 F 2.721(Ab)5.221 G .221(ackslash escapes the follo)-2.721 F .222 +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 213.6 R .418 -(The special pattern characters must be quoted if the)5.418 F 2.918(ya) --.15 G .418(re to)-2.918 F(be matched literally)108 225.6 Q(.)-.65 E +(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 225.6 Q(.)-.65 E (The special pattern characters ha)108 242.4 Q .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E F1(*)144 259.2 Q F0 .376 -(Matches an)180 259.2 R 2.876(ys)-.15 G .376 -(tring, including the null string.)-2.876 F .376(When the)5.376 F F1 -(globstar)2.876 E F0 .377(shell option is enabled,)2.876 F(and)180 271.2 +(he follo).15 E(wing meanings:)-.25 E F1(*)144 259.2 Q F0 .377 +(Matches an)180 259.2 R 2.877(ys)-.15 G .376 +(tring, including the null string.)-2.877 F .376(When the)5.376 F F1 +(globstar)2.876 E F0 .376(shell option is enabled,)2.876 F(and)180 271.2 Q F1(*)3.275 E F0 .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 F1(*)3.275 E F0 3.275(su)C .775(sed as a single pattern)-3.275 F 1.058 @@ -3697,60 +3700,59 @@ E F1(*)3.275 E F0 3.275(su)C .775(sed as a single pattern)-3.275 F 1.058 F0(,)A(tw)180 295.2 Q 2.5(oa)-.1 G(djacent)-2.5 E F1(*)2.5 E F0 2.5(sw)C (ill match only directories and subdirectories.)-2.5 E F1(?)144 307.2 Q F0(Matches an)180 307.2 Q 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E -F1([...])144 319.2 Q F0 .579(Matches an)180 319.2 R 3.079(yo)-.15 G .579 -(ne of the enclosed characters.)-3.079 F 3.079(Ap)5.579 G .578 -(air of characters separated by a h)-3.079 F(yphen)-.05 E .684 -(denotes a)180 331.2 R/F4 10/Times-Italic@0 SF -.15(ra)3.184 G(ng).15 E +F1([...])144 319.2 Q F0 .578(Matches an)180 319.2 R 3.078(yo)-.15 G .578 +(ne of the enclosed characters.)-3.078 F 3.079(Ap)5.579 G .579 +(air of characters separated by a h)-3.079 F(yphen)-.05 E .685 +(denotes a)180 331.2 R/F4 10/Times-Italic@0 SF -.15(ra)3.185 G(ng).15 E 3.184(ee)-.1 G(xpr)-3.384 E(ession)-.37 E F0 3.184(;a)C .984 -.15(ny c) -3.184 H .684(haracter that f).15 F .684(alls between those tw)-.1 F -3.185(oc)-.1 G .685(haracters, inclu-)-3.185 F(si)180 343.2 Q -.15(ve) --.25 G 3.713(,u).15 G 1.213(sing the current locale')-3.713 F 3.712(sc) +3.184(oc)-.1 G .684(haracters, inclu-)-3.184 F(si)180 343.2 Q -.15(ve) +-.25 G 3.712(,u).15 G 1.212(sing the current locale')-3.712 F 3.712(sc) -.55 G 1.212(ollating sequence and character set, is matched.)-3.712 F -1.212(If the)6.212 F 1.123(\214rst character follo)180 355.2 R 1.123 -(wing the)-.25 F F1([)3.623 E F0 1.123(is a)3.623 F F1(!)3.623 E F0 -1.124(or a)6.123 F F1(^)3.624 E F0 1.124(then an)3.624 F 3.624(yc)-.15 G -1.124(haracter not enclosed is matched.)-3.624 F .895 -(The sorting order of characters in range e)180 367.2 R .894 -(xpressions is determined by the current locale)-.15 F .375(and the v) -180 379.2 R .375(alues of the)-.25 F F2(LC_COLLA)2.875 E(TE)-.855 E F0 +1.213(If the)6.213 F 1.124(\214rst character follo)180 355.2 R 1.124 +(wing the)-.25 F F1([)3.624 E F0 1.124(is a)3.624 F F1(!)3.624 E F0 +1.124(or a)6.124 F F1(^)3.623 E F0 1.123(then an)3.623 F 3.623(yc)-.15 G +1.123(haracter not enclosed is matched.)-3.623 F .894 +(The sorting order of characters in range e)180 367.2 R .895 +(xpressions is determined by the current locale)-.15 F .376(and the v) +180 379.2 R .376(alues of the)-.25 F F2(LC_COLLA)2.875 E(TE)-.855 E F0 (or)2.625 E F2(LC_ALL)2.875 E F0 .375(shell v)2.625 F .375 -(ariables, if set.)-.25 F 1.976 -.8(To o)5.376 H .376(btain the tra-).8 -F .068(ditional interpretation of range e)180 391.2 R .068 -(xpressions, where)-.15 F F1([a\255d])2.568 E F0 .067(is equi)2.567 F --.25(va)-.25 G .067(lent to).25 F F1([abcd])2.567 E F0 2.567(,s)C .067 -(et v)-2.567 F(alue)-.25 E .156(of the)180 403.2 R F1(LC_ALL)2.656 E F0 -.156(shell v)2.656 F .156(ariable to)-.25 F F1(C)2.657 E F0 2.657(,o)C +(ariables, if set.)-.25 F 1.975 -.8(To o)5.375 H .375(btain the tra-).8 +F .067(ditional interpretation of range e)180 391.2 R .067 +(xpressions, where)-.15 F F1([a\255d])2.567 E F0 .068(is equi)2.568 F +-.25(va)-.25 G .068(lent to).25 F F1([abcd])2.568 E F0 2.568(,s)C .068 +(et v)-2.568 F(alue)-.25 E .157(of the)180 403.2 R F1(LC_ALL)2.657 E F0 +.157(shell v)2.657 F .157(ariable to)-.25 F F1(C)2.657 E F0 2.657(,o)C 2.657(re)-2.657 G .157(nable the)-2.657 F F1(globasciiranges)2.657 E F0 -.157(shell option.)2.657 F(A)5.157 E F12.657 E F0(may)2.657 E .193(\ +.156(shell option.)2.656 F(A)5.156 E F12.656 E F0(may)2.656 E .193(\ be matched by including it as the \214rst or last character in the set.) -180 415.2 R(A)5.193 E F1(])2.693 E F0 .193(may be matched by)2.693 F +180 415.2 R(A)5.193 E F1(])2.693 E F0 .194(may be matched by)2.693 F (including it as the \214rst character in the set.)180 427.2 Q -.4(Wi) -180 445.2 S(thin).4 E F1([)3.07 E F0(and)3.07 E F1(])3.07 E F0(,)A F4 --.15(ch)3.07 G(ar).15 E .571(acter classes)-.15 F F0 .571 -(can be speci\214ed using the syntax)3.071 F F1([:)3.071 E F4(class)A F1 -(:])A F0 3.071(,w)C(here)-3.071 E F4(class)3.071 E F0 -(is one of the follo)180 457.2 Q -(wing classes de\214ned in the POSIX standard:)-.25 E F1 5.889 -(alnum alpha ascii blank cntrl digit graph lo)180 469.2 R 5.889 +180 445.2 S(thin).4 E F1([)3.071 E F0(and)3.071 E F1(])3.071 E F0(,)A F4 +-.15(ch)3.071 G(ar).15 E .571(acter classes)-.15 F F0 .571 +(can be speci\214ed using the syntax)3.071 F F1([:)3.07 E F4(class)A F1 +(:])A F0 3.07(,w)C(here)-3.07 E F4(class)3.07 E F0(is one of the follo) +180 457.2 Q(wing classes de\214ned in the POSIX standard:)-.25 E F1 +5.889(alnum alpha ascii blank cntrl digit graph lo)180 469.2 R 5.889 (wer print punct space up-)-.1 F 5(per w)180 481.2 R 5(ord xdigit)-.1 F -F0 4.289(Ac)180 493.2 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 -F1 -.1(wo)4.29 G(rd).1 E F0(character)4.29 E +F0 4.29(Ac)180 493.2 S 1.789(haracter class matches an)-4.29 F 4.289(yc) +-.15 G 1.789(haracter belonging to that class.)-4.289 F(The)6.789 E F1 +-.1(wo)4.289 G(rd).1 E F0(character)4.289 E (class matches letters, digits, and the character _.)180 505.2 Q -.4(Wi) -180 523.2 S(thin).4 E F1([)4.537 E F0(and)4.537 E F1(])4.537 E F0 4.537 -(,a)C(n)-4.537 E F4 2.037(equivalence class)4.537 F F0 2.036 -(can be speci\214ed using the syntax)4.536 F F1([=)4.536 E F4(c)A F1(=]) -A F0 4.536(,w)C(hich)-4.536 E .125(matches all characters with the same\ +180 523.2 S(thin).4 E F1([)4.536 E F0(and)4.536 E F1(])4.536 E F0 4.536 +(,a)C(n)-4.536 E F4 2.036(equivalence class)4.536 F F0 2.037 +(can be speci\214ed using the syntax)4.536 F F1([=)4.537 E F4(c)A F1(=]) +A F0 4.537(,w)C(hich)-4.537 E .125(matches all characters with the same\ collation weight \(as de\214ned by the current locale\) as)180 535.2 R (the character)180 547.2 Q F4(c)2.5 E F0(.)A -.4(Wi)180 565.2 S(thin).4 E F1([)2.5 E F0(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.) 2.5 E F4(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F4 -(symbol)2.5 E F0(.)A .54(If the)108 582 R F1(extglob)3.04 E F0 .54 -(shell option is enabled using the)3.04 F F1(shopt)3.039 E F0 -.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 -594 R .037(In the follo)5.037 F .037(wing description, a)-.25 F F4 -(pattern-list)2.538 E F0 .038 +(symbol)2.5 E F0(.)A .539(If the)108 582 R F1(extglob)3.039 E F0 .539 +(shell option is enabled using the)3.039 F F1(shopt)3.039 E F0 -.2(bu) +3.039 G .54(iltin, the shell recognizes se).2 F -.15(ve)-.25 G .54 +(ral e).15 F .54(xtended pattern)-.15 F .038(matching operators.)108 594 +R .038(In the follo)5.038 F .038(wing description, a)-.25 F F4 +(pattern-list)2.538 E F0 .037 (is a list of one or more patterns separated by)2.538 F(a)108 606 Q F1 (|)2.5 E F0 5(.C)C (omposite patterns may be formed using one or more of the follo)-5 E @@ -3763,8 +3765,8 @@ E F1([)2.5 E F0(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.) (Matches one or more occurrences of the gi)180 690 Q -.15(ve)-.25 G 2.5 (np).15 G(atterns)-2.5 E F1(@\()144 702 Q F4(pattern-list).833 E F1(\)) .833 E F0(Matches one of the gi)180 714 Q -.15(ve)-.25 G 2.5(np).15 G -(atterns)-2.5 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(28) -188.45 E 0 Cg EP +(atterns)-2.5 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(28)193.45 E +0 Cg EP %%Page: 29 29 %%BeginPageSetup BP @@ -3776,40 +3778,40 @@ F0(Matches an)180 96 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 .988 (When matching \214lenames, the)108 112.8 R F1(dotglob)3.488 E F0 .988 (shell option determines the set of \214lenames that are tested: when) -3.488 F F1(dotglob)108 124.8 Q F0 1.391 -(is enabled, the set of \214lenames includes all \214les be)3.891 F -1.392(ginning with `)-.15 F(`.)-.74 E -.74('')-.7 G 3.892(,b).74 G 1.392 -(ut `)-4.092 F(`.)-.74 E 2.872 -.74('' a)-.7 H 1.392(nd `).74 F(`..)-.74 -E 2.872 -.74('' m)-.7 H 1.392(ust be).74 F .298 +3.488 F F1(dotglob)108 124.8 Q F0 1.392 +(is enabled, the set of \214lenames includes all \214les be)3.892 F +1.392(ginning with `)-.15 F(`.)-.74 E -.74('')-.7 G 3.891(,b).74 G 1.391 +(ut `)-4.091 F(`.)-.74 E 2.871 -.74('' a)-.7 H 1.391(nd `).74 F(`..)-.74 +E 2.871 -.74('' m)-.7 H 1.391(ust be).74 F .298 (matched by a pattern or sub-pattern that be)108 136.8 R .298 (gins with a dot; when it is disabled, the set does not include an)-.15 -F(y)-.15 E .327(\214lenames be)108 148.8 R .327(ginning with `)-.15 F -(`.)-.74 E 1.807 -.74('' u)-.7 H .327 +F(y)-.15 E .328(\214lenames be)108 148.8 R .328(ginning with `)-.15 F +(`.)-.74 E 1.808 -.74('' u)-.7 H .327 (nless the pattern or sub-pattern be).74 F .327(gins with a `)-.15 F(`.) -.74 E -.74('')-.7 G 5.327(.A).74 G 2.827(sa)-5.327 G(bo)-2.827 E -.15 -(ve)-.15 G 2.828(,`).15 G(`.)-3.568 E 1.808 -.74('' o)-.7 H .328 +(ve)-.15 G 2.827(,`).15 G(`.)-3.567 E 1.807 -.74('' o)-.7 H .327 (nly has a).74 F(special meaning when matching \214lenames.)108 160.8 Q -.969(Complicated e)108 177.6 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 +.968(Complicated e)108 177.6 R .968(xtended pattern matching ag)-.15 F +.968(ainst long strings is slo)-.05 F 2.269 -.65(w, e)-.25 H .969 +(specially when the patterns contain).65 F .091 (alternations and the strings contain multiple matches.)108 189.6 R .091 -(Using separate matches ag)5.091 F .091(ainst shorter strings, or us-) +(Using separate matches ag)5.091 F .09(ainst shorter strings, or us-) -.05 F(ing arrays of strings instead of a single long string, may be f) 108 201.6 Q(aster)-.1 E(.)-.55 E F1(Quote Remo)87 218.4 Q -.1(va)-.1 G -(l).1 E F0 1.113(After the preceding e)108 230.4 R 1.113 +(l).1 E F0 1.112(After the preceding e)108 230.4 R 1.112 (xpansions, all unquoted occurrences of the characters)-.15 F F1(\\) -3.613 E F0(,)A F1<08>3.612 E F0 3.612(,a)C(nd)-3.612 E F1(")4.445 E F0 -1.112(that did not result)4.445 F(from one of the abo)108 242.4 Q .3 +3.613 E F0(,)A F1<08>3.613 E F0 3.613(,a)C(nd)-3.613 E F1(")4.446 E F0 +1.113(that did not result)4.446 F(from one of the abo)108 242.4 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 259.2 Q F0 .545 (Before a command is e)108 271.2 R -.15(xe)-.15 G .545 (cuted, its input and output may be).15 F F2 -.37(re)3.045 G(dir).37 E -(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .429 +(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .428 (by the shell.)108 283.2 R F2(Redir)5.428 E(ection)-.37 E F0(allo)2.928 E .428(ws commands' \214le handles to be duplicated, opened, closed, ma\ -de to refer to)-.25 F(dif)108 295.2 Q 1.019(ferent \214les, and can cha\ -nge the \214les the command reads from and writes to.)-.25 F 1.02 -(Redirection may also be)6.02 F .215 +de to refer to)-.25 F(dif)108 295.2 Q 1.02(ferent \214les, and can chan\ +ge the \214les the command reads from and writes to.)-.25 F 1.019 +(Redirection may also be)6.019 F .215 (used to modify \214le handles in the current shell e)108 307.2 R -.15 (xe)-.15 G .215(cution en).15 F 2.715(vironment. The)-.4 F(follo)2.715 E .215(wing redirection operators)-.25 F .862(may precede or appear an)108 @@ -3818,37 +3820,38 @@ nge the \214les the command reads from and writes to.)-.25 F 1.02 .77 G .862(edirections are)-5.862 F(processed in the order the)108 331.2 Q 2.5(ya)-.15 G(ppear)-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771 (Each redirection that may be preceded by a \214le descriptor number ma\ -y instead be preceded by a w)108 348 R .771(ord of)-.1 F .292 +y instead be preceded by a w)108 348 R .772(ord of)-.1 F .293 (the form {)108 360 R F2(varname)A F0 2.793(}. In)B .293 (this case, for each redirection operator e)2.793 F .293 -(xcept >&- and <&-, the shell will allocate)-.15 F 3.18<618c>108 372 S -.679(le descriptor greater than or equal to 10 and assign it to)-3.18 F +(xcept >&- and <&-, the shell will allocate)-.15 F 3.179<618c>108 372 S +.679(le descriptor greater than or equal to 10 and assign it to)-3.179 F F2(varname)3.179 E F0 5.679(.I)C 3.179(f>)-5.679 G .679 (&- or <&- is preceded by {)-3.179 F F2(var)A(-)-.2 E(name)108 384 Q F0 -.599(}, the v)B .599(alue of)-.25 F F2(varname)3.099 E F0 .599 -(de\214nes the \214le descriptor to close.)3.099 F .6(If {)5.6 F F2 -(varname)A F0 3.1(}i)C 3.1(ss)-3.1 G .6(upplied, the redirection)-3.1 F -.794(persists be)108 396 R .794(yond the scope of the command, allo)-.15 -F .793(wing the shell programmer to manage the \214le descriptor')-.25 F -(s)-.55 E(lifetime manually)108 408 Q 5(.T)-.65 G(he)-5 E F1 -.1(va)2.5 -G(rr).1 E(edir_close)-.18 E F0(shell option manages this beha)2.5 E -(vior)-.2 E(.)-.55 E .283(In the follo)108 424.8 R .284(wing descriptio\ -ns, if the \214le descriptor number is omitted, and the \214rst charact\ -er of the redirect-)-.25 F .513(ion operator is)108 436.8 R F1(<)3.012 E -F0 3.012(,t)C .512 +.6(}, the v)B .6(alue of)-.25 F F2(varname)3.1 E F0 .599 +(de\214nes the \214le descriptor to close.)3.1 F .599(If {)5.599 F F2 +(varname)A F0 3.099(}i)C 3.099(ss)-3.099 G .599 +(upplied, the redirection)-3.099 F .793(persists be)108 396 R .793 +(yond the scope of the command, allo)-.15 F .794 +(wing the shell programmer to manage the \214le descriptor')-.25 F(s) +-.55 E(lifetime manually)108 408 Q 5(.T)-.65 G(he)-5 E F1 -.1(va)2.5 G +(rr).1 E(edir_close)-.18 E F0(shell option manages this beha)2.5 E(vior) +-.2 E(.)-.55 E .284(In the follo)108 424.8 R .283(wing descriptions, if\ + the \214le descriptor number is omitted, and the \214rst character of \ +the redirect-)-.25 F .512(ion operator is)108 436.8 R F1(<)3.012 E F0 +3.012(,t)C .512 (he redirection refers to the standard input \(\214le descriptor 0\).) -3.012 F .512(If the \214rst character of the)5.512 F (redirection operator is)108 448.8 Q F1(>)2.5 E F0 2.5(,t)C (he redirection refers to the standard output \(\214le descriptor 1\).) --2.5 E .824(The w)108 465.6 R .824(ord follo)-.1 F .824 -(wing the redirection operator in the follo)-.25 F .825 -(wing descriptions, unless otherwise noted, is sub-)-.25 F .463 -(jected to brace e)108 477.6 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 489.6 R -.866(xpansion, quote remo)-.15 F -.25(va)-.15 G .866(l, pathname e).25 F +-2.5 E .825(The w)108 465.6 R .825(ord follo)-.1 F .824 +(wing the redirection operator in the follo)-.25 F .824 +(wing descriptions, unless otherwise noted, is sub-)-.25 F .462 +(jected to brace e)108 477.6 R .462(xpansion, tilde e)-.15 F .463 +(xpansion, parameter and v)-.15 F .463(ariable e)-.25 F .463 +(xpansion, command substitution, arith-)-.15 F .867(metic e)108 489.6 R +.867(xpansion, quote remo)-.15 F -.25(va)-.15 G .867(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 501.6 S(rd,).1 E F1 +F .866(xpands to more than one)-.15 F -.1(wo)108 501.6 S(rd,).1 E F1 (bash)2.5 E F0(reports an error)2.5 E(.)-.55 E (Note that the order of redirections is signi\214cant.)108 518.4 Q -.15 (Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 535.2 Q F1(>)2.5 @@ -3860,12 +3863,12 @@ Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .505 E F0 3.005(,b).68 G .505(ecause the standard error w)-3.005 F .505 (as duplicated from the standard)-.1 F (output before the standard output w)108 597.6 Q(as redirected to)-.1 E -F2(dirlist)2.85 E F0(.).68 E F1(Bash)108 614.4 Q F0 .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 3.478(table. If)108 626.4 R .978 -(the operating system on which)3.478 F F1(bash)3.478 E F0 .978 -(is running pro)3.478 F .977 +F2(dirlist)2.85 E F0(.).68 E F1(Bash)108 614.4 Q F0 .599(handles se) +3.099 F -.15(ve)-.25 G .599(ral \214lenames specially when the).15 F +3.099(ya)-.15 G .598(re used in redirections, as described in the follo) +-3.099 F(wing)-.25 E 3.477(table. If)108 626.4 R .977 +(the operating system on which)3.477 F F1(bash)3.478 E F0 .978 +(is running pro)3.478 F .978 (vides these special \214les, bash will use them;)-.15 F (otherwise it will emulate them internally with the beha)108 638.4 Q (vior described belo)-.2 E -.65(w.)-.25 G F1(/de)144 655.2 Q(v/fd/)-.15 @@ -3874,7 +3877,7 @@ E F2(fd)A F0(If)180 667.2 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E (is duplicated.)2.5 E F1(/de)144 679.2 Q(v/stdin)-.15 E F0 (File descriptor 0 is duplicated.)180 691.2 Q F1(/de)144 703.2 Q (v/stdout)-.15 E F0(File descriptor 1 is duplicated.)180 715.2 Q -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(29)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(29)193.45 E 0 Cg EP %%Page: 30 30 %%BeginPageSetup BP @@ -3883,21 +3886,21 @@ BP (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 SF(/de)144 84 Q(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 96 Q F1(/de)144 108 Q(v/tcp/)-.15 E/F2 10/Times-Italic@0 SF(host)A F1(/) -A F2(port)A F0(If)180 120 Q F2(host)2.996 E F0 .496(is a v)2.996 F .496 -(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497 -(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E +A F2(port)A F0(If)180 120 Q F2(host)2.997 E F0 .497(is a v)2.997 F .497 +(alid hostname or Internet address, and)-.25 F F2(port)2.996 E F0 .496 +(is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E (vice name,)180 132 Q F1(bash)2.5 E F0 (attempts to open the corresponding TCP sock)2.5 E(et.)-.1 E F1(/de)144 144 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 156 Q F2(host) -2.997 E F0 .497(is a v)2.997 F .497 -(alid hostname or Internet address, and)-.25 F F2(port)2.996 E F0 .496 -(is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E +2.996 E F0 .496(is a v)2.996 F .496 +(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497 +(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E (vice name,)180 168 Q F1(bash)2.5 E F0 (attempts to open the corresponding UDP sock)2.5 E(et.)-.1 E 2.5(Af)108 184.8 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 201.6 R 2.546(ym)-.15 G .046 -(ay con\215ict with \214le de-)-2.546 F +-2.6 E(ail.)-.1 E .046(Redirections using \214le descriptors greater th\ +an 9 should be used with care, as the)108 201.6 R 2.545(ym)-.15 G .045 +(ay con\215ict with \214le de-)-2.545 F (scriptors the shell uses internally)108 213.6 Q(.)-.65 E F1(Redir)87 230.4 Q(ecting Input)-.18 E F0 .391 (Redirection of input causes the \214le whose name results from the e) @@ -3908,43 +3911,43 @@ an 9 should be used with care, as the)108 201.6 R 2.546(ym)-.15 G .046 (is not speci\214ed.)2.74 E (The general format for redirecting input is:)108 271.2 Q([)144 288 Q F2 (n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 304.8 Q(ecting Output) --.18 E F0 .174 +-.18 E F0 .175 (Redirection of output causes the \214le whose name results from the e) -108 316.8 R .175(xpansion of)-.15 F F2(wor)3.015 E(d)-.37 E F0 .175 -(to be opened for writ-)3.445 F .084(ing on \214le descriptor)108 328.8 -R F2(n)2.944 E F0 2.583(,o).24 G 2.583(rt)-2.583 G .083 +108 316.8 R .174(xpansion of)-.15 F F2(wor)3.014 E(d)-.37 E F0 .174 +(to be opened for writ-)3.444 F .083(ing on \214le descriptor)108 328.8 +R F2(n)2.943 E F0 2.583(,o).24 G 2.583(rt)-2.583 G .083 (he standard output \(\214le descriptor 1\) if)-2.583 F F2(n)2.943 E F0 -.083(is not speci\214ed.)2.823 F .083(If the \214le does not e)5.083 F +.083(is not speci\214ed.)2.823 F .084(If the \214le does not e)5.083 F (x-)-.15 E(ist it is created; if it does e)108 340.8 Q (xist it is truncated to zero size.)-.15 E (The general format for redirecting output is:)108 357.6 Q([)144 374.4 Q -F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .154 -(If the redirection operator is)108 391.2 R F1(>)2.654 E F0 2.654(,a)C -.154(nd the)-2.654 F F1(noclob)2.654 E(ber)-.1 E F0 .154(option to the) -2.654 F F1(set)2.655 E F0 -.2(bu)2.655 G .155 -(iltin has been enabled, the redirection).2 F .658(will f)108 403.2 R -.658(ail if the \214le whose name results from the e)-.1 F .658 -(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657 -(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-) -5.657 F .408(rection operator is)108 415.2 R F1(>|)2.909 E F0 2.909(,o)C +F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .155 +(If the redirection operator is)108 391.2 R F1(>)2.655 E F0 2.655(,a)C +.155(nd the)-2.655 F F1(noclob)2.655 E(ber)-.1 E F0 .154(option to the) +2.654 F F1(set)2.654 E F0 -.2(bu)2.654 G .154 +(iltin has been enabled, the redirection).2 F .657(will f)108 403.2 R +.657(ail if the \214le whose name results from the e)-.1 F .658 +(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .658 +(ists and is a re).15 F .658(gular \214le.)-.15 F .658(If the redi-) +5.658 F .409(rection operator is)108 415.2 R F1(>|)2.909 E F0 2.909(,o)C 2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F1(>)2.909 E F0 .409(and the)2.909 F F1(noclob)2.909 E(ber)-.1 E F0 .409 -(option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.909 G .409 +(option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.908 G .408 (iltin command).2 F(is not enabled, the redirection is attempted e)108 427.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) -2.5 E F2(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F1 -.25(Ap)87 -444 S(pending Redir).25 E(ected Output)-.18 E F0 .642 +444 S(pending Redir).25 E(ected Output)-.18 E F0 .641 (Redirection of output in this f)108 456 R .642 -(ashion causes the \214le whose name results from the e)-.1 F .641 -(xpansion of)-.15 F F2(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .454 +(ashion causes the \214le whose name results from the e)-.1 F .642 +(xpansion of)-.15 F F2(wor)3.482 E(d)-.37 E F0 .642(to be)3.912 F .455 (opened for appending on \214le descriptor)108 468 R F2(n)3.315 E F0 2.955(,o).24 G 2.955(rt)-2.955 G .455 -(he standard output \(\214le descriptor 1\) if)-2.955 F F2(n)3.315 E F0 -.455(is not speci\214ed.)3.195 F(If)5.455 E(the \214le does not e)108 +(he standard output \(\214le descriptor 1\) if)-2.955 F F2(n)3.314 E F0 +.454(is not speci\214ed.)3.194 F(If)5.454 E(the \214le does not e)108 480 Q(xist it is created.)-.15 E (The general format for appending output is:)108 496.8 Q([)144 513.6 Q F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 530.4 Q -(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .249 +(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .248 (This construct allo)108 542.4 R .249(ws both the standard output \(\ \214le descriptor 1\) and the standard error output \(\214le descrip-) -.25 F(tor 2\) to be redirected to the \214le whose name is the e)108 @@ -3955,18 +3958,18 @@ F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 530.4 Q A(d)-.37 E F0(Of the tw)108 628.8 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 F1(>)144 645.6 Q F2(wor)A(d)-.37 E F0(2)2.5 -E F1(>&)A F0(1)A .114(When using the second form,)108 662.4 R F2(wor) +E F1(>&)A F0(1)A .115(When using the second form,)108 662.4 R F2(wor) 2.614 E(d)-.37 E F0 .114(may not e)2.614 F .114(xpand to a number or) --.15 F F12.614 E F0 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 674.4 Q +-.15 F F12.614 E F0 5.114(.I)C 2.614(fi)-5.114 G 2.614(td)-2.614 G +.114(oes, other redirection operators)-2.614 F(apply \(see)108 674.4 Q F1(Duplicating File Descriptors)2.5 E F0(belo)2.5 E (w\) for compatibility reasons.)-.25 E F1 -.25(Ap)87 691.2 S -(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .249 +(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248 (This construct allo)108 703.2 R .249(ws both the standard output \(\ \214le descriptor 1\) and the standard error output \(\214le descrip-) -.25 F(tor 2\) to be appended to the \214le whose name is the e)108 715.2 Q(xpansion of)-.15 E F2(wor)2.84 E(d)-.37 E F0(.).77 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(30)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(30)193.45 E 0 Cg EP %%Page: 31 31 %%BeginPageSetup BP @@ -3981,30 +3984,30 @@ Q/F1 10/Times-Bold@0 SF(&>>)144 100.8 Q/F2 10/Times-Italic@0 SF(wor)A(d) (w\).)-.25 E F1(Her)87 168 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This \ type of redirection instructs the shell to read input from the current \ source until a line containing only)108 180 R F2(delimiter)108.35 192 Q -F0 .615(\(with no trailing blanks\) is seen.)3.845 F .615 +F0 .614(\(with no trailing blanks\) is seen.)3.844 F .615 (All of the lines read up to that point are then used as the stan-)5.615 F(dard input \(or \214le descriptor)108 204 Q F2(n)2.5 E F0(if)2.5 E F2 (n)2.5 E F0(is speci\214ed\) for a command.)2.5 E (The format of here-documents is:)108 220.8 Q([)144 237.6 Q F2(n)A F0(]) A F1(<<)A F0([)A F1A F0(])A F2(wor)A(d)-.37 E(her)164 249.6 Q -(e-document)-.37 E(delimiter)144 261.6 Q F0 .301(No parameter and v)108 +(e-document)-.37 E(delimiter)144 261.6 Q F0 .302(No parameter and v)108 278.4 R .302(ariable e)-.25 F .302 -(xpansion, command substitution, arithmetic e)-.15 F .302 +(xpansion, command substitution, arithmetic e)-.15 F .301 (xpansion, or pathname e)-.15 F(xpansion)-.15 E .381(is performed on)108 290.4 R F2(wor)3.221 E(d)-.37 E F0 5.381(.I).77 G 2.881(fa)-5.381 G .681 -.15(ny p)-2.881 H .381(art of).15 F F2(wor)3.221 E(d)-.37 E F0 .381 (is quoted, the)3.651 F F2(delimiter)3.231 E F0 .381 (is the result of quote remo)3.611 F -.25(va)-.15 G 2.881(lo).25 G(n) --2.881 E F2(wor)3.221 E(d)-.37 E F0(,).77 E .773 +-2.881 E F2(wor)3.221 E(d)-.37 E F0(,).77 E .774 (and the lines in the here-document are not e)108 302.4 R 3.274 -(xpanded. If)-.15 F F2(wor)3.274 E(d)-.37 E F0 .774 -(is unquoted, all lines of the here-document)3.274 F 1.195 +(xpanded. If)-.15 F F2(wor)3.273 E(d)-.37 E F0 .773 +(is unquoted, all lines of the here-document)3.273 F 1.194 (are subjected to parameter e)108 314.4 R 1.194 -(xpansion, command substitution, and arithmetic e)-.15 F 1.194 +(xpansion, command substitution, and arithmetic e)-.15 F 1.195 (xpansion, the character se-)-.15 F(quence)108 326.4 Q F1(\\) 2.5 E F0(is ignored, and)2.5 E F1(\\)2.5 E F0 (must be used to quote the characters)2.5 E F1(\\)2.5 E F0(,)A F1($)2.5 -E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .601 +E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .602 (If the redirection operator is)108 343.2 R F1(<<\255)3.101 E F0 3.101 (,t)C .601(hen all leading tab characters are stripped from input lines\ and the line)-3.101 F(containing)108 355.2 Q F2(delimiter)2.85 E F0 5 @@ -4013,54 +4016,54 @@ E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .601 -.25 E(ashion.)-.1 E F1(Her)87 372 Q 2.5(eS)-.18 G(trings)-2.5 E F0 2.5 (Av)108 384 S(ariant of here documents, the format is:)-2.75 E([)144 400.8 Q F2(n)A F0(])A F1(<<<)A F2(wor)A(d)-.37 E F0(The)108 417.6 Q F2 -(wor)3.292 E(d)-.37 E F0(under)3.292 E .792(goes tilde e)-.18 F .792 -(xpansion, parameter and v)-.15 F .792(ariable e)-.25 F .791 +(wor)3.291 E(d)-.37 E F0(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 429.6 S -1.187(pansion, and quote remo).15 F -.25(va)-.15 G 3.687(l. P).25 F +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.188(The result is)6.187 F .375 -(supplied as a single string, with a ne)108 441.6 R .374(wline appended\ +(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 441.6 R .375(wline appended\ , to the command on its standard input \(or \214le descrip-)-.25 F(tor) 108 453.6 Q F2(n)2.5 E F0(if)2.5 E F2(n)2.5 E F0(is speci\214ed\).)2.5 E F1(Duplicating File Descriptors)87 470.4 Q F0(The redirection operator) 108 482.4 Q([)144 499.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 -.126(is used to duplicate input \214le descriptors.)108 516 R(If)5.127 E -F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127 +.127(is used to duplicate input \214le descriptors.)108 516 R(If)5.127 E +F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126 (pands to one or more digits, the \214le descriptor denoted).15 F(by)108 -528 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G -2.958(ft)-2.958 G .457(hat \214le descriptor)-2.958 F 5.457(.I)-.55 G -2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.297 E(d)-.37 E F0 -.457(do not specify a \214le descriptor open)3.727 F .149 -(for input, a redirection error occurs.)108 540 R(If)5.149 E F2(wor) -2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F12.649 E -F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.) -2.89 F(If)5.15 E F2(n)3.01 E F0 .15(is not speci\214ed,)2.89 F +528 Q F2(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G +2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G +2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.298 E(d)-.37 E F0 +.458(do not specify a \214le descriptor open)3.728 F .15 +(for input, a redirection error occurs.)108 540 R(If)5.15 E F2(wor)2.99 +E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F12.65 E F0 2.649 +<2c8c>C .149(le descriptor)-2.649 F F2(n)3.009 E F0 .149(is closed.) +2.889 F(If)5.149 E F2(n)3.009 E F0 .149(is not speci\214ed,)2.889 F (the standard input \(\214le descriptor 0\) is used.)108 552 Q (The operator)108 568.8 Q([)144 585.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A -(d)-.37 E F0 .444 +(d)-.37 E F0 .443 (is used similarly to duplicate output \214le descriptors.)108 602.4 R -(If)5.444 E F2(n)3.304 E F0 .443 -(is not speci\214ed, the standard output \(\214le descrip-)3.183 F .565 -(tor 1\) is used.)108 614.4 R .565(If the digits in)5.565 F F2(wor)3.406 +(If)5.443 E F2(n)3.304 E F0 .444 +(is not speci\214ed, the standard output \(\214le descrip-)3.184 F .566 +(tor 1\) is used.)108 614.4 R .566(If the digits in)5.566 F F2(wor)3.406 E(d)-.37 E F0 .566(do not specify a \214le descriptor open for output, \ -a redirection error oc-)3.836 F 3.204(curs. If)108 626.4 R F2(wor)3.544 -E(d)-.37 E F0 -.25(eva)3.974 G .704(luates to).25 F F13.204 E F0 -3.204<2c8c>C .704(le descriptor)-3.204 F F2(n)3.563 E F0 .703 -(is closed.)3.443 F .703(As a special case, if)5.703 F F2(n)3.203 E F0 -.703(is omitted, and)3.203 F F2(wor)3.203 E(d)-.37 E F0(does)3.203 E -.965(not e)108 638.4 R .965(xpand to one or more digits or)-.15 F F1 -3.465 E F0 3.466(,t)C .966 +a redirection error oc-)3.836 F 3.203(curs. If)108 626.4 R F2(wor)3.543 +E(d)-.37 E F0 -.25(eva)3.973 G .703(luates to).25 F F13.203 E F0 +3.203<2c8c>C .703(le descriptor)-3.203 F F2(n)3.563 E F0 .703 +(is closed.)3.443 F .703(As a special case, if)5.703 F F2(n)3.204 E F0 +.704(is omitted, and)3.204 F F2(wor)3.204 E(d)-.37 E F0(does)3.204 E +.966(not e)108 638.4 R .966(xpand to one or more digits or)-.15 F F1 +3.466 E F0 3.466(,t)C .965 (he standard output and standard error are redirected as described) -3.466 F(pre)108 650.4 Q(viously)-.25 E(.)-.65 E F1(Mo)87 667.2 Q (ving File Descriptors)-.1 E F0(The redirection operator)108 679.2 Q([) 144 696 Q F2(n)A F0(])A F1(<&)A F2(digit)A F1A F0(mo)108 712.8 Q --.15(ve)-.15 G 3.018(st).15 G .518(he \214le descriptor)-3.018 F F2 -(digit)3.018 E F0 .518(to \214le descriptor)3.018 F F2(n)3.378 E F0 -3.018(,o).24 G 3.018(rt)-3.018 G .517 -(he standard input \(\214le descriptor 0\) if)-3.018 F F2(n)3.017 E F0 -.517(is not speci-)3.017 F(\214ed.)108 724.8 Q F2(digit)5 E F0 +-.15(ve)-.15 G 3.017(st).15 G .517(he \214le descriptor)-3.017 F F2 +(digit)3.017 E F0 .517(to \214le descriptor)3.017 F F2(n)3.377 E F0 +3.017(,o).24 G 3.017(rt)-3.017 G .518 +(he standard input \(\214le descriptor 0\) if)-3.017 F F2(n)3.018 E F0 +.518(is not speci-)3.018 F(\214ed.)108 724.8 Q F2(digit)5 E F0 (is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(31)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(31)193.45 E 0 Cg EP %%Page: 32 32 %%BeginPageSetup BP @@ -4069,11 +4072,11 @@ BP (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(Similarly)108 84 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)144 100.8 Q/F1 10 /Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0 SF(>&)A F1(digit)A F2 -A F0(mo)108 117.6 Q -.15(ve)-.15 G 2.767(st).15 G .267 -(he \214le descriptor)-2.767 F F1(digit)2.767 E F0 .267 -(to \214le descriptor)2.767 F F1(n)3.127 E F0 2.767(,o).24 G 2.767(rt) --2.767 G .268(he standard output \(\214le descriptor 1\) if)-2.767 F F1 -(n)2.768 E F0 .268(is not speci-)2.768 F(\214ed.)108 129.6 Q F2 +A F0(mo)108 117.6 Q -.15(ve)-.15 G 2.768(st).15 G .268 +(he \214le descriptor)-2.768 F F1(digit)2.768 E F0 .268 +(to \214le descriptor)2.768 F F1(n)3.128 E F0 2.768(,o).24 G 2.768(rt) +-2.768 G .267(he standard output \(\214le descriptor 1\) if)-2.768 F F1 +(n)2.767 E F0 .267(is not speci-)2.767 F(\214ed.)108 129.6 Q F2 (Opening File Descriptors f)87 146.4 Q(or Reading and Writing)-.25 E F0 (The redirection operator)108 158.4 Q([)144 175.2 Q F1(n)A F0(])A F2(<>) A F1(wor)A(d)-.37 E F0 .518(causes the \214le whose name is the e)108 @@ -4082,117 +4085,117 @@ A F1(wor)A(d)-.37 E F0 .518(causes the \214le whose name is the e)108 (scriptor)108 204 Q F1(n)2.86 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c> -2.5 G(le descriptor 0 if)-2.5 E F1(n)2.86 E F0(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 220.8 Q F1(Aliases)108 232.8 Q F0(allo)3.173 -E 3.173(was)-.25 G .674(tring to be substituted for a w)-3.173 F .674 -(ord when it is used as the \214rst w)-.1 F .674 +/Times-Bold@0 SF(ALIASES)72 220.8 Q F1(Aliases)108 232.8 Q F0(allo)3.174 +E 3.174(was)-.25 G .674(tring to be substituted for a w)-3.174 F .674 +(ord when it is used as the \214rst w)-.1 F .673 (ord of a simple command.)-.1 F .394(The shell maintains a list of alia\ -ses that may be set and unset with the)108 244.8 R F2(alias)2.893 E F0 -(and)2.893 E F2(unalias)2.893 E F0 -.2(bu)2.893 G .393(iltin commands).2 -F(\(see)108 256.8 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09 -E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E 4.48(w\). The)-.25 F 1.98 -(\214rst w)4.48 F 1.98(ord of each simple command, if unquoted, is)-.1 F -(check)108 268.8 Q .473(ed to see if it has an alias.)-.1 F .473 -(If so, that w)5.473 F .472(ord is replaced by the te)-.1 F .472 -(xt of the alias.)-.15 F .472(The characters)5.472 F F2(/)2.972 E F0(,)A -F2($)2.972 E F0(,)A F2<92>2.972 E F0(,)A(and)108 280.8 Q F2(=)3.611 E F0 -1.111(and an)3.611 F 3.611(yo)-.15 G 3.611(ft)-3.611 G 1.111(he shell) --3.611 F F1(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112 -(or quoting characters listed abo)3.612 F 1.412 -.15(ve m)-.15 H 1.112 -(ay not appear in an alias).15 F 3.62(name. The)108 292.8 R 1.12 -(replacement te)3.62 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G -1.119(alid shell input, including shell metacharacters.)-3.869 F 1.119 -(The \214rst)6.119 F -.1(wo)108 304.8 S .513(rd of the replacement te).1 -F .513(xt is tested for aliases, b)-.15 F .513(ut a w)-.2 F .514 -(ord that is identical to an alias being e)-.1 F .514(xpanded is)-.15 F -.296(not e)108 316.8 R .296(xpanded a second time.)-.15 F .296 -(This means that one may alias)5.296 F F2(ls)2.796 E F0(to)2.796 E F2 -.296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F2 -(bash)2.795 E F0 .295(does not try)2.795 F .528(to recursi)108 328.8 R --.15(ve)-.25 G .528(ly e).15 F .528(xpand the replacement te)-.15 F -3.028(xt. If)-.15 F .528(the last character of the alias v)3.028 F .529 -(alue is a)-.25 F F1(blank)3.299 E F0 3.029(,t).67 G .529(hen the ne) --3.029 F(xt)-.15 E(command w)108 340.8 Q(ord follo)-.1 E +ses that may be set and unset with the)108 244.8 R F2(alias)2.894 E F0 +(and)2.894 E F2(unalias)2.894 E F0 -.2(bu)2.894 G .394(iltin commands).2 +F(\(see)108 256.8 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B)4.48 F(UIL)-.09 E +1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E 4.48(w\). The)-.25 F 1.98 +(\214rst w)4.48 F 1.979(ord of each simple command, if unquoted, is)-.1 +F(check)108 268.8 Q .472(ed to see if it has an alias.)-.1 F .472 +(If so, that w)5.472 F .473(ord is replaced by the te)-.1 F .473 +(xt of the alias.)-.15 F .473(The characters)5.473 F F2(/)2.973 E F0(,)A +F2($)2.973 E F0(,)A F2<92>2.973 E F0(,)A(and)108 280.8 Q F2(=)3.612 E F0 +1.112(and an)3.612 F 3.612(yo)-.15 G 3.612(ft)-3.612 G 1.112(he shell) +-3.612 F F1(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112 +(or quoting characters listed abo)3.612 F 1.411 -.15(ve m)-.15 H 1.111 +(ay not appear in an alias).15 F 3.619(name. The)108 292.8 R 1.119 +(replacement te)3.619 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G +1.119(alid shell input, including shell metacharacters.)-3.869 F 1.12 +(The \214rst)6.12 F -.1(wo)108 304.8 S .514(rd of the replacement te).1 +F .514(xt is tested for aliases, b)-.15 F .514(ut a w)-.2 F .513 +(ord that is identical to an alias being e)-.1 F .513(xpanded is)-.15 F +.295(not e)108 316.8 R .295(xpanded a second time.)-.15 F .296 +(This means that one may alias)5.295 F F2(ls)2.796 E F0(to)2.796 E F2 +.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F2 +(bash)2.796 E F0 .296(does not try)2.796 F .529(to recursi)108 328.8 R +-.15(ve)-.25 G .529(ly e).15 F .529(xpand the replacement te)-.15 F +3.029(xt. If)-.15 F .528(the last character of the alias v)3.029 F .528 +(alue is a)-.25 F F1(blank)3.298 E F0 3.028(,t).67 G .528(hen the ne) +-3.028 F(xt)-.15 E(command w)108 340.8 Q(ord follo)-.1 E (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15 E(Aliases are created and listed with the)108 357.6 Q F2(alias)2.5 E F0 (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 F0(command.)2.5 E .742 +(unalias)2.5 E F0(command.)2.5 E .741 (There is no mechanism for using ar)108 374.4 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 386.4 Q -F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E .282(Aliases are not e)108 -403.2 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 F2(expand_aliases)2.783 E F0 -.283(shell option is set us-)2.783 F(ing)108 415.2 Q F2(shopt)2.5 E F0 +.742(guments are needed, use a shell)-.18 F(function \(see)108 386.4 Q +F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E .283(Aliases are not e)108 +403.2 R .283(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 +G 2.782(,u).15 G .282(nless the)-2.782 F F2(expand_aliases)2.782 E F0 +.282(shell option is set us-)2.782 F(ing)108 415.2 Q F2(shopt)2.5 E F0 (\(see the description of)2.5 E F2(shopt)2.5 E F0(under)2.5 E F4 (SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 -E .436 +E .435 (The rules concerning the de\214nition and use of aliases are some)108 -432 R .435(what confusing.)-.25 F F2(Bash)5.435 E F0(al)2.935 E -.1(wa) --.1 G .435(ys reads at least).1 F .67 +432 R .436(what confusing.)-.25 F F2(Bash)5.436 E F0(al)2.936 E -.1(wa) +-.1 G .436(ys reads at least).1 F .67 (one complete line of input, and all lines that mak)108 444 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 456 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 468 R -.15(xe)-.15 G 2.574(cuted. Therefore,).15 F +1.058(commands on that line or the compound command.)108 456 R 1.059 +(Aliases are e)6.059 F 1.059(xpanded when a command is read, not)-.15 F +.075(when it is e)108 468 R -.15(xe)-.15 G 2.575(cuted. Therefore,).15 F .075(an alias de\214nition appearing on the same line as another comman\ -d does not)2.574 F(tak)108 480 Q 2.838(ee)-.1 G -.25(ff)-2.838 G .338 -(ect until the ne).25 F .338(xt line of input is read.)-.15 F .337 -(The commands follo)5.337 F .337 -(wing the alias de\214nition on that line are)-.25 F .551(not af)108 492 +d does not)2.575 F(tak)108 480 Q 2.837(ee)-.1 G -.25(ff)-2.837 G .337 +(ect until the ne).25 F .337(xt line of input is read.)-.15 F .337 +(The commands follo)5.337 F .338 +(wing the alias de\214nition on that line are)-.25 F .552(not af)108 492 R .551(fected by the ne)-.25 F 3.051(wa)-.25 G 3.051(lias. This)-3.051 F (beha)3.051 E .551(vior is also an issue when functions are e)-.2 F -.15 -(xe)-.15 G 3.051(cuted. Aliases).15 F .552(are e)3.052 F(x-)-.15 E .426 +(xe)-.15 G 3.051(cuted. Aliases).15 F .551(are e)3.051 F(x-)-.15 E .425 (panded when a function de\214nition is read, not when the function is \ -e)108 504 R -.15(xe)-.15 G .425(cuted, because a function de\214nition) -.15 F .403(is itself a command.)108 516 R .403 -(As a consequence, aliases de\214ned in a function are not a)5.403 F --.25(va)-.2 G .404(ilable until after that func-).25 F .862(tion is e) +e)108 504 R -.15(xe)-.15 G .426(cuted, because a function de\214nition) +.15 F .404(is itself a command.)108 516 R .403 +(As a consequence, aliases de\214ned in a function are not a)5.404 F +-.25(va)-.2 G .403(ilable until after that func-).25 F .862(tion is e) 108 528 R -.15(xe)-.15 G 3.362(cuted. T).15 F 3.362(ob)-.8 G 3.362(es) -3.362 G .862(afe, al)-3.362 F -.1(wa)-.1 G .862 (ys put alias de\214nitions on a separate line, and do not use).1 F F2 (alias)3.362 E F0 .862(in com-)3.362 F(pound commands.)108 540 Q -.15 (Fo)108 556.8 S 2.5(ra).15 G(lmost e)-2.5 E -.15(ve)-.25 G (ry purpose, aliases are superseded by shell functions.).15 E F3 -(FUNCTIONS)72 573.6 Q F0 3.467(As)108 585.6 S .967 -(hell function, de\214ned as described abo)-3.467 F 1.267 -.15(ve u)-.15 +(FUNCTIONS)72 573.6 Q F0 3.468(As)108 585.6 S .968 +(hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15 H(nder).15 E F4 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F0 -.968(stores a series of commands for)3.217 F 1.002(later e)108 597.6 R --.15(xe)-.15 G 3.502(cution. When).15 F 1.002(the name of a shell funct\ -ion is used as a simple command name, the list of com-)3.502 F .315 +.967(stores a series of commands for)3.217 F 1.001(later e)108 597.6 R +-.15(xe)-.15 G 3.501(cution. When).15 F 1.002(the name of a shell funct\ +ion is used as a simple command name, the list of com-)3.501 F .316 (mands associated with that function name is e)108 609.6 R -.15(xe)-.15 -G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .316 -(cuted in the conte).15 F .316(xt of the current)-.15 F .036 -(shell; no ne)108 621.6 R 2.536(wp)-.25 G .036 -(rocess is created to interpret them \(contrast this with the e)-2.536 F --.15(xe)-.15 G .036(cution of a shell script\).).15 F .035(When a)5.035 -F .639(function is e)108 633.6 R -.15(xe)-.15 G .639(cuted, the ar).15 F +G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .315 +(cuted in the conte).15 F .315(xt of the current)-.15 F .035 +(shell; no ne)108 621.6 R 2.535(wp)-.25 G .036 +(rocess is created to interpret them \(contrast this with the e)-2.535 F +-.15(xe)-.15 G .036(cution of a shell script\).).15 F .036(When a)5.036 +F .64(function is e)108 633.6 R -.15(xe)-.15 G .64(cuted, the ar).15 F .639 (guments to the function become the positional parameters during its e) --.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 645.6 -R F2(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532 -(Special parameter)5.532 F F2(0)3.032 E F0 .532(is unchanged.)3.032 F -.532(The \214rst ele-)5.532 F(ment of the)108 657.6 Q F4(FUNCN)2.5 E +-.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 645.6 +R F2(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .532 +(Special parameter)5.532 F F2(0)3.033 E F0 .533(is unchanged.)3.033 F +.533(The \214rst ele-)5.533 F(ment of the)108 657.6 Q F4(FUNCN)2.5 E (AME)-.18 E F0 -.25(va)2.25 G (riable is set to the name of the function while the function is e).25 E -.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108 674.4 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 686.4 R 1.215(xceptions: the)-.15 F F4(DEB)3.715 E(UG) --.09 E F0(and)3.465 E F2(RETURN)3.715 E F0 1.215 -(traps \(see the description of the)3.715 F F2(trap)3.714 E F0 -.2(bu) -3.714 G 1.214(iltin under).2 F F4(SHELL)3.714 E -.09(BU)108 698.4 S(IL) -.09 E .478(TIN COMMANDS)-.828 F F0(belo)2.728 E .479 +1.214(these e)108 686.4 R 1.214(xceptions: the)-.15 F F4(DEB)3.714 E(UG) +-.09 E F0(and)3.464 E F2(RETURN)3.715 E F0 1.215 +(traps \(see the description of the)3.715 F F2(trap)3.715 E F0 -.2(bu) +3.715 G 1.215(iltin under).2 F F4(SHELL)3.715 E -.09(BU)108 698.4 S(IL) +.09 E .479(TIN COMMANDS)-.828 F F0(belo)2.729 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 F2(trace)2.979 E F0(attrib)2.979 E -.479(ute \(see)-.2 F .421(the description of the)108 710.4 R F4(declar) +-.25 G 2.978(nt).15 G(he)-2.978 E F2(trace)2.978 E F0(attrib)2.978 E +.478(ute \(see)-.2 F .42(the description of the)108 710.4 R F4(declar) 2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the) -.25 F F2 .42(\255o functrace)2.92 F F0 .42 -(shell option has been enabled with the)2.92 F F2(set)2.92 E F0 -.2(bu) +(shell option has been enabled with the)2.92 F F2(set)2.921 E F0 -.2(bu) 108 722.4 S 1.616(iltin \(in which case all functions inherit the).2 F F2(DEB)4.116 E(UG)-.1 E F0(and)4.116 E F2(RETURN)4.116 E F0 1.616 (traps\), and the)4.116 F F4(ERR)4.116 E F0 1.616(trap is not)3.866 F -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(32)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(32)193.45 E 0 Cg EP %%Page: 33 33 %%BeginPageSetup BP @@ -4200,1278 +4203,1299 @@ BP /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E (inherited unless the)108 84 Q/F1 10/Times-Bold@0 SF(\255o errtrace)2.5 -E F0(shell option has been enabled.)2.5 E -1.11(Va)108 100.8 S .656 +E F0(shell option has been enabled.)2.5 E -1.11(Va)108 100.8 S .368 (riables local to the function may be declared with the)1.11 F F1(local) -3.155 E F0 -.2(bu)3.155 G .655(iltin command.).2 F(Ordinarily)5.655 E -3.155(,v)-.65 G .655(ariables and)-3.405 F .05(their v)108 112.8 R .05 -(alues are shared between the function and its caller)-.25 F 5.051(.I) --.55 G 2.551(fav)-5.051 G .051(ariable is declared)-2.801 F F1(local) -2.551 E F0 2.551(,t)C .051(he v)-2.551 F(ariable')-.25 E 2.551(sv)-.55 G -(isi-)-2.551 E 1.186(ble scope is restricted to that function and its c\ -hildren \(including the functions it calls\).)108 124.8 R 1.185(Local v) -6.185 F(ariables)-.25 E("shado)108 136.8 Q .154(w" v)-.25 F .154 -(ariables with the same name declared at pre)-.25 F .155(vious scopes.) --.25 F -.15(Fo)5.155 G 2.655(ri).15 G .155(nstance, a local v)-2.655 F -.155(ariable declared)-.25 F .67(in a function hides a global v)108 -148.8 R .669(ariable of the same name: references and assignments refer\ - to the local v)-.25 F(ari-)-.25 E .688(able, lea)108 160.8 R .688 -(ving the global v)-.2 F .688(ariable unmodi\214ed.)-.25 F .688 -(When the function returns, the global v)5.688 F .688 -(ariable is once ag)-.25 F(ain)-.05 E(visible.)108 172.8 Q .727 -(The shell uses)108 189.6 R/F2 10/Times-Italic@0 SF .727 -(dynamic scoping)3.227 F F0 .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 201.6 R .007 -(ariables and their v)-.25 F .007 +2.868 E F0 -.2(bu)2.868 G .368(iltin command \().2 F/F2 10 +/Times-Italic@0 SF .368(local variables)B F0 2.868(\). Ordinar)B(-)-.2 E +(ily)108 112.8 Q 2.88(,v)-.65 G .38(ariables and their v)-3.13 F .38 +(alues are shared between the function and its caller)-.25 F 5.38(.I) +-.55 G 2.88(fav)-5.38 G .38(ariable is declared)-3.13 F F1(local)2.88 E +F0(,)A(the v)108 124.8 Q(ariable')-.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 .726(In the follo)108 141.6 R .726 +(wing description, the)-.25 F F2(curr)3.226 E .726(ent scope)-.37 F F0 +.727(is a currently- e)3.226 F -.15(xe)-.15 G .727(cuting function.).15 +F(Pre)5.727 E .727(vious scopes consist)-.25 F 1.004(of that function') +108 153.6 R 3.504(sc)-.55 G 1.004 +(aller and so on, back to the "global" scope, where the shell is not e) +-3.504 F -.15(xe)-.15 G 1.003(cuting an).15 F 3.503(ys)-.15 G(hell) +-3.503 E 3.409(function. Consequently)108 165.6 R 3.409(,al)-.65 G .909 +(ocal v)-3.409 F .909(ariable at the current scope is a v)-.25 F .91 +(ariable declared using the)-.25 F F1(local)3.41 E F0(or)3.41 E F1(de-) +3.41 E(clar)108 177.6 Q(e)-.18 E F0 -.2(bu)2.5 G +(iltins in the function that is currently e).2 E -.15(xe)-.15 G(cuting.) +.15 E .636(Local v)108 194.4 R .636(ariables "shado)-.25 F .636(w" v) +-.25 F .635(ariables with the same name declared at pre)-.25 F .635 +(vious scopes.)-.25 F -.15(Fo)5.635 G 3.135(ri).15 G .635 +(nstance, a local)-3.135 F -.25(va)108 206.4 S .58 +(riable declared in a function hides a global v).25 F .581 +(ariable of the same name: references and assignments refer)-.25 F .183 +(to the local v)108 218.4 R .183(ariable, lea)-.25 F .183 +(ving the global v)-.2 F .183(ariable unmodi\214ed.)-.25 F .182 +(When the function returns, the global v)5.183 F(ariable)-.25 E +(is once ag)108 230.4 Q(ain visible.)-.05 E .726(The shell uses)108 +247.2 R F2 .726(dynamic scoping)3.226 F F0 .726(to control a v)3.226 F +(ariable')-.25 E 3.227(sv)-.55 G .727(isibility within functions.)-3.227 +F -.4(Wi)5.727 G .727(th dynamic scoping,).4 F .008(visible v)108 259.2 +R .008(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 213.6 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 225.6 Q -2.116 -.65(y, w)-.15 H .816 +F -.15(xe)-.15 G .007(cution to reach).15 F .813(the current function.) +108 271.2 R .813(The v)5.813 F .813(alue of a v)-.25 F .813 +(ariable that a function sees depends on its v)-.25 F .814 +(alue within its caller)-.25 F 3.314(,i)-.4 G(f)-3.314 E(an)108 283.2 Q +2.117 -.65(y, w)-.15 H .817 (hether that caller is the "global" scope or another shell function.).65 -F .817(This is also the v)5.816 F .817(alue that a local)-.25 F -.25(va) -108 237.6 S(riable declaration "shado).25 E(ws", and the v)-.25 E -(alue that is restored when the function returns.)-.25 E -.15(Fo)108 -254.4 S 2.724(re).15 G .224(xample, if a v)-2.874 F(ariable)-.25 E F2 -(var)2.724 E F0 .223(is declared as local in function)2.724 F F2(func1) -2.723 E F0 2.723(,a)C(nd)-2.723 E F2(func1)2.723 E F0 .223 -(calls another function)2.723 F F2(func2)2.723 E F0(,)A .463 -(references to)108 266.4 R F2(var)2.963 E F0 .463(made from within)2.963 -F F2(func2)2.963 E F0 .463(will resolv)2.963 F 2.964(et)-.15 G 2.964(ot) --2.964 G .464(he local v)-2.964 F(ariable)-.25 E F2(var)2.964 E F0(from) -2.964 E F2(func1)2.964 E F0 2.964(,s)C(hado)-2.964 E .464(wing an)-.25 F -(y)-.15 E(global v)108 278.4 Q(ariable named)-.25 E F2(var)2.5 E F0(.)A -(The)108 295.2 Q F1(unset)2.983 E F0 -.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 F1(unset)2.982 E F0 .19 -(will unset it; otherwise the unset will refer to the v)108 307.2 R .19 +F .816(This is also the v)5.816 F .816(alue that a local)-.25 F -.25(va) +108 295.2 S(riable declaration "shado).25 E(ws", and the v)-.25 E +(alue that is restored when the function returns.)-.25 E -.15(Fo)108 312 +S 2.723(re).15 G .223(xample, if a v)-2.873 F(ariable)-.25 E F2(var) +2.723 E F0 .223(is declared as local in function)2.723 F F2(func1)2.723 +E F0 2.724(,a)C(nd)-2.724 E F2(func1)2.724 E F0 .224 +(calls another function)2.724 F F2(func2)2.724 E F0(,)A .464 +(references to)108 324 R F2(var)2.964 E F0 .464(made from within)2.964 F +F2(func2)2.964 E F0 .464(will resolv)2.964 F 2.964(et)-.15 G 2.963(ot) +-2.964 G .463(he local v)-2.963 F(ariable)-.25 E F2(var)2.963 E F0(from) +2.963 E F2(func1)2.963 E F0 2.963(,s)C(hado)-2.963 E .463(wing an)-.25 F +(y)-.15 E(global v)108 336 Q(ariable named)-.25 E F2(var)2.5 E F0(.)A +(The)108 352.8 Q F1(unset)2.982 E F0 -.2(bu)2.982 G .482 +(iltin also acts using the same dynamic scope: if a v).2 F .483 +(ariable is local to the current scope,)-.25 F F1(unset)2.983 E F0 .19 +(will unset it; otherwise the unset will refer to the v)108 364.8 R .19 (ariable found in an)-.25 F 2.69(yc)-.15 G .19 (alling scope as described abo)-2.69 F -.15(ve)-.15 G 5.19(.I).15 G(f) --5.19 E 2.721(av)108 319.2 S .221(ariable at the current local scope is\ - unset, it will remain so until it is reset in that scope or until the \ -func-)-2.971 F .013(tion returns.)108 331.2 R .013 -(Once the function returns, an)5.013 F 2.513(yi)-.15 G .014 -(nstance of the v)-2.513 F .014(ariable at a pre)-.25 F .014 -(vious scope will become visible.)-.25 F .567(If the unset acts on a v) -108 343.2 R .566(ariable at a pre)-.25 F .566(vious scope, an)-.25 F -3.066(yi)-.15 G .566(nstance of a v)-3.066 F .566 -(ariable with that name that had been)-.25 F(shado)108 355.2 Q -(wed will become visible.)-.25 E(The)108 372 Q F1(FUNCNEST)3.528 E F0 --.25(va)3.528 G 1.028(riable, if set to a numeric v).25 F 1.028 +-5.19 E 3.324(av)108 376.8 S .824(ariable at the current local scope is\ + unset, it will remain so \(appearing as unset\) until it is reset in t\ +hat)-3.574 F 1.142(scope or until the function returns.)108 388.8 R +1.141(Once the function returns, an)6.141 F 3.641(yi)-.15 G 1.141 +(nstance of the v)-3.641 F 1.141(ariable at a pre)-.25 F(vious)-.25 E +.976(scope will become visible.)108 400.8 R .976 +(If the unset acts on a v)5.976 F .976(ariable at a pre)-.25 F .977 +(vious scope, an)-.25 F 3.477(yi)-.15 G .977(nstance of a v)-3.477 F +(ariable)-.25 E .008(with that name that had been shado)108 412.8 R .007 +(wed will become visible \(see belo)-.25 F 2.507(wh)-.25 G .507 -.25 +(ow t)-2.507 H(he).25 E F1(localv)2.507 E(ar_unset)-.1 E F0 .007 +(shell option)2.507 F(changes this beha)108 424.8 Q(vior\).)-.2 E(The) +108 441.6 Q F1(FUNCNEST)3.528 E F0 -.25(va)3.528 G 1.028 +(riable, if set to a numeric v).25 F 1.028 (alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108 -384 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G +453.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 .044(If the b)108 400.8 R .043(uiltin command)-.2 F F1 -.18(re) +-.15 E .044(If the b)108 470.4 R .043(uiltin command)-.2 F F1 -.18(re) 2.543 G(tur).18 E(n)-.15 E F0 .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 -.043(cution resumes with).15 F 1.011(the ne)108 412.8 R 1.011 +.043(cution resumes with).15 F 1.011(the ne)108 482.4 R 1.011 (xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G 1.011(ommand associated with the)-3.511 F F1(RETURN)3.512 E F0 1.012 -(trap is e)3.512 F -.15(xe)-.15 G(cuted).15 E .214(before e)108 424.8 R +(trap is e)3.512 F -.15(xe)-.15 G(cuted).15 E .214(before e)108 494.4 R -.15(xe)-.15 G .214(cution resumes.).15 F .213 (When a function completes, the v)5.214 F .213 (alues of the positional parameters and the spe-)-.25 F(cial parameter) -108 436.8 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E +108 506.4 Q F1(#)2.5 E F0(are restored to the v)2.5 E(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 1.358 -(Function names and de\214nitions may be listed with the)108 453.6 R F1 +(Function names and de\214nitions may be listed with the)108 523.2 R F1 3.858 E F0 1.358(option to the)3.858 F F1(declar)3.858 E(e)-.18 E F0(or)3.859 E F1(typeset)3.859 E F0 -.2(bu)3.859 G 1.359(iltin com-).2 F -3.39(mands. The)108 465.6 R F13.39 E F0 .89(option to)3.39 F F1 +3.39(mands. The)108 535.2 R F13.39 E F0 .89(option to)3.39 F F1 (declar)3.39 E(e)-.18 E F0(or)3.39 E F1(typeset)3.39 E F0 .89 (will list the function names only \(and optionally the source)3.39 F -.046(\214le and line number)108 477.6 R 2.546(,i)-.4 G 2.546(ft)-2.546 G +.046(\214le and line number)108 547.2 R 2.546(,i)-.4 G 2.546(ft)-2.546 G (he)-2.546 E F1(extdeb)2.546 E(ug)-.2 E F0 .046 (shell option is enabled\).)2.546 F .046(Functions may be e)5.046 F .046 (xported so that child shell)-.15 F .493 -(processes \(those created when e)108 489.6 R -.15(xe)-.15 G .492 +(processes \(those created when e)108 559.2 R -.15(xe)-.15 G .492 (cuting a separate shell in).15 F -.2(vo)-.4 G .492 (cation\) automatically ha).2 F .792 -.15(ve t)-.2 H .492 -(hem de\214ned with).15 F(the)108 501.6 Q F13.2 E F0 .7 +(hem de\214ned with).15 F(the)108 571.2 Q F13.2 E F0 .7 (option to the)3.2 F F1(export)3.2 E F0 -.2(bu)3.2 G 3.2(iltin. A).2 F .701(function de\214nition may be deleted using the)3.2 F F13.201 -E F0 .701(option to the)3.201 F F1(unset)3.201 E F0 -.2(bu)108 513.6 S -(iltin.).2 E .372(Functions may be recursi)108 530.4 R -.15(ve)-.25 G +E F0 .701(option to the)3.201 F F1(unset)3.201 E F0 -.2(bu)108 583.2 S +(iltin.).2 E .372(Functions may be recursi)108 600 R -.15(ve)-.25 G 5.371(.T).15 G(he)-5.371 E F1(FUNCNEST)2.871 E F0 -.25(va)2.871 G .371 (riable may be used to limit the depth of the function call).25 F .322 -(stack and restrict the number of function in)108 542.4 R -.2(vo)-.4 G +(stack and restrict the number of function in)108 612 R -.2(vo)-.4 G 2.822(cations. By).2 F(def)2.822 E .322 -(ault, no limit is imposed on the number of re-)-.1 F(cursi)108 554.4 Q -.3 -.15(ve c)-.25 H(alls.).15 E/F3 10.95/Times-Bold@0 SF(ARITHMETIC EV) -72 571.2 Q(ALU)-1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 1.089 -(The shell allo)108 583.2 R 1.089(ws arithmetic e)-.25 F 1.089 +(ault, no limit is imposed on the number of re-)-.1 F(cursi)108 624 Q .3 +-.15(ve c)-.25 H(alls.).15 E/F3 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 +640.8 Q(ALU)-1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 1.089 +(The shell allo)108 652.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 F1(let)3.588 E F0 -(and)3.588 E F1(de-)3.588 E(clar)108 595.2 Q(e)-.18 E F0 -.2(bu)3.452 G +(and)3.588 E F1(de-)3.588 E(clar)108 664.8 Q(e)-.18 E F0 -.2(bu)3.452 G .952(iltin commands, the).2 F F1(\(\()3.452 E F0 .952 (compound command, and)3.452 F F1 .952(Arithmetic Expansion)3.452 F F0 -3.453(\). Ev)B .953(aluation is done in)-.25 F<8c78>108 607.2 Q 1.058 +3.453(\). Ev)B .953(aluation is done in)-.25 F<8c78>108 676.8 Q 1.058 (ed-width inte)-.15 F 1.057(gers with no check for o)-.15 F -.15(ve)-.15 G(r\215o).15 E 2.357 -.65(w, t)-.25 H 1.057(hough di).65 F 1.057 (vision by 0 is trapped and \215agged as an error)-.25 F(.)-.55 E .828 -(The operators and their precedence, associati)108 619.2 R(vity)-.25 E +(The operators and their precedence, associati)108 688.8 R(vity)-.25 E 3.329(,a)-.65 G .829(nd v)-3.329 F .829 (alues are the same as in the C language.)-.25 F .829(The fol-)5.829 F -(lo)108 631.2 Q .44(wing list of operators is grouped into le)-.25 F +(lo)108 700.8 Q .44(wing list of operators is grouped into le)-.25 F -.15(ve)-.25 G .439(ls of equal-precedence operators.).15 F .439(The le) 5.439 F -.15(ve)-.25 G .439(ls are listed in order).15 F -(of decreasing precedence.)108 643.2 Q F2(id)108 660 Q F1(++)A F2(id)2.5 -E F1A F0 -.25(va)144 672 S -(riable post-increment and post-decrement).25 E F1 2.5108 684 S F0 -(unary minus and plus)144 684 Q F1(++)108 696 Q F2(id)A F12.5 E F2 -(id)A F0 -.25(va)144 708 S(riable pre-increment and pre-decrement).25 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(33)188.45 E 0 Cg EP +(of decreasing precedence.)108 712.8 Q(GNU Bash 5.2)72 768 Q +(2022 March 11)144.29 E(33)193.45 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF 2.5(!~)108 84 S F0(logical and bitwise ne)144 84 Q -.05(ga)-.15 G -(tion).05 E F1(**)108 96 Q F0 -.15(ex)144 96 S(ponentiation).15 E F1 2.5 -(*/%)108 108 S F0(multiplication, di)144 108 Q(vision, remainder)-.25 E -F1 2.5<2bad>108 120 S F0(addition, subtraction)144 120 Q F1(<< >>)108 -132 Q F0(left and right bitwise shifts)144 132 Q F1(<= >= < >)108 144 Q -F0(comparison)144 156 Q F1(== !=)108 168 Q F0(equality and inequality) -144 168 Q F1(&)108 180 Q F0(bitwise AND)144 180 Q F1(^)108 192 Q F0 -(bitwise e)144 192 Q(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F1(|)108 -204 Q F0(bitwise OR)144 204 Q F1(&&)108 216 Q F0(logical AND)144 216 Q -F1(||)108 228 Q F0(logical OR)144 228 Q/F2 10/Times-Italic@0 SF -.2(ex) -108 240 S(pr).2 E F1(?)A F2 -.2(ex)C(pr).2 E F1(:)A F2 -.2(ex)C(pr).2 E -F0(conditional operator)144 252 Q F1 2.5(=*)108 264 S 2.5(=/)-2.5 G 2.5 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10 +/Times-Italic@0 SF(id)108 84 Q/F2 10/Times-Bold@0 SF(++)A F1(id)2.5 E F2 +A F0 -.25(va)144 96 S(riable post-increment and post-decrement).25 +E F2 2.5108 108 S F0(unary minus and plus)144 108 Q F2(++)108 120 +Q F1(id)A F22.5 E F1(id)A F0 -.25(va)144 132 S +(riable pre-increment and pre-decrement).25 E F2 2.5(!~)108 144 S F0 +(logical and bitwise ne)144 144 Q -.05(ga)-.15 G(tion).05 E F2(**)108 +156 Q F0 -.15(ex)144 156 S(ponentiation).15 E F2 2.5(*/%)108 168 S F0 +(multiplication, di)144 168 Q(vision, remainder)-.25 E F2 2.5<2bad>108 +180 S F0(addition, subtraction)144 180 Q F2(<< >>)108 192 Q F0 +(left and right bitwise shifts)144 192 Q F2(<= >= < >)108 204 Q F0 +(comparison)144 216 Q F2(== !=)108 228 Q F0(equality and inequality)144 +228 Q F2(&)108 240 Q F0(bitwise AND)144 240 Q F2(^)108 252 Q F0 +(bitwise e)144 252 Q(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|)108 +264 Q F0(bitwise OR)144 264 Q F2(&&)108 276 Q F0(logical AND)144 276 Q +F2(||)108 288 Q F0(logical OR)144 288 Q F1 -.2(ex)108 300 S(pr).2 E F2 +(?)A F1 -.2(ex)C(pr).2 E F2(:)A F1 -.2(ex)C(pr).2 E F0 +(conditional operator)144 312 Q F2 2.5(=*)108 324 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(<= >>= &= ^= |=) --2.5 E F0(assignment)144 276 Q F2 -.2(ex)108 288 S(pr1).2 E F1(,)2.5 E -F2 -.2(ex)2.5 G(pr2).2 E F0(comma)144 300 Q .68(Shell v)108 316.8 R .68 +-2.5 E F0(assignment)144 336 Q F1 -.2(ex)108 348 S(pr1).2 E F2(,)2.5 E +F1 -.2(ex)2.5 G(pr2).2 E F0(comma)144 360 Q .68(Shell v)108 376.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 328.8 R 1.008(ithin an e)-.4 +-.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 388.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 340.8 S .165(pansion syntax.).15 F 2.665(As)5.165 G +-.25 F -.15(ex)108 400.8 S .165(pansion syntax.).15 F 2.665(As)5.165 G .165(hell v)-2.665 F .165(ariable that is null or unset e)-.25 F -.25 (va)-.25 G .165(luates to 0 when referenced by name without us-).25 F -.421(ing the parameter e)108 352.8 R .421(xpansion syntax.)-.15 F .421 +.421(ing the parameter e)108 412.8 R .421(xpansion syntax.)-.15 F .421 (The v)5.421 F .421(alue of a v)-.25 F .421(ariable is e)-.25 F -.25(va) -.25 G .42(luated as an arithmetic e).25 F .42(xpression when)-.15 F -.153(it is referenced, or when a v)108 364.8 R .154 +.153(it is referenced, or when a v)108 424.8 R .154 (ariable which has been gi)-.25 F -.15(ve)-.25 G 2.654(nt).15 G(he) --2.654 E F2(inte)2.654 E -.1(ge)-.4 G(r).1 E F0(attrib)2.654 E .154 -(ute using)-.2 F F1(declar)2.654 E 2.654<65ad>-.18 G(i)-2.654 E F0 .154 -(is assigned a)2.654 F -.25(va)108 376.8 S 2.857(lue. A).25 F .357 +-2.654 E F1(inte)2.654 E -.1(ge)-.4 G(r).1 E F0(attrib)2.654 E .154 +(ute using)-.2 F F2(declar)2.654 E 2.654<65ad>-.18 G(i)-2.654 E F0 .154 +(is assigned a)2.654 F -.25(va)108 436.8 S 2.857(lue. A).25 F .357 (null v)2.857 F .357(alue e)-.25 F -.25(va)-.25 G .357(luates to 0.).25 F 2.857(As)5.357 G .357(hell v)-2.857 F .357(ariable need not ha)-.25 F -.657 -.15(ve i)-.2 H(ts).15 E F2(inte)2.857 E -.1(ge)-.4 G(r).1 E F0 -(attrib)2.857 E .357(ute turned on to be used)-.2 F(in an e)108 388.8 Q -(xpression.)-.15 E(Inte)108 405.6 Q .517(ger constants follo)-.15 F +.657 -.15(ve i)-.2 H(ts).15 E F1(inte)2.857 E -.1(ge)-.4 G(r).1 E F0 +(attrib)2.857 E .357(ute turned on to be used)-.2 F(in an e)108 448.8 Q +(xpression.)-.15 E(Inte)108 465.6 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 417.6 S .783 +5.518 F 3.283(al)108 477.6 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 429.6 R 3.315(et)-.1 G .815 -(he form [)-3.315 F F2(base#)A F0 .815(]n, where the optional)B F2(base) +-.15 F(num-)3.282 E .815(bers tak)108 489.6 R 3.315(et)-.1 G .815 +(he form [)-3.315 F F1(base#)A F0 .815(]n, where the optional)B F1(base) 3.315 E F0 .816(is a decimal number between 2 and 64 representing)3.315 -F .35(the arithmetic base, and)108 441.6 R F2(n)2.85 E F0 .35 -(is a number in that base.)2.85 F(If)5.35 E F2(base#)2.849 E F0 .349 +F .35(the arithmetic base, and)108 501.6 R F1(n)2.85 E F0 .35 +(is a number in that base.)2.85 F(If)5.35 E F1(base#)2.849 E F0 .349 (is omitted, then base 10 is used.)2.849 F .349(When speci-)5.349 F -(fying)108 453.6 Q F2(n)2.974 E F0 2.974(,i)C 2.974(fan)-2.974 G .474(o\ +(fying)108 513.6 Q F1(n)2.974 E F0 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 465.6 R 5.518(.I)-.55 G(f) --5.518 E F2(base)3.018 E F0 .518(is less than or equal to 36, lo)3.018 F +(percase letters, @, and _, in that order)108 525.6 R 5.518(.I)-.55 G(f) +-5.518 E F1(base)3.018 E F0 .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 -477.6 Q .234(Operators are e)108 494.4 R -.25(va)-.25 G .234 +537.6 Q .234(Operators are e)108 554.4 R -.25(va)-.25 G .234 (luated in order of precedence.).25 F(Sub-e)5.234 E .234 (xpressions in parentheses are e)-.15 F -.25(va)-.25 G .235 -(luated \214rst and may).25 F -.15(ove)108 506.4 S +(luated \214rst and may).25 F -.15(ove)108 566.4 S (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95 -/Times-Bold@0 SF(CONDITION)72 523.2 Q(AL EXPRESSIONS)-.219 E F0 .256 -(Conditional e)108 535.2 R .256(xpressions are used by the)-.15 F F1([[) -2.755 E F0 .255(compound command and the)2.755 F F1(test)2.755 E F0(and) -2.755 E F1([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F -.133(\214le attrib)108 547.2 R .133 +/Times-Bold@0 SF(CONDITION)72 583.2 Q(AL EXPRESSIONS)-.219 E F0 .256 +(Conditional e)108 595.2 R .256(xpressions are used by the)-.15 F F2([[) +2.755 E F0 .255(compound command and the)2.755 F F2(test)2.755 E F0(and) +2.755 E F2([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F +.133(\214le attrib)108 607.2 R .133 (utes and perform string and arithmetic comparisons.)-.2 F(The)5.133 E -F1(test)2.633 E F0(and)2.633 E F1([)2.634 E F0 .134 -(commands determine their be-)2.634 F(ha)108 559.2 Q .198 +F2(test)2.633 E F0(and)2.633 E F2([)2.634 E F0 .134 +(commands determine their be-)2.634 F(ha)108 619.2 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 571.2 Q .234 -(Expressions are formed from the follo)108 588 R .234 -(wing unary or binary primaries.)-.25 F F1(Bash)5.234 E F0 .235 +-.15 G .197(ther command-)-2.697 F(speci\214c actions.)108 631.2 Q .234 +(Expressions are formed from the follo)108 648 R .234 +(wing unary or binary primaries.)-.25 F F2(Bash)5.234 E F0 .235 (handles se)2.735 F -.15(ve)-.25 G .235(ral \214lenames spe-).15 F .425 -(cially when the)108 600 R 2.925(ya)-.15 G .425(re used in e)-2.925 F +(cially when the)108 660 R 2.925(ya)-.15 G .425(re used in e)-2.925 F 2.925(xpressions. If)-.15 F .425(the operating system on which)2.925 F -F1(bash)2.924 E F0 .424(is running pro)2.924 F .424(vides these)-.15 F +F2(bash)2.924 E F0 .424(is running pro)2.924 F .424(vides these)-.15 F .344(special \214les, bash will use them; otherwise it will emulate the\ -m internally with this beha)108 612 R .345(vior: If an)-.2 F(y)-.15 E F2 +m internally with this beha)108 672 R .345(vior: If an)-.2 F(y)-.15 E F1 (\214le)2.845 E F0(ar)2.845 E(-)-.2 E .806 -(gument to one of the primaries is of the form)108 624 R F2(/de)3.306 E -(v/fd/n)-.15 E F0 3.305(,t)C .805(hen \214le descriptor)-3.305 F F2(n) -3.305 E F0 .805(is check)3.305 F 3.305(ed. If)-.1 F(the)3.305 E F2 +(gument to one of the primaries is of the form)108 684 R F1(/de)3.306 E +(v/fd/n)-.15 E F0 3.305(,t)C .805(hen \214le descriptor)-3.305 F F1(n) +3.305 E F0 .805(is check)3.305 F 3.305(ed. If)-.1 F(the)3.305 E F1 (\214le)3.305 E F0(ar)3.305 E(gu-)-.18 E .029 -(ment to one of the primaries is one of)108 636 R F2(/de)2.529 E -(v/stdin)-.15 E F0(,)A F2(/de)2.529 E(v/stdout)-.15 E F0 2.53(,o)C(r) --2.53 E F2(/de)2.53 E(v/stderr)-.15 E F0 2.53<2c8c>C .03 -(le descriptor 0, 1, or 2, respec-)-2.53 F(ti)108 648 Q -.15(ve)-.25 G +(ment to one of the primaries is one of)108 696 R F1(/de)2.529 E +(v/stdin)-.15 E F0(,)A F1(/de)2.529 E(v/stdout)-.15 E F0 2.53(,o)C(r) +-2.53 E F1(/de)2.53 E(v/stderr)-.15 E F0 2.53<2c8c>C .03 +(le descriptor 0, 1, or 2, respec-)-2.53 F(ti)108 708 Q -.15(ve)-.25 G (ly).15 E 2.5(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722 (Unless otherwise speci\214ed, primaries that operate on \214les follo) -108 664.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar) --3.221 F(get)-.18 E(of the link, rather than the link itself.)108 676.8 -Q 1.095(When used with)108 694.8 R F1([[)3.595 E F0 3.595(,t)C(he)-3.595 -E F1(<)3.595 E F0(and)3.595 E F1(>)3.595 E F0 1.095(operators sort le) -3.595 F 1.095(xicographically using the current locale.)-.15 F(The)6.096 -E F1(test)3.596 E F0(com-)3.596 E(mand sorts using ASCII ordering.)108 -706.8 Q(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(34)188.45 E 0 Cg -EP +108 724.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar) +-3.221 F(get)-.18 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(34) +193.45 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF108 84 Q/F2 10/Times-Italic@0 SF(\214le)2.5 E F0 -.35(Tr)144 84 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E +(of the link, rather than the link itself.)108 84 Q 1.095 +(When used with)108 102 R/F1 10/Times-Bold@0 SF([[)3.595 E F0 3.595(,t)C +(he)-3.595 E F1(<)3.595 E F0(and)3.595 E F1(>)3.595 E F0 1.095 +(operators sort le)3.595 F 1.095 +(xicographically using the current locale.)-.15 F(The)6.096 E F1(test) +3.596 E F0(com-)3.596 E(mand sorts using ASCII ordering.)108 114 Q F1 +108 138 Q/F2 10/Times-Italic@0 SF(\214le)2.5 E F0 -.35(Tr)144 138 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists.).15 E F1108 -96 Q F2(\214le)2.5 E F0 -.35(Tr)144 96 S(ue if).35 E F2(\214le)2.5 E F0 --.15(ex)2.5 G(ists and is a block special \214le.).15 E F1108 108 -Q F2(\214le)2.5 E F0 -.35(Tr)144 108 S(ue if).35 E F2(\214le)2.5 E F0 --.15(ex)2.5 G(ists and is a character special \214le.).15 E F1108 -120 Q F2(\214le)2.5 E F0 -.35(Tr)144 120 S(ue if).35 E F2(\214le)2.5 E -F0 -.15(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F1108 132 -Q F2(\214le)2.5 E F0 -.35(Tr)144 132 S(ue if).35 E F2(\214le)2.5 E F0 --.15(ex)2.5 G(ists.).15 E F1108 144 Q F2(\214le)2.5 E F0 -.35(Tr) -144 144 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re) -.15 E(gular \214le.)-.15 E F1108 156 Q F2(\214le)2.5 E F0 -.35(Tr) -144 156 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is set-group-id.).15 E F1108 168 Q F2(\214le)2.5 E F0 --.35(Tr)144 168 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F1108 180 Q F2(\214le)2.5 E F0 --.35(Tr)144 180 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +150 Q F2(\214le)2.5 E F0 -.35(Tr)144 150 S(ue if).35 E F2(\214le)2.5 E +F0 -.15(ex)2.5 G(ists and is a block special \214le.).15 E F1108 +162 Q F2(\214le)2.5 E F0 -.35(Tr)144 162 S(ue if).35 E F2(\214le)2.5 E +F0 -.15(ex)2.5 G(ists and is a character special \214le.).15 E F1 +108 174 Q F2(\214le)2.5 E F0 -.35(Tr)144 174 S(ue if).35 E F2(\214le)2.5 +E F0 -.15(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F1108 +186 Q F2(\214le)2.5 E F0 -.35(Tr)144 186 S(ue if).35 E F2(\214le)2.5 E +F0 -.15(ex)2.5 G(ists.).15 E F1108 198 Q F2(\214le)2.5 E F0 -.35 +(Tr)144 198 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a re).15 E(gular \214le.)-.15 E F1108 210 Q F2 +(\214le)2.5 E F0 -.35(Tr)144 210 S(ue if).35 E F2(\214le)2.5 E F0 -.15 +(ex)2.5 G(ists and is set-group-id.).15 E F1108 222 Q F2(\214le) +2.5 E F0 -.35(Tr)144 222 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F1108 234 Q F2(\214le)2.5 E F0 +-.35(Tr)144 234 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G (ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.) --2.5 E F1108 192 Q F2(\214le)2.5 E F0 -.35(Tr)144 192 S(ue if).35 +-2.5 E F1108 246 Q F2(\214le)2.5 E F0 -.35(Tr)144 246 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).) -.15 E F1108 204 Q F2(\214le)2.5 E F0 -.35(Tr)144 204 S(ue if).35 E +.15 E F1108 258 Q F2(\214le)2.5 E F0 -.35(Tr)144 258 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F1108 -216 Q F2(\214le)2.5 E F0 -.35(Tr)144 216 S(ue if).35 E F2(\214le)2.5 E +270 Q F2(\214le)2.5 E F0 -.35(Tr)144 270 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and has a size greater than zero.).15 E F1 -108 228 Q F2(fd)2.5 E F0 -.35(Tr)144 228 S(ue if \214le descriptor).35 E -F2(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1108 240 -Q F2(\214le)2.5 E F0 -.35(Tr)144 240 S(ue if).35 E F2(\214le)2.5 E F0 +108 282 Q F2(fd)2.5 E F0 -.35(Tr)144 282 S(ue if \214le descriptor).35 E +F2(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1108 294 +Q F2(\214le)2.5 E F0 -.35(Tr)144 294 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F1 -108 252 Q F2(\214le)2.5 E F0 -.35(Tr)144 252 S(ue if).35 E F2(\214le)2.5 -E F0 -.15(ex)2.5 G(ists and is writable.).15 E F1108 264 Q F2 -(\214le)2.5 E F0 -.35(Tr)144 264 S(ue if).35 E F2(\214le)2.5 E F0 -.15 +108 306 Q F2(\214le)2.5 E F0 -.35(Tr)144 306 S(ue if).35 E F2(\214le)2.5 +E F0 -.15(ex)2.5 G(ists and is writable.).15 E F1108 318 Q F2 +(\214le)2.5 E F0 -.35(Tr)144 318 S(ue if).35 E F2(\214le)2.5 E F0 -.15 (ex)2.5 G(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F1108 -276 Q F2(\214le)2.5 E F0 -.35(Tr)144 276 S(ue if).35 E F2(\214le)2.5 E +330 Q F2(\214le)2.5 E F0 -.35(Tr)144 330 S(ue if).35 E F2(\214le)2.5 E F0 -.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 F1108 288 Q F2(\214le)2.5 E F0 --.35(Tr)144 288 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F1108 300 Q F2(\214le)2.5 E F0 --.35(Tr)144 300 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +.3 -.15(ve g)-.25 H(roup id.).15 E F1108 342 Q F2(\214le)2.5 E F0 +-.35(Tr)144 342 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F1108 354 Q F2(\214le)2.5 E F0 +-.35(Tr)144 354 S(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G (ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F1 -108 312 Q F2(\214le)2.5 E F0 -.35(Tr)144 312 S(ue if).35 E F2 +108 366 Q F2(\214le)2.5 E F0 -.35(Tr)144 366 S(ue if).35 E F2 (\214le)2.5 E F0 -.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 F1108 324 Q F2 -(\214le)2.5 E F0 -.35(Tr)144 324 S(ue if).35 E F2(\214le)2.5 E F0 -.15 -(ex)2.5 G(ists and is a sock).15 E(et.)-.1 E F2(\214le1)108 336 Q F1 -(\255ef)2.5 E F2(\214le2)2.5 E F0 -.35(Tr)144 348 S(ue if).35 E F2 +(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F1108 378 Q F2 +(\214le)2.5 E F0 -.35(Tr)144 378 S(ue if).35 E F2(\214le)2.5 E F0 -.15 +(ex)2.5 G(ists and is a sock).15 E(et.)-.1 E F2(\214le1)108 390 Q F1 +(\255ef)2.5 E F2(\214le2)2.5 E F0 -.35(Tr)144 402 S(ue if).35 E F2 (\214le1)2.5 E F0(and)2.5 E F2(\214le2)2.5 E F0(refer to the same de)2.5 -E(vice and inode numbers.)-.25 E F2(\214le1)108 360 Q F02.5 E F1(nt) -A F2(\214le2)2.5 E F0 -.35(Tr)144 372 S(ue if).35 E F2(\214le1)2.5 E F0 +E(vice and inode numbers.)-.25 E F2(\214le1)108 414 Q F02.5 E F1(nt) +A F2(\214le2)2.5 E F0 -.35(Tr)144 426 S(ue if).35 E F2(\214le1)2.5 E F0 (is ne)2.5 E(wer \(according to modi\214cation date\) than)-.25 E F2 (\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F2(\214le1)2.5 E F0 -.15(ex)2.5 G(ists and).15 E F2(\214le2)2.5 E F0(does not.)2.5 E F2 -(\214le1)108 384 Q F02.5 E F1(ot)A F2(\214le2)2.5 E F0 -.35(Tr)144 -396 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2(\214le2)2.5 +(\214le1)108 438 Q F02.5 E F1(ot)A F2(\214le2)2.5 E F0 -.35(Tr)144 +450 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F2(\214le2)2.5 E F0 -.15(ex)2.5 G -(ists and).15 E F2(\214le1)2.5 E F0(does not.)2.5 E F1108 408 Q F2 -(optname)2.5 E F0 -.35(Tr)144 420 S .263(ue if the shell option).35 F F2 +(ists and).15 E F2(\214le1)2.5 E F0(does not.)2.5 E F1108 462 Q F2 +(optname)2.5 E F0 -.35(Tr)144 474 S .263(ue if the shell option).35 F F2 (optname)2.992 E F0 .262(is enabled.)2.942 F .262 (See the list of options under the description of the)5.262 F F1 -2.762 E F0(option to the)144 432 Q F1(set)2.5 E F0 -.2(bu)2.5 G -(iltin belo).2 E -.65(w.)-.25 G F1108 444 Q F2(varname)2.5 E F0 --.35(Tr)144 456 S(ue if the shell v).35 E(ariable)-.25 E F2(varname)2.79 +2.762 E F0(option to the)144 486 Q F1(set)2.5 E F0 -.2(bu)2.5 G +(iltin belo).2 E -.65(w.)-.25 G F1108 498 Q F2(varname)2.5 E F0 +-.35(Tr)144 510 S(ue if the shell v).35 E(ariable)-.25 E F2(varname)2.79 E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1108 -468 Q F2(varname)2.5 E F0 -.35(Tr)144 480 S(ue if the shell v).35 E +522 Q F2(varname)2.5 E F0 -.35(Tr)144 534 S(ue if the shell v).35 E (ariable)-.25 E F2(varname)2.79 E F0(is set and is a name reference.) -2.68 E F1108 492 Q F2(string)2.5 E F0 -.35(Tr)144 504 S +2.68 E F1108 546 Q F2(string)2.5 E F0 -.35(Tr)144 558 S (ue if the length of).35 E F2(string)2.5 E F0(is zero.)2.5 E F2(string) -108 516 Q F1108 528 Q F2(string)2.5 E F0 -.35(Tr)144 540 S +108 570 Q F1108 582 Q F2(string)2.5 E F0 -.35(Tr)144 594 S (ue if the length of).35 E F2(string)2.84 E F0(is non-zero.)2.72 E F2 -(string1)108 556.8 Q F1(==)2.5 E F2(string2)2.5 E(string1)108 568.8 Q F1 -(=)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 580.8 S .861 +(string1)108 610.8 Q F1(==)2.5 E F2(string2)2.5 E(string1)108 622.8 Q F1 +(=)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 634.8 S .861 (ue if the strings are equal.).35 F F1(=)5.861 E F0 .861 (should be used with the)3.361 F F1(test)3.361 E F0 .862 (command for POSIX conformance.)3.362 F .447(When used with the)144 -592.8 R F1([[)2.946 E F0 .446 +646.8 R F1([[)2.946 E F0 .446 (command, this performs pattern matching as described abo)2.946 F .746 --.15(ve \()-.15 H F1(Compound).15 E(Commands)144 604.8 Q F0(\).)A F2 -(string1)108 621.6 Q F1(!=)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 633.6 S -(ue if the strings are not equal.).35 E F2(string1)108 650.4 Q F1(<)2.5 -E F2(string2)2.5 E F0 -.35(Tr)144 662.4 S(ue if).35 E F2(string1)2.5 E +-.15(ve \()-.15 H F1(Compound).15 E(Commands)144 658.8 Q F0(\).)A F2 +(string1)108 675.6 Q F1(!=)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 687.6 S +(ue if the strings are not equal.).35 E F2(string1)108 704.4 Q F1(<)2.5 +E F2(string2)2.5 E F0 -.35(Tr)144 716.4 S(ue if).35 E F2(string1)2.5 E F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15 -E(.)-.65 E F2(string1)108 679.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35 -(Tr)144 691.2 S(ue if).35 E F2(string1)2.5 E F0(sorts after)2.5 E F2 -(string2)2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E(GNU Bash 5.2) -72 768 Q(2022 February 10)139.29 E(35)188.45 E 0 Cg EP +E(.)-.65 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(35)193.45 E 0 Cg +EP %%Page: 36 36 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10 -/Times-Italic@0 SF(ar)108.33 84 Q(g1)-.37 E/F2 10/Times-Bold@0 SF(OP)2.5 -E F1(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF(OP)144 96 Q F0 .385 -(is one of)2.634 F F2(\255eq)2.885 E F0(,)A F2(\255ne)2.885 E F0(,)A F2 -(\255lt)2.885 E F0(,)A F2(\255le)2.885 E F0(,)A F2(\255gt)2.885 E F0 -2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F0 5.385(.T)C .385 +/Times-Italic@0 SF(string1)108 84 Q/F2 10/Times-Bold@0 SF(>)2.5 E F1 +(string2)2.5 E F0 -.35(Tr)144 96 S(ue if).35 E F1(string1)2.5 E F0 +(sorts after)2.5 E F1(string2)2.5 E F0(le)2.5 E(xicographically)-.15 E +(.)-.65 E F1(ar)108.33 112.8 Q(g1)-.37 E F2(OP)2.5 E F1(ar)2.5 E(g2)-.37 +E/F3 9/Times-Bold@0 SF(OP)144 124.8 Q F0 .385(is one of)2.634 F F2 +(\255eq)2.885 E F0(,)A F2(\255ne)2.885 E F0(,)A F2(\255lt)2.885 E F0(,)A +F2(\255le)2.885 E F0(,)A F2(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F2 +(\255ge)2.885 E F0 5.385(.T)C .385 (hese arithmetic binary operators return true if)-5.385 F F1(ar)2.885 E (g1)-.37 E F0 .845(is equal to, not equal to, less than, less than or e\ -qual to, greater than, or greater than or equal to)144 108 R F1(ar)144 -120 Q(g2)-.37 E F0 3.589(,r)C(especti)-3.589 E -.15(ve)-.25 G(ly).15 E +qual to, greater than, or greater than or equal to)144 136.8 R F1(ar)144 +148.8 Q(g2)-.37 E F0 3.589(,r)C(especti)-3.589 E -.15(ve)-.25 G(ly).15 E (.)-.65 E F1(Ar)7.099 E(g1)-.37 E F0(and)3.589 E F1(ar)3.919 E(g2)-.37 E F0 1.089(may be positi)3.609 F 1.389 -.15(ve o)-.25 H 3.589(rn).15 G -2.25 -.15(eg a)-3.589 H(ti).15 E 1.389 -.15(ve i)-.25 H(nte).15 E 3.59 (gers. When)-.15 F 1.09(used with the)3.59 F F2([[)3.59 E F0(command,) -144 132 Q F1(Ar)4.447 E(g1)-.37 E F0(and)3.437 E F1(Ar)4.447 E(g2)-.37 E -F0 .937(are e)3.457 F -.25(va)-.25 G .937(luated as arithmetic e).25 F +144 160.8 Q F1(Ar)4.447 E(g1)-.37 E F0(and)3.437 E F1(Ar)4.447 E(g2)-.37 +E F0 .937(are e)3.457 F -.25(va)-.25 G .937(luated as arithmetic e).25 F .937(xpressions \(see)-.15 F F3 .937(ARITHMETIC EV)3.437 F(ALU)-1.215 E -(A-)-.54 E(TION)144 144 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E/F4 -10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 160.8 Q(ANSION)-.81 E F0 -.613(When a simple command is e)108 172.8 R -.15(xe)-.15 G .614 +(A-)-.54 E(TION)144 172.8 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E/F4 +10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 189.6 Q(ANSION)-.81 E F0 +.613(When a simple command is e)108 201.6 R -.15(xe)-.15 G .614 (cuted, the shell performs the follo).15 F .614(wing e)-.25 F .614 (xpansions, assignments, and redi-)-.15 F -(rections, from left to right, in the follo)108 184.8 Q(wing order)-.25 -E(.)-.55 E(1.)108 201.6 Q 1.849(The w)144 201.6 R 1.849 +(rections, from left to right, in the follo)108 213.6 Q(wing order)-.25 +E(.)-.55 E(1.)108 230.4 Q 1.849(The w)144 230.4 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 213.6 Q -.15(ve)-.2 G 2.5(df).15 G -(or later processing.)-2.5 E(2.)108 230.4 Q .179(The w)144 230.4 R .179 +(name\) and redirections are sa)144 242.4 Q -.15(ve)-.2 G 2.5(df).15 G +(or later processing.)-2.5 E(2.)108 259.2 Q .179(The w)144 259.2 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 -242.4 R .347(xpansion, the \214rst w)-.15 F .347(ord is tak)-.1 F .347 +271.2 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 254.4 Q(guments.)-.18 E(3.)108 271.2 Q -(Redirections are performed as described abo)144 271.2 Q .3 -.15(ve u) --.15 H(nder).15 E F3(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0(4.) -108 288 Q .716(The te)144 288 R .717(xt after the)-.15 F F2(=)3.217 E F0 +(ords are)-.1 F(the ar)144 283.2 Q(guments.)-.18 E(3.)108 300 Q +(Redirections are performed as described abo)144 300 Q .3 -.15(ve u)-.15 +H(nder).15 E F3(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0(4.)108 +316.8 Q .716(The te)144 316.8 R .717(xt after the)-.15 F F2(=)3.217 E F0 .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 300 R .339 +.34(command substitution, arithmetic e)144 328.8 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 312 Q .586 -(If no command name results, the v)108 328.8 R .586 +(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 340.8 Q +.586(If no command name results, the v)108 357.6 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 340.8 R .835 -(are performed before redirections.)108 352.8 R .835(Otherwise, the v) +ssignment statements)108 369.6 R .835 +(are performed before redirections.)108 381.6 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 364.8 R .838(fect the current shell en)-.25 F +(command and do not af)108 393.6 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 376.8 S +.838(he assignments attempts to assign a)-3.338 F -.25(va)108 405.6 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 393.6 R +(If no command name results, redirections are performed, b)108 422.4 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 405.6 +(vironment. A)-.4 F(redirection error causes the command to e)108 434.4 Q(xit with a non-zero status.)-.15 E 1.064 -(If there is a command name left after e)108 422.4 R 1.064(xpansion, e) +(If there is a command name left after e)108 451.2 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 -434.4 R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069 +463.2 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 446.4 R .466 +(xit status of the command)-.15 F .467(is the e)108 475.2 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 458.4 -Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 475.2 Q F0 -.546(After a command has been split into w)108 487.2 R .547 +(If there were no command substitutions, the)5.466 F(command e)108 487.2 +Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 504 Q F0 +.546(After a command has been split into w)108 516 R .547 (ords, if it results in a simple command and an optional list of ar)-.1 -F(gu-)-.18 E(ments, the follo)108 499.2 Q(wing actions are tak)-.25 E -(en.)-.1 E .379(If the command name contains no slashes, the shell atte\ -mpts to locate it.)108 516 R .379(If there e)5.379 F .379 +F(gu-)-.18 E(ments, the follo)108 528 Q(wing actions are tak)-.25 E(en.) +-.1 E .379(If the command name contains no slashes, the shell attempts \ +to locate it.)108 544.8 R .379(If there e)5.379 F .379 (xists a shell function by)-.15 F .246(that name, that function is in) -108 528 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 F5(.)A F0 .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 540 Q 2.5 +108 556.8 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 F5(.)A F0 .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 568.8 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 556.8 R .309 +(If the name is neither a shell function nor a b)108 585.6 R .309 (uiltin, and contains no slashes,)-.2 F F2(bash)2.809 E F0 .309 -(searches each element of)2.809 F(the)108 568.8 Q F3 -.666(PA)3.162 G +(searches each element of)2.809 F(the)108 597.6 Q F3 -.666(PA)3.162 G (TH)-.189 E F0 .662(for a directory containing an e)2.912 F -.15(xe)-.15 G .662(cutable \214le by that name.).15 F F2(Bash)5.662 E F0 .663 (uses a hash table to remember)3.162 F 1.915(the full pathnames of e)108 -580.8 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E +609.6 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E F0(under)4.415 E F3 1.915(SHELL B)4.415 F(UIL)-.09 E 1.914(TIN COMMANDS) -.828 F F0(belo)4.164 E 4.414(w\). A)-.25 F(full)4.414 E .719 -(search of the directories in)108 592.8 R F3 -.666(PA)3.219 G(TH)-.189 E +(search of the directories in)108 621.6 R F3 -.666(PA)3.219 G(TH)-.189 E F0 .72(is performed only if the command is not found in the hash table.) 2.969 F .72(If the)5.72 F .956(search is unsuccessful, the shell search\ -es for a de\214ned shell function named)108 604.8 R F2(command_not_f) -3.455 E(ound_han-)-.25 E(dle)108 616.8 Q F0 6.005(.I)C 3.505(ft)-6.005 G +es for a de\214ned shell function named)108 633.6 R F2(command_not_f) +3.455 E(ound_han-)-.25 E(dle)108 645.6 Q F0 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 628.8 R 2.756(sa)-.55 G -.18(rg)-2.756 G +(and the original command')108 657.6 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 640.8 R .263(If that function is not de\ +.263(tus of that subshell.)108 669.6 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 652.8 Q 1.089(If the search is success\ +(xit sta-)-.15 F(tus of 127.)108 681.6 Q 1.089(If the search is success\ ful, or if the command name contains one or more slashes, the shell e) -108 669.6 R -.15(xe)-.15 G 1.089(cutes the).15 F .197 -(named program in a separate e)108 681.6 R -.15(xe)-.15 G .197 +108 698.4 R -.15(xe)-.15 G 1.089(cutes the).15 F .197 +(named program in a separate e)108 710.4 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 693.6 Q +(n, and the remain-).15 F(ing ar)108 722.4 Q (guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15 -(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.049(If this e)108 710.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 -722.4 R F1 .143(shell script)2.643 F F0 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(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(36)188.45 E 0 Cg EP +(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G(GNU Bash 5.2)72 768 Q +(2022 March 11)144.29 E(36)193.45 E 0 Cg EP %%Page: 37 37 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.15(exe)108 84 S +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.049(If this e) +108 84 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 +96 R/F1 10/Times-Italic@0 SF .143(shell script)2.643 F F0 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 108 S .137(cute it.).15 F .137 (This subshell reinitializes itself, so that the ef)5.137 F .136 (fect is as if a ne)-.25 F 2.636(ws)-.25 G .136(hell had been in)-2.636 F -.2(vo)-.4 G -.1(ke).2 G 2.636(dt).1 G 2.636(oh)-2.636 G(andle)-2.636 -E .865(the script, with the e)108 96 R .866 +E .865(the script, with the e)108 120 R .866 (xception that the locations of commands remembered by the parent \(see) --.15 F/F1 10/Times-Bold@0 SF(hash)3.366 E F0(belo)3.366 E(w)-.25 E -(under)108 108 Q/F2 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E -(TIN COMMANDS)-.828 E/F3 9/Times-Roman@0 SF(\))A F0 +-.15 F/F2 10/Times-Bold@0 SF(hash)3.366 E F0(belo)3.366 E(w)-.25 E +(under)108 132 Q/F3 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E +(TIN COMMANDS)-.828 E/F4 9/Times-Roman@0 SF(\))A F0 (are retained by the child.)2.25 E .348(If the program is a \214le be) -108 124.8 R .348(ginning with)-.15 F F1(#!)2.848 E F0 2.848(,t)C .347(h\ +108 148.8 R .348(ginning with)-.15 F F2(#!)2.848 E F0 2.848(,t)C .347(h\ e remainder of the \214rst line speci\214es an interpreter for the pro-) --2.848 F 3.178(gram. The)108 136.8 R .678(shell e)3.178 F -.15(xe)-.15 G +-2.848 F 3.178(gram. The)108 160.8 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 148.8 R 2.706(es. The)-.15 F(ar)2.706 E .206 +108 172.8 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 .267 -(terpreter name on the \214rst line of the program, follo)108 160.8 R +(terpreter name on the \214rst line of the program, follo)108 184.8 R .268(wed by the name of the program, follo)-.25 F .268(wed by the com-) --.25 F(mand ar)108 172.8 Q(guments, if an)-.18 E -.65(y.)-.15 G/F4 10.95 -/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 189.6 Q(ONMENT)-.329 E F0 -(The shell has an)108 201.6 Q/F5 10/Times-Italic@0 SF -.2(ex)2.5 G -(ecution en).2 E(vir)-.4 E(onment)-.45 E F0 2.5(,w)C -(hich consists of the follo)-2.5 E(wing:)-.25 E<83>108 218.4 Q 1.406 -(open \214les inherited by the shell at in)144 218.4 R -.2(vo)-.4 G -1.405(cation, as modi\214ed by redirections supplied to the).2 F F1 -(exec)3.905 E F0 -.2(bu)144 230.4 S(iltin).2 E<83>108 247.2 Q -(the current w)144 247.2 Q(orking directory as set by)-.1 E F1(cd)2.5 E -F0(,)A F1(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F1(popd)2.5 E F0 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 264 Q(the \214le creation mode mask as set by)144 264 Q F1 -(umask)2.5 E F0(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent) --2.5 E<83>108 280.8 Q(current traps set by)144 280.8 Q F1(trap)2.5 E F0 -<83>108 297.6 Q .256(shell parameters that are set by v)144 297.6 R .256 -(ariable assignment or with)-.25 F F1(set)2.756 E F0 .257 +-.25 F(mand ar)108 196.8 Q(guments, if an)-.18 E -.65(y.)-.15 G/F5 10.95 +/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 213.6 Q(ONMENT)-.329 E F0 +(The shell has an)108 225.6 Q F1 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E +(onment)-.45 E F0 2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 +E<83>108 242.4 Q 1.406(open \214les inherited by the shell at in)144 +242.4 R -.2(vo)-.4 G 1.405 +(cation, as modi\214ed by redirections supplied to the).2 F F2(exec) +3.905 E F0 -.2(bu)144 254.4 S(iltin).2 E<83>108 271.2 Q(the current w) +144 271.2 Q(orking directory as set by)-.1 E F2(cd)2.5 E F0(,)A F2 +(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F2(popd)2.5 E F0 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 288 +Q(the \214le creation mode mask as set by)144 288 Q F2(umask)2.5 E F0 +(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent)-2.5 E<83>108 +304.8 Q(current traps set by)144 304.8 Q F2(trap)2.5 E F0<83>108 321.6 Q +.256(shell parameters that are set by v)144 321.6 R .256 +(ariable assignment or with)-.25 F F2(set)2.756 E F0 .257 (or inherited from the shell')2.756 F 2.757(sp)-.55 G(arent)-2.757 E -(in the en)144 309.6 Q(vironment)-.4 E<83>108 326.4 Q -(shell functions de\214ned during e)144 326.4 Q -.15(xe)-.15 G +(in the en)144 333.6 Q(vironment)-.4 E<83>108 350.4 Q +(shell functions de\214ned during e)144 350.4 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 343.2 Q -(options enabled at in)144 343.2 Q -.2(vo)-.4 G(cation \(either by def) -.2 E(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F1(set) -2.5 E F0<83>108 360 Q(options enabled by)144 360 Q F1(shopt)2.5 E F0<83> -108 376.8 Q(shell aliases de\214ned with)144 376.8 Q F1(alias)2.5 E F0 -<83>108 393.6 Q -.25(va)144 393.6 S +(arent in the en)-2.5 E(vironment)-.4 E<83>108 367.2 Q +(options enabled at in)144 367.2 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 F0<83>108 384 Q(options enabled by)144 384 Q F2(shopt)2.5 E F0<83> +108 400.8 Q(shell aliases de\214ned with)144 400.8 Q F2(alias)2.5 E F0 +<83>108 417.6 Q -.25(va)144 417.6 S (rious process IDs, including those of background jobs, the v).25 E -(alue of)-.25 E F1($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E -F2(PPID)2.5 E F0 .427(When a simple command other than a b)108 410.4 R +(alue of)-.25 E F2($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E +F3(PPID)2.5 E F0 .427(When a simple command other than a b)108 434.4 R .426(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426 (cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.926(di).1 G 2.926(nas) --2.926 G(eparate)-2.926 E -.15(exe)108 422.4 S .133(cution en).15 F .133 +-2.926 G(eparate)-2.926 E -.15(exe)108 446.4 S .133(cution en).15 F .133 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F .134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F -(the shell.)108 434.4 Q<83>108 451.2 Q 1.056(the shell')144 451.2 R +(the shell.)108 458.4 Q<83>108 475.2 Q 1.056(the shell')144 475.2 R 3.556(so)-.55 G 1.056(pen \214les, plus an)-3.556 F 3.556(ym)-.15 G 1.056 (odi\214cations and additions speci\214ed by redirections to the com-) --3.556 F(mand)144 463.2 Q<83>108 480 Q(the current w)144 480 Q -(orking directory)-.1 E<83>108 496.8 Q(the \214le creation mode mask)144 -496.8 Q<83>108 513.6 Q .856(shell v)144 513.6 R .857 +-3.556 F(mand)144 487.2 Q<83>108 504 Q(the current w)144 504 Q +(orking directory)-.1 E<83>108 520.8 Q(the \214le creation mode mask)144 +520.8 Q<83>108 537.6 Q .856(shell v)144 537.6 R .857 (ariables and functions mark)-.25 F .857(ed for e)-.1 F .857 (xport, along with v)-.15 F .857(ariables e)-.25 F .857 -(xported for the command,)-.15 F(passed in the en)144 525.6 Q(vironment) --.4 E<83>108 542.4 Q .307(traps caught by the shell are reset to the v) -144 542.4 R .306(alues inherited from the shell')-.25 F 2.806(sp)-.55 G +(xported for the command,)-.15 F(passed in the en)144 549.6 Q(vironment) +-.4 E<83>108 566.4 Q .307(traps caught by the shell are reset to the v) +144 566.4 R .306(alues inherited from the shell')-.25 F 2.806(sp)-.55 G .306(arent, and traps ignored)-2.806 F(by the shell are ignored)144 -554.4 Q 2.5(Ac)108 571.2 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5 +578.4 Q 2.5(Ac)108 595.2 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 588 Q F5(subshell)2.5 E F0(is a cop)2.5 E 2.5 +(vironment.)-.4 E(A)108 612 Q F1(subshell)2.5 E F0(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 604.8 R -.2(vo)-.4 G -.1(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745 -(as)108 616.8 S .245(ubshell en)-2.745 F .245 +n)108 628.8 R -.2(vo)-.4 G -.1(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745 +(as)108 640.8 S .245(ubshell en)-2.745 F .245 (vironment that is a duplicate of the shell en)-.4 F .244(vironment, e) -.4 F .244(xcept that traps caught by the shell are)-.15 F .358 -(reset to the v)108 628.8 R .358 +(reset to the v)108 652.8 R .358 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4 G 2.858(cation. Builtin).2 F .359(commands that are in)2.859 F -.2(vo) --.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 640.8 +-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 664.8 R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356 (vironment. Changes)-.4 F .856(made to the subshell en)3.356 F(viron-) --.4 E(ment cannot af)108 652.8 Q(fect the shell')-.25 E 2.5(se)-.55 G +-.4 E(ment cannot af)108 676.8 Q(fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.376(Subshells spa)108 -669.6 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377 +693.6 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377 (cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F -F13.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When) -108 681.6 R(not in)2.5 E F5(posix mode)2.5 E F0(,)A F1(bash)2.5 E F0 -(clears the)2.5 E F12.5 E F0(option in such subshells.)2.5 E .405 -(If a command is follo)108 698.4 R .405(wed by a)-.25 F F1(&)2.905 E F0 +F23.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When) +108 705.6 R(not in)2.5 E F1(posix mode)2.5 E F0(,)A F2(bash)2.5 E F0 +(clears the)2.5 E F22.5 E F0(option in such subshells.)2.5 E .405 +(If a command is follo)108 722.4 R .405(wed by a)-.25 F F2(&)2.905 E F0 .404(and job control is not acti)2.905 F -.15(ve)-.25 G 2.904(,t).15 G -.404(he def)-2.904 F .404(ault standard input for the command)-.1 F .197 -(is the empty \214le)108 710.4 R F5(/de)2.697 E(v/null)-.15 E F0 5.197 -(.O)C .197(therwise, the in)-5.197 F -.2(vo)-.4 G -.1(ke).2 G 2.697(dc) -.1 G .198(ommand inherits the \214le descriptors of the calling shell) --2.697 F(as modi\214ed by redirections.)108 722.4 Q(GNU Bash 5.2)72 768 -Q(2022 February 10)139.29 E(37)188.45 E 0 Cg EP +.404(he def)-2.904 F .404(ault standard input for the command)-.1 F +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(37)193.45 E 0 Cg EP %%Page: 38 38 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10.95 -/Times-Bold@0 SF(ENVIR)72 84 Q(ONMENT)-.329 E F0 2.344 -(When a program is in)108 96 R -.2(vo)-.4 G -.1(ke).2 G 4.843(di).1 G -4.843(ti)-4.843 G 4.843(sg)-4.843 G -2.15 -.25(iv e)-4.843 H 4.843(na) -.25 G 4.843(na)-4.843 G 2.343(rray of strings called the)-4.843 F/F2 10 -/Times-Italic@0 SF(en)5.033 E(vir)-.4 E(onment)-.45 E F0 7.343(.T).68 G -2.343(his is a list of)-7.343 F F2(name)108 108 Q F0A F2(value)A F0 -(pairs, of the form)2.5 E F2(name)2.86 E F0(=)A F2(value)A F0(.).18 E -.438(The shell pro)108 124.8 R .438(vides se)-.15 F -.15(ve)-.25 G .438 -(ral w).15 F .438(ays to manipulate the en)-.1 F 2.938(vironment. On)-.4 -F(in)2.938 E -.2(vo)-.4 G .438(cation, the shell scans its o).2 F .439 -(wn en-)-.25 F .709(vironment and creates a parameter for each name fou\ -nd, automatically marking it for)108 136.8 R F2 -.2(ex)3.208 G(port).2 E -F0 .708(to child pro-)3.888 F 2.703(cesses. Ex)108 148.8 R .203 -(ecuted commands inherit the en)-.15 F 2.703(vironment. The)-.4 F/F3 10 -/Times-Bold@0 SF(export)2.703 E F0(and)2.703 E F3(declar)2.703 E 2.703 -<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.704(wp)-.25 G -(aram-)-2.704 E .332 -(eters and functions to be added to and deleted from the en)108 160.8 R +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .197 +(is the empty \214le)108 84 R/F1 10/Times-Italic@0 SF(/de)2.697 E +(v/null)-.15 E F0 5.197(.O)C .197(therwise, the in)-5.197 F -.2(vo)-.4 G +-.1(ke).2 G 2.697(dc).1 G .198 +(ommand inherits the \214le descriptors of the calling shell)-2.697 F +(as modi\214ed by redirections.)108 96 Q/F2 10.95/Times-Bold@0 SF(ENVIR) +72 112.8 Q(ONMENT)-.329 E F0 2.344(When a program is in)108 124.8 R -.2 +(vo)-.4 G -.1(ke).2 G 4.843(di).1 G 4.843(ti)-4.843 G 4.843(sg)-4.843 G +-2.15 -.25(iv e)-4.843 H 4.843(na).25 G 4.843(na)-4.843 G 2.343 +(rray of strings called the)-4.843 F F1(en)5.033 E(vir)-.4 E(onment)-.45 +E F0 7.343(.T).68 G 2.343(his is a list of)-7.343 F F1(name)108 136.8 Q +F0A F1(value)A F0(pairs, of the form)2.5 E F1(name)2.86 E F0(=)A F1 +(value)A F0(.).18 E .438(The shell pro)108 153.6 R .438(vides se)-.15 F +-.15(ve)-.25 G .438(ral w).15 F .438(ays to manipulate the en)-.1 F +2.938(vironment. On)-.4 F(in)2.938 E -.2(vo)-.4 G .438 +(cation, the shell scans its o).2 F .439(wn en-)-.25 F .709(vironment a\ +nd creates a parameter for each name found, automatically marking it fo\ +r)108 165.6 R F1 -.2(ex)3.208 G(port).2 E F0 .708(to child pro-)3.888 F +2.703(cesses. Ex)108 177.6 R .203(ecuted commands inherit the en)-.15 F +2.703(vironment. The)-.4 F/F3 10/Times-Bold@0 SF(export)2.703 E F0(and) +2.703 E F3(declar)2.703 E 2.703<65ad>-.18 G(x)-2.703 E F0 .203 +(commands allo)2.703 F 2.704(wp)-.25 G(aram-)-2.704 E .332 +(eters and functions to be added to and deleted from the en)108 189.6 R 2.832(vironment. If)-.4 F .332(the v)2.832 F .332 (alue of a parameter in the en-)-.25 F .131 -(vironment is modi\214ed, the ne)108 172.8 R 2.631(wv)-.25 G .131 +(vironment is modi\214ed, the ne)108 201.6 R 2.631(wv)-.25 G .131 (alue becomes part of the en)-2.881 F .132 (vironment, replacing the old.)-.4 F .132(The en)5.132 F(vironment)-.4 E -.321(inherited by an)108 184.8 R 2.821(ye)-.15 G -.15(xe)-2.971 G .321 +.321(inherited by an)108 213.6 R 2.821(ye)-.15 G -.15(xe)-2.971 G .321 (cuted command consists of the shell').15 F 2.821(si)-.55 G .321 (nitial en)-2.821 F .32(vironment, whose v)-.4 F .32(alues may be modi-) --.25 F .533(\214ed in the shell, less an)108 196.8 R 3.033(yp)-.15 G +-.25 F .533(\214ed in the shell, less an)108 225.6 R 3.033(yp)-.15 G .534(airs remo)-3.033 F -.15(ve)-.15 G 3.034(db).15 G 3.034(yt)-3.034 G (he)-3.034 E F3(unset)3.034 E F0 .534(command, plus an)3.034 F 3.034(ya) -.15 G .534(dditions via the)-3.034 F F3(export)3.034 E F0(and)3.034 E -F3(de-)3.034 E(clar)108 208.8 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.) -2.5 E .563(The en)108 225.6 R .563(vironment for an)-.4 F(y)-.15 E F2 +F3(de-)3.034 E(clar)108 237.6 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.) +2.5 E .563(The en)108 254.4 R .563(vironment for an)-.4 F(y)-.15 E F1 .563(simple command)3.403 F F0 .562 (or function may be augmented temporarily by pre\214xing it with)3.833 F -.202(parameter assignments, as described abo)108 237.6 R .502 -.15(ve i) +.202(parameter assignments, as described abo)108 266.4 R .502 -.15(ve i) -.15 H(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F -.203(fect only the)-.25 F(en)108 249.6 Q -(vironment seen by that command.)-.4 E .81(If the)108 266.4 R F3 +.203(fect only the)-.25 F(en)108 278.4 Q +(vironment seen by that command.)-.4 E .81(If the)108 295.2 R F3 3.31 E F0 .81(option is set \(see the)3.31 F F3(set)3.31 E F0 -.2(bu) -3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0 -.81(parameter assignments are placed in)3.82 F(the en)108 278.4 Q +3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F1(all)3.64 E F0 +.81(parameter assignments are placed in)3.82 F(the en)108 307.2 Q (vironment for a command, not just those that precede the command name.) --.4 E(When)108 295.2 Q F3(bash)3.585 E F0(in)3.585 E -.2(vo)-.4 G -.1 -(ke).2 G 3.585(sa).1 G 3.585(ne)-3.585 G 1.085(xternal command, the v) --3.735 F(ariable)-.25 E F3(_)3.585 E F0 1.086 +-.4 E(When)108 324 Q F3(bash)3.585 E F0(in)3.585 E -.2(vo)-.4 G -.1(ke) +.2 G 3.585(sa).1 G 3.585(ne)-3.585 G 1.085(xternal command, the v)-3.735 +F(ariable)-.25 E F3(_)3.585 E F0 1.086 (is set to the full \214lename of the command and)3.586 F -(passed to that command in its en)108 307.2 Q(vironment.)-.4 E F1 -(EXIT ST)72 324 Q -1.04(AT)-.986 G(US)1.04 E F0 .151(The e)108 336 R -.151(xit status of an e)-.15 F -.15(xe)-.15 G .151 -(cuted command is the v).15 F .15(alue returned by the)-.25 F F2 -(waitpid)2.65 E F0 .15(system call or equi)2.65 F -.25(va)-.25 G .15 -(lent func-).25 F 2.847(tion. Exit)108 348 R .347(statuses f)2.847 F -.347(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F +(passed to that command in its en)108 336 Q(vironment.)-.4 E F2(EXIT ST) +72 352.8 Q -1.04(AT)-.986 G(US)1.04 E F0 .151(The e)108 364.8 R .151 +(xit status of an e)-.15 F -.15(xe)-.15 G .151(cuted command is the v) +.15 F .15(alue returned by the)-.25 F F1(waitpid)2.65 E F0 .15 +(system call or equi)2.65 F -.25(va)-.25 G .15(lent func-).25 F 2.847 +(tion. Exit)108 376.8 R .347(statuses f)2.847 F .347 +(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F 1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .348(alues abo)-.25 -F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 360 Q 5.507(.E)-.65 G +F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 388.8 Q 5.507(.E)-.65 G .507(xit statuses from shell b)-5.507 F .507 (uiltins and compound commands are also limited to this range.)-.2 F (Under)5.506 E(certain circumstances, the shell will use special v)108 -372 Q(alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15(Fo) -108 388.8 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873 -(urposes, a command which e)-3.372 F .873(xits with a zero e)-.15 F .873 -(xit status has succeeded.)-.15 F .873(An e)5.873 F .873(xit status of) --.15 F .049(zero indicates success.)108 400.8 R 2.549(An)5.049 G .049 -(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549 +400.8 Q(alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15 +(Fo)108 417.6 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G +.873(urposes, a command which e)-3.372 F .873(xits with a zero e)-.15 F +.873(xit status has succeeded.)-.15 F .873(An e)5.873 F .873 +(xit status of)-.15 F .049(zero indicates success.)108 429.6 R 2.549(An) +5.049 G .049(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549 (ailure. When)-.1 F 2.549(ac)2.549 G .048(ommand terminates on a f) --2.549 F .048(atal sig-)-.1 F(nal)108 412.8 Q F2(N)2.5 E F0(,)A F3(bash) -2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F2(N)A F0(as the e)2.5 E +-2.549 F .048(atal sig-)-.1 F(nal)108 441.6 Q F1(N)2.5 E F0(,)A F3(bash) +2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F1(N)A F0(as the e)2.5 E (xit status.)-.15 E .404 -(If a command is not found, the child process created to e)108 429.6 R +(If a command is not found, the child process created to e)108 458.4 R -.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .405 -(If a command is)5.405 F(found b)108 441.6 Q(ut is not e)-.2 E -.15(xe) --.15 G(cutable, the return status is 126.).15 E(If a command f)108 458.4 +(If a command is)5.405 F(found b)108 470.4 Q(ut is not e)-.2 E -.15(xe) +-.15 G(cutable, the return status is 126.).15 E(If a command f)108 487.2 Q(ails because of an error during e)-.1 E (xpansion or redirection, the e)-.15 E(xit status is greater than zero.) --.15 E .081(Shell b)108 475.2 R .081 -(uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581(\)i)C -2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F2(false)A F0 +-.15 E .081(Shell b)108 504 R .081 +(uiltin commands return a status of 0 \()-.2 F F1(true)A F0 2.581(\)i)C +2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F1(false)A F0 2.58(\)i)C 2.58(fa)-2.58 G 2.58(ne)-2.58 G .08(rror occurs while)-2.58 F -(the)108 487.2 Q 2.967(ye)-.15 G -.15(xe)-3.117 G 2.967(cute. All).15 F +(the)108 516 Q 2.967(ye)-.15 G -.15(xe)-3.117 G 2.967(cute. All).15 F -.2(bu)2.967 G .467(iltins return an e).2 F .468 (xit status of 2 to indicate incorrect usage, generally in)-.15 F -.25 -(va)-.4 G .468(lid options or).25 F(missing ar)108 499.2 Q(guments.)-.18 -E(The e)108 516 Q(xit status of the last command is a)-.15 E -.25(va)-.2 -G(ilable in the special parameter $?.).25 E F3(Bash)108 532.8 Q F0 .202 -(itself returns the e)2.702 F .202(xit status of the last command e)-.15 -F -.15(xe)-.15 G .201 -(cuted, unless a syntax error occurs, in which case).15 F(it e)108 544.8 +(va)-.4 G .468(lid options or).25 F(missing ar)108 528 Q(guments.)-.18 E +(The e)108 544.8 Q(xit status of the last command is a)-.15 E -.25(va) +-.2 G(ilable in the special parameter $?.).25 E F3(Bash)108 561.6 Q F0 +.202(itself returns the e)2.702 F .202(xit status of the last command e) +-.15 F -.15(xe)-.15 G .201 +(cuted, unless a syntax error occurs, in which case).15 F(it e)108 573.6 Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F3 -(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F1 -(SIGN)72 561.6 Q(ALS)-.219 E F0(When)108 573.6 Q F3(bash)2.502 E F0 .002 +(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F2 +(SIGN)72 590.4 Q(ALS)-.219 E F0(When)108 602.4 Q F3(bash)2.502 E F0 .002 (is interacti)2.502 F -.15(ve)-.25 G 2.502(,i).15 G 2.502(nt)-2.502 G .002(he absence of an)-2.502 F 2.502(yt)-.15 G .002(raps, it ignores) -2.502 F F4(SIGTERM)2.502 E F0 .002(\(so that)2.252 F F3 .002(kill 0) -2.502 F F0 .002(does not kill an in-)2.502 F(teracti)108 585.6 Q 1.216 +2.502 F F0 .002(does not kill an in-)2.502 F(teracti)108 614.4 Q 1.216 -.15(ve s)-.25 H .916(hell\), and).15 F F4(SIGINT)3.416 E F0 .915 (is caught and handled \(so that the)3.166 F F3(wait)3.415 E F0 -.2(bu) 3.415 G .915(iltin is interruptible\).).2 F .915(In all cases,)5.915 F -F3(bash)108 597.6 Q F0(ignores)2.5 E F4(SIGQ)2.5 E(UIT)-.09 E F5(.)A F0 +F3(bash)108 626.4 Q F0(ignores)2.5 E F4(SIGQ)2.5 E(UIT)-.09 E F5(.)A F0 (If job control is in ef)4.5 E(fect,)-.25 E F3(bash)2.5 E F0(ignores)2.5 E F4(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 -E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 614.4 Q 1.064 +E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 643.2 Q 1.064 (uiltin commands run by)-.2 F F3(bash)3.564 E F0(ha)3.564 E 1.365 -.15 (ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.065 (alues inherited by the shell from its)-.25 F 3.248(parent. When)108 -626.4 R .748(job control is not in ef)3.248 F .747 +655.2 R .748(job control is not in ef)3.248 F .747 (fect, asynchronous commands ignore)-.25 F F4(SIGINT)3.247 E F0(and) 2.997 E F4(SIGQ)3.247 E(UIT)-.09 E F0 .747(in addi-)2.997 F .652 -(tion to these inherited handlers.)108 638.4 R .653 +(tion to these inherited handlers.)108 667.2 R .653 (Commands run as a result of command substitution ignore the k)5.652 F --.15(ey)-.1 G(board-).15 E(generated job control signals)108 650.4 Q F4 +-.15(ey)-.1 G(board-).15 E(generated job control signals)108 679.2 Q F4 (SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 E F4 -(SIGTSTP)2.5 E F5(.)A F0 2.046(The shell e)108 667.2 R 2.046 -(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E -F5(.)A F0 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 F4(SIGHUP)108 679.2 Q F0 -1.004(to all jobs, running or stopped.)3.254 F 1.004 -(Stopped jobs are sent)6.004 F F4(SIGCONT)3.505 E F0 1.005 -(to ensure that the)3.255 F 3.505(yr)-.15 G(ecei)-3.505 E 1.305 -.15 -(ve t)-.25 H(he).15 E F4(SIGHUP)108 691.2 Q F5(.)A F0 2.53 -.8(To p)5.43 -H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal to a \ -particular job, it should be remo).15 F -.15(ve)-.15 G 3.429(df).15 G -.929(rom the)-3.429 F 1.356(jobs table with the)108 703.2 R F3(diso) -3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F4 1.356 -(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.607 E -1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F4 -(SIGHUP)108 715.2 Q F0(using)2.25 E F3(diso)2.5 E(wn \255h)-.1 E F0(.)A -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(38)188.45 E 0 Cg EP +(SIGTSTP)2.5 E F5(.)A F0 2.046(The shell e)108 696 R 2.046(xits by def) +-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E F5(.)A F0 +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 F4(SIGHUP)108 708 Q F0 1.004 +(to all jobs, running or stopped.)3.254 F 1.004(Stopped jobs are sent) +6.004 F F4(SIGCONT)3.505 E F0 1.005(to ensure that the)3.255 F 3.505(yr) +-.15 G(ecei)-3.505 E 1.305 -.15(ve t)-.25 H(he).15 E F4(SIGHUP)108 720 Q +F5(.)A F0 2.53 -.8(To p)5.43 H(re).8 E -.15(ve)-.25 G .93(nt the shell \ +from sending the signal to a particular job, it should be remo).15 F +-.15(ve)-.15 G 3.429(df).15 G .929(rom the)-3.429 F(GNU Bash 5.2)72 768 +Q(2022 March 11)144.29 E(38)193.45 E 0 Cg EP %%Page: 39 39 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E .166(If the)108 84 -R/F1 10/Times-Bold@0 SF(huponexit)2.666 E F0 .166 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.356 +(jobs table with the)108 84 R/F1 10/Times-Bold@0 SF(diso)3.856 E(wn)-.1 +E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F/F2 9/Times-Bold@0 SF 1.356 +(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.607 E +1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F2 +(SIGHUP)108 96 Q F0(using)2.25 E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A +.166(If the)108 112.8 R F1(huponexit)2.666 E F0 .166 (shell option has been set with)2.666 F F1(shopt)2.666 E F0(,)A F1(bash) -2.666 E F0 .166(sends a)2.666 F/F2 9/Times-Bold@0 SF(SIGHUP)2.666 E F0 -.166(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e) -108 96 Q(xits.)-.15 E(If)108 112.8 Q F1(bash)3.046 E F0 .546(is w)3.046 -F .546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G +2.666 E F0 .166(sends a)2.666 F F2(SIGHUP)2.666 E F0 .166 +(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108 +124.8 Q(xits.)-.15 E(If)108 141.6 Q F1(bash)3.046 E F0 .546(is w)3.046 F +.546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G 3.046(sas).15 G .546(ignal for which a trap has been set, the trap) --3.046 F .663(will not be e)108 124.8 R -.15(xe)-.15 G .663 +-3.046 F .663(will not be e)108 153.6 R -.15(xe)-.15 G .663 (cuted until the command completes.).15 F(When)5.663 E F1(bash)3.163 E F0 .662(is w)3.163 F .662(aiting for an asynchronous command)-.1 F .326 -(via the)108 136.8 R F1(wait)2.826 E F0 -.2(bu)2.826 G .327(iltin, the \ +(via the)108 165.6 R F1(wait)2.826 E F0 -.2(bu)2.826 G .327(iltin, the \ reception of a signal for which a trap has been set will cause the).2 F F1(wait)2.827 E F0 -.2(bu)2.827 G .327(iltin to re-).2 F -(turn immediately with an e)108 148.8 Q +(turn immediately with an e)108 177.6 Q (xit status greater than 128, immediately after which the trap is e)-.15 E -.15(xe)-.15 G(cuted.).15 E .499(When job control is not enabled, and) -108 165.6 R F1(bash)2.998 E F0 .498(is w)2.998 F .498(aiting for a fore) +108 194.4 R F1(bash)2.998 E F0 .498(is w)2.998 F .498(aiting for a fore) -.1 F .498(ground command to complete, the shell re-)-.15 F(cei)108 -177.6 Q -.15(ve)-.25 G 2.605(sk).15 G -.15(ey)-2.705 G .105 +206.4 Q -.15(ve)-.25 G 2.605(sk).15 G -.15(ey)-2.705 G .105 (board-generated signals such as).15 F F2(SIGINT)2.605 E F0 .105 (\(usually generated by)2.355 F F1(^C)2.605 E F0 2.605(\)t)C .105 (hat users commonly intend to)-2.605 F .424(send to that command.)108 -189.6 R .424(This happens because the shell and the command are in the \ -same process group as)5.424 F(the terminal, and)108 201.6 Q F1(^C)2.5 E +218.4 R .424(This happens because the shell and the command are in the \ +same process group as)5.424 F(the terminal, and)108 230.4 Q F1(^C)2.5 E F0(sends)2.5 E F2(SIGINT)2.5 E F0 -(to all processes in that process group.)2.25 E(When)108 218.4 Q F1 +(to all processes in that process group.)2.25 E(When)108 247.2 Q F1 (bash)3.8 E F0 1.3(is running without job control enabled and recei)3.8 F -.15(ve)-.25 G(s).15 E F2(SIGINT)3.8 E F0 1.3(while w)3.55 F 1.3 -(aiting for a fore)-.1 F(ground)-.15 E .81(command, it w)108 230.4 R .81 +(aiting for a fore)-.1 F(ground)-.15 E .81(command, it w)108 259.2 R .81 (aits until that fore)-.1 F .81 (ground command terminates and then decides what to do about the)-.15 F -F2(SIG-)3.309 E(INT)108 242.4 Q/F3 9/Times-Roman@0 SF(:)A F0(1.)108 -259.2 Q .002(If the command terminates due to the)144 259.2 R F2(SIGINT) -2.502 E F3(,)A F1(bash)2.252 E F0 .003 +F2(SIG-)3.309 E(INT)108 271.2 Q/F3 9/Times-Roman@0 SF(:)A F0(1.)108 288 +Q .002(If the command terminates due to the)144 288 R F2(SIGINT)2.502 E +F3(,)A F1(bash)2.252 E F0 .003 (concludes that the user meant to end the entire)2.502 F -(script, and acts on the)144 271.2 Q F2(SIGINT)2.5 E F0 +(script, and acts on the)144 300 Q F2(SIGINT)2.5 E F0 (\(e.g., by running a)2.25 E F2(SIGINT)2.5 E F0(trap or e)2.25 E -(xiting itself\);)-.15 E(2.)108 288 Q .289 -(If the command does not terminate due to)144 288 R F2(SIGINT)2.788 E F3 -(,)A F0 .288(the program handled the)2.538 F F2(SIGINT)2.788 E F0 .288 -(itself and did)2.538 F .728(not treat it as a f)144 300 R .728 +(xiting itself\);)-.15 E(2.)108 316.8 Q .289 +(If the command does not terminate due to)144 316.8 R F2(SIGINT)2.788 E +F3(,)A F0 .288(the program handled the)2.538 F F2(SIGINT)2.788 E F0 .288 +(itself and did)2.538 F .728(not treat it as a f)144 328.8 R .728 (atal signal.)-.1 F .728(In that case,)5.728 F F1(bash)3.228 E F0 .728 (does not treat)3.228 F F2(SIGINT)3.228 E F0 .728(as a f)2.978 F .728 (atal signal, either)-.1 F 3.229(,i)-.4 G(n-)-3.229 E .772 -(stead assuming that the)144 312 R F2(SIGINT)3.272 E F0 -.1(wa)3.022 G +(stead assuming that the)144 340.8 R F2(SIGINT)3.272 E F0 -.1(wa)3.022 G 3.272(su).1 G .771(sed as part of the program')-3.272 F 3.271(sn)-.55 G .771(ormal operation \(e.g., emacs)-3.271 F .409 -(uses it to abort editing commands\) or deliberately discarded.)144 324 -R(Ho)5.409 E(we)-.25 E -.15(ve)-.25 G -.4(r,).15 G F1(bash)3.309 E F0 -.41(will run an)2.91 F 2.91(yt)-.15 G .41(rap set)-2.91 F(on)144 336 Q -F2(SIGINT)3.789 E F3(,)A F0 1.289(as it does with an)3.539 F 3.789(yo) --.15 G 1.288(ther trapped signal it recei)-3.789 F -.15(ve)-.25 G 3.788 -(sw).15 G 1.288(hile it is w)-3.788 F 1.288(aiting for the fore-)-.1 F -(ground command to complete, for compatibility)144 348 Q(.)-.65 E/F4 -10.95/Times-Bold@0 SF(JOB CONTR)72 364.8 Q(OL)-.329 E/F5 10 -/Times-Italic@0 SF -.25(Jo)108 376.8 S 3.368(bc).25 G(ontr)-3.368 E(ol) +(uses it to abort editing commands\) or deliberately discarded.)144 +352.8 R(Ho)5.409 E(we)-.25 E -.15(ve)-.25 G -.4(r,).15 G F1(bash)3.309 E +F0 .41(will run an)2.91 F 2.91(yt)-.15 G .41(rap set)-2.91 F(on)144 +364.8 Q F2(SIGINT)3.789 E F3(,)A F0 1.289(as it does with an)3.539 F +3.789(yo)-.15 G 1.288(ther trapped signal it recei)-3.789 F -.15(ve)-.25 +G 3.788(sw).15 G 1.288(hile it is w)-3.788 F 1.288(aiting for the fore-) +-.1 F(ground command to complete, for compatibility)144 376.8 Q(.)-.65 E +/F4 10.95/Times-Bold@0 SF(JOB CONTR)72 393.6 Q(OL)-.329 E/F5 10 +/Times-Italic@0 SF -.25(Jo)108 405.6 S 3.368(bc).25 G(ontr)-3.368 E(ol) -.45 E F0 .868(refers to the ability to selecti)3.878 F -.15(ve)-.25 G .868(ly stop \().15 F F5(suspend)A F0 3.368(\)t)C .868(he e)-3.368 F -.15(xe)-.15 G .868(cution of processes and continue \().15 F F5 -.37 -(re)C(-).37 E(sume)108 388.8 Q F0 2.665(\)t)C .165(heir e)-2.665 F -.15 +(re)C(-).37 E(sume)108 417.6 Q F0 2.665(\)t)C .165(heir e)-2.665 F -.15 (xe)-.15 G .165(cution at a later point.).15 F 2.665(Au)5.165 G .165 (ser typically emplo)-2.665 F .165(ys this f)-.1 F .164 (acility via an interacti)-.1 F .464 -.15(ve i)-.25 H(nterf).15 E .164 -(ace sup-)-.1 F(plied jointly by the operating system k)108 400.8 Q +(ace sup-)-.1 F(plied jointly by the operating system k)108 429.6 Q (ernel')-.1 E 2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 -G(nd)-2.5 E F1(bash)2.5 E F0(.)A .784(The shell associates a)108 417.6 R +G(nd)-2.5 E F1(bash)2.5 E F0(.)A .784(The shell associates a)108 446.4 R F5(job)5.024 E F0 .784(with each pipeline.)3.514 F .784(It k)5.784 F .785(eeps a table of currently e)-.1 F -.15(xe)-.15 G .785 -(cuting jobs, which may be).15 F .325(listed with the)108 429.6 R F1 +(cuting jobs, which may be).15 F .325(listed with the)108 458.4 R F1 (jobs)2.825 E F0 2.825(command. When)2.825 F F1(bash)2.825 E F0 .325 (starts a job asynchronously \(in the)2.825 F F5(bac)3.094 E(kgr)-.2 E -(ound)-.45 E F0 .324(\), it prints a line).77 F(that looks lik)108 441.6 -Q(e:)-.1 E([1] 25647)144 458.4 Q .241(indicating that this job is job n\ +(ound)-.45 E F0 .324(\), it prints a line).77 F(that looks lik)108 470.4 +Q(e:)-.1 E([1] 25647)144 487.2 Q .241(indicating that this job is job n\ umber 1 and that the process ID of the last process in the pipeline ass\ -ociated)108 475.2 R .733(with this job is 25647.)108 487.2 R .732 +ociated)108 504 R .733(with this job is 25647.)108 516 R .732 (All of the processes in a single pipeline are members of the same job) -5.733 F(.)-.4 E F1(Bash)5.732 E F0(uses)3.232 E(the)108 499.2 Q F5(job) +5.733 F(.)-.4 E F1(Bash)5.732 E F0(uses)3.232 E(the)108 528 Q F5(job) 4.24 E F0(abstraction as the basis for job control.)2.73 E 1.981 -.8 -(To f)108 516 T .382(acilitate the implementation of the user interf).7 -F .382(ace to job control, the operating system maintains the no-)-.1 F -1.538(tion of a)108 528 R F5(curr)4.038 E 1.538(ent terminal pr)-.37 F -1.537(ocess gr)-.45 F 1.537(oup ID)-.45 F F0 6.537(.M)C 1.537 +(To f)108 544.8 T .382(acilitate the implementation of the user interf) +.7 F .382(ace to job control, the operating system maintains the no-)-.1 +F 1.538(tion of a)108 556.8 R F5(curr)4.038 E 1.538(ent terminal pr)-.37 +F 1.537(ocess gr)-.45 F 1.537(oup ID)-.45 F F0 6.537(.M)C 1.537 (embers of this process group \(processes whose process)-6.537 F .023 (group ID is equal to the current terminal process group ID\) recei)108 -540 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 -(board-generated signals such as).15 F F2(SIG-)2.523 E(INT)108 552 Q F3 -(.)A F0 1.215(These processes are said to be in the)5.716 F F5(for)5.685 -E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F5(Bac)6.795 E(kgr)-.2 -E(ound)-.45 E F0 1.215(processes are those whose process)4.485 F .145 -(group ID dif)108 564 R .145(fers from the terminal')-.25 F .146 +568.8 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 +(board-generated signals such as).15 F F2(SIG-)2.523 E(INT)108 580.8 Q +F3(.)A F0 1.215(These processes are said to be in the)5.716 F F5(for) +5.685 E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F5(Bac)6.795 E +(kgr)-.2 E(ound)-.45 E F0 1.215(processes are those whose process)4.485 +F .145(group ID dif)108 592.8 R .145(fers from the terminal')-.25 F .146 (s; such processes are immune to k)-.55 F -.15(ey)-.1 G .146 (board-generated signals.).15 F .146(Only fore-)5.146 F .16 -(ground processes are allo)108 576 R .16(wed to read from or)-.25 F 2.66 -(,i)-.4 G 2.66(ft)-2.66 G .16(he user so speci\214es with)-2.66 F/F6 10 -/Courier@0 SF .16(stty tostop)2.66 F F0 2.66(,w)C .16(rite to the ter) --2.66 F(-)-.2 E 3.051(minal. Background)108 588 R .551 +(ground processes are allo)108 604.8 R .16(wed to read from or)-.25 F +2.66(,i)-.4 G 2.66(ft)-2.66 G .16(he user so speci\214es with)-2.66 F/F6 +10/Courier@0 SF .16(stty tostop)2.66 F F0 2.66(,w)C .16(rite to the ter) +-2.66 F(-)-.2 E 3.051(minal. Background)108 616.8 R .551 (processes which attempt to read from \(write to when)3.051 F F6 .551 (stty tostop)3.051 F F0 .552(is in ef)3.052 F .552(fect\) the)-.25 F -.718(terminal are sent a)108 600 R F2 .718(SIGTTIN \(SIGTT)3.218 F(OU\)) --.162 E F0 .718(signal by the k)2.968 F(ernel')-.1 E 3.217(st)-.55 G -.717(erminal dri)-3.217 F -.15(ve)-.25 G 1.517 -.4(r, w).15 H .717 -(hich, unless caught, sus-).4 F(pends the process.)108 612 Q 1.087 -(If the operating system on which)108 628.8 R F1(bash)3.587 E F0 1.088 +.718(terminal are sent a)108 628.8 R F2 .718(SIGTTIN \(SIGTT)3.218 F +(OU\))-.162 E F0 .718(signal by the k)2.968 F(ernel')-.1 E 3.217(st)-.55 +G .717(erminal dri)-3.217 F -.15(ve)-.25 G 1.517 -.4(r, w).15 H .717 +(hich, unless caught, sus-).4 F(pends the process.)108 640.8 Q 1.087 +(If the operating system on which)108 657.6 R F1(bash)3.587 E F0 1.088 (is running supports job control,)3.588 F F1(bash)3.588 E F0 1.088 -(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 640.8 S +(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 669.6 S .302(ping the).8 F F5(suspend)3.142 E F0 .302(character \(typically) 3.572 F F1(^Z)2.801 E F0 2.801(,C)C .301 (ontrol-Z\) while a process is running causes that process to be)-2.801 -F 2.142(stopped and returns control to)108 652.8 R F1(bash)4.642 E F0 +F 2.142(stopped and returns control to)108 681.6 R F1(bash)4.642 E F0 7.142(.T)C 2.142(yping the)-7.942 F F5 2.142(delayed suspend)4.992 F F0 2.143(character \(typically)5.413 F F1(^Y)4.643 E F0 4.643(,C)C (ontrol-Y\))-4.643 E .021(causes the process to be stopped when it atte\ mpts to read input from the terminal, and control to be returned)108 -664.8 R(to)108 676.8 Q F1(bash)3.392 E F0 5.892(.T)C .892 +693.6 R(to)108 705.6 Q F1(bash)3.392 E F0 5.892(.T)C .892 (he user may then manipulate the state of this job, using the)-5.892 F F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .17 -(background, the)108 688.8 R F1(fg)2.67 E F0 .17 +(background, the)108 717.6 R F1(fg)2.67 E F0 .17 (command to continue it in the fore)2.67 F .17(ground, or the)-.15 F F1 (kill)2.67 E F0 .17(command to kill it.)2.67 F(A)5.17 E F1(^Z)2.67 E F0 -(tak)2.67 E .17(es ef-)-.1 F 1.418(fect immediately)108 700.8 R 3.918 -(,a)-.65 G 1.418(nd has the additional side ef)-3.918 F 1.418 -(fect of causing pending output and typeahead to be dis-)-.25 F(carded.) -108 712.8 Q .777(There are a number of w)108 729.6 R .777 -(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F1 -(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(39)188.45 E 0 Cg EP +(tak)2.67 E .17(es ef-)-.1 F 2.679(fect immediately)108 729.6 R 5.179 +(,a)-.65 G 2.679(nd has the additional side ef)-5.179 F 2.68 +(fect of causing pending output and typeahead to be)-.25 F(GNU Bash 5.2) +72 768 Q(2022 March 11)144.29 E(39)193.45 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(\()108 84 Q/F1 10 -/Times-Italic@0 SF(jobspec)A F0 3.457(\). Job)B(number)3.457 E F1(n) -3.817 E F0 .957(may be referred to as)3.697 F/F2 10/Times-Bold@0 SF(%n) -3.457 E F0 5.957(.A)C .957 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E(discarded.)108 84 +Q .777(There are a number of w)108 100.8 R .777 +(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F/F1 +10/Times-Bold@0 SF(%)3.277 E F0 .777(introduces a job speci\214cation) +3.277 F(\()108 112.8 Q/F2 10/Times-Italic@0 SF(jobspec)A F0 3.457 +(\). Job)B(number)3.457 E F2(n)3.817 E F0 .957(may be referred to as) +3.697 F F1(%n)3.457 E F0 5.957(.A)C .957 (job may also be referred to using a pre\214x of the)-2.5 F .59(name us\ ed to start it, or using a substring that appears in its command line.) -108 96 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F2(%ce)3.09 E F0 -.59(refers to a)3.09 F .385(stopped job whose command name be)108 108 R -.385(gins with)-.15 F F2(ce)2.885 E F0 5.385(.I)C 2.885(fap)-5.385 G -.385(re\214x matches more than one job,)-2.885 F F2(bash)2.885 E F0 .385 -(reports an)2.885 F(error)108 120 Q 5.194(.U)-.55 G(sing)-5.194 E F2 -(%?ce)2.694 E F0 2.694(,o)C 2.694(nt)-2.694 G .194 +108 124.8 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F1(%ce)3.09 E +F0 .59(refers to a)3.09 F .385(stopped job whose command name be)108 +136.8 R .385(gins with)-.15 F F1(ce)2.885 E F0 5.385(.I)C 2.885(fap) +-5.385 G .385(re\214x matches more than one job,)-2.885 F F1(bash)2.885 +E F0 .385(reports an)2.885 F(error)108 148.8 Q 5.194(.U)-.55 G(sing) +-5.194 E F1(%?ce)2.694 E F0 2.694(,o)C 2.694(nt)-2.694 G .194 (he other hand, refers to an)-2.694 F 2.694(yj)-.15 G .194 -(ob containing the string)-2.694 F F2(ce)2.694 E F0 .194 +(ob containing the string)-2.694 F F1(ce)2.694 E F0 .194 (in its command line.)2.694 F .194(If the)5.194 F .306 -(substring matches more than one job,)108 132 R F2(bash)2.806 E F0 .306 -(reports an error)2.806 F 5.306(.T)-.55 G .306(he symbols)-5.306 F F2 -(%%)2.806 E F0(and)2.806 E F2(%+)2.806 E F0 .307(refer to the shell') -2.806 F(s)-.55 E .133(notion of the)108 144 R F1(curr)2.833 E .133 +(substring matches more than one job,)108 160.8 R F1(bash)2.806 E F0 +.306(reports an error)2.806 F 5.306(.T)-.55 G .306(he symbols)-5.306 F +F1(%%)2.806 E F0(and)2.806 E F1(%+)2.806 E F0 .307(refer to the shell') +2.806 F(s)-.55 E .133(notion of the)108 172.8 R F2(curr)2.833 E .133 (ent job)-.37 F F0 2.633(,w).23 G .133 (hich is the last job stopped while it w)-2.633 F .133(as in the fore) -.1 F .132(ground or started in the back-)-.15 F 2.575(ground. The)108 -156 R F1(pr)3.825 E -.15(ev)-.37 G .075(ious job).15 F F0 .075 -(may be referenced using)2.805 F F2<25ad>2.575 E F0 5.075(.I)C 2.575(ft) --5.075 G .076(here is only a single job,)-2.575 F F2(%+)2.576 E F0(and) -2.576 E F2<25ad>2.576 E F0 .076(can both)2.576 F .317 -(be used to refer to that job)108 168 R 5.317(.I)-.4 G 2.817(no)-5.317 G -.317(utput pertaining to jobs \(e.g., the output of the)-2.817 F F2 +184.8 R F2(pr)3.825 E -.15(ev)-.37 G .075(ious job).15 F F0 .075 +(may be referenced using)2.805 F F1<25ad>2.575 E F0 5.075(.I)C 2.575(ft) +-5.075 G .076(here is only a single job,)-2.575 F F1(%+)2.576 E F0(and) +2.576 E F1<25ad>2.576 E F0 .076(can both)2.576 F .317 +(be used to refer to that job)108 196.8 R 5.317(.I)-.4 G 2.817(no)-5.317 +G .317(utput pertaining to jobs \(e.g., the output of the)-2.817 F F1 (jobs)2.817 E F0 .317(command\), the current)2.817 F .032(job is al)108 -180 R -.1(wa)-.1 G .033(ys \215agged with a).1 F F2(+)2.533 E F0 2.533 -(,a)C .033(nd the pre)-2.533 F .033(vious job with a)-.25 F F22.533 +208.8 R -.1(wa)-.1 G .033(ys \215agged with a).1 F F1(+)2.533 E F0 2.533 +(,a)C .033(nd the pre)-2.533 F .033(vious job with a)-.25 F F12.533 E F0 5.033(.A)C .033(single % \(with no accompan)-2.5 F .033 (ying job speci-)-.15 F(\214cation\) also refers to the current job)108 -192 Q(.)-.4 E .444 -(Simply naming a job can be used to bring it into the fore)108 208.8 R -(ground:)-.15 E F2(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for) --.15 F F2 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C +220.8 Q(.)-.4 E .444 +(Simply naming a job can be used to bring it into the fore)108 237.6 R +(ground:)-.15 E F1(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for) +-.15 F F1 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C (ringing)-2.943 E 1.472(job 1 from the background into the fore)108 -220.8 R 3.972(ground. Similarly)-.15 F(,)-.65 E F2 -.63(``)3.973 G 1.473 +249.6 R 3.972(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.973 G 1.473 (%1 &').63 F(')-.63 E F0 1.473(resumes job 1 in the background,)3.973 F -(equi)108 232.8 Q -.25(va)-.25 G(lent to).25 E F2 -.63(``)2.5 G(bg %1') -.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 249.6 +(equi)108 261.6 Q -.25(va)-.25 G(lent to).25 E F1 -.63(``)2.5 G(bg %1') +.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 278.4 R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F -(Normally)5.131 E(,)-.65 E F2(bash)2.631 E F0 -.1(wa)2.63 G .13 +(Normally)5.131 E(,)-.65 E F1(bash)2.631 E F0 -.1(wa)2.63 G .13 (its until it is about to print a).1 F .157 -(prompt before reporting changes in a job')108 261.6 R 2.657(ss)-.55 G +(prompt before reporting changes in a job')108 290.4 R 2.657(ss)-.55 G .157(tatus so as to not interrupt an)-2.657 F 2.658(yo)-.15 G .158 -(ther output.)-2.658 F .158(If the)5.158 F F22.658 E F0 .158 -(option to)2.658 F(the)108 273.6 Q F2(set)2.648 E F0 -.2(bu)2.648 G .148 -(iltin command is enabled,).2 F F2(bash)2.648 E F0 .148 +(ther output.)-2.658 F .158(If the)5.158 F F12.658 E F0 .158 +(option to)2.658 F(the)108 302.4 Q F1(set)2.648 E F0 -.2(bu)2.648 G .148 +(iltin command is enabled,).2 F F1(bash)2.648 E F0 .148 (reports such changes immediately)2.648 F 5.147(.A)-.65 G .447 -.15 (ny t)-5.147 H .147(rap on).15 F/F3 9/Times-Bold@0 SF(SIGCHLD)2.647 E F0 .147(is e)2.397 F -.15(xe)-.15 G(-).15 E(cuted for each child that e)108 -285.6 Q(xits.)-.15 E .032(If an attempt to e)108 302.4 R(xit)-.15 E F2 +314.4 Q(xits.)-.15 E .032(If an attempt to e)108 331.2 R(xit)-.15 E F1 (bash)2.532 E F0 .032(is made while jobs are stopped \(or)2.532 F 2.533 -(,i)-.4 G 2.533(ft)-2.533 G(he)-2.533 E F2(checkjobs)2.533 E F0 .033 -(shell option has been enabled)2.533 F 1.003(using the)108 314.4 R F2 +(,i)-.4 G 2.533(ft)-2.533 G(he)-2.533 E F1(checkjobs)2.533 E F0 .033 +(shell option has been enabled)2.533 F 1.003(using the)108 343.2 R F1 (shopt)3.503 E F0 -.2(bu)3.503 G 1.003 (iltin, running\), the shell prints a w).2 F 1.002 -(arning message, and, if the)-.1 F F2(checkjobs)3.502 E F0 1.002 +(arning message, and, if the)-.1 F F1(checkjobs)3.502 E F0 1.002 (option is en-)3.502 F .955(abled, lists the jobs and their statuses.) -108 326.4 R(The)5.955 E F2(jobs)3.455 E F0 .955 +108 355.2 R(The)5.955 E F1(jobs)3.455 E F0 .955 (command may then be used to inspect their status.)3.455 F .956(If a) -5.956 F .604(second attempt to e)108 338.4 R .604 +5.956 F .604(second attempt to e)108 367.2 R .604 (xit is made without an interv)-.15 F .604 (ening command, the shell does not print another w)-.15 F(arning,)-.1 E -(and an)108 350.4 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E -.644(When the shell is w)108 367.2 R .644 -(aiting for a job or process using the)-.1 F F2(wait)3.145 E F0 -.2(bu) -3.145 G .645(iltin, and job control is enabled,).2 F F2(wait)3.145 E F0 -(will)3.145 E .282(return when the job changes state. The)108 379.2 R F2 -2.782 E F0 .282(option causes)2.782 F F2(wait)2.782 E F0 .282 +(and an)108 379.2 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E +.644(When the shell is w)108 396 R .644 +(aiting for a job or process using the)-.1 F F1(wait)3.145 E F0 -.2(bu) +3.145 G .645(iltin, and job control is enabled,).2 F F1(wait)3.145 E F0 +(will)3.145 E .282(return when the job changes state. The)108 408 R F1 +2.782 E F0 .282(option causes)2.782 F F1(wait)2.782 E F0 .282 (to w)2.782 F .282(ait until the job or process terminates be-)-.1 F -(fore returning.)108 391.2 Q/F4 10.95/Times-Bold@0 SF(PR)72 408 Q -(OMPTING)-.329 E F0 .644(When e)108 420 R -.15(xe)-.15 G .644 -(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)-.65 E F2(bash)3.144 E +(fore returning.)108 420 Q/F4 10.95/Times-Bold@0 SF(PR)72 436.8 Q +(OMPTING)-.329 E F0 .644(When e)108 448.8 R -.15(xe)-.15 G .644 +(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)-.65 E F1(bash)3.144 E F0 .645(displays the primary prompt)3.145 F F3(PS1)3.145 E F0 .645 (when it is ready to read a command,)2.895 F .428 -(and the secondary prompt)108 432 R F3(PS2)2.928 E F0 .427 -(when it needs more input to complete a command.)2.678 F F2(Bash)5.427 E +(and the secondary prompt)108 460.8 R F3(PS2)2.928 E F0 .427 +(when it needs more input to complete a command.)2.678 F F1(Bash)5.427 E F0(displays)2.927 E F3(PS0)2.927 E F0(after)2.677 E .037 -(it reads a command b)108 444 R .037(ut before e)-.2 F -.15(xe)-.15 G -.037(cuting it.).15 F F2(Bash)5.037 E F0(displays)2.537 E F3(PS4)2.538 E +(it reads a command b)108 472.8 R .037(ut before e)-.2 F -.15(xe)-.15 G +.037(cuting it.).15 F F1(Bash)5.037 E F0(displays)2.537 E F3(PS4)2.538 E F0 .038(as described abo)2.288 F .338 -.15(ve b)-.15 H .038 -(efore tracing each com-).15 F 1.122(mand when the)108 456 R F2 -3.622 E F0 1.122(option is enabled.)3.622 F F2(Bash)6.122 E F0(allo) +(efore tracing each com-).15 F 1.122(mand when the)108 484.8 R F1 +3.622 E F0 1.122(option is enabled.)3.622 F F1(Bash)6.122 E F0(allo) 3.622 E 1.122(ws these prompt strings to be customized by inserting a) -.25 F(number of backslash-escaped special characters that are decoded \ -as follo)108 468 Q(ws:)-.25 E F2(\\a)144 480 Q F0 -(an ASCII bell character \(07\))180 480 Q F2(\\d)144 492 Q F0 -(the date in "W)180 492 Q(eekday Month Date" format \(e.g., "T)-.8 E -(ue May 26"\))-.45 E F2(\\D{)144 504 Q F1(format)A F2(})A F0(the)180 516 -Q F1(format)3.926 E F0 1.426(is passed to)3.926 F F1(strftime)3.926 E F0 -1.427(\(3\) and the result is inserted into the prompt string; an)B -(empty)180 528 Q F1(format)2.5 E F0 +as follo)108 496.8 Q(ws:)-.25 E F1(\\a)144 508.8 Q F0 +(an ASCII bell character \(07\))180 508.8 Q F1(\\d)144 520.8 Q F0 +(the date in "W)180 520.8 Q(eekday Month Date" format \(e.g., "T)-.8 E +(ue May 26"\))-.45 E F1(\\D{)144 532.8 Q F2(format)A F1(})A F0(the)180 +544.8 Q F2(format)3.926 E F0 1.426(is passed to)3.926 F F2(strftime) +3.926 E F0 1.427 +(\(3\) and the result is inserted into the prompt string; an)B(empty)180 +556.8 Q F2(format)2.5 E F0 (results in a locale-speci\214c time representation.)2.5 E -(The braces are required)5 E F2(\\e)144 540 Q F0 -(an ASCII escape character \(033\))180 540 Q F2(\\h)144 552 Q F0 -(the hostname up to the \214rst `.)180 552 Q(')-.7 E F2(\\H)144 564 Q F0 -(the hostname)180 564 Q F2(\\j)144 576 Q F0 -(the number of jobs currently managed by the shell)180 576 Q F2(\\l)144 -588 Q F0(the basename of the shell')180 588 Q 2.5(st)-.55 G(erminal de) --2.5 E(vice name)-.25 E F2(\\n)144 600 Q F0(ne)180 600 Q(wline)-.25 E F2 -(\\r)144 612 Q F0(carriage return)180 612 Q F2(\\s)144 624 Q F0 -(the name of the shell, the basename of)180 624 Q F2($0)2.5 E F0 -(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F2(\\t)144 -636 Q F0(the current time in 24-hour HH:MM:SS format)180 636 Q F2(\\T) -144 648 Q F0(the current time in 12-hour HH:MM:SS format)180 648 Q F2 -(\\@)144 660 Q F0(the current time in 12-hour am/pm format)180 660 Q F2 -(\\A)144 672 Q F0(the current time in 24-hour HH:MM format)180 672 Q F2 -(\\u)144 684 Q F0(the username of the current user)180 684 Q F2(\\v)144 -696 Q F0(the v)180 696 Q(ersion of)-.15 E F2(bash)2.5 E F0 -(\(e.g., 2.00\))2.5 E F2(\\V)144 708 Q F0(the release of)180 708 Q F2 -(bash)2.5 E F0 2.5(,v)C(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5 -(l\().15 G(e.g., 2.00.0\))-2.5 E(GNU Bash 5.2)72 768 Q(2022 February 10) -139.29 E(40)188.45 E 0 Cg EP +(The braces are required)5 E F1(\\e)144 568.8 Q F0 +(an ASCII escape character \(033\))180 568.8 Q F1(\\h)144 580.8 Q F0 +(the hostname up to the \214rst `.)180 580.8 Q(')-.7 E F1(\\H)144 592.8 +Q F0(the hostname)180 592.8 Q F1(\\j)144 604.8 Q F0 +(the number of jobs currently managed by the shell)180 604.8 Q F1(\\l) +144 616.8 Q F0(the basename of the shell')180 616.8 Q 2.5(st)-.55 G +(erminal de)-2.5 E(vice name)-.25 E F1(\\n)144 628.8 Q F0(ne)180 628.8 Q +(wline)-.25 E F1(\\r)144 640.8 Q F0(carriage return)180 640.8 Q F1(\\s) +144 652.8 Q F0(the name of the shell, the basename of)180 652.8 Q F1($0) +2.5 E F0(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F1 +(\\t)144 664.8 Q F0(the current time in 24-hour HH:MM:SS format)180 +664.8 Q F1(\\T)144 676.8 Q F0 +(the current time in 12-hour HH:MM:SS format)180 676.8 Q F1(\\@)144 +688.8 Q F0(the current time in 12-hour am/pm format)180 688.8 Q F1(\\A) +144 700.8 Q F0(the current time in 24-hour HH:MM format)180 700.8 Q F1 +(\\u)144 712.8 Q F0(the username of the current user)180 712.8 Q +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(40)193.45 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F (Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 -SF(\\w)144 84 Q F0 .12(the v)180 84 R .119(alue of the)-.25 F F1(PWD) -2.619 E F0 .119(shell v)2.619 F .119(ariable \()-.25 F F1($PWD)A F0 .119 -(\), with)B/F2 9/Times-Bold@0 SF($HOME)2.619 E F0(abbre)2.369 E .119 -(viated with a tilde \(uses)-.25 F(the v)180 96 Q(alue of the)-.25 E F2 -(PR)2.5 E(OMPT_DIR)-.27 E(TRIM)-.36 E F0 -.25(va)2.25 G(riable\)).25 E -F1(\\W)144 108 Q F0(the basename of)180 108 Q F1($PWD)2.5 E F0 2.5(,w)C -(ith)-2.5 E F2($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde)-.25 E F1 -(\\!)144 120 Q F0(the history number of this command)180 120 Q F1(\\#) -144 132 Q F0(the command number of this command)180 132 Q F1(\\$)144 144 -Q F0(if the ef)180 144 Q(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a).15 -E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 156 Q/F3 10 +SF(\\v)144 84 Q F0(the v)180 84 Q(ersion of)-.15 E F1(bash)2.5 E F0 +(\(e.g., 2.00\))2.5 E F1(\\V)144 96 Q F0(the release of)180 96 Q F1 +(bash)2.5 E F0 2.5(,v)C(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5 +(l\().15 G(e.g., 2.00.0\))-2.5 E F1(\\w)144 108 Q F0 .12(the v)180 108 R +.119(alue of the)-.25 F F1(PWD)2.619 E F0 .119(shell v)2.619 F .119 +(ariable \()-.25 F F1($PWD)A F0 .119(\), with)B/F2 9/Times-Bold@0 SF +($HOME)2.619 E F0(abbre)2.369 E .119(viated with a tilde \(uses)-.25 F +(the v)180 120 Q(alue of the)-.25 E F2(PR)2.5 E(OMPT_DIR)-.27 E(TRIM) +-.36 E F0 -.25(va)2.25 G(riable\)).25 E F1(\\W)144 132 Q F0 +(the basename of)180 132 Q F1($PWD)2.5 E F0 2.5(,w)C(ith)-2.5 E F2 +($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde)-.25 E F1(\\!)144 144 Q +F0(the history number of this command)180 144 Q F1(\\#)144 156 Q F0 +(the command number of this command)180 156 Q F1(\\$)144 168 Q F0 +(if the ef)180 168 Q(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a).15 E +F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 180 Q/F3 10 /Times-Italic@0 SF(nnn)A F0 -(the character corresponding to the octal number)180 156 Q F3(nnn)2.5 E -F1(\\\\)144 168 Q F0 2.5(ab)180 168 S(ackslash)-2.5 E F1(\\[)144 180 Q -F0(be)180 180 Q 1.257(gin a sequence of non-printing characters, which \ +(the character corresponding to the octal number)180 180 Q F3(nnn)2.5 E +F1(\\\\)144 192 Q F0 2.5(ab)180 192 S(ackslash)-2.5 E F1(\\[)144 204 Q +F0(be)180 204 Q 1.257(gin a sequence of non-printing characters, which \ could be used to embed a terminal)-.15 F -(control sequence into the prompt)180 192 Q F1(\\])144 204 Q F0 -(end a sequence of non-printing characters)180 204 Q .12 -(The command number and the history number are usually dif)108 220.8 R +(control sequence into the prompt)180 216 Q F1(\\])144 228 Q F0 +(end a sequence of non-printing characters)180 228 Q .12 +(The command number and the history number are usually dif)108 244.8 R .119(ferent: the history number of a command is its)-.25 F .547(positio\ n in the history list, which may include commands restored from the his\ -tory \214le \(see)108 232.8 R F2(HIST)3.047 E(OR)-.162 E(Y)-.315 E F0 -(be-)2.797 E(lo)108 244.8 Q .354(w\), while the command number is the p\ +tory \214le \(see)108 256.8 R F2(HIST)3.047 E(OR)-.162 E(Y)-.315 E F0 +(be-)2.797 E(lo)108 268.8 Q .354(w\), while the command number is the p\ osition in the sequence of commands e)-.25 F -.15(xe)-.15 G .354 -(cuted during the current).15 F .822(shell session.)108 256.8 R .822 +(cuted during the current).15 F .822(shell session.)108 280.8 R .822 (After the string is decoded, it is e)5.822 F .822 (xpanded via parameter e)-.15 F .823(xpansion, command substitution,) --.15 F .683(arithmetic e)108 268.8 R .683(xpansion, and quote remo)-.15 +-.15 F .683(arithmetic e)108 292.8 R .683(xpansion, and quote remo)-.15 F -.25(va)-.15 G .683(l, subject to the v).25 F .682(alue of the)-.25 F F1(pr)3.182 E(omptv)-.18 E(ars)-.1 E F0 .682(shell option \(see the de-) -3.182 F 1.197(scription of the)108 280.8 R F1(shopt)3.697 E F0 1.197 +3.182 F 1.197(scription of the)108 304.8 R F1(shopt)3.697 E F0 1.197 (command under)3.697 F F2 1.197(SHELL B)3.697 F(UIL)-.09 E 1.197 (TIN COMMANDS)-.828 F F0(belo)3.448 E 3.698(w\). This)-.25 F 1.198 (can ha)3.698 F 1.498 -.15(ve u)-.2 H(nw).15 E(anted)-.1 E .322(side ef) -108 292.8 R .322(fects if escaped portions of the string appear within \ +108 316.8 R .322(fects if escaped portions of the string appear within \ command substitution or contain characters spe-)-.25 F(cial to w)108 -304.8 Q(ord e)-.1 E(xpansion.)-.15 E/F4 10.95/Times-Bold@0 SF(READLINE) -72 321.6 Q F0 .15 +328.8 Q(ord e)-.1 E(xpansion.)-.15 E/F4 10.95/Times-Bold@0 SF(READLINE) +72 345.6 Q F0 .15 (This is the library that handles reading input when using an interacti) -108 333.6 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1 -(\255\255noediting)2.651 E F0(option)2.651 E .385(is gi)108 345.6 R -.15 +108 357.6 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1 +(\255\255noediting)2.651 E F0(option)2.651 E .385(is gi)108 369.6 R -.15 (ve)-.25 G 2.885(na).15 G 2.885(ts)-2.885 G .385(hell in)-2.885 F -.2 (vo)-.4 G 2.885(cation. Line).2 F .385 (editing is also used when using the)2.885 F F12.884 E F0 .384 (option to the)2.884 F F1 -.18(re)2.884 G(ad).18 E F0 -.2(bu)2.884 G -2.884(iltin. By).2 F(de-)2.884 E -.1(fa)108 357.6 S 1.406 +2.884(iltin. By).2 F(de-)2.884 E -.1(fa)108 381.6 S 1.406 (ult, the line editing commands are similar to those of Emacs.).1 F 3.907(Av)6.407 G 1.407(i-style line editing interf)-3.907 F 1.407 -(ace is also)-.1 F -.2(av)108 369.6 S 3.35(ailable. Line)-.05 F .85 +(ace is also)-.1 F -.2(av)108 393.6 S 3.35(ailable. Line)-.05 F .85 (editing can be enabled at an)3.35 F 3.35(yt)-.15 G .85(ime using the) -3.35 F F1 .85(\255o emacs)3.35 F F0(or)3.35 E F1 .85(\255o vi)3.35 F F0 .85(options to the)3.35 F F1(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E -(\(see)108 381.6 Q F2 .762(SHELL B)3.262 F(UIL)-.09 E .762(TIN COMMANDS) +(\(see)108 405.6 Q F2 .762(SHELL B)3.262 F(UIL)-.09 E .762(TIN COMMANDS) -.828 F F0(belo)3.012 E 3.262(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of) -3.263 F 3.263(fl)-.25 G .763 (ine editing after the shell is running, use the)-3.263 F F1(+o)3.263 E -(emacs)108 393.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1 -(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 410.4 Q +(emacs)108 417.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1 +(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 434.4 Q F0 .463(In this section, the Emacs-style notation is used to denote k) -108 422.4 R -.15(ey)-.1 G(strok).15 E 2.963(es. Control)-.1 F -.1(ke) +108 446.4 R -.15(ey)-.1 G(strok).15 E 2.963(es. Control)-.1 F -.1(ke) 2.963 G .463(ys are denoted by C\255)-.05 F F3 -.1(ke)C(y)-.2 E F0(,)A -1.152(e.g., C\255n means Control\255N.)108 434.4 R(Similarly)6.152 E(,) +1.152(e.g., C\255n means Control\255N.)108 458.4 R(Similarly)6.152 E(,) -.65 E F3(meta)4.032 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255) -.05 F F3 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653(oM)-3.653 G 1.153 -(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke)108 446.4 S .831 +(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke)108 470.4 S .831 (yboards without a)-.05 F F3(meta)3.711 E F0 -.1(ke)3.591 G 2.131 -.65 (y, M)-.05 H.65 E F3(x)A F0 .831(means ESC)3.331 F F3(x)3.331 E F0 3.331(,i)C .83(.e., press the Escape k)-3.331 F 1.13 -.15(ey t)-.1 H .83 (hen the).15 F F3(x)4.1 E F0 -.1(ke)3.86 G 4.63 -.65(y. T)-.05 H .83 -(his mak).65 F(es)-.1 E .599(ESC the)108 458.4 R F3 .599(meta pr)3.099 F +(his mak).65 F(es)-.1 E .599(ESC the)108 482.4 R F3 .599(meta pr)3.099 F (e\214x)-.37 E F0 5.599(.T)C .599(he combination M\255C\255)-5.599 F F3 (x)A F0 .599(means ESC\255Control\255)3.099 F F3(x)A F0 3.099(,o)C 3.099 (rp)-3.099 G .6(ress the Escape k)-3.099 F .9 -.15(ey t)-.1 H .6 -(hen hold).15 F(the Control k)108 470.4 Q .3 -.15(ey w)-.1 H +(hen hold).15 F(the Control k)108 494.4 Q .3 -.15(ey w)-.1 H (hile pressing the).15 E F3(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)) -.65 E .596(Readline commands may be gi)108 487.2 R -.15(ve)-.25 G 3.096 +.65 E .596(Readline commands may be gi)108 511.2 R -.15(ve)-.25 G 3.096 (nn).15 G(umeric)-3.096 E F3(ar)3.426 E(guments)-.37 E F0 3.096(,w).27 G .596(hich normally act as a repeat count.)-3.096 F(Sometimes,)5.595 E -(ho)108 499.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti) +(ho)108 523.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti) .4 G 3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619 (gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne) .15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619 -(ument to a command that).18 F 1.019(acts in the forw)108 511.2 R 1.018 +(ument to a command that).18 F 1.019(acts in the forw)108 535.2 R 1.018 (ard direction \(e.g.,)-.1 F F1(kill\255line)3.518 E F0 3.518(\)c)C 1.018(auses that command to act in a backw)-3.518 F 1.018 -(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 523.2 Q +(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 547.2 Q (vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo) --.25 E -.65(w.)-.25 G .811(When a command is described as)108 540 R F3 +-.25 E -.65(w.)-.25 G .811(When a command is described as)108 564 R F3 (killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811 (xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .812 (or possible future retrie)-3.311 F -.25(va)-.25 G 3.312(l\().25 G F3 -(yank-)-3.312 E(ing)108 552 Q F0 2.529(\). The)B .029(killed te)2.529 F +(yank-)-3.312 E(ing)108 576 Q F0 2.529(\). The)B .029(killed te)2.529 F .029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F3 .029(kill ring)B F0 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H .029(ills cause the te).15 F .029(xt to be accumulated into one unit,) --.15 F .567(which can be yank)108 564 R .567(ed all at once.)-.1 F .567 +-.15 F .567(which can be yank)108 588 R .567(ed all at once.)-.1 F .567 (Commands which do not kill te)5.567 F .567 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.) -108 576 Q F1(Readline Initialization)87 592.8 Q F0 .091(Readline is cus\ -tomized by putting commands in an initialization \214le \(the)108 604.8 +108 600 Q F1(Readline Initialization)87 616.8 Q F0 .091(Readline is cus\ +tomized by putting commands in an initialization \214le \(the)108 628.8 R F3(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .091 -(name of this \214le)2.591 F .572(is tak)108 616.8 R .573(en from the v) +(name of this \214le)2.591 F .572(is tak)108 640.8 R .573(en from the v) -.1 F .573(alue of the)-.25 F F2(INPUTRC)3.073 E F0 -.25(va)2.823 G 3.073(riable. If).25 F .573(that v)3.073 F .573 (ariable is unset, the def)-.25 F .573(ault is)-.1 F F3(~/.inputr)2.573 E(c)-.37 E F0 5.573(.I).31 G 3.073(ft)-5.573 G(hat)-3.073 E 3.062 -(\214le does)108 628.8 R .562(not e)3.062 F .562 +(\214le does)108 652.8 R .562(not e)3.062 F .562 (xist or cannot be read, the ultimate def)-.15 F .562(ault is)-.1 F F3 (/etc/inputr)4.212 E(c)-.37 E F0 5.561(.W).31 G .561 (hen a program which uses the)-5.561 F .174(readline library starts up,\ - the initialization \214le is read, and the k)108 640.8 R .475 -.15 + the initialization \214le is read, and the k)108 664.8 R .475 -.15 (ey b)-.1 H .175(indings and v).15 F .175(ariables are set.)-.25 F .175 -(There are)5.175 F .239(only a fe)108 652.8 R 2.739(wb)-.25 G .239 +(There are)5.175 F .239(only a fe)108 676.8 R 2.739(wb)-.25 G .239 (asic constructs allo)-2.739 F .239 (wed in the readline initialization \214le.)-.25 F .238 (Blank lines are ignored.)5.239 F .238(Lines be)5.238 F(gin-)-.15 E .553 -(ning with a)108 664.8 R F1(#)3.053 E F0 .554(are comments.)3.053 F .554 +(ning with a)108 688.8 R F1(#)3.053 E F0 .554(are comments.)3.053 F .554 (Lines be)5.554 F .554(ginning with a)-.15 F F1($)3.054 E F0 .554 (indicate conditional constructs.)3.054 F .554(Other lines denote)5.554 -F -.1(ke)108 676.8 S 2.5(yb)-.05 G(indings and v)-2.5 E -(ariable settings.)-.25 E .987(The def)108 693.6 R .987(ault k)-.1 F +F -.1(ke)108 700.8 S 2.5(yb)-.05 G(indings and v)-2.5 E +(ariable settings.)-.25 E .987(The def)108 717.6 R .987(ault k)-.1 F -.15(ey)-.1 G .987(-bindings may be changed with an).15 F F3(inputr) 3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987 -(programs that use this library may)3.487 F(add their o)108 705.6 Q -(wn commands and bindings.)-.25 E -.15(Fo)108 722.4 S 2.5(re).15 G -(xample, placing)-2.65 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E -(41)188.45 E 0 Cg EP +(programs that use this library may)3.487 F(add their o)108 729.6 Q +(wn commands and bindings.)-.25 E(GNU Bash 5.2)72 768 Q(2022 March 11) +144.29 E(41)193.45 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -(M\255Control\255u: uni)144 84 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument) --.18 E(or)108 96 Q(C\255Meta\255u: uni)144 108 Q -.15(ve)-.25 G -(rsal\255ar).15 E(gument)-.18 E(into the)108 120 Q/F1 10/Times-Italic@0 -SF(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G -(\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the readline command).15 E F1 -(univer)2.58 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.01(The follo) -108 136.8 R 1.011(wing symbolic character names are recognized:)-.25 F -F1 -.4(RU)3.511 G(BOUT).4 E F0(,)1.27 E F1(DEL)4.091 E F0(,).53 E F1 -(ESC)4.021 E F0(,).72 E F1(LFD)4.091 E F0(,).28 E F1(NEWLINE)4.211 E F0 -(,).73 E F1(RET)4.141 E F0(,)1.27 E F1(RETURN)108.63 148.8 Q F0(,)1.1 E -F1(SPC)2.83 E F0(,).72 E F1(SP)2.83 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 -G(nd)-2.5 E F1 -.5(TA)2.5 G(B).5 E F0(.).27 E .209 -(In addition to command names, readline allo)108 165.6 R .209(ws k)-.25 -F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209 -(ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i) --.1 H(s).15 E(pressed \(a)108 177.6 Q F1(macr)2.5 E(o)-.45 E F0(\).)A/F2 -10/Times-Bold@0 SF(Readline K)87 194.4 Q(ey Bindings)-.25 E F0 .366 -(The syntax for controlling k)108 206.4 R .666 -.15(ey b)-.1 H .366 -(indings in the).15 F F1(inputr)2.876 E(c)-.37 E F0 .366 -(\214le is simple.)3.176 F .366(All that is required is the name of the) -5.366 F .264(command or the te)108 218.4 R .264(xt of a macro and a k) --.15 F .564 -.15(ey s)-.1 H .264(equence to which it should be bound.) -.15 F .263(The name may be speci-)5.264 F .138(\214ed in one of tw)108 -230.4 R 2.638(ow)-.1 G .138(ays: as a symbolic k)-2.738 F .438 -.15 -(ey n)-.1 H .138(ame, possibly with).15 F F1(Meta\255)2.638 E F0(or) -2.638 E F1(Contr)2.638 E(ol\255)-.45 E F0(pre\214x)2.638 E .138 -(es, or as a k)-.15 F .439 -.15(ey s)-.1 H(e-).15 E(quence.)108 242.4 Q -.161(When using the form)108 259.2 R F2 -.1(ke)2.661 G(yname).1 E F0(:)A -F1(function\255name).833 E F0(or)2.661 E F1(macr)2.661 E(o)-.45 E F0(,)A -F1 -.1(ke)2.661 G(yname)-.2 E F0 .16(is the name of a k)2.84 F .46 -.15 -(ey s)-.1 H .16(pelled out in Eng-).15 F 2.5(lish. F)108 271.2 R(or e) --.15 E(xample:)-.15 E(Control-u: uni)144 295.2 Q -.15(ve)-.25 G -(rsal\255ar).15 E(gument)-.18 E(Meta-Rubout: backw)144 307.2 Q -(ard-kill-w)-.1 E(ord)-.1 E(Control-o: "> output")144 319.2 Q .698 -(In the abo)108 336 R .998 -.15(ve ex)-.15 H(ample,).15 E F1(C\255u) -3.038 E F0 .698(is bound to the function)3.448 F F2(uni)3.198 E -.1(ve) --.1 G(rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M\255DEL)3.878 E F0 .698 -(is bound to the func-)3.728 F(tion)108 348 Q F2(backward\255kill\255w) -2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F1(C\255o)2.599 E F0 .258 -(is bound to run the macro e)2.939 F .258 +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E -.15(Fo)108 84 S +2.5(re).15 G(xample, placing)-2.65 E(M\255Control\255u: uni)144 100.8 Q +-.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(or)108 112.8 Q +(C\255Meta\255u: uni)144 124.8 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument) +-.18 E(into the)108 136.8 Q/F1 10/Times-Italic@0 SF(inputr)2.51 E(c)-.37 +E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G(\255C\255u e)-2.5 E -.15 +(xe)-.15 G(cute the readline command).15 E F1(univer)2.58 E(sal\255ar) +-.1 E(gument)-.37 E F0(.).68 E 1.01(The follo)108 153.6 R 1.011 +(wing symbolic character names are recognized:)-.25 F F1 -.4(RU)3.511 G +(BOUT).4 E F0(,)1.27 E F1(DEL)4.091 E F0(,).53 E F1(ESC)4.021 E F0(,).72 +E F1(LFD)4.091 E F0(,).28 E F1(NEWLINE)4.211 E F0(,).73 E F1(RET)4.141 E +F0(,)1.27 E F1(RETURN)108.63 165.6 Q F0(,)1.1 E F1(SPC)2.83 E F0(,).72 E +F1(SP)2.83 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F1 -.5(TA)2.5 +G(B).5 E F0(.).27 E .209(In addition to command names, readline allo)108 +182.4 R .209(ws k)-.25 F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G +2.709(eb)-2.709 G .209(ound to a string that is inserted when the k) +-2.709 F .509 -.15(ey i)-.1 H(s).15 E(pressed \(a)108 194.4 Q F1(macr) +2.5 E(o)-.45 E F0(\).)A/F2 10/Times-Bold@0 SF(Readline K)87 211.2 Q +(ey Bindings)-.25 E F0 .366(The syntax for controlling k)108 223.2 R +.666 -.15(ey b)-.1 H .366(indings in the).15 F F1(inputr)2.876 E(c)-.37 +E F0 .366(\214le is simple.)3.176 F .366 +(All that is required is the name of the)5.366 F .264(command or the te) +108 235.2 R .264(xt of a macro and a k)-.15 F .564 -.15(ey s)-.1 H .264 +(equence to which it should be bound.).15 F .263(The name may be speci-) +5.264 F .138(\214ed in one of tw)108 247.2 R 2.638(ow)-.1 G .138 +(ays: as a symbolic k)-2.738 F .438 -.15(ey n)-.1 H .138 +(ame, possibly with).15 F F1(Meta\255)2.638 E F0(or)2.638 E F1(Contr) +2.638 E(ol\255)-.45 E F0(pre\214x)2.638 E .138(es, or as a k)-.15 F .439 +-.15(ey s)-.1 H(e-).15 E(quence.)108 259.2 Q .161(When using the form) +108 276 R F2 -.1(ke)2.661 G(yname).1 E F0(:)A F1(function\255name).833 E +F0(or)2.661 E F1(macr)2.661 E(o)-.45 E F0(,)A F1 -.1(ke)2.661 G(yname) +-.2 E F0 .16(is the name of a k)2.84 F .46 -.15(ey s)-.1 H .16 +(pelled out in Eng-).15 F 2.5(lish. F)108 288 R(or e)-.15 E(xample:)-.15 +E(Control-u: uni)144 312 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E +(Meta-Rubout: backw)144 324 Q(ard-kill-w)-.1 E(ord)-.1 E +(Control-o: "> output")144 336 Q .698(In the abo)108 352.8 R .998 -.15 +(ve ex)-.15 H(ample,).15 E F1(C\255u)3.038 E F0 .698 +(is bound to the function)3.448 F F2(uni)3.198 E -.1(ve)-.1 G +(rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M\255DEL)3.878 E F0 .698 +(is bound to the func-)3.728 F(tion)108 364.8 Q F2 +(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F1 +(C\255o)2.599 E F0 .258(is bound to run the macro e)2.939 F .258 (xpressed on the right hand side \(that is, to)-.15 F(insert the te)108 -360 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0 -(into the line\).)2.5 E .055(In the second form,)108 376.8 R F2("k)2.555 +376.8 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0 +(into the line\).)2.5 E .055(In the second form,)108 393.6 R F2("k)2.555 E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.555 E F1(macr) 2.555 E(o)-.45 E F0(,)A F2 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056 (fers from)-.25 F F2 -.1(ke)2.556 G(yname).1 E F0(abo)2.556 E .356 -.15 (ve i)-.15 H 2.556(nt).15 G .056(hat strings)-2.556 F 1.284 -(denoting an entire k)108 388.8 R 1.584 -.15(ey s)-.1 H 1.284(equence m\ +(denoting an entire k)108 405.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\ ay be speci\214ed by placing the sequence within double quotes.).15 F -(Some)6.284 E .385(GNU Emacs style k)108 400.8 R .685 -.15(ey e)-.1 H +(Some)6.284 E .385(GNU Emacs style k)108 417.6 R .685 -.15(ey e)-.1 H .385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .386 (xample, b)-.15 F .386(ut the symbolic character names)-.2 F -(are not recognized.)108 412.8 Q("\\C\255u": uni)144 436.8 Q -.15(ve) +(are not recognized.)108 429.6 Q("\\C\255u": uni)144 453.6 Q -.15(ve) -.25 G(rsal\255ar).15 E(gument)-.18 E -("\\C\255x\\C\255r": re\255read\255init\255\214le)144 448.8 Q -("\\e[11~": "Function K)144 460.8 Q .3 -.15(ey 1)-.25 H(").15 E .315 -(In this e)108 477.6 R(xample,)-.15 E F1(C\255u)2.655 E F0 .315(is ag) +("\\C\255x\\C\255r": re\255read\255init\255\214le)144 465.6 Q +("\\e[11~": "Function K)144 477.6 Q .3 -.15(ey 1)-.25 H(").15 E .315 +(In this e)108 494.4 R(xample,)-.15 E F1(C\255u)2.655 E F0 .315(is ag) 3.065 F .315(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0 -.314(is bound to the func-)3.544 F(tion)108 489.6 Q F2 -.18(re)2.5 G +.314(is bound to the func-)3.544 F(tion)108 506.4 Q F2 -.18(re)2.5 G .18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1 (ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F3 (Function Key 1)2.5 E F0(.)A -(The full set of GNU Emacs style escape sequences is)108 506.4 Q F2 -<5c43ad>144 518.4 Q F0(control pre\214x)180 518.4 Q F2<5c4dad>144 530.4 -Q F0(meta pre\214x)180 530.4 Q F2(\\e)144 542.4 Q F0 -(an escape character)180 542.4 Q F2(\\\\)144 554.4 Q F0(backslash)180 -554.4 Q F2(\\")144 566.4 Q F0(literal ")180 566.4 Q F2<5c08>144 578.4 Q -F0(literal \010)180 578.4 Q(In addition to the GNU Emacs style escape s\ -equences, a second set of backslash escapes is a)108 595.2 Q -.25(va)-.2 -G(ilable:).25 E F2(\\a)144 607.2 Q F0(alert \(bell\))180 607.2 Q F2(\\b) -144 619.2 Q F0(backspace)180 619.2 Q F2(\\d)144 631.2 Q F0(delete)180 -631.2 Q F2(\\f)144 643.2 Q F0(form feed)180 643.2 Q F2(\\n)144 655.2 Q -F0(ne)180 655.2 Q(wline)-.25 E F2(\\r)144 667.2 Q F0(carriage return)180 -667.2 Q F2(\\t)144 679.2 Q F0(horizontal tab)180 679.2 Q F2(\\v)144 -691.2 Q F0 -.15(ve)180 691.2 S(rtical tab).15 E F2(\\)144 703.2 Q F1 -(nnn)A F0(the eight-bit character whose v)180 703.2 Q -(alue is the octal v)-.25 E(alue)-.25 E F1(nnn)2.5 E F0 -(\(one to three digits\))2.5 E F2(\\x)144 715.2 Q F1(HH)A F0 -(the eight-bit character whose v)180 715.2 Q(alue is the he)-.25 E -(xadecimal v)-.15 E(alue)-.25 E F1(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh) --.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(42)188.45 E 0 Cg EP +(The full set of GNU Emacs style escape sequences is)108 523.2 Q F2 +<5c43ad>144 535.2 Q F0(control pre\214x)180 535.2 Q F2<5c4dad>144 547.2 +Q F0(meta pre\214x)180 547.2 Q F2(\\e)144 559.2 Q F0 +(an escape character)180 559.2 Q F2(\\\\)144 571.2 Q F0(backslash)180 +571.2 Q F2(\\")144 583.2 Q F0(literal ")180 583.2 Q F2<5c08>144 595.2 Q +F0(literal \010)180 595.2 Q(In addition to the GNU Emacs style escape s\ +equences, a second set of backslash escapes is a)108 612 Q -.25(va)-.2 G +(ilable:).25 E F2(\\a)144 624 Q F0(alert \(bell\))180 624 Q F2(\\b)144 +636 Q F0(backspace)180 636 Q F2(\\d)144 648 Q F0(delete)180 648 Q F2 +(\\f)144 660 Q F0(form feed)180 660 Q F2(\\n)144 672 Q F0(ne)180 672 Q +(wline)-.25 E F2(\\r)144 684 Q F0(carriage return)180 684 Q F2(\\t)144 +696 Q F0(horizontal tab)180 696 Q F2(\\v)144 708 Q F0 -.15(ve)180 708 S +(rtical tab).15 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(42)193.45 +E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 137.14(SH\(1\) General).35 F -(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E 1.141 -(When entering the te)108 84 R 1.141(xt of a macro, single or double qu\ -otes must be used to indicate a macro de\214nition.)-.15 F .09 -(Unquoted te)108 96 R .09(xt is assumed to be a function name.)-.15 F +(Commands Manual)2.5 E -.35(BA)139.64 G(SH\(1\)).35 E/F1 10/Times-Bold@0 +SF(\\)144 84 Q/F2 10/Times-Italic@0 SF(nnn)A F0 +(the eight-bit character whose v)180 84 Q(alue is the octal v)-.25 E +(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144 96 +Q F2(HH)A F0(the eight-bit character whose v)180 96 Q(alue is the he) +-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E +2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141 +(When entering the te)108 112.8 R 1.141(xt of a macro, single or double\ + quotes must be used to indicate a macro de\214nition.)-.15 F .09 +(Unquoted te)108 124.8 R .09(xt is assumed to be a function name.)-.15 F .089(In the macro body)5.089 F 2.589(,t)-.65 G .089 (he backslash escapes described abo)-2.589 F -.15(ve)-.15 G(are e)108 -108 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G +136.8 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G (ther character in the macro te)-2.5 E(xt, including " and \010.)-.15 E -/F1 10/Times-Bold@0 SF(Bash)108 124.8 Q F0(allo)2.929 E .429 -(ws the current readline k)-.25 F .729 -.15(ey b)-.1 H .429 +F1(Bash)108 153.6 Q F0(allo)2.929 E .429(ws the current readline k)-.25 +F .729 -.15(ey b)-.1 H .429 (indings to be displayed or modi\214ed with the).15 F F1(bind)2.93 E F0 -.2(bu)2.93 G .43(iltin command.).2 F .046 -(The editing mode may be switched during interacti)108 136.8 R .346 -.15 +(The editing mode may be switched during interacti)108 165.6 R .346 -.15 (ve u)-.25 H .046(se by using the).15 F F12.545 E F0 .045 (option to the)2.545 F F1(set)2.545 E F0 -.2(bu)2.545 G .045 -(iltin command).2 F(\(see)108 148.8 Q/F2 9/Times-Bold@0 SF(SHELL B)2.5 E +(iltin command).2 F(\(see)108 177.6 Q/F3 9/Times-Bold@0 SF(SHELL B)2.5 E (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -(Readline V)87 165.6 Q(ariables)-.92 E F0 .043(Readline has v)108 177.6 +(Readline V)87 194.4 Q(ariables)-.92 E F0 .043(Readline has v)108 206.4 R .043(ariables that can be used to further customize its beha)-.25 F (vior)-.2 E 5.043(.A)-.55 G -.25(va)-2.5 G .043 -(riable may be set in the).25 F/F3 10/Times-Italic@0 SF(inpu-)2.554 E -(tr)108 189.6 Q(c)-.37 E F0(\214le with a statement of the form)2.81 E -F1(set)144 206.4 Q F3(variable\255name value)2.5 E F0(or using the)108 -218.4 Q F1(bind)2.5 E F0 -.2(bu)2.5 G(iltin command \(see).2 E F2 -(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 -E .79(Except where noted, readline v)108 235.2 R .79(ariables can tak) --.25 F 3.29(et)-.1 G .79(he v)-3.29 F(alues)-.25 E F1(On)3.29 E F0(or) -3.29 E F1(Off)3.29 E F0 .79(\(without re)3.29 F -.05(ga)-.15 G .79 -(rd to case\).).05 F(Unrecog-)5.79 E .448(nized v)108 247.2 R .448 +(riable may be set in the).25 F F2(inpu-)2.554 E(tr)108 218.4 Q(c)-.37 E +F0(\214le with a statement of the form)2.81 E F1(set)144 235.2 Q F2 +(variable\255name value)2.5 E F0(or using the)108 247.2 Q F1(bind)2.5 E +F0 -.2(bu)2.5 G(iltin command \(see).2 E F3(SHELL B)2.5 E(UIL)-.09 E +(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E .79 +(Except where noted, readline v)108 264 R .79(ariables can tak)-.25 F +3.29(et)-.1 G .79(he v)-3.29 F(alues)-.25 E F1(On)3.29 E F0(or)3.29 E F1 +(Off)3.29 E F0 .79(\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).) +.05 F(Unrecog-)5.79 E .448(nized v)108 276 R .448 (ariable names are ignored.)-.25 F .448(When a v)5.448 F .448(ariable v) -.25 F .448(alue is read, empty or null v)-.25 F .449 -(alues, "on" \(case-insensi-)-.25 F(ti)108 259.2 Q -.15(ve)-.25 G .468 +(alues, "on" \(case-insensi-)-.25 F(ti)108 288 Q -.15(ve)-.25 G .468 (\), and "1" are equi).15 F -.25(va)-.25 G .468(lent to).25 F F1(On) 2.968 E F0 5.468(.A)C .468(ll other v)-5.468 F .468(alues are equi)-.25 F -.25(va)-.25 G .468(lent to).25 F F1(Off)2.968 E F0 5.468(.T)C .467 (he v)-5.468 F .467(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 -271.2 S(lues are:).25 E F1(acti)108 288 Q -.1(ve)-.1 G.1 E -(egion\255start\255color)-.18 E F0 2.729(As)144 300 S .229(tring v) +300 S(lues are:).25 E F1(acti)108 316.8 Q -.1(ve)-.1 G.1 E +(egion\255start\255color)-.18 E F0 2.729(As)144 328.8 S .229(tring v) -2.729 F .229(ariable that controls the te)-.25 F .229 (xt color and background when displaying the te)-.15 F .23 -(xt in the acti)-.15 F -.15(ve)-.25 G(re)144 312 Q 1.527 +(xt in the acti)-.15 F -.15(ve)-.25 G(re)144 340.8 Q 1.527 (gion \(see the description of)-.15 F F1(enable\255acti)4.026 E -.1(ve) -.1 G.1 E(egion)-.18 E F0(belo)4.026 E 4.026(w\). This)-.25 F 1.526(string must not tak)4.026 F 4.026(eu)-.1 G 4.026(pa)-4.026 G -.15 -(ny)-4.026 G(ph)144 324 Q .283 +(ny)-4.026 G(ph)144 352.8 Q .283 (ysical character positions on the display)-.05 F 2.783(,s)-.65 G 2.784 (oi)-2.783 G 2.784(ts)-2.784 G .284 (hould consist only of terminal escape sequences.)-2.784 F .45 -(It is output to the terminal before displaying the te)144 336 R .45 +(It is output to the terminal before displaying the te)144 364.8 R .45 (xt in the acti)-.15 F .75 -.15(ve r)-.25 H -.15(eg).15 G 2.95 (ion. This).15 F -.25(va)2.95 G .45(riable is reset to).25 F .378 -(the def)144 348 R .378(ault v)-.1 F .378(alue whene)-.25 F -.15(ve)-.25 -G 2.878(rt).15 G .379(he terminal type changes.)-2.878 F .379(The def) -5.379 F .379(ault v)-.1 F .379(alue is the string that puts the)-.25 F -.655(terminal in standout mode, as obtained from the terminal')144 360 R +(the def)144 376.8 R .378(ault v)-.1 F .378(alue whene)-.25 F -.15(ve) +-.25 G 2.878(rt).15 G .379(he terminal type changes.)-2.878 F .379 +(The def)5.379 F .379(ault v)-.1 F .379 +(alue is the string that puts the)-.25 F .655 +(terminal in standout mode, as obtained from the terminal')144 388.8 R 3.154(st)-.55 G .654(erminfo description.)-3.154 F 3.154(As)5.654 G .654 -(ample v)-3.154 F(alue)-.25 E(might be)144 372 Q/F4 10/Courier@0 SF -("\\e[01;33m")2.5 E F0(.)A F1(acti)108 384 Q -.1(ve)-.1 G.1 E -(egion\255end\255color)-.18 E F0 3.908(As)144 396 S 1.408(tring v)-3.908 -F 1.408(ariable that "undoes" the ef)-.25 F 1.408(fects of)-.25 F F1 -(acti)3.908 E -.1(ve)-.1 G.1 E(egion\255start\255color)-.18 E F0 +(ample v)-3.154 F(alue)-.25 E(might be)144 400.8 Q/F4 10/Courier@0 SF +("\\e[01;33m")2.5 E F0(.)A F1(acti)108 412.8 Q -.1(ve)-.1 G.1 E +(egion\255end\255color)-.18 E F0 3.908(As)144 424.8 S 1.408(tring v) +-3.908 F 1.408(ariable that "undoes" the ef)-.25 F 1.408(fects of)-.25 F +F1(acti)3.908 E -.1(ve)-.1 G.1 E(egion\255start\255color)-.18 E F0 1.409(and restores "normal")3.908 F .216 -(terminal display appearance after displaying te)144 408 R .216 +(terminal display appearance after displaying te)144 436.8 R .216 (xt in the acti)-.15 F .516 -.15(ve r)-.25 H -.15(eg).15 G 2.716 (ion. This).15 F .216(string must not tak)2.716 F 2.716(eu)-.1 G(p) --2.716 E(an)144 420 Q 3.737(yp)-.15 G -.05(hy)-3.737 G 1.237 +-2.716 E(an)144 448.8 Q 3.737(yp)-.15 G -.05(hy)-3.737 G 1.237 (sical character positions on the display).05 F 3.737(,s)-.65 G 3.737 (oi)-3.737 G 3.737(ts)-3.737 G 1.238 (hould consist only of terminal escape se-)-3.737 F 2.928(quences. It) -144 432 R .428(is output to the terminal after displaying the te)2.928 F -.427(xt in the acti)-.15 F .727 -.15(ve r)-.25 H -.15(eg).15 G 2.927 +144 460.8 R .428(is output to the terminal after displaying the te)2.928 +F .427(xt in the acti)-.15 F .727 -.15(ve r)-.25 H -.15(eg).15 G 2.927 (ion. This).15 F -.25(va)2.927 G .427(riable is).25 F .518 -(reset to the def)144 444 R .518(ault v)-.1 F .518(alue whene)-.25 F +(reset to the def)144 472.8 R .518(ault v)-.1 F .518(alue whene)-.25 F -.15(ve)-.25 G 3.018(rt).15 G .518(he terminal type changes.)-3.018 F .518(The def)5.518 F .518(ault v)-.1 F .518(alue is the string that)-.25 F .252(restores the terminal from standout mode, as obtained from the t\ -erminal')144 456 R 2.751(st)-.55 G .251(erminfo description.)-2.751 F(A) -5.251 E(sample v)144 468 Q(alue might be)-.25 E F4("\\e[0m")2.5 E F0(.)A -F1(bell\255style \(audible\))108 480 Q F0 .01 -(Controls what happens when readline w)144 492 R .011 +erminal')144 484.8 R 2.751(st)-.55 G .251(erminfo description.)-2.751 F +(A)5.251 E(sample v)144 496.8 Q(alue might be)-.25 E F4("\\e[0m")2.5 E +F0(.)A F1(bell\255style \(audible\))108 508.8 Q F0 .01 +(Controls what happens when readline w)144 520.8 R .011 (ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F1(none) 2.511 E F0 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E -.94(rings the bell.)144 504 R .94(If set to)5.94 F F1(visible)3.44 E F0 -3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va) --.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0(,)A -(readline attempts to ring the terminal')144 516 Q 2.5(sb)-.55 G(ell.) --2.5 E F1(bind\255tty\255special\255chars \(On\))108 528 Q F0 .055 -(If set to)144 540 R F1(On)2.555 E F0 2.555(,r)C .056(eadline attempts \ -to bind the control characters treated specially by the k)-2.555 F -(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 552 Q -.15(ve) --.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)-.25 -G(lents.).25 E F1(blink\255matching\255par)108 564 Q(en \(Off\))-.18 E -F0 .21(If set to)144 576 R F1(On)2.71 E F0 2.71(,r)C .21 +.94(rings the bell.)144 532.8 R .94(If set to)5.94 F F1(visible)3.44 E +F0 3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25 +(va)-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0 +(,)A(readline attempts to ring the terminal')144 544.8 Q 2.5(sb)-.55 G +(ell.)-2.5 E F1(bind\255tty\255special\255chars \(On\))108 556.8 Q F0 +.055(If set to)144 568.8 R F1(On)2.555 E F0 2.555(,r)C .056(eadline att\ +empts to bind the control characters treated specially by the k)-2.555 F +(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 580.8 Q -.15 +(ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va) +-.25 G(lents.).25 E F1(blink\255matching\255par)108 592.8 Q(en \(Off\)) +-.18 E F0 .21(If set to)144 604.8 R F1(On)2.71 E F0 2.71(,r)C .21 (eadline attempts to brie\215y mo)-2.71 F .51 -.15(ve t)-.15 H .21 (he cursor to an opening parenthesis when a closing).15 F -(parenthesis is inserted.)144 588 Q F1(color)108 600 Q +(parenthesis is inserted.)144 616.8 Q F1(color)108 628.8 Q (ed\255completion\255pr)-.18 E(e\214x \(Off\))-.18 E F0 .515(If set to) -144 612 R F1(On)3.015 E F0 3.015(,w)C .515(hen listing completions, rea\ -dline displays the common pre\214x of the set of possible)-3.015 F 2.936 -(completions using a dif)144 624 R 2.936(ferent color)-.25 F 7.936(.T) --.55 G 2.936(he color de\214nitions are tak)-7.936 F 2.935 -(en from the v)-.1 F 2.935(alue of the)-.25 F F1(LS_COLORS)144 636 Q F0 -(en)3.076 E .577(vironment v)-.4 F 3.077(ariable. If)-.25 F .577 +144 640.8 R F1(On)3.015 E F0 3.015(,w)C .515(hen listing completions, r\ +eadline displays the common pre\214x of the set of possible)-3.015 F +2.936(completions using a dif)144 652.8 R 2.936(ferent color)-.25 F +7.936(.T)-.55 G 2.936(he color de\214nitions are tak)-7.936 F 2.935 +(en from the v)-.1 F 2.935(alue of the)-.25 F F1(LS_COLORS)144 664.8 Q +F0(en)3.076 E .577(vironment v)-.4 F 3.077(ariable. If)-.25 F .577 (there is a color de\214nition in)3.077 F F1($LS_COLORS)3.077 E F0 .577 -(for the cus-)3.077 F .135(tom suf)144 648 R .135(\214x "readline-color\ -ed-completion-pre\214x", readline uses this color for the common pre\ -\214x in-)-.25 F(stead of its def)144 660 Q(ault.)-.1 E F1(color)108 672 -Q(ed\255stats \(Off\))-.18 E F0 1.579(If set to)144 684 R F1(On)4.079 E -F0 4.079(,r)C 1.579(eadline displays possible completions using dif) --4.079 F 1.58(ferent colors to indicate their \214le)-.25 F 2.5 -(type. The)144 696 R(color de\214nitions are tak)2.5 E(en from the v)-.1 -E(alue of the)-.25 E F1(LS_COLORS)2.5 E F0(en)2.5 E(vironment v)-.4 E -(ariable.)-.25 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(43) -188.45 E 0 Cg EP +(for the cus-)3.077 F .135(tom suf)144 676.8 R .135(\214x "readline-col\ +ored-completion-pre\214x", readline uses this color for the common pre\ +\214x in-)-.25 F(stead of its def)144 688.8 Q(ault.)-.1 E F1(color)108 +700.8 Q(ed\255stats \(Off\))-.18 E F0 1.579(If set to)144 712.8 R F1(On) +4.079 E F0 4.079(,r)C 1.579 +(eadline displays possible completions using dif)-4.079 F 1.58 +(ferent colors to indicate their \214le)-.25 F 2.5(type. The)144 724.8 R +(color de\214nitions are tak)2.5 E(en from the v)-.1 E(alue of the)-.25 +E F1(LS_COLORS)2.5 E F0(en)2.5 E(vironment v)-.4 E(ariable.)-.25 E +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(43)193.45 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP @@ -5577,17 +5601,16 @@ F .098(gion as)-.15 F F2(active)2.598 E F0 5.098(.W)C .098(hen the re) (eg).15 G .484(ion sho).15 F .484(ws the te)-.25 F .484(xt inserted by) -.15 F(brack)144 660 Q(eted-paste and an)-.1 E 2.5(ym)-.15 G(atching te) -2.5 E(xt found by incremental and non-incremental history searches.) --.15 E F1(enable\255brack)108 672 Q(eted\255paste \(On\))-.1 E F0 1.221 -(When set to)144 684 R F1(On)3.721 E F0 3.721(,r)C 1.221 -(eadline will con\214gure the terminal in a w)-3.721 F 1.221 -(ay that will enable it to insert each)-.1 F .353 -(paste into the editing b)144 696 R(uf)-.2 E .353(fer as a single strin\ -g of characters, instead of treating each character as if)-.25 F .543 -(it had been read from the k)144 708 R -.15(ey)-.1 G 3.043(board. This) -.15 F .543(can pre)3.043 F -.15(ve)-.25 G .544 -(nt pasted characters from being interpreted as).15 F(editing commands.) -144 720 Q(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(44)188.45 E 0 -Cg EP +-.15 E F1(enable\255brack)108 672 Q(eted\255paste \(On\))-.1 E F0 .84 +(When set to)144 684 R F1(On)3.34 E F0 3.34(,r)C .841(eadline con\214gu\ +res the terminal to insert each paste into the editing b)-3.34 F(uf)-.2 +E .841(fer as a)-.25 F .799(single string of characters, instead of tre\ +ating each character as if it had been read from the k)144 696 R -.15 +(ey)-.1 G(-).15 E 3.158(board. This)144 708 R(pre)3.158 E -.15(ve)-.25 G +.658(nts readline from e).15 F -.15(xe)-.15 G .658(cuting an).15 F 3.158 +(ye)-.15 G .659(diting commands bound to k)-3.158 F .959 -.15(ey s)-.1 H +.659(equences ap-).15 F(pearing in the pasted te)144 720 Q(xt.)-.15 E +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(44)193.45 E 0 Cg EP %%Page: 45 45 %%BeginPageSetup BP @@ -5704,7 +5727,7 @@ Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1 (If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.) -2.956 F 2.956('m)-.7 G .457(ust be supplied by the)-2.956 F (user in the \214lename to be completed.)144 720 Q(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(45)188.45 E 0 Cg EP +(2022 March 11)144.29 E(45)193.45 E 0 Cg EP %%Page: 46 46 %%BeginPageSetup BP @@ -5809,8 +5832,8 @@ he conditional compilation features of the C preprocessor)-.1 F .097 (indings and v).15 F .096 (ariable settings to be performed as the result of tests.)-.25 F .096 (There are four parser)5.096 F(directi)108 712.8 Q -.15(ve)-.25 G 2.5 -(su).15 G(sed.)-2.5 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E -(46)188.45 E 0 Cg EP +(su).15 G(sed.)-2.5 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(46) +193.45 E 0 Cg EP %%Page: 47 47 %%BeginPageSetup BP @@ -5917,7 +5940,7 @@ E 5.113(.A)-.55 G(n)-5.113 E .542 108 720 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E F0 -.25(va)2.724 G .224 (riable are used to terminate an incremental search.).25 F(GNU Bash 5.2) -72 768 Q(2022 February 10)139.29 E(47)188.45 E 0 Cg EP +72 768 Q(2022 March 11)144.29 E(47)193.45 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP @@ -6008,7 +6031,7 @@ length of the prompt plus)144 648 R(the screen width.)144 660 Q F2 -.55 G 1.498(crollback b)-3.999 F(uf)-.2 E(fer)-.25 E 3.998(,t)-.4 G 1.498(hen redra)-3.998 F 3.998(wt)-.15 G 1.498(he current line,)-3.998 F (lea)144 696 Q(ving the current line at the top of the screen.)-.2 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(48)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(48)193.45 E 0 Cg EP %%Page: 49 49 %%BeginPageSetup BP @@ -6097,8 +6120,8 @@ F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .773(at point.)144 724.8 R -.4(Wi)5.773 G .773(th an ar).4 F(gument)-.18 E F3(n)3.633 E F0 3.273(,i).24 G .773(nsert the)-3.273 F F3(n)3.273 E F0 .773(th w)B .773 (ord from the pre)-.1 F .773(vious command \(the w)-.25 F .773 -(ords in the)-.1 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(49) -188.45 E 0 Cg EP +(ords in the)-.1 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(49) +193.45 E 0 Cg EP %%Page: 50 50 %%BeginPageSetup BP @@ -6204,7 +6227,7 @@ G .779(nsert characters lik)-3.279 F(e)-.1 E F2(C\255q)3.279 E F0 3.279 (If point is at the end of the line, then this transposes the tw)144 724.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(50)188.45 E 0 Cg EP +(2022 March 11)144.29 E(50)193.45 E 0 Cg EP %%Page: 51 51 %%BeginPageSetup BP @@ -6295,7 +6318,7 @@ F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15 -.15 E(gion.)-.15 E F1(copy\255r)108 688.8 Q(egion\255as\255kill)-.18 E F0(Cop)144 700.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E (gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E(GNU Bash 5.2)72 -768 Q(2022 February 10)139.29 E(51)188.45 E 0 Cg EP +768 Q(2022 March 11)144.29 E(51)193.45 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP @@ -6398,7 +6421,7 @@ F0(List the possible completions of the te)144 693.6 Q (complete\255user)108 705.6 Q(name \(M\255~\))-.15 E F0 (Attempt completion on the te)144 717.6 Q (xt before point, treating it as a username.)-.15 E(GNU Bash 5.2)72 768 -Q(2022 February 10)139.29 E(52)188.45 E 0 Cg EP +Q(2022 March 11)144.29 E(52)193.45 E 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP @@ -6485,7 +6508,7 @@ SF(ESC)5 E F1(f)2.25 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1 F 2.731(ee)-.1 G -.15(xe)-2.881 G .23(cuting the).15 F F1(undo)2.73 E F0 .23(command enough times to re-)2.73 F (turn the line to its initial state.)144 705.6 Q(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(53)188.45 E 0 Cg EP +(2022 March 11)144.29 E(53)193.45 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP @@ -6590,8 +6613,8 @@ ssible completions.)2.5 E F1(glob\255expand\255w)108 492 Q 3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 696 Q .528(gument is supplied, the output is formatted in such a w)-.18 F .528 (ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0 -(\214le.)144 708 Q(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(54) -188.45 E 0 Cg EP +(\214le.)144 708 Q(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(54) +193.45 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP @@ -6730,7 +6753,7 @@ F .682(xt of)-.15 F .523(the w)108 684 R .523(ord being completed.)-.1 F 3.264(d. If).15 F(the)3.264 E F1(nocase-)3.264 E(match)108 720 Q F0 (shell option is enabled, the match is performed without re)2.5 E -.05 (ga)-.15 G(rd to the case of alphabetic characters.).05 E(GNU Bash 5.2) -72 768 Q(2022 February 10)139.29 E(55)188.45 E 0 Cg EP +72 768 Q(2022 March 11)144.29 E(55)193.45 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP @@ -6862,8 +6885,8 @@ F .583(ed with the his-)-.1 F 1.147(tory comment character)108 715.2 R (This uses the history comment)6.148 F 1.377 (character to distinguish timestamps from other history lines.)108 727.2 R 1.377(After sa)6.377 F 1.377(ving the history)-.2 F 3.876(,t)-.65 G -1.376(he history \214le is)-3.876 F(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(56)188.45 E 0 Cg EP +1.376(he history \214le is)-3.876 F(GNU Bash 5.2)72 768 Q(2022 March 11) +144.29 E(56)193.45 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP @@ -6998,7 +7021,7 @@ F2(histchars)2.663 E F0(abo)2.663 E .463 -.15(ve u)-.15 H(nder).15 E F2 y list.).15 F .205(Unless the reference is abso-)5.204 F(lute, e)108 703.2 Q -.15(ve)-.25 G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5(ot) .15 G(he current position in the history list.)-2.5 E(GNU Bash 5.2)72 -768 Q(2022 February 10)139.29 E(57)188.45 E 0 Cg EP +768 Q(2022 March 11)144.29 E(57)193.45 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP @@ -7113,8 +7136,8 @@ F2(ne)2.991 E(w)-.15 E F0 .131(with a single backslash.)2.941 F .131 (,i)-.4 G 2.987(fn)-2.987 G 2.987(op)-2.987 G(re)-2.987 E .486 (vious history substitutions took place, the last)-.25 F F2(string)3.326 E F0 .486(in a)3.206 F F1(!?)2.986 E F2(string)A F1([?])A F0 2.986 -(search. If)5.486 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(58) -188.45 E 0 Cg EP +(search. If)5.486 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(58) +193.45 E 0 Cg EP %%Page: 59 59 %%BeginPageSetup BP @@ -7258,7 +7281,7 @@ F0 -.25(va)2.539 G 2.539(riable. Each).25 F .039(non-option ar)2.539 F -.18(re)144 726 S(adline).18 E F0 1.472(initialization \214le such as) 3.972 F F1(.inputr)4.202 E(c)-.37 E F0 3.971(,b).31 G 1.471 (ut each binding or command must be passed as a)-4.171 F(GNU Bash 5.2)72 -768 Q(2022 February 10)139.29 E(59)188.45 E 0 Cg EP +768 Q(2022 March 11)144.29 E(59)193.45 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP @@ -7378,7 +7401,7 @@ ent e)144 679.2 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e) (cuting a subroutine call or).15 F F2 -.2(ex)3.019 G(pr).2 E F0 .519 (does not corre-)3.019 F(spond to a v)144 715.2 Q (alid position in the call stack.)-.25 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(60)188.45 E 0 Cg EP +(2022 March 11)144.29 E(60)193.45 E 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP @@ -7527,7 +7550,7 @@ F12.947 E F0 .448 (option indicates that other supplied options and actions)2.947 F 1.15 (should apply to completion on the initial non-assignment w)144 722.4 R 1.149(ord on the line, or after a command)-.1 F(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(61)188.45 E 0 Cg EP +(2022 March 11)144.29 E(61)193.45 E 0 Cg EP %%Page: 62 62 %%BeginPageSetup BP @@ -7608,7 +7631,7 @@ Q F0(Names of disabled shell b)224 636 Q(uiltins.)-.2 E F1(enabled)184 2.5 E F0(.)A F1(function)184 684 Q F0(Names of shell functions.)224 696 Q F1(gr)184 708 Q(oup)-.18 E F0(Group names.)224 708 Q (May also be speci\214ed as)5 E F12.5 E F0(.)A(GNU Bash 5.2)72 768 -Q(2022 February 10)139.29 E(62)188.45 E 0 Cg EP +Q(2022 March 11)144.29 E(62)193.45 E 0 Cg EP %%Page: 63 63 %%BeginPageSetup BP @@ -7718,8 +7741,8 @@ no)-3.728 F 2.038(completion has pre)144 717.6 R 2.038 (option indicates that other supplied options)4.538 F 1.539 (should apply to `)144 729.6 R(`empty')-.74 E 4.039('c)-.74 G 1.538 (ommand completion; that is, completion attempted on a blank line.) --4.039 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(63)188.45 E 0 -Cg EP +-4.039 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(63)193.45 E 0 Cg +EP %%Page: 64 64 %%BeginPageSetup BP @@ -7862,8 +7885,8 @@ E 3.544(ee)-.1 G(ach)-3.544 E F2(name)3.543 E F0 1.043 (ariables, addi-)-.25 F .882(tional attrib)144 722.4 R .882 (utes do not tak)-.2 F 3.382(ee)-.1 G -.25(ff)-3.382 G .882 (ect until subsequent assignments.).25 F .882(The return v)5.882 F .882 -(alue is 0 unless an)-.25 F(GNU Bash 5.2)72 768 Q(2022 February 10) -139.29 E(64)188.45 E 0 Cg EP +(alue is 0 unless an)-.25 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E +(64)193.45 E 0 Cg EP %%Page: 65 65 %%BeginPageSetup BP @@ -7970,7 +7993,7 @@ E(alue)-.25 E F3(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F2 (\\x)144 703.2 Q F3(HH)A F0(the eight-bit character whose v)180 703.2 Q (alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F3(HH)2.5 E F0 (\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(65)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(65)193.45 E 0 Cg EP %%Page: 66 66 %%BeginPageSetup BP @@ -8116,7 +8139,7 @@ F1A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 724.8 R -.15(xe)-.15 G .141(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs) .45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141 (may be speci\214ed as a string \(to locate the last command)3.321 F -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(66)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(66)193.45 E 0 Cg EP %%Page: 67 67 %%BeginPageSetup BP @@ -8250,7 +8273,7 @@ F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 717.6 R 729.6 R F4(OPT)2.899 E(ARG)-.81 E F5(.)A F0(If)4.899 E F2(getopts)2.899 E F0 .399(is silent, the option character found is placed in)2.899 F F4 (OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(67)188.45 E 0 Cg EP +(2022 March 11)144.29 E(67)193.45 E 0 Cg EP %%Page: 68 68 %%BeginPageSetup BP @@ -8367,8 +8390,8 @@ Q F0 .854(Read the history lines not already read from the history \214\ le into the current history list.)180 703.2 R .773 (These are lines appended to the history \214le since the be)180 715.2 R .772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E -(sion.)180 727.2 Q(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(68) -188.45 E 0 Cg EP +(sion.)180 727.2 Q(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(68) +193.45 E 0 Cg EP %%Page: 69 69 %%BeginPageSetup BP @@ -8496,7 +8519,7 @@ E F0 .88(commands were e)3.38 F -.15(xe)-.15 G .88 (unless)144 705.6 Q F1(local)2.5 E F0(is used outside a function, an in) 2.5 E -.25(va)-.4 G(lid).25 E F2(name)2.86 E F0(is supplied, or)2.68 E F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E(GNU Bash 5.2)72 -768 Q(2022 February 10)139.29 E(69)188.45 E 0 Cg EP +768 Q(2022 March 11)144.29 E(69)193.45 E 0 Cg EP %%Page: 70 70 %%BeginPageSetup BP @@ -8623,8 +8646,8 @@ ape sequences, which are con)144 679.2 R -.15(ve)-.4 G .704 5.531(.I)C 3.031(na)-5.531 G .531(ddition to the standard)-3.031 F F2 (printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.032 E F0 .532(interprets the follo)3.032 F(w-)-.25 E(ing e)144 715.2 Q -(xtensions:)-.15 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(70) -188.45 E 0 Cg EP +(xtensions:)-.15 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(70) +193.45 E 0 Cg EP %%Page: 71 71 %%BeginPageSetup BP @@ -8743,7 +8766,7 @@ Q F2(name)A F0(...])2.5 E .516(One line is read from the standard input\ (name)3.235 E F0 2.876(,t).18 G .376(he second w)-2.876 F .376 (ord to the second)-.1 F F2(name)3.236 E F0 2.876(,a).18 G .376 (nd so on.)-2.876 F .376(If there are more w)5.376 F(ords)-.1 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(71)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(71)193.45 E 0 Cg EP %%Page: 72 72 %%BeginPageSetup BP @@ -8871,7 +8894,7 @@ F F1(names)3.63 E F0 .77(may not be changed by subse-)3.54 F 1.097 -.1 F F34.902 E F0 2.403(option restricts the v)4.903 F 2.403 (ariables to inde)-.25 F -.15(xe)-.15 G 4.903(da).15 G 2.403(rrays; the) -4.903 F F34.903 E F0 2.403(option restricts the)4.903 F -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(72)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(72)193.45 E 0 Cg EP %%Page: 73 73 %%BeginPageSetup BP @@ -9016,7 +9039,7 @@ F0 .999(is being ig-)3.499 F .089(nored, none of the commands e)184 711.6 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 .987(is en-)3.487 F (abled by def)184 723.6 Q(ault.)-.1 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(73)188.45 E 0 Cg EP +(2022 March 11)144.29 E(73)193.45 E 0 Cg EP %%Page: 74 74 %%BeginPageSetup BP @@ -9093,7 +9116,7 @@ F0(Same as)224 684 Q F12.5 E F0(.)A F1(vi)184 696 Q F0 .209 (Use a vi-style command line editing interf)224 696 R 2.709(ace. This) -.1 F .209(also af)2.709 F .21(fects the editing in-)-.25 F(terf)224 708 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(74)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(74)193.45 E 0 Cg EP %%Page: 75 75 %%BeginPageSetup BP @@ -9221,7 +9244,7 @@ E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0A F2(n)A F0 .083 (,t)C(he)-2.56 E .144(positional parameters are not changed.)144 723.6 R .144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0 .143(is greater than)2.883 F F1($#)2.643 E F0(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(75)188.45 E 0 Cg EP +(2022 March 11)144.29 E(75)193.45 E 0 Cg EP %%Page: 76 76 %%BeginPageSetup BP @@ -9331,7 +9354,7 @@ F -.15(ve)-.25 G 2.661(shell. If)184 577.2 R(an)2.661 E 2.661(yj)-.15 G .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.588 -.15 (ve u)-.15 H(nder).15 E F3(HIST)184 697.2 Q(OR)-.162 E(Y)-.315 E F4(.)A -F0(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(76)188.45 E 0 Cg EP +F0(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(76)193.45 E 0 Cg EP %%Page: 77 77 %%BeginPageSetup BP @@ -9425,8 +9448,7 @@ F1(\()2.5 E/F4 10/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0 and substitution, shell functions, and subshells)220 710.4 R(in)220 722.4 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.) -2.5 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(77)188.45 E 0 Cg -EP +2.5 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(77)193.45 E 0 Cg EP %%Page: 78 78 %%BeginPageSetup BP @@ -9519,8 +9541,8 @@ E F0(is enabled.)2.5 E F1(interacti)144 691.2 Q -.1(ve)-.1 G(_comments) (that line to be ignored in an interacti)184 715.2 R 1.267 -.15(ve s) -.25 H .967(hell \(see).15 F F3(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve) -.15 G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 -727.2 Q(ault.)-.1 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(78) -188.45 E 0 Cg EP +727.2 Q(ault.)-.1 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(78) +193.45 E 0 Cg EP %%Page: 79 79 %%BeginPageSetup BP @@ -9604,7 +9626,7 @@ F1(pr)144 650.4 Q(ogcomp_alias)-.18 E F0 2.124 (xpansion. If it has)-.15 F 1.473(an alias,)184 686.4 R F1(bash)3.973 E F0 1.473(attempts programmable completion using the command w)3.973 F 1.473(ord resulting)-.1 F(from the e)184 698.4 Q(xpanded alias.)-.15 E -(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(79)188.45 E 0 Cg EP +(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(79)193.45 E 0 Cg EP %%Page: 80 80 %%BeginPageSetup BP @@ -9698,8 +9720,8 @@ F .37(xpression is true if and only if the second ar)-.15 F .37 (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 710.4 Q (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E -(xpression is f)-.15 E(alse.)-.1 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(80)188.45 E 0 Cg EP +(xpression is f)-.15 E(alse.)-.1 E(GNU Bash 5.2)72 768 Q(2022 March 11) +144.29 E(80)193.45 E 0 Cg EP %%Page: 81 81 %%BeginPageSetup BP @@ -9831,8 +9853,8 @@ F3(!)3.78 E F0(.)A(These are the same conditions obe)144 651.6 Q (vironment when one is cre-)-.4 F 2.5(ated. The)144 693.6 R (return status is f)2.5 E(alse if an)-.1 E(y)-.15 E F4(sigspec)2.84 E F0 (is in)2.81 E -.25(va)-.4 G(lid; otherwise).25 E F3(trap)2.5 E F0 -(returns true.)2.5 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(81) -188.45 E 0 Cg EP +(returns true.)2.5 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(81) +193.45 E 0 Cg EP %%Page: 82 82 %%BeginPageSetup BP @@ -9961,7 +9983,7 @@ A F1144 729.6 Q F0(,)A F13.736 E F0 3.736(,a)C(nd)-3.736 E F13.736 E F0 3.736(,w)C 1.236(hich are unscaled v)-3.736 F 1.236 (alues; and, when in posix mode,)-.25 F F13.736 E F0(and)3.736 E F13.736 E F0 3.736(,w)C 1.237(hich are in)-3.736 F(GNU Bash 5.2)72 -768 Q(2022 February 10)139.29 E(82)188.45 E 0 Cg EP +768 Q(2022 March 11)144.29 E(82)193.45 E 0 Cg EP %%Page: 83 83 %%BeginPageSetup BP @@ -10113,8 +10135,8 @@ F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .522 (or instance, the)-.15 F .76 (change to use locale-based comparisons with the)108 729.6 R F1([[)3.261 E F0 .761(command came in bash-4.1, and earlier v)3.261 F .761 -(ersions used)-.15 F(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 E(83) -188.45 E 0 Cg EP +(ersions used)-.15 F(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E(83) +193.45 E 0 Cg EP %%Page: 84 84 %%BeginPageSetup BP @@ -10224,7 +10246,7 @@ ter v)180 571.2 R .999(ersions, single quotes)-.15 F (in that function will break or continue loops in the calling conte) 2.552 F .053(xt. Bash-4.4 and)-.15 F(later reset the loop state to pre) 180 708 Q -.15(ve)-.25 G(nt this).15 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(84)188.45 E 0 Cg EP +(2022 March 11)144.29 E(84)193.45 E 0 Cg EP %%Page: 85 85 %%BeginPageSetup BP @@ -10323,8 +10345,8 @@ E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F3(SEE ALSO)72 672 Q/F5 10/Times-Italic@0 SF(Bash Refer)108 684 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F5 (The Gnu Readline Libr)108 696 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E -(ox and Chet Rame)-.15 E(y)-.15 E(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(85)188.45 E 0 Cg EP +(ox and Chet Rame)-.15 E(y)-.15 E(GNU Bash 5.2)72 768 Q(2022 March 11) +144.29 E(85)193.45 E 0 Cg EP %%Page: 86 86 %%BeginPageSetup BP @@ -10399,7 +10421,7 @@ F3(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9 (uiltin commands and functions are not stoppable/restartable.)-.2 E 1.315(Compound commands and command sequences of the form `a ; b ; c' a\ re not handled gracefully when)108 727.2 R(GNU Bash 5.2)72 768 Q -(2022 February 10)139.29 E(86)188.45 E 0 Cg EP +(2022 March 11)144.29 E(86)193.45 E 0 Cg EP %%Page: 87 87 %%BeginPageSetup BP @@ -10414,8 +10436,8 @@ ce the sequence of commands between parentheses to force it into a)-.25 F(subshell, which may be stopped as a unit.)108 108 Q(Array v)108 124.8 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E (There may be only one acti)108 141.6 Q .3 -.15(ve c)-.25 H -(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2022 February 10)139.29 -E(87)188.45 E 0 Cg EP +(oprocess at a time.).15 E(GNU Bash 5.2)72 768 Q(2022 March 11)144.29 E +(87)193.45 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/bashref.aux b/doc/bashref.aux index de9d13b3..21ad6b58 100644 --- a/doc/bashref.aux +++ b/doc/bashref.aux @@ -81,12 +81,12 @@ @xrdef{Shell Parameters-pg}{21} @xrdef{Positional Parameters-title}{Positional Parameters} @xrdef{Positional Parameters-snt}{Section@tie 3.4.1} -@xrdef{Positional Parameters-pg}{22} @xrdef{Special Parameters-title}{Special Parameters} @xrdef{Special Parameters-snt}{Section@tie 3.4.2} +@xrdef{Positional Parameters-pg}{23} +@xrdef{Special Parameters-pg}{23} @xrdef{Shell Expansions-title}{Shell Expansions} @xrdef{Shell Expansions-snt}{Section@tie 3.5} -@xrdef{Special Parameters-pg}{23} @xrdef{Brace Expansion-title}{Brace Expansion} @xrdef{Brace Expansion-snt}{Section@tie 3.5.1} @xrdef{Shell Expansions-pg}{24} @@ -119,125 +119,125 @@ @xrdef{Quote Removal-snt}{Section@tie 3.5.9} @xrdef{Redirections-title}{Redirections} @xrdef{Redirections-snt}{Section@tie 3.6} -@xrdef{Quote Removal-pg}{37} -@xrdef{Redirections-pg}{37} +@xrdef{Quote Removal-pg}{38} +@xrdef{Redirections-pg}{38} @xrdef{Executing Commands-title}{Executing Commands} @xrdef{Executing Commands-snt}{Section@tie 3.7} @xrdef{Simple Command Expansion-title}{Simple Command Expansion} @xrdef{Simple Command Expansion-snt}{Section@tie 3.7.1} -@xrdef{Executing Commands-pg}{41} -@xrdef{Simple Command Expansion-pg}{41} @xrdef{Command Search and Execution-title}{Command Search and Execution} @xrdef{Command Search and Execution-snt}{Section@tie 3.7.2} +@xrdef{Executing Commands-pg}{42} +@xrdef{Simple Command Expansion-pg}{42} +@xrdef{Command Search and Execution-pg}{42} @xrdef{Command Execution Environment-title}{Command Execution Environment} @xrdef{Command Execution Environment-snt}{Section@tie 3.7.3} -@xrdef{Command Search and Execution-pg}{42} -@xrdef{Command Execution Environment-pg}{42} +@xrdef{Command Execution Environment-pg}{43} @xrdef{Environment-title}{Environment} @xrdef{Environment-snt}{Section@tie 3.7.4} @xrdef{Exit Status-title}{Exit Status} @xrdef{Exit Status-snt}{Section@tie 3.7.5} -@xrdef{Signals-title}{Signals} -@xrdef{Signals-snt}{Section@tie 3.7.6} @xrdef{Environment-pg}{44} @xrdef{Exit Status-pg}{44} +@xrdef{Signals-title}{Signals} +@xrdef{Signals-snt}{Section@tie 3.7.6} +@xrdef{Signals-pg}{45} @xrdef{Shell Scripts-title}{Shell Scripts} @xrdef{Shell Scripts-snt}{Section@tie 3.8} -@xrdef{Signals-pg}{45} @xrdef{Shell Scripts-pg}{46} @xrdef{Shell Builtin Commands-title}{Shell Builtin Commands} @xrdef{Shell Builtin Commands-snt}{Chapter@tie 4} @xrdef{Bourne Shell Builtins-title}{Bourne Shell Builtins} @xrdef{Bourne Shell Builtins-snt}{Section@tie 4.1} -@xrdef{Shell Builtin Commands-pg}{47} -@xrdef{Bourne Shell Builtins-pg}{47} +@xrdef{Shell Builtin Commands-pg}{48} +@xrdef{Bourne Shell Builtins-pg}{48} @xrdef{Bash Builtins-title}{Bash Builtin Commands} @xrdef{Bash Builtins-snt}{Section@tie 4.2} -@xrdef{Bash Builtins-pg}{54} +@xrdef{Bash Builtins-pg}{55} @xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior} @xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3} @xrdef{The Set Builtin-title}{The Set Builtin} @xrdef{The Set Builtin-snt}{Section@tie 4.3.1} -@xrdef{Modifying Shell Behavior-pg}{66} -@xrdef{The Set Builtin-pg}{66} +@xrdef{Modifying Shell Behavior-pg}{67} +@xrdef{The Set Builtin-pg}{67} @xrdef{The Shopt Builtin-title}{The Shopt Builtin} @xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2} -@xrdef{The Shopt Builtin-pg}{70} +@xrdef{The Shopt Builtin-pg}{71} @xrdef{Special Builtins-title}{Special Builtins} @xrdef{Special Builtins-snt}{Section@tie 4.4} -@xrdef{Special Builtins-pg}{76} +@xrdef{Special Builtins-pg}{77} @xrdef{Shell Variables-title}{Shell Variables} @xrdef{Shell Variables-snt}{Chapter@tie 5} @xrdef{Bourne Shell Variables-title}{Bourne Shell Variables} @xrdef{Bourne Shell Variables-snt}{Section@tie 5.1} @xrdef{Bash Variables-title}{Bash Variables} @xrdef{Bash Variables-snt}{Section@tie 5.2} -@xrdef{Shell Variables-pg}{77} -@xrdef{Bourne Shell Variables-pg}{77} -@xrdef{Bash Variables-pg}{77} +@xrdef{Shell Variables-pg}{78} +@xrdef{Bourne Shell Variables-pg}{78} +@xrdef{Bash Variables-pg}{78} @xrdef{Bash Features-title}{Bash Features} @xrdef{Bash Features-snt}{Chapter@tie 6} @xrdef{Invoking Bash-title}{Invoking Bash} @xrdef{Invoking Bash-snt}{Section@tie 6.1} -@xrdef{Bash Features-pg}{90} -@xrdef{Invoking Bash-pg}{90} +@xrdef{Bash Features-pg}{91} +@xrdef{Invoking Bash-pg}{91} @xrdef{Bash Startup Files-title}{Bash Startup Files} @xrdef{Bash Startup Files-snt}{Section@tie 6.2} -@xrdef{Bash Startup Files-pg}{92} +@xrdef{Bash Startup Files-pg}{93} @xrdef{Interactive Shells-title}{Interactive Shells} @xrdef{Interactive Shells-snt}{Section@tie 6.3} @xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?} @xrdef{What is an Interactive Shell?-snt}{Section@tie 6.3.1} -@xrdef{Interactive Shells-pg}{93} +@xrdef{Interactive Shells-pg}{94} @xrdef{Is this Shell Interactive?-title}{Is this Shell Interactive?} @xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2} @xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior} @xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3} -@xrdef{What is an Interactive Shell?-pg}{94} -@xrdef{Is this Shell Interactive?-pg}{94} -@xrdef{Interactive Shell Behavior-pg}{94} +@xrdef{What is an Interactive Shell?-pg}{95} +@xrdef{Is this Shell Interactive?-pg}{95} +@xrdef{Interactive Shell Behavior-pg}{95} @xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions} @xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4} -@xrdef{Bash Conditional Expressions-pg}{95} +@xrdef{Bash Conditional Expressions-pg}{96} @xrdef{Shell Arithmetic-title}{Shell Arithmetic} @xrdef{Shell Arithmetic-snt}{Section@tie 6.5} -@xrdef{Shell Arithmetic-pg}{97} +@xrdef{Shell Arithmetic-pg}{98} @xrdef{Aliases-title}{Aliases} @xrdef{Aliases-snt}{Section@tie 6.6} @xrdef{Arrays-title}{Arrays} @xrdef{Arrays-snt}{Section@tie 6.7} -@xrdef{Aliases-pg}{99} -@xrdef{Arrays-pg}{99} +@xrdef{Aliases-pg}{100} +@xrdef{Arrays-pg}{100} @xrdef{The Directory Stack-title}{The Directory Stack} @xrdef{The Directory Stack-snt}{Section@tie 6.8} @xrdef{Directory Stack Builtins-title}{Directory Stack Builtins} @xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1} -@xrdef{The Directory Stack-pg}{101} -@xrdef{Directory Stack Builtins-pg}{101} +@xrdef{The Directory Stack-pg}{102} +@xrdef{Directory Stack Builtins-pg}{102} @xrdef{Controlling the Prompt-title}{Controlling the Prompt} @xrdef{Controlling the Prompt-snt}{Section@tie 6.9} -@xrdef{Controlling the Prompt-pg}{103} +@xrdef{Controlling the Prompt-pg}{104} @xrdef{The Restricted Shell-title}{The Restricted Shell} @xrdef{The Restricted Shell-snt}{Section@tie 6.10} -@xrdef{The Restricted Shell-pg}{104} +@xrdef{The Restricted Shell-pg}{105} @xrdef{Bash POSIX Mode-title}{Bash POSIX Mode} @xrdef{Bash POSIX Mode-snt}{Section@tie 6.11} -@xrdef{Bash POSIX Mode-pg}{105} +@xrdef{Bash POSIX Mode-pg}{106} @xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode} @xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12} -@xrdef{Shell Compatibility Mode-pg}{109} +@xrdef{Shell Compatibility Mode-pg}{110} @xrdef{Job Control-title}{Job Control} @xrdef{Job Control-snt}{Chapter@tie 7} @xrdef{Job Control Basics-title}{Job Control Basics} @xrdef{Job Control Basics-snt}{Section@tie 7.1} -@xrdef{Job Control-pg}{112} -@xrdef{Job Control Basics-pg}{112} +@xrdef{Job Control-pg}{113} +@xrdef{Job Control Basics-pg}{113} @xrdef{Job Control Builtins-title}{Job Control Builtins} @xrdef{Job Control Builtins-snt}{Section@tie 7.2} -@xrdef{Job Control Builtins-pg}{113} +@xrdef{Job Control Builtins-pg}{114} @xrdef{Job Control Variables-title}{Job Control Variables} @xrdef{Job Control Variables-snt}{Section@tie 7.3} -@xrdef{Job Control Variables-pg}{115} +@xrdef{Job Control Variables-pg}{116} @xrdef{Command Line Editing-title}{Command Line Editing} @xrdef{Command Line Editing-snt}{Chapter@tie 8} @xrdef{Introduction and Notation-title}{Introduction to Line Editing} @@ -246,145 +246,145 @@ @xrdef{Readline Interaction-snt}{Section@tie 8.2} @xrdef{Readline Bare Essentials-title}{Readline Bare Essentials} @xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1} -@xrdef{Command Line Editing-pg}{116} -@xrdef{Introduction and Notation-pg}{116} -@xrdef{Readline Interaction-pg}{116} +@xrdef{Command Line Editing-pg}{117} +@xrdef{Introduction and Notation-pg}{117} +@xrdef{Readline Interaction-pg}{117} @xrdef{Readline Movement Commands-title}{Readline Movement Commands} @xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2} @xrdef{Readline Killing Commands-title}{Readline Killing Commands} @xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3} -@xrdef{Readline Bare Essentials-pg}{117} -@xrdef{Readline Movement Commands-pg}{117} +@xrdef{Readline Bare Essentials-pg}{118} +@xrdef{Readline Movement Commands-pg}{118} @xrdef{Readline Arguments-title}{Readline Arguments} @xrdef{Readline Arguments-snt}{Section@tie 8.2.4} @xrdef{Searching-title}{Searching for Commands in the History} @xrdef{Searching-snt}{Section@tie 8.2.5} -@xrdef{Readline Killing Commands-pg}{118} -@xrdef{Readline Arguments-pg}{118} -@xrdef{Searching-pg}{118} +@xrdef{Readline Killing Commands-pg}{119} +@xrdef{Readline Arguments-pg}{119} +@xrdef{Searching-pg}{119} @xrdef{Readline Init File-title}{Readline Init File} @xrdef{Readline Init File-snt}{Section@tie 8.3} @xrdef{Readline Init File Syntax-title}{Readline Init File Syntax} @xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1} -@xrdef{Readline Init File-pg}{119} -@xrdef{Readline Init File Syntax-pg}{119} +@xrdef{Readline Init File-pg}{120} +@xrdef{Readline Init File Syntax-pg}{120} @xrdef{Conditional Init Constructs-title}{Conditional Init Constructs} @xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2} -@xrdef{Conditional Init Constructs-pg}{128} +@xrdef{Conditional Init Constructs-pg}{129} @xrdef{Sample Init File-title}{Sample Init File} @xrdef{Sample Init File-snt}{Section@tie 8.3.3} -@xrdef{Sample Init File-pg}{129} +@xrdef{Sample Init File-pg}{130} @xrdef{Bindable Readline Commands-title}{Bindable Readline Commands} @xrdef{Bindable Readline Commands-snt}{Section@tie 8.4} @xrdef{Commands For Moving-title}{Commands For Moving} @xrdef{Commands For Moving-snt}{Section@tie 8.4.1} -@xrdef{Bindable Readline Commands-pg}{132} -@xrdef{Commands For Moving-pg}{132} +@xrdef{Bindable Readline Commands-pg}{133} +@xrdef{Commands For Moving-pg}{133} @xrdef{Commands For History-title}{Commands For Manipulating The History} @xrdef{Commands For History-snt}{Section@tie 8.4.2} -@xrdef{Commands For History-pg}{133} +@xrdef{Commands For History-pg}{134} @xrdef{Commands For Text-title}{Commands For Changing Text} @xrdef{Commands For Text-snt}{Section@tie 8.4.3} -@xrdef{Commands For Text-pg}{135} +@xrdef{Commands For Text-pg}{136} @xrdef{Commands For Killing-title}{Killing And Yanking} @xrdef{Commands For Killing-snt}{Section@tie 8.4.4} -@xrdef{Commands For Killing-pg}{136} +@xrdef{Commands For Killing-pg}{137} @xrdef{Numeric Arguments-title}{Specifying Numeric Arguments} @xrdef{Numeric Arguments-snt}{Section@tie 8.4.5} -@xrdef{Numeric Arguments-pg}{137} +@xrdef{Numeric Arguments-pg}{138} @xrdef{Commands For Completion-title}{Letting Readline Type For You} @xrdef{Commands For Completion-snt}{Section@tie 8.4.6} -@xrdef{Commands For Completion-pg}{138} +@xrdef{Commands For Completion-pg}{139} @xrdef{Keyboard Macros-title}{Keyboard Macros} @xrdef{Keyboard Macros-snt}{Section@tie 8.4.7} -@xrdef{Keyboard Macros-pg}{139} +@xrdef{Keyboard Macros-pg}{140} @xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands} @xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8} -@xrdef{Miscellaneous Commands-pg}{140} +@xrdef{Miscellaneous Commands-pg}{141} @xrdef{Readline vi Mode-title}{Readline vi Mode} @xrdef{Readline vi Mode-snt}{Section@tie 8.5} @xrdef{Programmable Completion-title}{Programmable Completion} @xrdef{Programmable Completion-snt}{Section@tie 8.6} -@xrdef{Readline vi Mode-pg}{142} -@xrdef{Programmable Completion-pg}{142} +@xrdef{Readline vi Mode-pg}{143} +@xrdef{Programmable Completion-pg}{143} @xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins} @xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7} -@xrdef{Programmable Completion Builtins-pg}{145} +@xrdef{Programmable Completion Builtins-pg}{146} @xrdef{A Programmable Completion Example-title}{A Programmable Completion Example} @xrdef{A Programmable Completion Example-snt}{Section@tie 8.8} -@xrdef{A Programmable Completion Example-pg}{149} +@xrdef{A Programmable Completion Example-pg}{150} @xrdef{Using History Interactively-title}{Using History Interactively} @xrdef{Using History Interactively-snt}{Chapter@tie 9} @xrdef{Bash History Facilities-title}{Bash History Facilities} @xrdef{Bash History Facilities-snt}{Section@tie 9.1} @xrdef{Bash History Builtins-title}{Bash History Builtins} @xrdef{Bash History Builtins-snt}{Section@tie 9.2} -@xrdef{Using History Interactively-pg}{151} -@xrdef{Bash History Facilities-pg}{151} -@xrdef{Bash History Builtins-pg}{151} +@xrdef{Using History Interactively-pg}{152} +@xrdef{Bash History Facilities-pg}{152} +@xrdef{Bash History Builtins-pg}{152} @xrdef{History Interaction-title}{History Expansion} @xrdef{History Interaction-snt}{Section@tie 9.3} -@xrdef{History Interaction-pg}{153} +@xrdef{History Interaction-pg}{154} @xrdef{Event Designators-title}{Event Designators} @xrdef{Event Designators-snt}{Section@tie 9.3.1} -@xrdef{Event Designators-pg}{154} +@xrdef{Event Designators-pg}{155} @xrdef{Word Designators-title}{Word Designators} @xrdef{Word Designators-snt}{Section@tie 9.3.2} @xrdef{Modifiers-title}{Modifiers} @xrdef{Modifiers-snt}{Section@tie 9.3.3} -@xrdef{Word Designators-pg}{155} -@xrdef{Modifiers-pg}{155} +@xrdef{Word Designators-pg}{156} +@xrdef{Modifiers-pg}{156} @xrdef{Installing Bash-title}{Installing Bash} @xrdef{Installing Bash-snt}{Chapter@tie 10} @xrdef{Basic Installation-title}{Basic Installation} @xrdef{Basic Installation-snt}{Section@tie 10.1} -@xrdef{Installing Bash-pg}{157} -@xrdef{Basic Installation-pg}{157} +@xrdef{Installing Bash-pg}{158} +@xrdef{Basic Installation-pg}{158} @xrdef{Compilers and Options-title}{Compilers and Options} @xrdef{Compilers and Options-snt}{Section@tie 10.2} @xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures} @xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3} @xrdef{Installation Names-title}{Installation Names} @xrdef{Installation Names-snt}{Section@tie 10.4} -@xrdef{Compilers and Options-pg}{158} -@xrdef{Compiling For Multiple Architectures-pg}{158} +@xrdef{Compilers and Options-pg}{159} +@xrdef{Compiling For Multiple Architectures-pg}{159} @xrdef{Specifying the System Type-title}{Specifying the System Type} @xrdef{Specifying the System Type-snt}{Section@tie 10.5} @xrdef{Sharing Defaults-title}{Sharing Defaults} @xrdef{Sharing Defaults-snt}{Section@tie 10.6} @xrdef{Operation Controls-title}{Operation Controls} @xrdef{Operation Controls-snt}{Section@tie 10.7} -@xrdef{Installation Names-pg}{159} -@xrdef{Specifying the System Type-pg}{159} -@xrdef{Sharing Defaults-pg}{159} +@xrdef{Installation Names-pg}{160} +@xrdef{Specifying the System Type-pg}{160} +@xrdef{Sharing Defaults-pg}{160} @xrdef{Optional Features-title}{Optional Features} @xrdef{Optional Features-snt}{Section@tie 10.8} -@xrdef{Operation Controls-pg}{160} -@xrdef{Optional Features-pg}{160} +@xrdef{Operation Controls-pg}{161} +@xrdef{Optional Features-pg}{161} @xrdef{Reporting Bugs-title}{Reporting Bugs} @xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}} -@xrdef{Reporting Bugs-pg}{166} +@xrdef{Reporting Bugs-pg}{167} @xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell} @xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}} -@xrdef{Major Differences From The Bourne Shell-pg}{167} +@xrdef{Major Differences From The Bourne Shell-pg}{168} @xrdef{GNU Free Documentation License-title}{GNU Free Documentation License} @xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}} -@xrdef{GNU Free Documentation License-pg}{173} +@xrdef{GNU Free Documentation License-pg}{174} @xrdef{Indexes-title}{Indexes} @xrdef{Indexes-snt}{Appendix@tie @char68{}} @xrdef{Builtin Index-title}{Index of Shell Builtin Commands} @xrdef{Builtin Index-snt}{Section@tie @char68.1} -@xrdef{Indexes-pg}{181} -@xrdef{Builtin Index-pg}{181} +@xrdef{Indexes-pg}{182} +@xrdef{Builtin Index-pg}{182} @xrdef{Reserved Word Index-title}{Index of Shell Reserved Words} @xrdef{Reserved Word Index-snt}{Section@tie @char68.2} @xrdef{Variable Index-title}{Parameter and Variable Index} @xrdef{Variable Index-snt}{Section@tie @char68.3} -@xrdef{Reserved Word Index-pg}{182} -@xrdef{Variable Index-pg}{183} +@xrdef{Reserved Word Index-pg}{183} +@xrdef{Variable Index-pg}{184} @xrdef{Function Index-title}{Function Index} @xrdef{Function Index-snt}{Section@tie @char68.4} -@xrdef{Function Index-pg}{185} +@xrdef{Function Index-pg}{186} @xrdef{Concept Index-title}{Concept Index} @xrdef{Concept Index-snt}{Section@tie @char68.5} -@xrdef{Concept Index-pg}{187} +@xrdef{Concept Index-pg}{188} diff --git a/doc/bashref.bt b/doc/bashref.bt index 00b721b9..bd1e73b7 100644 --- a/doc/bashref.bt +++ b/doc/bashref.bt @@ -1,59 +1,59 @@ -\entry{:}{47}{\code {:}} -\entry{.}{47}{\code {.}} -\entry{break}{48}{\code {break}} -\entry{cd}{48}{\code {cd}} -\entry{continue}{48}{\code {continue}} -\entry{eval}{48}{\code {eval}} -\entry{exec}{49}{\code {exec}} -\entry{exit}{49}{\code {exit}} -\entry{export}{49}{\code {export}} -\entry{getopts}{49}{\code {getopts}} -\entry{hash}{50}{\code {hash}} -\entry{pwd}{50}{\code {pwd}} -\entry{readonly}{51}{\code {readonly}} -\entry{return}{51}{\code {return}} -\entry{shift}{51}{\code {shift}} -\entry{test}{51}{\code {test}} -\entry{[}{51}{\code {[}} -\entry{times}{53}{\code {times}} -\entry{trap}{53}{\code {trap}} -\entry{umask}{54}{\code {umask}} -\entry{unset}{54}{\code {unset}} -\entry{alias}{54}{\code {alias}} -\entry{bind}{55}{\code {bind}} -\entry{builtin}{56}{\code {builtin}} -\entry{caller}{56}{\code {caller}} -\entry{command}{56}{\code {command}} -\entry{declare}{57}{\code {declare}} -\entry{echo}{58}{\code {echo}} -\entry{enable}{59}{\code {enable}} -\entry{help}{60}{\code {help}} -\entry{let}{60}{\code {let}} -\entry{local}{60}{\code {local}} -\entry{logout}{60}{\code {logout}} -\entry{mapfile}{60}{\code {mapfile}} -\entry{printf}{61}{\code {printf}} -\entry{read}{62}{\code {read}} -\entry{readarray}{63}{\code {readarray}} -\entry{source}{63}{\code {source}} -\entry{type}{63}{\code {type}} -\entry{typeset}{64}{\code {typeset}} -\entry{ulimit}{64}{\code {ulimit}} -\entry{unalias}{65}{\code {unalias}} -\entry{set}{66}{\code {set}} -\entry{shopt}{70}{\code {shopt}} -\entry{dirs}{101}{\code {dirs}} -\entry{popd}{102}{\code {popd}} -\entry{pushd}{102}{\code {pushd}} -\entry{bg}{113}{\code {bg}} -\entry{fg}{113}{\code {fg}} -\entry{jobs}{113}{\code {jobs}} -\entry{kill}{114}{\code {kill}} -\entry{wait}{114}{\code {wait}} -\entry{disown}{115}{\code {disown}} -\entry{suspend}{115}{\code {suspend}} -\entry{compgen}{145}{\code {compgen}} -\entry{complete}{145}{\code {complete}} -\entry{compopt}{148}{\code {compopt}} -\entry{fc}{152}{\code {fc}} -\entry{history}{152}{\code {history}} +\entry{:}{48}{\code {:}} +\entry{.}{48}{\code {.}} +\entry{break}{49}{\code {break}} +\entry{cd}{49}{\code {cd}} +\entry{continue}{49}{\code {continue}} +\entry{eval}{49}{\code {eval}} +\entry{exec}{50}{\code {exec}} +\entry{exit}{50}{\code {exit}} +\entry{export}{50}{\code {export}} +\entry{getopts}{50}{\code {getopts}} +\entry{hash}{51}{\code {hash}} +\entry{pwd}{51}{\code {pwd}} +\entry{readonly}{52}{\code {readonly}} +\entry{return}{52}{\code {return}} +\entry{shift}{52}{\code {shift}} +\entry{test}{52}{\code {test}} +\entry{[}{52}{\code {[}} +\entry{times}{54}{\code {times}} +\entry{trap}{54}{\code {trap}} +\entry{umask}{55}{\code {umask}} +\entry{unset}{55}{\code {unset}} +\entry{alias}{55}{\code {alias}} +\entry{bind}{56}{\code {bind}} +\entry{builtin}{57}{\code {builtin}} +\entry{caller}{57}{\code {caller}} +\entry{command}{57}{\code {command}} +\entry{declare}{58}{\code {declare}} +\entry{echo}{59}{\code {echo}} +\entry{enable}{60}{\code {enable}} +\entry{help}{61}{\code {help}} +\entry{let}{61}{\code {let}} +\entry{local}{61}{\code {local}} +\entry{logout}{61}{\code {logout}} +\entry{mapfile}{61}{\code {mapfile}} +\entry{printf}{62}{\code {printf}} +\entry{read}{63}{\code {read}} +\entry{readarray}{64}{\code {readarray}} +\entry{source}{64}{\code {source}} +\entry{type}{64}{\code {type}} +\entry{typeset}{65}{\code {typeset}} +\entry{ulimit}{65}{\code {ulimit}} +\entry{unalias}{66}{\code {unalias}} +\entry{set}{67}{\code {set}} +\entry{shopt}{71}{\code {shopt}} +\entry{dirs}{102}{\code {dirs}} +\entry{popd}{103}{\code {popd}} +\entry{pushd}{103}{\code {pushd}} +\entry{bg}{114}{\code {bg}} +\entry{fg}{114}{\code {fg}} +\entry{jobs}{114}{\code {jobs}} +\entry{kill}{115}{\code {kill}} +\entry{wait}{115}{\code {wait}} +\entry{disown}{116}{\code {disown}} +\entry{suspend}{116}{\code {suspend}} +\entry{compgen}{146}{\code {compgen}} +\entry{complete}{146}{\code {complete}} +\entry{compopt}{149}{\code {compopt}} +\entry{fc}{153}{\code {fc}} +\entry{history}{153}{\code {history}} diff --git a/doc/bashref.bts b/doc/bashref.bts index 8ecc6ed4..633f6d19 100644 --- a/doc/bashref.bts +++ b/doc/bashref.bts @@ -1,80 +1,80 @@ \initial {.} -\entry{\code {.}}{47} +\entry{\code {.}}{48} \initial {:} -\entry{\code {:}}{47} +\entry{\code {:}}{48} \initial {[} -\entry{\code {[}}{51} +\entry{\code {[}}{52} \initial {A} -\entry{\code {alias}}{54} +\entry{\code {alias}}{55} \initial {B} -\entry{\code {bg}}{113} -\entry{\code {bind}}{55} -\entry{\code {break}}{48} -\entry{\code {builtin}}{56} +\entry{\code {bg}}{114} +\entry{\code {bind}}{56} +\entry{\code {break}}{49} +\entry{\code {builtin}}{57} \initial {C} -\entry{\code {caller}}{56} -\entry{\code {cd}}{48} -\entry{\code {command}}{56} -\entry{\code {compgen}}{145} -\entry{\code {complete}}{145} -\entry{\code {compopt}}{148} -\entry{\code {continue}}{48} +\entry{\code {caller}}{57} +\entry{\code {cd}}{49} +\entry{\code {command}}{57} +\entry{\code {compgen}}{146} +\entry{\code {complete}}{146} +\entry{\code {compopt}}{149} +\entry{\code {continue}}{49} \initial {D} -\entry{\code {declare}}{57} -\entry{\code {dirs}}{101} -\entry{\code {disown}}{115} +\entry{\code {declare}}{58} +\entry{\code {dirs}}{102} +\entry{\code {disown}}{116} \initial {E} -\entry{\code {echo}}{58} -\entry{\code {enable}}{59} -\entry{\code {eval}}{48} -\entry{\code {exec}}{49} -\entry{\code {exit}}{49} -\entry{\code {export}}{49} +\entry{\code {echo}}{59} +\entry{\code {enable}}{60} +\entry{\code {eval}}{49} +\entry{\code {exec}}{50} +\entry{\code {exit}}{50} +\entry{\code {export}}{50} \initial {F} -\entry{\code {fc}}{152} -\entry{\code {fg}}{113} +\entry{\code {fc}}{153} +\entry{\code {fg}}{114} \initial {G} -\entry{\code {getopts}}{49} +\entry{\code {getopts}}{50} \initial {H} -\entry{\code {hash}}{50} -\entry{\code {help}}{60} -\entry{\code {history}}{152} +\entry{\code {hash}}{51} +\entry{\code {help}}{61} +\entry{\code {history}}{153} \initial {J} -\entry{\code {jobs}}{113} +\entry{\code {jobs}}{114} \initial {K} -\entry{\code {kill}}{114} +\entry{\code {kill}}{115} \initial {L} -\entry{\code {let}}{60} -\entry{\code {local}}{60} -\entry{\code {logout}}{60} +\entry{\code {let}}{61} +\entry{\code {local}}{61} +\entry{\code {logout}}{61} \initial {M} -\entry{\code {mapfile}}{60} +\entry{\code {mapfile}}{61} \initial {P} -\entry{\code {popd}}{102} -\entry{\code {printf}}{61} -\entry{\code {pushd}}{102} -\entry{\code {pwd}}{50} +\entry{\code {popd}}{103} +\entry{\code {printf}}{62} +\entry{\code {pushd}}{103} +\entry{\code {pwd}}{51} \initial {R} -\entry{\code {read}}{62} -\entry{\code {readarray}}{63} -\entry{\code {readonly}}{51} -\entry{\code {return}}{51} +\entry{\code {read}}{63} +\entry{\code {readarray}}{64} +\entry{\code {readonly}}{52} +\entry{\code {return}}{52} \initial {S} -\entry{\code {set}}{66} -\entry{\code {shift}}{51} -\entry{\code {shopt}}{70} -\entry{\code {source}}{63} -\entry{\code {suspend}}{115} +\entry{\code {set}}{67} +\entry{\code {shift}}{52} +\entry{\code {shopt}}{71} +\entry{\code {source}}{64} +\entry{\code {suspend}}{116} \initial {T} -\entry{\code {test}}{51} -\entry{\code {times}}{53} -\entry{\code {trap}}{53} -\entry{\code {type}}{63} -\entry{\code {typeset}}{64} +\entry{\code {test}}{52} +\entry{\code {times}}{54} +\entry{\code {trap}}{54} +\entry{\code {type}}{64} +\entry{\code {typeset}}{65} \initial {U} -\entry{\code {ulimit}}{64} -\entry{\code {umask}}{54} -\entry{\code {unalias}}{65} -\entry{\code {unset}}{54} +\entry{\code {ulimit}}{65} +\entry{\code {umask}}{55} +\entry{\code {unalias}}{66} +\entry{\code {unset}}{55} \initial {W} -\entry{\code {wait}}{114} +\entry{\code {wait}}{115} diff --git a/doc/bashref.cp b/doc/bashref.cp index 5c5cedc0..b502a49c 100644 --- a/doc/bashref.cp +++ b/doc/bashref.cp @@ -45,7 +45,7 @@ \entry{parameters}{21}{parameters} \entry{variable, shell}{21}{variable, shell} \entry{shell variable}{21}{shell variable} -\entry{parameters, positional}{22}{parameters, positional} +\entry{parameters, positional}{23}{parameters, positional} \entry{parameters, special}{23}{parameters, special} \entry{expansion}{24}{expansion} \entry{brace expansion}{24}{brace expansion} @@ -65,59 +65,59 @@ \entry{pathname expansion}{35}{pathname expansion} \entry{pattern matching}{36}{pattern matching} \entry{matching, pattern}{36}{matching, pattern} -\entry{redirection}{37}{redirection} -\entry{command expansion}{41}{command expansion} +\entry{redirection}{38}{redirection} +\entry{command expansion}{42}{command expansion} \entry{command execution}{42}{command execution} \entry{command search}{42}{command search} -\entry{execution environment}{42}{execution environment} +\entry{execution environment}{43}{execution environment} \entry{environment}{44}{environment} \entry{exit status}{44}{exit status} \entry{signal handling}{45}{signal handling} \entry{shell script}{46}{shell script} -\entry{special builtin}{76}{special builtin} -\entry{login shell}{92}{login shell} -\entry{interactive shell}{92}{interactive shell} -\entry{startup files}{92}{startup files} +\entry{special builtin}{77}{special builtin} +\entry{login shell}{93}{login shell} \entry{interactive shell}{93}{interactive shell} -\entry{shell, interactive}{93}{shell, interactive} -\entry{expressions, conditional}{95}{expressions, conditional} -\entry{arithmetic, shell}{97}{arithmetic, shell} -\entry{shell arithmetic}{97}{shell arithmetic} -\entry{expressions, arithmetic}{97}{expressions, arithmetic} -\entry{evaluation, arithmetic}{97}{evaluation, arithmetic} -\entry{arithmetic evaluation}{97}{arithmetic evaluation} -\entry{alias expansion}{99}{alias expansion} -\entry{arrays}{99}{arrays} -\entry{directory stack}{101}{directory stack} -\entry{prompting}{103}{prompting} -\entry{restricted shell}{104}{restricted shell} -\entry{POSIX Mode}{105}{POSIX Mode} -\entry{Compatibility Level}{109}{Compatibility Level} -\entry{Compatibility Mode}{109}{Compatibility Mode} -\entry{job control}{112}{job control} -\entry{foreground}{112}{foreground} -\entry{background}{112}{background} -\entry{suspending jobs}{112}{suspending jobs} -\entry{Readline, how to use}{115}{Readline, how to use} -\entry{interaction, readline}{116}{interaction, readline} -\entry{notation, readline}{117}{notation, readline} -\entry{command editing}{117}{command editing} -\entry{editing command lines}{117}{editing command lines} -\entry{killing text}{118}{killing text} -\entry{yanking text}{118}{yanking text} -\entry{kill ring}{118}{kill ring} -\entry{initialization file, readline}{119}{initialization file, readline} -\entry{variables, readline}{120}{variables, readline} -\entry{programmable completion}{142}{programmable completion} -\entry{completion builtins}{145}{completion builtins} -\entry{History, how to use}{150}{History, how to use} -\entry{command history}{151}{command history} -\entry{history list}{151}{history list} -\entry{history builtins}{151}{history builtins} -\entry{history expansion}{153}{history expansion} -\entry{event designators}{154}{event designators} -\entry{history events}{154}{history events} -\entry{installation}{157}{installation} -\entry{configuration}{157}{configuration} -\entry{Bash installation}{157}{Bash installation} -\entry{Bash configuration}{157}{Bash configuration} +\entry{startup files}{93}{startup files} +\entry{interactive shell}{94}{interactive shell} +\entry{shell, interactive}{94}{shell, interactive} +\entry{expressions, conditional}{96}{expressions, conditional} +\entry{arithmetic, shell}{98}{arithmetic, shell} +\entry{shell arithmetic}{98}{shell arithmetic} +\entry{expressions, arithmetic}{98}{expressions, arithmetic} +\entry{evaluation, arithmetic}{98}{evaluation, arithmetic} +\entry{arithmetic evaluation}{98}{arithmetic evaluation} +\entry{alias expansion}{100}{alias expansion} +\entry{arrays}{100}{arrays} +\entry{directory stack}{102}{directory stack} +\entry{prompting}{104}{prompting} +\entry{restricted shell}{105}{restricted shell} +\entry{POSIX Mode}{106}{POSIX Mode} +\entry{Compatibility Level}{110}{Compatibility Level} +\entry{Compatibility Mode}{110}{Compatibility Mode} +\entry{job control}{113}{job control} +\entry{foreground}{113}{foreground} +\entry{background}{113}{background} +\entry{suspending jobs}{113}{suspending jobs} +\entry{Readline, how to use}{116}{Readline, how to use} +\entry{interaction, readline}{117}{interaction, readline} +\entry{notation, readline}{118}{notation, readline} +\entry{command editing}{118}{command editing} +\entry{editing command lines}{118}{editing command lines} +\entry{killing text}{119}{killing text} +\entry{yanking text}{119}{yanking text} +\entry{kill ring}{119}{kill ring} +\entry{initialization file, readline}{120}{initialization file, readline} +\entry{variables, readline}{121}{variables, readline} +\entry{programmable completion}{143}{programmable completion} +\entry{completion builtins}{146}{completion builtins} +\entry{History, how to use}{151}{History, how to use} +\entry{command history}{152}{command history} +\entry{history list}{152}{history list} +\entry{history builtins}{152}{history builtins} +\entry{history expansion}{154}{history expansion} +\entry{event designators}{155}{event designators} +\entry{history events}{155}{history events} +\entry{installation}{158}{installation} +\entry{configuration}{158}{configuration} +\entry{Bash installation}{158}{Bash installation} +\entry{Bash configuration}{158}{Bash configuration} diff --git a/doc/bashref.cps b/doc/bashref.cps index 52e33d99..b914ac11 100644 --- a/doc/bashref.cps +++ b/doc/bashref.cps @@ -1,21 +1,21 @@ \initial {A} -\entry{alias expansion}{99} -\entry{arithmetic evaluation}{97} +\entry{alias expansion}{100} +\entry{arithmetic evaluation}{98} \entry{arithmetic expansion}{34} -\entry{arithmetic, shell}{97} -\entry{arrays}{99} +\entry{arithmetic, shell}{98} +\entry{arrays}{100} \initial {B} -\entry{background}{112} -\entry{Bash configuration}{157} -\entry{Bash installation}{157} +\entry{background}{113} +\entry{Bash configuration}{158} +\entry{Bash installation}{158} \entry{Bourne shell}{5} \entry{brace expansion}{24} \entry{builtin}{3} \initial {C} -\entry{command editing}{117} +\entry{command editing}{118} \entry{command execution}{42} -\entry{command expansion}{41} -\entry{command history}{151} +\entry{command expansion}{42} +\entry{command history}{152} \entry{command search}{42} \entry{command substitution}{34} \entry{command timing}{10} @@ -28,20 +28,20 @@ \entry{commands, shell}{9} \entry{commands, simple}{9} \entry{comments, shell}{9} -\entry{Compatibility Level}{109} -\entry{Compatibility Mode}{109} -\entry{completion builtins}{145} -\entry{configuration}{157} +\entry{Compatibility Level}{110} +\entry{Compatibility Mode}{110} +\entry{completion builtins}{146} +\entry{configuration}{158} \entry{control operator}{3} \entry{coprocess}{18} \initial {D} -\entry{directory stack}{101} +\entry{directory stack}{102} \initial {E} -\entry{editing command lines}{117} +\entry{editing command lines}{118} \entry{environment}{44} -\entry{evaluation, arithmetic}{97} -\entry{event designators}{154} -\entry{execution environment}{42} +\entry{evaluation, arithmetic}{98} +\entry{event designators}{155} +\entry{execution environment}{43} \entry{exit status}{3, 44} \entry{expansion}{24} \entry{expansion, arithmetic}{34} @@ -50,92 +50,92 @@ \entry{expansion, parameter}{26} \entry{expansion, pathname}{35} \entry{expansion, tilde}{25} -\entry{expressions, arithmetic}{97} -\entry{expressions, conditional}{95} +\entry{expressions, arithmetic}{98} +\entry{expressions, conditional}{96} \initial {F} \entry{field}{3} \entry{filename}{3} \entry{filename expansion}{35} -\entry{foreground}{112} +\entry{foreground}{113} \entry{functions, shell}{19} \initial {H} -\entry{history builtins}{151} -\entry{history events}{154} -\entry{history expansion}{153} -\entry{history list}{151} -\entry{History, how to use}{150} +\entry{history builtins}{152} +\entry{history events}{155} +\entry{history expansion}{154} +\entry{history list}{152} +\entry{History, how to use}{151} \initial {I} \entry{identifier}{3} -\entry{initialization file, readline}{119} -\entry{installation}{157} -\entry{interaction, readline}{116} -\entry{interactive shell}{92, 93} +\entry{initialization file, readline}{120} +\entry{installation}{158} +\entry{interaction, readline}{117} +\entry{interactive shell}{93, 94} \entry{internationalization}{7} \entry{internationalized scripts}{7} \initial {J} \entry{job}{3} -\entry{job control}{3, 112} +\entry{job control}{3, 113} \initial {K} -\entry{kill ring}{118} -\entry{killing text}{118} +\entry{kill ring}{119} +\entry{killing text}{119} \initial {L} \entry{localization}{7} -\entry{login shell}{92} +\entry{login shell}{93} \initial {M} \entry{matching, pattern}{36} \entry{metacharacter}{3} \initial {N} \entry{name}{3} \entry{native languages}{7} -\entry{notation, readline}{117} +\entry{notation, readline}{118} \initial {O} \entry{operator, shell}{3} \initial {P} \entry{parameter expansion}{26} \entry{parameters}{21} -\entry{parameters, positional}{22} +\entry{parameters, positional}{23} \entry{parameters, special}{23} \entry{pathname expansion}{35} \entry{pattern matching}{36} \entry{pipeline}{10} \entry{POSIX}{3} -\entry{POSIX Mode}{105} +\entry{POSIX Mode}{106} \entry{process group}{3} \entry{process group ID}{3} \entry{process substitution}{34} -\entry{programmable completion}{142} -\entry{prompting}{103} +\entry{programmable completion}{143} +\entry{prompting}{104} \initial {Q} \entry{quoting}{6} \entry{quoting, ANSI}{6} \initial {R} -\entry{Readline, how to use}{115} -\entry{redirection}{37} +\entry{Readline, how to use}{116} +\entry{redirection}{38} \entry{reserved word}{3} \entry{reserved words}{9} -\entry{restricted shell}{104} +\entry{restricted shell}{105} \entry{return status}{4} \initial {S} -\entry{shell arithmetic}{97} +\entry{shell arithmetic}{98} \entry{shell function}{19} \entry{shell script}{46} \entry{shell variable}{21} -\entry{shell, interactive}{93} +\entry{shell, interactive}{94} \entry{signal}{4} \entry{signal handling}{45} -\entry{special builtin}{4, 76} -\entry{startup files}{92} +\entry{special builtin}{4, 77} +\entry{startup files}{93} \entry{string translations}{7} -\entry{suspending jobs}{112} +\entry{suspending jobs}{113} \initial {T} \entry{tilde expansion}{25} \entry{token}{4} \entry{translation, native languages}{7} \initial {V} \entry{variable, shell}{21} -\entry{variables, readline}{120} +\entry{variables, readline}{121} \initial {W} \entry{word}{4} \entry{word splitting}{35} \initial {Y} -\entry{yanking text}{118} +\entry{yanking text}{119} diff --git a/doc/bashref.dvi b/doc/bashref.dvi index b2b9a491..dd45804e 100644 Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ diff --git a/doc/bashref.fn b/doc/bashref.fn index 6181807d..01e6b209 100644 --- a/doc/bashref.fn +++ b/doc/bashref.fn @@ -1,114 +1,114 @@ -\entry{beginning-of-line (C-a)}{132}{\code {beginning-of-line (C-a)}} -\entry{end-of-line (C-e)}{132}{\code {end-of-line (C-e)}} -\entry{forward-char (C-f)}{132}{\code {forward-char (C-f)}} -\entry{backward-char (C-b)}{132}{\code {backward-char (C-b)}} -\entry{forward-word (M-f)}{132}{\code {forward-word (M-f)}} -\entry{backward-word (M-b)}{132}{\code {backward-word (M-b)}} -\entry{shell-forward-word (M-C-f)}{132}{\code {shell-forward-word (M-C-f)}} -\entry{shell-backward-word (M-C-b)}{132}{\code {shell-backward-word (M-C-b)}} -\entry{previous-screen-line ()}{132}{\code {previous-screen-line ()}} -\entry{next-screen-line ()}{133}{\code {next-screen-line ()}} -\entry{clear-display (M-C-l)}{133}{\code {clear-display (M-C-l)}} -\entry{clear-screen (C-l)}{133}{\code {clear-screen (C-l)}} -\entry{redraw-current-line ()}{133}{\code {redraw-current-line ()}} -\entry{accept-line (Newline or Return)}{133}{\code {accept-line (Newline or Return)}} -\entry{previous-history (C-p)}{133}{\code {previous-history (C-p)}} -\entry{next-history (C-n)}{133}{\code {next-history (C-n)}} -\entry{beginning-of-history (M-<)}{133}{\code {beginning-of-history (M-<)}} -\entry{end-of-history (M->)}{133}{\code {end-of-history (M->)}} -\entry{reverse-search-history (C-r)}{133}{\code {reverse-search-history (C-r)}} -\entry{forward-search-history (C-s)}{133}{\code {forward-search-history (C-s)}} -\entry{non-incremental-reverse-search-history (M-p)}{133}{\code {non-incremental-reverse-search-history (M-p)}} -\entry{non-incremental-forward-search-history (M-n)}{134}{\code {non-incremental-forward-search-history (M-n)}} -\entry{history-search-forward ()}{134}{\code {history-search-forward ()}} -\entry{history-search-backward ()}{134}{\code {history-search-backward ()}} -\entry{history-substring-search-forward ()}{134}{\code {history-substring-search-forward ()}} -\entry{history-substring-search-backward ()}{134}{\code {history-substring-search-backward ()}} -\entry{yank-nth-arg (M-C-y)}{134}{\code {yank-nth-arg (M-C-y)}} -\entry{yank-last-arg (M-. or M-_)}{134}{\code {yank-last-arg (M-. or M-_)}} -\entry{operate-and-get-next (C-o)}{134}{\code {operate-and-get-next (C-o)}} -\entry{fetch-history ()}{135}{\code {fetch-history ()}} -\entry{end-of-file (usually C-d)}{135}{\code {\i {end-of-file} (usually C-d)}} -\entry{delete-char (C-d)}{135}{\code {delete-char (C-d)}} -\entry{backward-delete-char (Rubout)}{135}{\code {backward-delete-char (Rubout)}} -\entry{forward-backward-delete-char ()}{135}{\code {forward-backward-delete-char ()}} -\entry{quoted-insert (C-q or C-v)}{135}{\code {quoted-insert (C-q or C-v)}} -\entry{self-insert (a, b, A, 1, !, ...{})}{135}{\code {self-insert (a, b, A, 1, !, \dots {})}} -\entry{bracketed-paste-begin ()}{135}{\code {bracketed-paste-begin ()}} -\entry{transpose-chars (C-t)}{135}{\code {transpose-chars (C-t)}} -\entry{transpose-words (M-t)}{136}{\code {transpose-words (M-t)}} -\entry{upcase-word (M-u)}{136}{\code {upcase-word (M-u)}} -\entry{downcase-word (M-l)}{136}{\code {downcase-word (M-l)}} -\entry{capitalize-word (M-c)}{136}{\code {capitalize-word (M-c)}} -\entry{overwrite-mode ()}{136}{\code {overwrite-mode ()}} -\entry{kill-line (C-k)}{136}{\code {kill-line (C-k)}} -\entry{backward-kill-line (C-x Rubout)}{136}{\code {backward-kill-line (C-x Rubout)}} -\entry{unix-line-discard (C-u)}{136}{\code {unix-line-discard (C-u)}} -\entry{kill-whole-line ()}{136}{\code {kill-whole-line ()}} -\entry{kill-word (M-d)}{136}{\code {kill-word (M-d)}} -\entry{backward-kill-word (M-DEL)}{136}{\code {backward-kill-word (M-\key {DEL})}} -\entry{shell-kill-word (M-C-d)}{137}{\code {shell-kill-word (M-C-d)}} -\entry{shell-backward-kill-word ()}{137}{\code {shell-backward-kill-word ()}} -\entry{shell-transpose-words (M-C-t)}{137}{\code {shell-transpose-words (M-C-t)}} -\entry{unix-word-rubout (C-w)}{137}{\code {unix-word-rubout (C-w)}} -\entry{unix-filename-rubout ()}{137}{\code {unix-filename-rubout ()}} -\entry{delete-horizontal-space ()}{137}{\code {delete-horizontal-space ()}} -\entry{kill-region ()}{137}{\code {kill-region ()}} -\entry{copy-region-as-kill ()}{137}{\code {copy-region-as-kill ()}} -\entry{copy-backward-word ()}{137}{\code {copy-backward-word ()}} -\entry{copy-forward-word ()}{137}{\code {copy-forward-word ()}} -\entry{yank (C-y)}{137}{\code {yank (C-y)}} -\entry{yank-pop (M-y)}{137}{\code {yank-pop (M-y)}} -\entry{digit-argument (M-0, M-1, ...{} M--)}{137}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}} -\entry{universal-argument ()}{138}{\code {universal-argument ()}} -\entry{complete (TAB)}{138}{\code {complete (\key {TAB})}} -\entry{possible-completions (M-?)}{138}{\code {possible-completions (M-?)}} -\entry{insert-completions (M-*)}{138}{\code {insert-completions (M-*)}} -\entry{menu-complete ()}{138}{\code {menu-complete ()}} -\entry{menu-complete-backward ()}{138}{\code {menu-complete-backward ()}} -\entry{delete-char-or-list ()}{138}{\code {delete-char-or-list ()}} -\entry{complete-filename (M-/)}{138}{\code {complete-filename (M-/)}} -\entry{possible-filename-completions (C-x /)}{139}{\code {possible-filename-completions (C-x /)}} -\entry{complete-username (M-~)}{139}{\code {complete-username (M-~)}} -\entry{possible-username-completions (C-x ~)}{139}{\code {possible-username-completions (C-x ~)}} -\entry{complete-variable (M-$)}{139}{\code {complete-variable (M-$)}} -\entry{possible-variable-completions (C-x $)}{139}{\code {possible-variable-completions (C-x $)}} -\entry{complete-hostname (M-@)}{139}{\code {complete-hostname (M-@)}} -\entry{possible-hostname-completions (C-x @)}{139}{\code {possible-hostname-completions (C-x @)}} -\entry{complete-command (M-!)}{139}{\code {complete-command (M-!)}} -\entry{possible-command-completions (C-x !)}{139}{\code {possible-command-completions (C-x !)}} -\entry{dynamic-complete-history (M-TAB)}{139}{\code {dynamic-complete-history (M-\key {TAB})}} -\entry{dabbrev-expand ()}{139}{\code {dabbrev-expand ()}} -\entry{complete-into-braces (M-{\indexlbrace })}{139}{\code {complete-into-braces (M-{\tt \char 123})}} -\entry{start-kbd-macro (C-x ()}{139}{\code {start-kbd-macro (C-x ()}} -\entry{end-kbd-macro (C-x ))}{139}{\code {end-kbd-macro (C-x ))}} -\entry{call-last-kbd-macro (C-x e)}{140}{\code {call-last-kbd-macro (C-x e)}} -\entry{print-last-kbd-macro ()}{140}{\code {print-last-kbd-macro ()}} -\entry{re-read-init-file (C-x C-r)}{140}{\code {re-read-init-file (C-x C-r)}} -\entry{abort (C-g)}{140}{\code {abort (C-g)}} -\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{140}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}} -\entry{prefix-meta (ESC)}{140}{\code {prefix-meta (\key {ESC})}} -\entry{undo (C-_ or C-x C-u)}{140}{\code {undo (C-_ or C-x C-u)}} -\entry{revert-line (M-r)}{140}{\code {revert-line (M-r)}} -\entry{tilde-expand (M-&)}{140}{\code {tilde-expand (M-&)}} -\entry{set-mark (C-@)}{140}{\code {set-mark (C-@)}} -\entry{exchange-point-and-mark (C-x C-x)}{140}{\code {exchange-point-and-mark (C-x C-x)}} -\entry{character-search (C-])}{140}{\code {character-search (C-])}} -\entry{character-search-backward (M-C-])}{140}{\code {character-search-backward (M-C-])}} -\entry{skip-csi-sequence ()}{140}{\code {skip-csi-sequence ()}} -\entry{insert-comment (M-#)}{141}{\code {insert-comment (M-#)}} -\entry{dump-functions ()}{141}{\code {dump-functions ()}} -\entry{dump-variables ()}{141}{\code {dump-variables ()}} -\entry{dump-macros ()}{141}{\code {dump-macros ()}} -\entry{spell-correct-word (C-x s)}{141}{\code {spell-correct-word (C-x s)}} -\entry{glob-complete-word (M-g)}{141}{\code {glob-complete-word (M-g)}} -\entry{glob-expand-word (C-x *)}{141}{\code {glob-expand-word (C-x *)}} -\entry{glob-list-expansions (C-x g)}{141}{\code {glob-list-expansions (C-x g)}} -\entry{display-shell-version (C-x C-v)}{142}{\code {display-shell-version (C-x C-v)}} -\entry{shell-expand-line (M-C-e)}{142}{\code {shell-expand-line (M-C-e)}} -\entry{history-expand-line (M-^)}{142}{\code {history-expand-line (M-^)}} -\entry{magic-space ()}{142}{\code {magic-space ()}} -\entry{alias-expand-line ()}{142}{\code {alias-expand-line ()}} -\entry{history-and-alias-expand-line ()}{142}{\code {history-and-alias-expand-line ()}} -\entry{insert-last-argument (M-. or M-_)}{142}{\code {insert-last-argument (M-. or M-_)}} -\entry{edit-and-execute-command (C-x C-e)}{142}{\code {edit-and-execute-command (C-x C-e)}} +\entry{beginning-of-line (C-a)}{133}{\code {beginning-of-line (C-a)}} +\entry{end-of-line (C-e)}{133}{\code {end-of-line (C-e)}} +\entry{forward-char (C-f)}{133}{\code {forward-char (C-f)}} +\entry{backward-char (C-b)}{133}{\code {backward-char (C-b)}} +\entry{forward-word (M-f)}{133}{\code {forward-word (M-f)}} +\entry{backward-word (M-b)}{133}{\code {backward-word (M-b)}} +\entry{shell-forward-word (M-C-f)}{133}{\code {shell-forward-word (M-C-f)}} +\entry{shell-backward-word (M-C-b)}{133}{\code {shell-backward-word (M-C-b)}} +\entry{previous-screen-line ()}{133}{\code {previous-screen-line ()}} +\entry{next-screen-line ()}{134}{\code {next-screen-line ()}} +\entry{clear-display (M-C-l)}{134}{\code {clear-display (M-C-l)}} +\entry{clear-screen (C-l)}{134}{\code {clear-screen (C-l)}} +\entry{redraw-current-line ()}{134}{\code {redraw-current-line ()}} +\entry{accept-line (Newline or Return)}{134}{\code {accept-line (Newline or Return)}} +\entry{previous-history (C-p)}{134}{\code {previous-history (C-p)}} +\entry{next-history (C-n)}{134}{\code {next-history (C-n)}} +\entry{beginning-of-history (M-<)}{134}{\code {beginning-of-history (M-<)}} +\entry{end-of-history (M->)}{134}{\code {end-of-history (M->)}} +\entry{reverse-search-history (C-r)}{134}{\code {reverse-search-history (C-r)}} +\entry{forward-search-history (C-s)}{134}{\code {forward-search-history (C-s)}} +\entry{non-incremental-reverse-search-history (M-p)}{134}{\code {non-incremental-reverse-search-history (M-p)}} +\entry{non-incremental-forward-search-history (M-n)}{135}{\code {non-incremental-forward-search-history (M-n)}} +\entry{history-search-forward ()}{135}{\code {history-search-forward ()}} +\entry{history-search-backward ()}{135}{\code {history-search-backward ()}} +\entry{history-substring-search-forward ()}{135}{\code {history-substring-search-forward ()}} +\entry{history-substring-search-backward ()}{135}{\code {history-substring-search-backward ()}} +\entry{yank-nth-arg (M-C-y)}{135}{\code {yank-nth-arg (M-C-y)}} +\entry{yank-last-arg (M-. or M-_)}{135}{\code {yank-last-arg (M-. or M-_)}} +\entry{operate-and-get-next (C-o)}{135}{\code {operate-and-get-next (C-o)}} +\entry{fetch-history ()}{136}{\code {fetch-history ()}} +\entry{end-of-file (usually C-d)}{136}{\code {\i {end-of-file} (usually C-d)}} +\entry{delete-char (C-d)}{136}{\code {delete-char (C-d)}} +\entry{backward-delete-char (Rubout)}{136}{\code {backward-delete-char (Rubout)}} +\entry{forward-backward-delete-char ()}{136}{\code {forward-backward-delete-char ()}} +\entry{quoted-insert (C-q or C-v)}{136}{\code {quoted-insert (C-q or C-v)}} +\entry{self-insert (a, b, A, 1, !, ...{})}{136}{\code {self-insert (a, b, A, 1, !, \dots {})}} +\entry{bracketed-paste-begin ()}{136}{\code {bracketed-paste-begin ()}} +\entry{transpose-chars (C-t)}{136}{\code {transpose-chars (C-t)}} +\entry{transpose-words (M-t)}{137}{\code {transpose-words (M-t)}} +\entry{upcase-word (M-u)}{137}{\code {upcase-word (M-u)}} +\entry{downcase-word (M-l)}{137}{\code {downcase-word (M-l)}} +\entry{capitalize-word (M-c)}{137}{\code {capitalize-word (M-c)}} +\entry{overwrite-mode ()}{137}{\code {overwrite-mode ()}} +\entry{kill-line (C-k)}{137}{\code {kill-line (C-k)}} +\entry{backward-kill-line (C-x Rubout)}{137}{\code {backward-kill-line (C-x Rubout)}} +\entry{unix-line-discard (C-u)}{137}{\code {unix-line-discard (C-u)}} +\entry{kill-whole-line ()}{137}{\code {kill-whole-line ()}} +\entry{kill-word (M-d)}{137}{\code {kill-word (M-d)}} +\entry{backward-kill-word (M-DEL)}{137}{\code {backward-kill-word (M-\key {DEL})}} +\entry{shell-kill-word (M-C-d)}{138}{\code {shell-kill-word (M-C-d)}} +\entry{shell-backward-kill-word ()}{138}{\code {shell-backward-kill-word ()}} +\entry{shell-transpose-words (M-C-t)}{138}{\code {shell-transpose-words (M-C-t)}} +\entry{unix-word-rubout (C-w)}{138}{\code {unix-word-rubout (C-w)}} +\entry{unix-filename-rubout ()}{138}{\code {unix-filename-rubout ()}} +\entry{delete-horizontal-space ()}{138}{\code {delete-horizontal-space ()}} +\entry{kill-region ()}{138}{\code {kill-region ()}} +\entry{copy-region-as-kill ()}{138}{\code {copy-region-as-kill ()}} +\entry{copy-backward-word ()}{138}{\code {copy-backward-word ()}} +\entry{copy-forward-word ()}{138}{\code {copy-forward-word ()}} +\entry{yank (C-y)}{138}{\code {yank (C-y)}} +\entry{yank-pop (M-y)}{138}{\code {yank-pop (M-y)}} +\entry{digit-argument (M-0, M-1, ...{} M--)}{138}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}} +\entry{universal-argument ()}{139}{\code {universal-argument ()}} +\entry{complete (TAB)}{139}{\code {complete (\key {TAB})}} +\entry{possible-completions (M-?)}{139}{\code {possible-completions (M-?)}} +\entry{insert-completions (M-*)}{139}{\code {insert-completions (M-*)}} +\entry{menu-complete ()}{139}{\code {menu-complete ()}} +\entry{menu-complete-backward ()}{139}{\code {menu-complete-backward ()}} +\entry{delete-char-or-list ()}{139}{\code {delete-char-or-list ()}} +\entry{complete-filename (M-/)}{139}{\code {complete-filename (M-/)}} +\entry{possible-filename-completions (C-x /)}{140}{\code {possible-filename-completions (C-x /)}} +\entry{complete-username (M-~)}{140}{\code {complete-username (M-~)}} +\entry{possible-username-completions (C-x ~)}{140}{\code {possible-username-completions (C-x ~)}} +\entry{complete-variable (M-$)}{140}{\code {complete-variable (M-$)}} +\entry{possible-variable-completions (C-x $)}{140}{\code {possible-variable-completions (C-x $)}} +\entry{complete-hostname (M-@)}{140}{\code {complete-hostname (M-@)}} +\entry{possible-hostname-completions (C-x @)}{140}{\code {possible-hostname-completions (C-x @)}} +\entry{complete-command (M-!)}{140}{\code {complete-command (M-!)}} +\entry{possible-command-completions (C-x !)}{140}{\code {possible-command-completions (C-x !)}} +\entry{dynamic-complete-history (M-TAB)}{140}{\code {dynamic-complete-history (M-\key {TAB})}} +\entry{dabbrev-expand ()}{140}{\code {dabbrev-expand ()}} +\entry{complete-into-braces (M-{\indexlbrace })}{140}{\code {complete-into-braces (M-{\tt \char 123})}} +\entry{start-kbd-macro (C-x ()}{140}{\code {start-kbd-macro (C-x ()}} +\entry{end-kbd-macro (C-x ))}{140}{\code {end-kbd-macro (C-x ))}} +\entry{call-last-kbd-macro (C-x e)}{141}{\code {call-last-kbd-macro (C-x e)}} +\entry{print-last-kbd-macro ()}{141}{\code {print-last-kbd-macro ()}} +\entry{re-read-init-file (C-x C-r)}{141}{\code {re-read-init-file (C-x C-r)}} +\entry{abort (C-g)}{141}{\code {abort (C-g)}} +\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{141}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}} +\entry{prefix-meta (ESC)}{141}{\code {prefix-meta (\key {ESC})}} +\entry{undo (C-_ or C-x C-u)}{141}{\code {undo (C-_ or C-x C-u)}} +\entry{revert-line (M-r)}{141}{\code {revert-line (M-r)}} +\entry{tilde-expand (M-&)}{141}{\code {tilde-expand (M-&)}} +\entry{set-mark (C-@)}{141}{\code {set-mark (C-@)}} +\entry{exchange-point-and-mark (C-x C-x)}{141}{\code {exchange-point-and-mark (C-x C-x)}} +\entry{character-search (C-])}{141}{\code {character-search (C-])}} +\entry{character-search-backward (M-C-])}{141}{\code {character-search-backward (M-C-])}} +\entry{skip-csi-sequence ()}{141}{\code {skip-csi-sequence ()}} +\entry{insert-comment (M-#)}{142}{\code {insert-comment (M-#)}} +\entry{dump-functions ()}{142}{\code {dump-functions ()}} +\entry{dump-variables ()}{142}{\code {dump-variables ()}} +\entry{dump-macros ()}{142}{\code {dump-macros ()}} +\entry{spell-correct-word (C-x s)}{142}{\code {spell-correct-word (C-x s)}} +\entry{glob-complete-word (M-g)}{142}{\code {glob-complete-word (M-g)}} +\entry{glob-expand-word (C-x *)}{142}{\code {glob-expand-word (C-x *)}} +\entry{glob-list-expansions (C-x g)}{142}{\code {glob-list-expansions (C-x g)}} +\entry{display-shell-version (C-x C-v)}{143}{\code {display-shell-version (C-x C-v)}} +\entry{shell-expand-line (M-C-e)}{143}{\code {shell-expand-line (M-C-e)}} +\entry{history-expand-line (M-^)}{143}{\code {history-expand-line (M-^)}} +\entry{magic-space ()}{143}{\code {magic-space ()}} +\entry{alias-expand-line ()}{143}{\code {alias-expand-line ()}} +\entry{history-and-alias-expand-line ()}{143}{\code {history-and-alias-expand-line ()}} +\entry{insert-last-argument (M-. or M-_)}{143}{\code {insert-last-argument (M-. or M-_)}} +\entry{edit-and-execute-command (C-x C-e)}{143}{\code {edit-and-execute-command (C-x C-e)}} diff --git a/doc/bashref.fns b/doc/bashref.fns index f68e7c36..a3d21940 100644 --- a/doc/bashref.fns +++ b/doc/bashref.fns @@ -1,134 +1,134 @@ \initial {A} -\entry{\code {abort (C-g)}}{140} -\entry{\code {accept-line (Newline or Return)}}{133} -\entry{\code {alias-expand-line ()}}{142} +\entry{\code {abort (C-g)}}{141} +\entry{\code {accept-line (Newline or Return)}}{134} +\entry{\code {alias-expand-line ()}}{143} \initial {B} -\entry{\code {backward-char (C-b)}}{132} -\entry{\code {backward-delete-char (Rubout)}}{135} -\entry{\code {backward-kill-line (C-x Rubout)}}{136} -\entry{\code {backward-kill-word (M-\key {DEL})}}{136} -\entry{\code {backward-word (M-b)}}{132} -\entry{\code {beginning-of-history (M-<)}}{133} -\entry{\code {beginning-of-line (C-a)}}{132} -\entry{\code {bracketed-paste-begin ()}}{135} +\entry{\code {backward-char (C-b)}}{133} +\entry{\code {backward-delete-char (Rubout)}}{136} +\entry{\code {backward-kill-line (C-x Rubout)}}{137} +\entry{\code {backward-kill-word (M-\key {DEL})}}{137} +\entry{\code {backward-word (M-b)}}{133} +\entry{\code {beginning-of-history (M-<)}}{134} +\entry{\code {beginning-of-line (C-a)}}{133} +\entry{\code {bracketed-paste-begin ()}}{136} \initial {C} -\entry{\code {call-last-kbd-macro (C-x e)}}{140} -\entry{\code {capitalize-word (M-c)}}{136} -\entry{\code {character-search (C-])}}{140} -\entry{\code {character-search-backward (M-C-])}}{140} -\entry{\code {clear-display (M-C-l)}}{133} -\entry{\code {clear-screen (C-l)}}{133} -\entry{\code {complete (\key {TAB})}}{138} -\entry{\code {complete-command (M-!)}}{139} -\entry{\code {complete-filename (M-/)}}{138} -\entry{\code {complete-hostname (M-@)}}{139} -\entry{\code {complete-into-braces (M-{\tt \char 123})}}{139} -\entry{\code {complete-username (M-~)}}{139} -\entry{\code {complete-variable (M-$)}}{139} -\entry{\code {copy-backward-word ()}}{137} -\entry{\code {copy-forward-word ()}}{137} -\entry{\code {copy-region-as-kill ()}}{137} +\entry{\code {call-last-kbd-macro (C-x e)}}{141} +\entry{\code {capitalize-word (M-c)}}{137} +\entry{\code {character-search (C-])}}{141} +\entry{\code {character-search-backward (M-C-])}}{141} +\entry{\code {clear-display (M-C-l)}}{134} +\entry{\code {clear-screen (C-l)}}{134} +\entry{\code {complete (\key {TAB})}}{139} +\entry{\code {complete-command (M-!)}}{140} +\entry{\code {complete-filename (M-/)}}{139} +\entry{\code {complete-hostname (M-@)}}{140} +\entry{\code {complete-into-braces (M-{\tt \char 123})}}{140} +\entry{\code {complete-username (M-~)}}{140} +\entry{\code {complete-variable (M-$)}}{140} +\entry{\code {copy-backward-word ()}}{138} +\entry{\code {copy-forward-word ()}}{138} +\entry{\code {copy-region-as-kill ()}}{138} \initial {D} -\entry{\code {dabbrev-expand ()}}{139} -\entry{\code {delete-char (C-d)}}{135} -\entry{\code {delete-char-or-list ()}}{138} -\entry{\code {delete-horizontal-space ()}}{137} -\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{137} -\entry{\code {display-shell-version (C-x C-v)}}{142} -\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{140} -\entry{\code {downcase-word (M-l)}}{136} -\entry{\code {dump-functions ()}}{141} -\entry{\code {dump-macros ()}}{141} -\entry{\code {dump-variables ()}}{141} -\entry{\code {dynamic-complete-history (M-\key {TAB})}}{139} +\entry{\code {dabbrev-expand ()}}{140} +\entry{\code {delete-char (C-d)}}{136} +\entry{\code {delete-char-or-list ()}}{139} +\entry{\code {delete-horizontal-space ()}}{138} +\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{138} +\entry{\code {display-shell-version (C-x C-v)}}{143} +\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{141} +\entry{\code {downcase-word (M-l)}}{137} +\entry{\code {dump-functions ()}}{142} +\entry{\code {dump-macros ()}}{142} +\entry{\code {dump-variables ()}}{142} +\entry{\code {dynamic-complete-history (M-\key {TAB})}}{140} \initial {E} -\entry{\code {edit-and-execute-command (C-x C-e)}}{142} -\entry{\code {end-kbd-macro (C-x ))}}{139} -\entry{\code {\i {end-of-file} (usually C-d)}}{135} -\entry{\code {end-of-history (M->)}}{133} -\entry{\code {end-of-line (C-e)}}{132} -\entry{\code {exchange-point-and-mark (C-x C-x)}}{140} +\entry{\code {edit-and-execute-command (C-x C-e)}}{143} +\entry{\code {end-kbd-macro (C-x ))}}{140} +\entry{\code {\i {end-of-file} (usually C-d)}}{136} +\entry{\code {end-of-history (M->)}}{134} +\entry{\code {end-of-line (C-e)}}{133} +\entry{\code {exchange-point-and-mark (C-x C-x)}}{141} \initial {F} -\entry{\code {fetch-history ()}}{135} -\entry{\code {forward-backward-delete-char ()}}{135} -\entry{\code {forward-char (C-f)}}{132} -\entry{\code {forward-search-history (C-s)}}{133} -\entry{\code {forward-word (M-f)}}{132} +\entry{\code {fetch-history ()}}{136} +\entry{\code {forward-backward-delete-char ()}}{136} +\entry{\code {forward-char (C-f)}}{133} +\entry{\code {forward-search-history (C-s)}}{134} +\entry{\code {forward-word (M-f)}}{133} \initial {G} -\entry{\code {glob-complete-word (M-g)}}{141} -\entry{\code {glob-expand-word (C-x *)}}{141} -\entry{\code {glob-list-expansions (C-x g)}}{141} +\entry{\code {glob-complete-word (M-g)}}{142} +\entry{\code {glob-expand-word (C-x *)}}{142} +\entry{\code {glob-list-expansions (C-x g)}}{142} \initial {H} -\entry{\code {history-and-alias-expand-line ()}}{142} -\entry{\code {history-expand-line (M-^)}}{142} -\entry{\code {history-search-backward ()}}{134} -\entry{\code {history-search-forward ()}}{134} -\entry{\code {history-substring-search-backward ()}}{134} -\entry{\code {history-substring-search-forward ()}}{134} +\entry{\code {history-and-alias-expand-line ()}}{143} +\entry{\code {history-expand-line (M-^)}}{143} +\entry{\code {history-search-backward ()}}{135} +\entry{\code {history-search-forward ()}}{135} +\entry{\code {history-substring-search-backward ()}}{135} +\entry{\code {history-substring-search-forward ()}}{135} \initial {I} -\entry{\code {insert-comment (M-#)}}{141} -\entry{\code {insert-completions (M-*)}}{138} -\entry{\code {insert-last-argument (M-. or M-_)}}{142} +\entry{\code {insert-comment (M-#)}}{142} +\entry{\code {insert-completions (M-*)}}{139} +\entry{\code {insert-last-argument (M-. or M-_)}}{143} \initial {K} -\entry{\code {kill-line (C-k)}}{136} -\entry{\code {kill-region ()}}{137} -\entry{\code {kill-whole-line ()}}{136} -\entry{\code {kill-word (M-d)}}{136} +\entry{\code {kill-line (C-k)}}{137} +\entry{\code {kill-region ()}}{138} +\entry{\code {kill-whole-line ()}}{137} +\entry{\code {kill-word (M-d)}}{137} \initial {M} -\entry{\code {magic-space ()}}{142} -\entry{\code {menu-complete ()}}{138} -\entry{\code {menu-complete-backward ()}}{138} +\entry{\code {magic-space ()}}{143} +\entry{\code {menu-complete ()}}{139} +\entry{\code {menu-complete-backward ()}}{139} \initial {N} -\entry{\code {next-history (C-n)}}{133} -\entry{\code {next-screen-line ()}}{133} -\entry{\code {non-incremental-forward-search-history (M-n)}}{134} -\entry{\code {non-incremental-reverse-search-history (M-p)}}{133} +\entry{\code {next-history (C-n)}}{134} +\entry{\code {next-screen-line ()}}{134} +\entry{\code {non-incremental-forward-search-history (M-n)}}{135} +\entry{\code {non-incremental-reverse-search-history (M-p)}}{134} \initial {O} -\entry{\code {operate-and-get-next (C-o)}}{134} -\entry{\code {overwrite-mode ()}}{136} +\entry{\code {operate-and-get-next (C-o)}}{135} +\entry{\code {overwrite-mode ()}}{137} \initial {P} -\entry{\code {possible-command-completions (C-x !)}}{139} -\entry{\code {possible-completions (M-?)}}{138} -\entry{\code {possible-filename-completions (C-x /)}}{139} -\entry{\code {possible-hostname-completions (C-x @)}}{139} -\entry{\code {possible-username-completions (C-x ~)}}{139} -\entry{\code {possible-variable-completions (C-x $)}}{139} -\entry{\code {prefix-meta (\key {ESC})}}{140} -\entry{\code {previous-history (C-p)}}{133} -\entry{\code {previous-screen-line ()}}{132} -\entry{\code {print-last-kbd-macro ()}}{140} +\entry{\code {possible-command-completions (C-x !)}}{140} +\entry{\code {possible-completions (M-?)}}{139} +\entry{\code {possible-filename-completions (C-x /)}}{140} +\entry{\code {possible-hostname-completions (C-x @)}}{140} +\entry{\code {possible-username-completions (C-x ~)}}{140} +\entry{\code {possible-variable-completions (C-x $)}}{140} +\entry{\code {prefix-meta (\key {ESC})}}{141} +\entry{\code {previous-history (C-p)}}{134} +\entry{\code {previous-screen-line ()}}{133} +\entry{\code {print-last-kbd-macro ()}}{141} \initial {Q} -\entry{\code {quoted-insert (C-q or C-v)}}{135} +\entry{\code {quoted-insert (C-q or C-v)}}{136} \initial {R} -\entry{\code {re-read-init-file (C-x C-r)}}{140} -\entry{\code {redraw-current-line ()}}{133} -\entry{\code {reverse-search-history (C-r)}}{133} -\entry{\code {revert-line (M-r)}}{140} +\entry{\code {re-read-init-file (C-x C-r)}}{141} +\entry{\code {redraw-current-line ()}}{134} +\entry{\code {reverse-search-history (C-r)}}{134} +\entry{\code {revert-line (M-r)}}{141} \initial {S} -\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{135} -\entry{\code {set-mark (C-@)}}{140} -\entry{\code {shell-backward-kill-word ()}}{137} -\entry{\code {shell-backward-word (M-C-b)}}{132} -\entry{\code {shell-expand-line (M-C-e)}}{142} -\entry{\code {shell-forward-word (M-C-f)}}{132} -\entry{\code {shell-kill-word (M-C-d)}}{137} -\entry{\code {shell-transpose-words (M-C-t)}}{137} -\entry{\code {skip-csi-sequence ()}}{140} -\entry{\code {spell-correct-word (C-x s)}}{141} -\entry{\code {start-kbd-macro (C-x ()}}{139} +\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{136} +\entry{\code {set-mark (C-@)}}{141} +\entry{\code {shell-backward-kill-word ()}}{138} +\entry{\code {shell-backward-word (M-C-b)}}{133} +\entry{\code {shell-expand-line (M-C-e)}}{143} +\entry{\code {shell-forward-word (M-C-f)}}{133} +\entry{\code {shell-kill-word (M-C-d)}}{138} +\entry{\code {shell-transpose-words (M-C-t)}}{138} +\entry{\code {skip-csi-sequence ()}}{141} +\entry{\code {spell-correct-word (C-x s)}}{142} +\entry{\code {start-kbd-macro (C-x ()}}{140} \initial {T} -\entry{\code {tilde-expand (M-&)}}{140} -\entry{\code {transpose-chars (C-t)}}{135} -\entry{\code {transpose-words (M-t)}}{136} +\entry{\code {tilde-expand (M-&)}}{141} +\entry{\code {transpose-chars (C-t)}}{136} +\entry{\code {transpose-words (M-t)}}{137} \initial {U} -\entry{\code {undo (C-_ or C-x C-u)}}{140} -\entry{\code {universal-argument ()}}{138} -\entry{\code {unix-filename-rubout ()}}{137} -\entry{\code {unix-line-discard (C-u)}}{136} -\entry{\code {unix-word-rubout (C-w)}}{137} -\entry{\code {upcase-word (M-u)}}{136} +\entry{\code {undo (C-_ or C-x C-u)}}{141} +\entry{\code {universal-argument ()}}{139} +\entry{\code {unix-filename-rubout ()}}{138} +\entry{\code {unix-line-discard (C-u)}}{137} +\entry{\code {unix-word-rubout (C-w)}}{138} +\entry{\code {upcase-word (M-u)}}{137} \initial {Y} -\entry{\code {yank (C-y)}}{137} -\entry{\code {yank-last-arg (M-. or M-_)}}{134} -\entry{\code {yank-nth-arg (M-C-y)}}{134} -\entry{\code {yank-pop (M-y)}}{137} +\entry{\code {yank (C-y)}}{138} +\entry{\code {yank-last-arg (M-. or M-_)}}{135} +\entry{\code {yank-nth-arg (M-C-y)}}{135} +\entry{\code {yank-pop (M-y)}}{138} diff --git a/doc/bashref.html b/doc/bashref.html index ca9d86f1..b74e058f 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -4,9 +4,9 @@