bumped version to 5.2-rc1

This commit is contained in:
Chet Ramey
2022-06-14 10:44:13 -04:00
parent b95dd4a066
commit 6392d7af0e
20 changed files with 5325 additions and 5167 deletions
+52
View File
@@ -1,3 +1,55 @@
This document details the changes between this version, bash-5.2-rc1, and
the previous version, bash-5.2-beta.
1. Changes to Bash
a. Changes to `wait -p' and how it sets the variable name in the presence of
valid and invalid PID arguments.
b. Fixed a bug that caused compgen to dump core if the completion engine was
not initialized.
c. Fixed a memory leak in the variable name programmable completion code.
d. Here-documents and here-strings use tempfiles if the shell compatibility
level is 50 or lower.
e. Non-interactive shells exit on a syntax error encountered while parsing a
command substitution.
f. Fixed a bug with inherited parser state while parsing a command substitution.
g. Fixed a bug that caused the shell not to check for terminating signals
after executing the command_string supplied with `-c' and before executing
the exit trap.
h. Changes to avoid a make race condition while generating builtins.c.
i. Make it explicit that BASH_REMATCH is always a global variable, and that
local copies are (currently) ignored.
j. Fixed a bug that caused an ambiguous redirection (>&word) to be printed
incorrectly (>&word) if no file descriptor was supplied.
2. Changes to Readline
a. Fixed a bug that caused rl_eof_found to be set prematurely while reading a
multi-character key sequence in callback mode.
3. New Features in Bash
a. In posix mode, the `printf' builtin checks for the `L' length modifier and
uses long double for floating point conversion specifiers if it's present,
double otherwise.
b. The `globbing' completion code now takes the `globstar' option into account.
c. `suspend -f' now forces the shell to suspend even if job control is not
currently enabled.
4. New Features in Readline
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.2-beta, and
the previous version, bash-5.2-alpha.
+52
View File
@@ -1,3 +1,55 @@
This document details the changes between this version, bash-5.2-rc1, and
the previous version, bash-5.2-beta.
1. Changes to Bash
a. Changes to `wait -p' and how it sets the variable name in the presence of
valid and invalid PID arguments.
b. Fixed a bug that caused compgen to dump core if the completion engine was
not initialized.
c. Fixed a memory leak in the variable name programmable completion code.
d. Here-documents and here-strings use tempfiles if the shell compatibility
level is 50 or lower.
e. Non-interactive shells exit on a syntax error encountered while parsing a
command substitution.
f. Fixed a bug with inherited parser state while parsing a command substitution.
g. Fixed a bug that caused the shell not to check for terminating signals
after executing the command_string supplied with `-c' and before executing
the exit trap.
h. Changes to avoid a make race condition while generating builtins.c.
i. Make it explicit that BASH_REMATCH is always a global variable, and that
local copies are (currently) ignored.
j. Fixed a bug that caused an ambiguous redirection (>&word) to be printed
incorrectly (>&word) if no file descriptor was supplied.
2. Changes to Readline
a. Fixed a bug that caused rl_eof_found to be set prematurely while reading a
multi-character key sequence in callback mode.
3. New Features in Bash
a. In posix mode, the `printf' builtin checks for the `L' length modifier and
uses long double for floating point conversion specifiers if it's present,
double otherwise.
b. The `globbing' completion code now takes the `globstar' option into account.
c. `suspend -f' now forces the shell to suspend even if job control is not
currently enabled.
4. New Features in Readline
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.2-beta, and
the previous version, bash-5.2-alpha.
+5
View File
@@ -3681,3 +3681,8 @@ print_cmd.c
translate a >&word redirection to >&word now that we won't print a
non-default file descriptor number. Fixes issue with `declare -f' and
function export reported by Namikaze Minato <lloydsensei@gmail.com>
6/13
----
configure.ac
- bumped version to bash-5.2-rc1
+1 -1
View File
@@ -206,7 +206,7 @@ builtins/umask.def f
builtins/wait.def f
builtins/psize.c f
builtins/psize.sh f
builtins/inlib.def f
#builtins/inlib.def f
builtins/bashgetopt.c f
builtins/common.h f
builtins/bashgetopt.h f
+9
View File
@@ -100,6 +100,15 @@ bb. Array references using `@' and `*' that are the value of nameref variables
cc. There is a new bindable readline command name:
`vi-edit-and-execute-command'.
dd. In posix mode, the `printf' builtin checks for the `L' length modifier and
uses long double for floating point conversion specifiers if it's present,
double otherwise.
ee. The `globbing' completion code now takes the `globstar' option into account.
ff. `suspend -f' now forces the shell to suspend even if job control is not
currently enabled.
2. New Features in Readline
a. There is now an HS_HISTORY_VERSION containing the version number of the
+9
View File
@@ -100,6 +100,15 @@ bb. Array references using `@' and `*' that are the value of nameref variables
cc. There is a new bindable readline command name:
`vi-edit-and-execute-command'.
dd. In posix mode, the `printf' builtin checks for the `L' length modifier and
uses long double for floating point conversion specifiers if it's present,
double otherwise.
ee. The `globbing' completion code now takes the `globstar' option into account.
ff. `suspend -f' now forces the shell to suspend even if job control is not
currently enabled.
2. New Features in Readline
a. There is now an HS_HISTORY_VERSION containing the version number of the
+1
View File
@@ -1057,6 +1057,7 @@ builtin_find_indexed_array (array_name, flags)
return entry;
}
#endif /* ARRAY_VARS */
/* Like check_unbind_variable, but for use by builtins (only matters for
error messages). */
int
Vendored
+10 -10
View File
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac for Bash 5.2, version 5.041.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for bash 5.2-beta.
# Generated by GNU Autoconf 2.71 for bash 5.2-rc1.
#
# Report bugs to <bug-bash@gnu.org>.
#
@@ -612,8 +612,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bash'
PACKAGE_TARNAME='bash'
PACKAGE_VERSION='5.2-beta'
PACKAGE_STRING='bash 5.2-beta'
PACKAGE_VERSION='5.2-rc1'
PACKAGE_STRING='bash 5.2-rc1'
PACKAGE_BUGREPORT='bug-bash@gnu.org'
PACKAGE_URL=''
@@ -1467,7 +1467,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures bash 5.2-beta to adapt to many kinds of systems.
\`configure' configures bash 5.2-rc1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1533,7 +1533,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of bash 5.2-beta:";;
short | recursive ) echo "Configuration of bash 5.2-rc1:";;
esac
cat <<\_ACEOF
@@ -1740,7 +1740,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
bash configure 5.2-beta
bash configure 5.2-rc1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2397,7 +2397,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by bash $as_me 5.2-beta, which was
It was created by bash $as_me 5.2-rc1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3176,7 +3176,7 @@ ac_config_headers="$ac_config_headers config.h"
BASHVERS=5.2
RELSTATUS=beta
RELSTATUS=rc1
case "$RELSTATUS" in
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -22369,7 +22369,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by bash $as_me 5.2-beta, which was
This file was extended by bash $as_me 5.2-rc1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22437,7 +22437,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
bash config.status 5.2-beta
bash config.status 5.2-rc1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
+1 -1
View File
@@ -24,7 +24,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_REVISION([for Bash 5.2, version 5.041])dnl
define(bashvers, 5.2)
define(relstatus, beta)
define(relstatus, rc1)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
+23 -11
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 May 2<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 June 3<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -556,13 +556,15 @@ No other startup files are read.
<B>Bash</B>
attempts to determine when it is being run with its standard input
connected to a network connection, as when executed by the remote shell
daemon, usually <I>rshd</I>, or the secure shell daemon <I>sshd</I>.
connected to a network connection, as when executed by
the historical remote shell daemon, usually <I>rshd</I>,
or the secure shell daemon <I>sshd</I>.
If
<B>bash</B>
determines it is being run in this fashion, it reads and executes
commands from <A HREF="file:~/.bashrc"><I>~/.bashrc</I></A>, if that file exists and is readable.
determines it is being run non-interactively in this fashion,
it reads and executes commands from <A HREF="file:~/.bashrc"><I>~/.bashrc</I></A>,
if that file exists and is readable.
It will not do this if invoked as <B>sh</B>.
The
<B>--norc</B>
@@ -1026,6 +1028,12 @@ indices. The element of
</FONT>
with index <I>n</I> is the portion of the
string matching the <I>n</I>th parenthesized subexpression.
Bash sets
<FONT SIZE=-1><B>BASH_REMATCH</B>
</FONT>
in the global scope; declaring it as a local variable will lead to
unexpected results.
<P>
@@ -13400,14 +13408,18 @@ Suspend the execution of this shell until it receives a
<FONT SIZE=-1><B>SIGCONT</B>
</FONT>
signal. A login shell cannot be suspended; the
signal. A login shell,
or a shell without job control enabled,
cannot be suspended; the
<B>-f</B>
option can be used to override this and force the suspension.
The return status is 0 unless the shell is a login shell and
The return status is 0 unless the shell is a login shell
or job control is not enabled
and
<B>-f</B>
is not supplied, or if job control is not enabled.
is not supplied.
<DT><B>test</B> <I>expr</I><DD>
<DT><B>[</B> <I>expr</I> <B>]</B><DD>
@@ -14681,7 +14693,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 May 2<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 June 3<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -14787,7 +14799,7 @@ There may be only one active coprocess at a time.
<DT><A HREF="#lbDI">BUGS</A><DD>
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 04 May 2022 15:11:14 EDT
This document was created by man2html from /usr/local/src/bash/bash-20220609/doc/bash.1.<BR>
Time: 13 June 2022 11:04:39 EDT
</BODY>
</HTML>
BIN
View File
Binary file not shown.
+4487 -4481
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+9 -4
View File
@@ -4,9 +4,9 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.2, 17 May 2022).
the Bash shell (version 5.2, 3 June 2022).
This is Edition 5.2, last updated 17 May 2022,
This is Edition 5.2, last updated 3 June 2022,
of The GNU Bash Reference Manual,
for Bash, Version 5.2.
@@ -77,10 +77,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.2, 17 May 2022).
the Bash shell (version 5.2, 3 June 2022).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.2, last updated 17 May 2022,
<p>This is Edition 5.2, last updated 3 June 2022,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.2.
</p>
@@ -1654,6 +1654,11 @@ expression are saved in the remaining <code>BASH_REMATCH</code> indices.
The element of <code>BASH_REMATCH</code> with index <var>n</var> is the portion of the
string matching the <var>n</var>th parenthesized subexpression.
</p>
<p>Bash sets
<code>BASH_REMATCH</code>
in the global scope; declaring it as a local variable will lead to
unexpected results.
</p>
<p>Expressions may be combined using the following operators, listed
in decreasing order of precedence:
</p>
+26 -25
View File
@@ -1,11 +1,12 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/MacPorts 2022.62882_0) (preloaded format=pdfetex 2022.5.4) 4 MAY 2022 15:11
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdfetex 2021.8.30) 13 JUN 2022 11:06
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\input /usr/local/src/chet/src/bash/src/doc/bashref.texi
(/usr/local/src/chet/src/bash/src/doc/bashref.texi
(/usr/local/src/chet/src/bash/src/doc/texinfo.tex
**\input /usr/local/src/bash/bash-20220609/doc/bashref.texi \input /usr/local/s
rc/bash/bash-20220609/doc/bashref.texi
(/usr/local/src/bash/bash-20220609/doc/bashref.texi
(/usr/local/src/bash/bash-20220609/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -161,23 +162,23 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/usr/local/src/chet/src/bash/src/doc/version.texi) [1{/opt/local/var/db/texmf/
fonts/map/pdftex/updmap/pdftex.map}] [2]
(/usr/local/src/chet/src/bash/src/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/src/chet/src/bash/src/doc/bashref.toc)
(/usr/local/src/chet/src/bash/src/doc/bashref.toc) Chapter 1
(/usr/local/src/bash/bash-20220609/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
(/usr/local/build/bash/bash-20220609/doc/bashref.toc [-1] [-2] [-3]) [-4]
(/usr/local/build/bash/bash-20220609/doc/bashref.toc)
(/usr/local/build/bash/bash-20220609/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
(/usr/local/src/chet/src/bash/src/doc/bashref.aux)
(/usr/local/build/bash/bash-20220609/doc/bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
@cpindfile=@write2
\openout2 = `bashref.cp'.
[3]
Chapter 3 [4] [5] [6] [7]
[3] Chapter 3 [4] [5] [6] [7]
@vrindfile=@write3
\openout3 = `bashref.vr'.
@@ -228,7 +229,7 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
[48] [49] [50] [51]
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5219--5219
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5224--5224
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -241,7 +242,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5219--5219
.etc.
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5220--5220
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5225--5225
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -260,7 +261,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5220--5220
texinfo.tex: doing @include of rluser.texi
(/usr/local/src/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8
(/usr/local/src/bash/bash-20220609/lib/readline/doc/rluser.texi Chapter 8
[116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127]
Underfull \hbox (badness 7540) in paragraph at lines 861--867
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
@@ -322,10 +323,10 @@ Overfull \hbox (15.27109pt too wide) in paragraph at lines 2120--2120
texinfo.tex: doing @include of hsuser.texi
(/usr/local/src/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
(/usr/local/src/bash/bash-20220609/lib/readline/doc/hsuser.texi Chapter 9
[151] [152] [153] [154] [155] [156]) Chapter 10 [157] [158] [159] [160]
[161]
Underfull \hbox (badness 10000) in paragraph at lines 9352--9361
Underfull \hbox (badness 10000) in paragraph at lines 9367--9376
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -338,7 +339,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 9352--9361
Underfull \hbox (badness 10000) in paragraph at lines 9367--9376
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -354,17 +355,17 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
[171] [172] Appendix C [173]
texinfo.tex: doing @include of fdl.texi
(/usr/local/src/chet/src/bash/src/doc/fdl.texi
(/usr/local/src/bash/bash-20220609/doc/fdl.texi
[174] [175] [176] [177] [178] [179] [180]) Appendix D [181] [182] [183]
[184] [185] [186] [187] [188] [189] [190] )
Here is how much of TeX's memory you used:
4094 strings out of 497074
47491 string characters out of 6206289
141494 words of memory out of 5000000
4870 multiletter control sequences out of 15000+600000
4095 strings out of 497086
47569 string characters out of 6206517
141496 words of memory out of 5000000
4867 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
51 hyphenation exceptions out of 8191
16i,6n,16p,330b,978s stack positions out of 10000i,1000n,20000p,200000b,200000s
16i,6n,16p,389b,978s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/local/share/texmf-texlive/font
s/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type
1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
@@ -382,7 +383,7 @@ texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texli
ve/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fon
ts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/typ
e1/public/cm-super/sfrm1440.pfb>
Output written on bashref.pdf (196 pages, 794067 bytes).
Output written on bashref.pdf (196 pages, 794339 bytes).
PDF statistics:
2752 PDF objects out of 2984 (max. 8388607)
2509 compressed objects within 26 object streams
BIN
View File
Binary file not shown.
+96 -90
View File
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 2022.1 (TeX Live 2022) Copyright 2022 Radical Eye Software
%%Creator: dvips(k) 2021.1 Copyright 2021 Radical Eye Software
%%Title: bashref.dvi
%%CreationDate: Wed May 4 19:11:10 2022
%%CreationDate: Mon Jun 13 15:04:37 2022
%%Pages: 196
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2022.05.04:1511
%DVIPSSource: TeX output 2022.06.13:1104
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -7614,7 +7614,7 @@ ifelse
TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.2,)g(for)f
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3364 1697 y(Ma)m(y)g(2022)150
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.2.)3350 1697 y(June)e(2022)150
4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
@@ -7622,16 +7622,15 @@ b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(2)e(Ma)m(y)i
(2022\).)150 4523 y(This)38 b(is)g(Edition)h(5.2,)j(last)d(up)s(dated)e
(2)i(Ma)m(y)h(2022,)j(of)38 b Fr(The)g(GNU)h(Bash)g(Reference)g(Man)m
(ual)p Fu(,)j(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8
b(ersion)31 b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602 4764
y(c)577 4767 y Fq(\015)f Fu(1988{2022)35 b(F)-8 b(ree)31
b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 4902
y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.2,)c(3)e(June)g
(2022\).)150 4523 y(This)37 b(is)h(Edition)f(5.2,)k(last)e(up)s(dated)d
(3)i(June)f(2022,)k(of)d Fr(The)f(GNU)h(Bash)g(Reference)h(Man)m(ual)p
Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
b(5.2.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
y Fq(\015)f Fu(1988{2022)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
@@ -9243,55 +9242,58 @@ b(its)g(o)m(wn)f(rules.)68 b(The)39 b(in)m(ten)m(tion)i(is)e(to)h(a)m
y(things)31 b(t)m(wice)h(as)f(m)m(uc)m(h)f(as)h(p)s(ossible,)g(so)g
(shell)g(quoting)g(should)f(b)s(e)g(su\016cien)m(t)h(to)g(quote)630
737 y(sp)s(ecial)g(pattern)f(c)m(haracters)i(where)e(that's)h
(necessary)-8 b(.)630 878 y(The)39 b(arra)m(y)h(v)-5
(necessary)-8 b(.)630 867 y(The)39 b(arra)m(y)h(v)-5
b(ariable)40 b Ft(BASH_REMATCH)c Fu(records)j(whic)m(h)g(parts)g(of)g
(the)h(string)f(matc)m(hed)630 987 y(the)34 b(pattern.)51
(the)h(string)f(matc)m(hed)630 977 y(the)34 b(pattern.)51
b(The)33 b(elemen)m(t)i(of)f Ft(BASH_REMATCH)d Fu(with)i(index)g(0)h
(con)m(tains)h(the)f(p)s(ortion)630 1097 y(of)39 b(the)g(string)g(matc)
(con)m(tains)h(the)f(p)s(ortion)630 1086 y(of)39 b(the)g(string)g(matc)
m(hing)h(the)g(en)m(tire)f(regular)h(expression.)66 b(Substrings)37
b(matc)m(hed)j(b)m(y)630 1207 y(paren)m(thesized)k(sub)s(expressions)e
b(matc)m(hed)j(b)m(y)630 1196 y(paren)m(thesized)k(sub)s(expressions)e
(within)i(the)g(regular)g(expression)g(are)g(sa)m(v)m(ed)h(in)f(the)630
1316 y(remaining)33 b Ft(BASH_REMATCH)c Fu(indices.)49
1306 y(remaining)33 b Ft(BASH_REMATCH)c Fu(indices.)49
b(The)32 b(elemen)m(t)i(of)f Ft(BASH_REMATCH)d Fu(with)i(index)g
Fr(n)630 1426 y Fu(is)e(the)h(p)s(ortion)f(of)g(the)h(string)f(matc)m
Fr(n)630 1415 y Fu(is)e(the)h(p)s(ortion)f(of)g(the)h(string)f(matc)m
(hing)i(the)e Fr(n)p Fu(th)g(paren)m(thesized)h(sub)s(expression.)630
1567 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
1545 y(Bash)26 b(sets)h Ft(BASH_REMATCH)c Fu(in)j(the)g(global)i(scop)s
(e;)f(declaring)g(it)g(as)g(a)f(lo)s(cal)i(v)-5 b(ariable)27
b(will)630 1655 y(lead)k(to)g(unexp)s(ected)f(results.)630
1785 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h
(follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
1676 y(order)30 b(of)g(precedence:)630 1848 y Ft(\()g
Fj(expression)e Ft(\))1110 1957 y Fu(Returns)i(the)h(v)-5
1895 y(order)30 b(of)g(precedence:)630 2045 y Ft(\()g
Fj(expression)e Ft(\))1110 2155 y Fu(Returns)i(the)h(v)-5
b(alue)31 b(of)g Fr(expression)p Fu(.)42 b(This)30 b(ma)m(y)i(b)s(e)e
(used)g(to)i(o)m(v)m(erride)g(the)1110 2067 y(normal)e(precedence)h(of)
g(op)s(erators.)630 2239 y Ft(!)f Fj(expression)1110
2348 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630
2520 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 2630
(used)g(to)i(o)m(v)m(erride)g(the)1110 2264 y(normal)e(precedence)h(of)
g(op)s(erators.)630 2415 y Ft(!)f Fj(expression)1110
2524 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630
2675 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 2784
y Fu(T)-8 b(rue)30 b(if)g(b)s(oth)g Fr(expression1)38
b Fu(and)29 b Fr(expression2)38 b Fu(are)31 b(true.)630
2801 y Fj(expression1)c Ft(||)j Fj(expression2)1110 2911
2935 y Fj(expression1)c Ft(||)j Fj(expression2)1110 3045
y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expression1)38
b Fu(or)30 b Fr(expression2)38 b Fu(is)30 b(true.)630
3083 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g
3195 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g
(ev)-5 b(aluate)27 b Fr(expression2)32 b Fu(if)25 b(the)g(v)-5
b(alue)25 b(of)g Fr(expression1)630 3192 y Fu(is)30 b(su\016cien)m(t)h
b(alue)25 b(of)g Fr(expression1)630 3305 y Fu(is)30 b(su\016cien)m(t)h
(to)g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire)
g(conditional)h(expression.)150 3404 y Fk(3.2.5.3)63
b(Grouping)43 b(Commands)150 3551 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m
g(conditional)h(expression.)150 3495 y Fk(3.2.5.3)63
b(Grouping)43 b(Commands)150 3642 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m
(o)h(w)m(a)m(ys)f(to)h(group)e(a)h(list)g(of)g(commands)f(to)i(b)s(e)e
(executed)h(as)g(a)h(unit.)40 b(When)29 b(com-)150 3661
(executed)h(as)g(a)h(unit.)40 b(When)29 b(com-)150 3752
y(mands)h(are)i(group)s(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i
(to)g(the)f(en)m(tire)h(command)g(list.)44 b(F)-8 b(or)32
b(example,)150 3770 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g
b(example,)150 3861 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g
(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)
150 3948 y Ft(\(\))870 4089 y(\()47 b Fj(list)g Ft(\))630
4229 y Fu(Placing)42 b(a)g(list)g(of)f(commands)g(b)s(et)m(w)m(een)h
150 4012 y Ft(\(\))870 4142 y(\()47 b Fj(list)g Ft(\))630
4272 y Fu(Placing)42 b(a)g(list)g(of)f(commands)g(b)s(et)m(w)m(een)h
(paren)m(theses)f(forces)h(the)f(shell)h(to)g(create)h(a)630
4339 y(subshell)33 b(\(see)h(Section)g(3.7.3)i([Command)c(Execution)j
(En)m(vironmen)m(t],)g(page)f(43\),)i(and)630 4449 y(eac)m(h)g(of)f
4381 y(subshell)33 b(\(see)h(Section)g(3.7.3)i([Command)c(Execution)j
(En)m(vironmen)m(t],)g(page)f(43\),)i(and)630 4491 y(eac)m(h)g(of)f
(the)h(commands)e(in)h Fr(list)i Fu(is)e(executed)h(in)f(that)h
(subshell)e(en)m(vironmen)m(t.)55 b(Since)630 4558 y(the)33
(subshell)e(en)m(vironmen)m(t.)55 b(Since)630 4601 y(the)33
b Fr(list)j Fu(is)e(executed)g(in)f(a)g(subshell,)h(v)-5
b(ariable)34 b(assignmen)m(ts)g(do)f(not)g(remain)g(in)g(e\013ect)630
4668 y(after)e(the)f(subshell)g(completes.)150 4839 y
Ft({})870 4980 y({)47 b Fj(list)p Ft(;)g(})630 5121 y
4710 y(after)e(the)f(subshell)g(completes.)150 4861 y
Ft({})870 4991 y({)47 b Fj(list)p Ft(;)g(})630 5121 y
Fu(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h(curly)f
(braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630
5230 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
@@ -14923,37 +14925,37 @@ Fu(v)-5 b(ariable)150 3044 y(and)30 b(commands)g(are)g(read)h(and)e
(read.)150 3362 y Fk(In)m(v)m(ok)m(ed)40 b(b)m(y)g(remote)h(shell)h
(daemon)150 3509 y Fu(Bash)36 b(attempts)h(to)g(determine)f(when)f(it)i
(is)f(b)s(eing)g(run)e(with)i(its)g(standard)g(input)f(connected)i(to)g
(a)150 3618 y(net)m(w)m(ork)h(connection,)j(as)c(when)g(executed)h(b)m
(y)f(the)h(remote)g(shell)g(daemon,)h(usually)e Ft(rshd)p
Fu(,)h(or)g(the)150 3728 y(secure)c(shell)f(daemon)h
Ft(sshd)p Fu(.)49 b(If)33 b(Bash)g(determines)h(it)g(is)f(b)s(eing)g
(run)f(in)i(this)f(fashion,)h(it)g(reads)g(and)150 3837
y(executes)29 b(commands)e(from)g Ft(~/.bashrc)p Fu(,)e(if)j(that)g
(\014le)f(exists)h(and)f(is)g(readable.)41 b(It)27 b(will)h(not)f(do)h
(this)f(if)150 3947 y(in)m(v)m(ok)m(ed)k(as)f Ft(sh)p
Fu(.)40 b(The)29 b Ft(--norc)f Fu(option)i(ma)m(y)g(b)s(e)f(used)f(to)j
(inhibit)e(this)g(b)s(eha)m(vior,)h(and)f(the)h Ft(--rcfile)150
4057 y Fu(option)36 b(ma)m(y)g(b)s(e)e(used)h(to)h(force)g(another)f
(\014le)h(to)g(b)s(e)e(read,)j(but)d(neither)i Ft(rshd)e
Fu(nor)h Ft(sshd)f Fu(generally)150 4166 y(in)m(v)m(ok)m(e)e(the)f
(shell)f(with)h(those)f(options)h(or)f(allo)m(w)i(them)f(to)g(b)s(e)e
(sp)s(eci\014ed.)150 4375 y Fk(In)m(v)m(ok)m(ed)40 b(with)g(unequal)h
(e\013ectiv)m(e)e(and)i(real)g Fg(uid/gid)p Fk(s)150
4522 y Fu(If)34 b(Bash)h(is)g(started)g(with)f(the)h(e\013ectiv)m(e)i
(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)g(real)g(user)f
(\(group\))h(id,)150 4631 y(and)26 b(the)i Ft(-p)e Fu(option)h(is)g
(not)h(supplied,)e(no)h(startup)g(\014les)g(are)g(read,)h(shell)f
(functions)g(are)g(not)g(inherited)150 4741 y(from)41
b(the)g(en)m(vironmen)m(t,)j(the)d Ft(SHELLOPTS)p Fu(,)h
Ft(BASHOPTS)p Fu(,)g Ft(CDPATH)p Fu(,)g(and)e Ft(GLOBIGNORE)e
Fu(v)-5 b(ariables,)45 b(if)150 4850 y(they)28 b(app)s(ear)f(in)h(the)g
(en)m(vironmen)m(t,)i(are)e(ignored,)h(and)e(the)h(e\013ectiv)m(e)j
(user)c(id)h(is)g(set)g(to)h(the)f(real)h(user)150 4960
y(id.)62 b(If)38 b(the)f Ft(-p)h Fu(option)g(is)f(supplied)g(at)h(in)m
(v)m(o)s(cation,)k(the)c(startup)f(b)s(eha)m(vior)h(is)g(the)g(same,)i
(but)d(the)150 5070 y(e\013ectiv)m(e)c(user)d(id)g(is)g(not)h(reset.)
150 5324 y Fs(6.3)68 b(In)l(teractiv)l(e)47 b(Shells)p
eop end
(a)150 3618 y(net)m(w)m(ork)29 b(connection,)g(as)f(when)f(executed)i
(b)m(y)e(the)h(historical)h(remote)g(shell)f(daemon,)g(usually)g
Ft(rshd)p Fu(,)150 3728 y(or)e(the)g(secure)g(shell)g(daemon)f
Ft(sshd)p Fu(.)38 b(If)26 b(Bash)g(determines)f(it)i(is)e(b)s(eing)h
(run)e(non-in)m(teractiv)m(ely)29 b(in)c(this)150 3837
y(fashion,)i(it)g(reads)e(and)h(executes)h(commands)f(from)f
Ft(~/.bashrc)p Fu(,)g(if)h(that)h(\014le)f(exists)h(and)e(is)h
(readable.)150 3947 y(It)g(will)f(not)h(do)g(this)f(if)g(in)m(v)m(ok)m
(ed)i(as)f Ft(sh)p Fu(.)39 b(The)25 b Ft(--norc)e Fu(option)j(ma)m(y)g
(b)s(e)f(used)g(to)h(inhibit)f(this)h(b)s(eha)m(vior,)150
4057 y(and)g(the)h Ft(--rcfile)e Fu(option)j(ma)m(y)f(b)s(e)f(used)g
(to)i(force)g(another)f(\014le)g(to)g(b)s(e)g(read,)h(but)e(neither)h
Ft(rshd)e Fu(nor)150 4166 y Ft(sshd)k Fu(generally)j(in)m(v)m(ok)m(e)g
(the)f(shell)f(with)g(those)h(options)g(or)f(allo)m(w)i(them)e(to)i(b)s
(e)d(sp)s(eci\014ed.)150 4375 y Fk(In)m(v)m(ok)m(ed)40
b(with)g(unequal)h(e\013ectiv)m(e)e(and)i(real)g Fg(uid/gid)p
Fk(s)150 4522 y Fu(If)34 b(Bash)h(is)g(started)g(with)f(the)h
(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)g
(real)g(user)f(\(group\))h(id,)150 4631 y(and)26 b(the)i
Ft(-p)e Fu(option)h(is)g(not)h(supplied,)e(no)h(startup)g(\014les)g
(are)g(read,)h(shell)f(functions)g(are)g(not)g(inherited)150
4741 y(from)41 b(the)g(en)m(vironmen)m(t,)j(the)d Ft(SHELLOPTS)p
Fu(,)h Ft(BASHOPTS)p Fu(,)g Ft(CDPATH)p Fu(,)g(and)e
Ft(GLOBIGNORE)e Fu(v)-5 b(ariables,)45 b(if)150 4850
y(they)28 b(app)s(ear)f(in)h(the)g(en)m(vironmen)m(t,)i(are)e(ignored,)
h(and)e(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)g(to)h(the)f(real)h
(user)150 4960 y(id.)62 b(If)38 b(the)f Ft(-p)h Fu(option)g(is)f
(supplied)g(at)h(in)m(v)m(o)s(cation,)k(the)c(startup)f(b)s(eha)m(vior)
h(is)g(the)g(same,)i(but)d(the)150 5070 y(e\013ectiv)m(e)c(user)d(id)g
(is)g(not)h(reset.)150 5324 y Fs(6.3)68 b(In)l(teractiv)l(e)47
b(Shells)p eop end
%%Page: 95 101
TeXDict begin 95 100 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2484 b(95)150 299 y Fk(6.3.1)63
@@ -16641,39 +16643,43 @@ b Fu(argumen)m(t)30 b(restricts)h(op)s(eration)g(to)g(running)e(jobs.)
150 1275 y Ft(suspend)870 1410 y(suspend)46 b([-f])630
1544 y Fu(Susp)s(end)31 b(the)i(execution)h(of)g(this)f(shell)g(un)m
(til)h(it)g(receiv)m(es)h(a)e Ft(SIGCONT)f Fu(signal.)50
b(A)33 b(login)630 1654 y(shell)28 b(cannot)g(b)s(e)f(susp)s(ended;)g
(the)g Ft(-f)g Fu(option)i(can)f(b)s(e)f(used)g(to)h(o)m(v)m(erride)h
(this)e(and)g(force)630 1763 y(the)k(susp)s(ension.)275
1923 y(When)f(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i(the)d
b(A)33 b(login)630 1654 y(shell,)25 b(or)f(a)g(shell)f(without)h(job)f
(con)m(trol)i(enabled,)g(cannot)f(b)s(e)f(susp)s(ended;)h(the)g
Ft(-f)e Fu(option)630 1763 y(can)35 b(b)s(e)g(used)f(to)i(o)m(v)m
(erride)g(this)f(and)f(force)i(the)f(susp)s(ension.)53
b(The)34 b(return)g(status)h(is)h(0)630 1873 y(unless)43
b(the)g(shell)h(is)f(a)h(login)g(shell)g(or)f(job)g(con)m(trol)i(is)e
(not)h(enabled)f(and)g Ft(-f)f Fu(is)i(not)630 1983 y(supplied.)275
2142 y(When)30 b(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i(the)d
Ft(kill)f Fu(and)h Ft(wait)f Fu(builtins)g(do)h(not)h(accept)h
Fr(jobsp)s(ec)j Fu(argu-)150 2032 y(men)m(ts.)41 b(They)30
Fr(jobsp)s(ec)j Fu(argu-)150 2252 y(men)m(ts.)41 b(They)30
b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h Fm(id)p Fu(s.)150
2273 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150
2457 y Ft(auto_resume)630 2567 y Fu(This)31 b(v)-5 b(ariable)32
2492 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150
2677 y Ft(auto_resume)630 2786 y Fu(This)31 b(v)-5 b(ariable)32
b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m(teracts)h(with)e(the)h
(user)e(and)h(job)g(con)m(trol.)45 b(If)630 2677 y(this)28
(user)e(and)h(job)g(con)m(trol.)45 b(If)630 2896 y(this)28
b(v)-5 b(ariable)30 b(exists)f(then)f(single)h(w)m(ord)f(simple)h
(commands)f(without)g(redirections)i(are)630 2786 y(treated)h(as)g
(commands)f(without)g(redirections)i(are)630 3005 y(treated)h(as)g
(candidates)f(for)g(resumption)g(of)g(an)g(existing)h(job.)41
b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 2896 y(allo)m(w)m(ed;)f(if)d
b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 3115 y(allo)m(w)m(ed;)f(if)d
(there)g(is)g(more)g(than)f(one)h(job)g(b)s(eginning)f(with)g(the)h
(string)g(t)m(yp)s(ed,)g(then)g(the)630 3005 y(most)j(recen)m(tly)h
(string)g(t)m(yp)s(ed,)g(then)g(the)630 3225 y(most)j(recen)m(tly)h
(accessed)f(job)f(will)h(b)s(e)f(selected.)42 b(The)29
b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630 3115
b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630 3334
y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g(it.)41
b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
b(alue)630 3225 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f
b(alue)630 3444 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f
(m)m(ust)h(matc)m(h)g(the)h(name)f(of)g(a)g(stopp)s(ed)f(job)h
(exactly;)j(if)630 3334 y(set)29 b(to)h(`)p Ft(substring)p
(exactly;)j(if)630 3553 y(set)29 b(to)h(`)p Ft(substring)p
Fu(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f
(substring)f(of)h(the)g(name)630 3444 y(of)38 b(a)f(stopp)s(ed)g(job.)
(substring)f(of)h(the)g(name)630 3663 y(of)38 b(a)f(stopp)s(ed)g(job.)
62 b(The)37 b(`)p Ft(substring)p Fu(')e(v)-5 b(alue)38
b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
3553 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g
3773 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g
(7.1)g([Job)e(Con)m(trol)i(Basics],)i(page)e(113\).)56
b(If)34 b(set)i(to)g(an)m(y)630 3663 y(other)c(v)-5 b(alue,)32
b(If)34 b(set)i(to)g(an)m(y)630 3882 y(other)c(v)-5 b(alue,)32
b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f(of)h(a)g
(stopp)s(ed)e(job's)i(name;)g(this)630 3773 y(pro)m(vides)e
(stopp)s(ed)e(job's)i(name;)g(this)630 3992 y(pro)m(vides)e
(functionalit)m(y)i(analogous)g(to)f(the)g(`)p Ft(\045)p
Fu(')f(job)g Fm(id)p Fu(.)p eop end
%%Page: 117 123
+194 -193
View File
@@ -1679,28 +1679,29 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
ssuussppeenndd [--ff]
Suspend the execution of this shell until it receives a SSIIGGCCOONNTT
signal. A login shell cannot be suspended; the --ff option can be
used to override this and force the suspension. The return sta-
tus is 0 unless the shell is a login shell and --ff is not sup-
plied, or if job control is not enabled.
signal. A login shell, or a shell without job control enabled,
cannot be suspended; the --ff option can be used to override this
and force the suspension. The return status is 0 unless the
shell is a login shell or job control is not enabled and --ff is
not supplied.
tteesstt _e_x_p_r
[[ _e_x_p_r ]]
Return a status of 0 (true) or 1 (false) depending on the evalu-
ation of the conditional expression _e_x_p_r. Each operator and op-
erand must be a separate argument. Expressions are composed of
the primaries described in the bbaasshh manual page under CCOONNDDII--
TTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not accept any options, nor does
it accept and ignore an argument of ---- as signifying the end of
erand must be a separate argument. Expressions are composed of
the primaries described in the bbaasshh manual page under CCOONNDDII--
TTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not accept any options, nor does
it accept and ignore an argument of ---- as signifying the end of
options.
Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation de-
pends on the number of arguments; see below. Operator prece-
Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation de-
pends on the number of arguments; see below. Operator prece-
dence is used when there are five or more arguments.
!! _e_x_p_r True if _e_x_p_r is false.
(( _e_x_p_r ))
Returns the value of _e_x_p_r. This may be used to override
Returns the value of _e_x_p_r. This may be used to override
the normal precedence of operators.
_e_x_p_r_1 -aa _e_x_p_r_2
True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
@@ -1717,139 +1718,139 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
null.
2 arguments
If the first argument is !!, the expression is true if and
only if the second argument is null. If the first argu-
ment is one of the unary conditional operators listed
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
only if the second argument is null. If the first argu-
ment is one of the unary conditional operators listed
above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
The following conditions are applied in the order listed.
If the second argument is one of the binary conditional
If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
using the first and third arguments as operands. The --aa
and --oo operators are considered binary operators when
there are three arguments. If the first argument is !!,
the value is the negation of the two-argument test using
using the first and third arguments as operands. The --aa
and --oo operators are considered binary operators when
there are three arguments. If the first argument is !!,
the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (( and the third argument is exactly )), the result
is the one-argument test of the second argument. Other-
is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
The following conditions are applied in the order listed.
If the first argument is !!, the result is the negation of
the three-argument expression composed of the remaining
arguments. the two-argument test using the second and
third arguments. If the first argument is exactly (( and
the fourth argument is exactly )), the result is the two-
argument test of the second and third arguments. Other-
the three-argument expression composed of the remaining
arguments. the two-argument test using the second and
third arguments. If the first argument is exactly (( and
the fourth argument is exactly )), the result is the two-
argument test of the second and third arguments. Other-
wise, the expression is parsed and evaluated according to
precedence using the rules listed above.
5 or more arguments
The expression is parsed and evaluated according to
The expression is parsed and evaluated according to
precedence using the rules listed above.
When used with tteesstt or [[, the << and >> operators sort lexico-
When used with tteesstt or [[, the << and >> operators sort lexico-
graphically using ASCII ordering.
ttiimmeess Print the accumulated user and system times for the shell and
ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
The command _a_r_g is to be read and executed when the shell re-
The command _a_r_g is to be read and executed when the shell re-
ceives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a sin-
gle _s_i_g_s_p_e_c) or --, each specified signal is reset to its origi-
nal disposition (the value it had upon entrance to the shell).
If _a_r_g is the null string the signal specified by each _s_i_g_s_p_e_c
is ignored by the shell and by the commands it invokes. If _a_r_g
is not present and --pp has been supplied, then the trap commands
gle _s_i_g_s_p_e_c) or --, each specified signal is reset to its origi-
nal disposition (the value it had upon entrance to the shell).
If _a_r_g is the null string the signal specified by each _s_i_g_s_p_e_c
is ignored by the shell and by the commands it invokes. If _a_r_g
is not present and --pp has been supplied, then the trap commands
associated with each _s_i_g_s_p_e_c are displayed. If no arguments are
supplied or if only --pp is given, ttrraapp prints the list of com-
mands associated with each signal. The --ll option causes the
shell to print a list of signal names and their corresponding
numbers. Each _s_i_g_s_p_e_c is either a signal name defined in <_s_i_g_-
_n_a_l_._h>, or a signal number. Signal names are case insensitive
supplied or if only --pp is given, ttrraapp prints the list of com-
mands associated with each signal. The --ll option causes the
shell to print a list of signal names and their corresponding
numbers. Each _s_i_g_s_p_e_c is either a signal name defined in <_s_i_g_-
_n_a_l_._h>, or a signal number. Signal names are case insensitive
and the SSIIGG prefix is optional.
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
ishes executing.
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a
pipeline (which may consist of a single simple command), a list,
or a compound command returns a non-zero exit status, subject to
the following conditions. The EERRRR trap is not executed if the
the following conditions. The EERRRR trap is not executed if the
failed command is part of the command list immediately following
a wwhhiillee or uunnttiill keyword, part of the test in an _i_f statement,
a wwhhiillee or uunnttiill keyword, part of the test in an _i_f statement,
part of a command executed in a &&&& or |||| list except the command
following the final &&&& or ||||, any command in a pipeline but the
last, or if the command's return value is being inverted using
following the final &&&& or ||||, any command in a pipeline but the
last, or if the command's return value is being inverted using
!!. These are the same conditions obeyed by the eerrrreexxiitt (--ee) op-
tion.
Signals ignored upon entry to the shell cannot be trapped or re-
set. Trapped signals that are not being ignored are reset to
set. Trapped signals that are not being ignored are reset to
their original values in a subshell or subshell environment when
one is created. The return status is false if any _s_i_g_s_p_e_c is
one is created. The return status is false if any _s_i_g_s_p_e_c is
invalid; otherwise ttrraapp returns true.
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
With no options, indicate how each _n_a_m_e would be interpreted if
With no options, indicate how each _n_a_m_e would be interpreted if
used as a command name. If the --tt option is used, ttyyppee prints a
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is re-
turned. If the --pp option is used, ttyyppee either returns the name
of the disk file that would be executed if _n_a_m_e were specified
as a command name, or nothing if ``type -t name'' would not re-
turn _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is re-
turned. If the --pp option is used, ttyyppee either returns the name
of the disk file that would be executed if _n_a_m_e were specified
as a command name, or nothing if ``type -t name'' would not re-
turn _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
even if ``type -t name'' would not return _f_i_l_e. If a command is
hashed, --pp and --PP print the hashed value, which is not necessar-
ily the file that appears first in PPAATTHH. If the --aa option is
used, ttyyppee prints all of the places that contain an executable
ily the file that appears first in PPAATTHH. If the --aa option is
used, ttyyppee prints all of the places that contain an executable
named _n_a_m_e. This includes aliases and functions, if and only if
the --pp option is not also used. The table of hashed commands is
not consulted when using --aa. The --ff option suppresses shell
not consulted when using --aa. The --ff option suppresses shell
function lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true
if all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSS] --aa
uulliimmiitt [--HHSS] [--bbccddeeffiikkllmmnnppqqrrssttuuvvxxPPRRTT [_l_i_m_i_t]]
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
fied, both the soft and hard limits are set. The value of _l_i_m_i_t
can be a number in the unit specified for the resource or one of
the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the
current hard limit, the current soft limit, and no limit, re-
spectively. If _l_i_m_i_t is omitted, the current value of the soft
current hard limit, the current soft limit, and no limit, re-
spectively. If _l_i_m_i_t is omitted, the current value of the soft
limit of the resource is printed, unless the --HH option is given.
When more than one resource is specified, the limit name and
unit, if appropriate, are printed before the value. Other op-
When more than one resource is specified, the limit name and
unit, if appropriate, are printed before the value. Other op-
tions are interpreted as follows:
--aa All current limits are reported; no limits are set
--bb The maximum socket buffer size
--cc The maximum size of core files created
--dd The maximum size of a process's data segment
--ee The maximum scheduling priority ("nice")
--ff The maximum size of files written by the shell and its
--ff The maximum size of files written by the shell and its
children
--ii The maximum number of pending signals
--kk The maximum number of kqueues that may be allocated
--ll The maximum size that may be locked into memory
--mm The maximum resident set size (many systems do not honor
--mm The maximum resident set size (many systems do not honor
this limit)
--nn The maximum number of open file descriptors (most systems
do not allow this value to be set)
@@ -1858,132 +1859,132 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
--uu The maximum number of processes available to a single
--uu The maximum number of processes available to a single
user
--vv The maximum amount of virtual memory available to the
--vv The maximum amount of virtual memory available to the
shell and, on some systems, to its children
--xx The maximum number of file locks
--PP The maximum number of pseudoterminals
--RR The maximum time a real-time process can run before
--RR The maximum time a real-time process can run before
blocking, in microseconds
--TT The maximum number of threads
If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
new value of the specified resource. If no option is given,
then --ff is assumed. Values are in 1024-byte increments, except
for --tt, which is in seconds; --RR, which is in microseconds; --pp,
which is in units of 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and
--uu, which are unscaled values; and, when in posix mode, --cc and
--ff, which are in 512-byte increments. The return status is 0
unless an invalid option or argument is supplied, or an error
If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
new value of the specified resource. If no option is given,
then --ff is assumed. Values are in 1024-byte increments, except
for --tt, which is in seconds; --RR, which is in microseconds; --pp,
which is in units of 512-byte blocks; --PP, --TT, --bb, --kk, --nn, and
--uu, which are unscaled values; and, when in posix mode, --cc and
--ff, which are in 512-byte increments. The return status is 0
unless an invalid option or argument is supplied, or an error
occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
option is supplied, and _m_o_d_e is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
was successfully changed or if no _m_o_d_e argument was supplied,
was successfully changed or if no _m_o_d_e argument was supplied,
and false otherwise.
uunnaalliiaass [-aa] [_n_a_m_e ...]
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
is true unless a supplied _n_a_m_e is not a defined alias.
uunnsseett [-ffvv] [-nn] [_n_a_m_e ...]
For each _n_a_m_e, remove the corresponding variable or function.
For each _n_a_m_e, remove the corresponding variable or function.
If the --vv option is given, each _n_a_m_e refers to a shell variable,
and that variable is removed. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. If the --nn option
is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
_n_a_m_e will be unset rather than the variable it references. --nn
has no effect if the --ff option is supplied. If no options are
supplied, each _n_a_m_e refers to a variable; if there is no vari-
able by that name, a function with that name, if any, is unset.
Each unset variable or function is removed from the environment
passed to subsequent commands. If any of BBAASSHH__AALLIIAASSEESS,
and that variable is removed. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. If the --nn option
is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
_n_a_m_e will be unset rather than the variable it references. --nn
has no effect if the --ff option is supplied. If no options are
supplied, each _n_a_m_e refers to a variable; if there is no vari-
able by that name, a function with that name, if any, is unset.
Each unset variable or function is removed from the environment
passed to subsequent commands. If any of BBAASSHH__AALLIIAASSEESS,
BBAASSHH__AARRGGVV00, BBAASSHH__CCMMDDSS, BBAASSHH__CCOOMMMMAANNDD, BBAASSHH__SSUUBBSSHHEELLLL, BBAASSHHPPIIDD,
CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCC--
NNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECCOONNDDSS, or SSRRAANNDDOOMM are
CCOOMMPP__WWOORRDDBBRREEAAKKSS, DDIIRRSSTTAACCKK, EEPPOOCCHHRREEAALLTTIIMMEE, EEPPOOCCHHSSEECCOONNDDSS, FFUUNNCC--
NNAAMMEE, GGRROOUUPPSS, HHIISSTTCCMMDD, LLIINNEENNOO, RRAANNDDOOMM, SSEECCOONNDDSS, or SSRRAANNDDOOMM are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _n_a_m_e is read-
only or may not be unset.
wwaaiitt [--ffnn] [--pp _v_a_r_n_a_m_e] [_i_d _._._.]
Wait for each specified child process and return its termination
status. Each _i_d may be a process ID or a job specification; if
a job spec is given, all processes in that job's pipeline are
waited for. If _i_d is not given, wwaaiitt waits for all running
background jobs and the last-executed process substitution, if
status. Each _i_d may be a process ID or a job specification; if
a job spec is given, all processes in that job's pipeline are
waited for. If _i_d is not given, wwaaiitt waits for all running
background jobs and the last-executed process substitution, if
its process id is the same as $$!!, and the return status is zero.
If the --nn option is supplied, wwaaiitt waits for a single job from
If the --nn option is supplied, wwaaiitt waits for a single job from
the list of _i_ds or, if no _i_ds are supplied, any job, to complete
and returns its exit status. If none of the supplied arguments
and returns its exit status. If none of the supplied arguments
is a child of the shell, or if no arguments are supplied and the
shell has no unwaited-for children, the exit status is 127. If
the --pp option is supplied, the process or job identifier of the
job for which the exit status is returned is assigned to the
variable _v_a_r_n_a_m_e named by the option argument. The variable
will be unset initially, before any assignment. This is useful
only when the --nn option is supplied. Supplying the --ff option,
when job control is enabled, forces wwaaiitt to wait for _i_d to ter-
shell has no unwaited-for children, the exit status is 127. If
the --pp option is supplied, the process or job identifier of the
job for which the exit status is returned is assigned to the
variable _v_a_r_n_a_m_e named by the option argument. The variable
will be unset initially, before any assignment. This is useful
only when the --nn option is supplied. Supplying the --ff option,
when job control is enabled, forces wwaaiitt to wait for _i_d to ter-
minate before returning its status, instead of returning when it
changes status. If _i_d specifies a non-existent process or job,
the return status is 127. Otherwise, the return status is the
changes status. If _i_d specifies a non-existent process or job,
the return status is 127. Otherwise, the return status is the
exit status of the last process or job waited for.
SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE
Bash-4.0 introduced the concept of a _s_h_e_l_l _c_o_m_p_a_t_i_b_i_l_i_t_y _l_e_v_e_l, speci-
fied as a set of options to the shopt builtin ( ccoommppaatt3311, ccoommppaatt3322,
ccoommppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibil-
ity level -- each option is mutually exclusive. The compatibility
level is intended to allow users to select behavior from previous ver-
sions that is incompatible with newer versions while they migrate
scripts to use current features and behavior. It's intended to be a
Bash-4.0 introduced the concept of a _s_h_e_l_l _c_o_m_p_a_t_i_b_i_l_i_t_y _l_e_v_e_l, speci-
fied as a set of options to the shopt builtin ( ccoommppaatt3311, ccoommppaatt3322,
ccoommppaatt4400, ccoommppaatt4411, and so on). There is only one current compatibil-
ity level -- each option is mutually exclusive. The compatibility
level is intended to allow users to select behavior from previous ver-
sions that is incompatible with newer versions while they migrate
scripts to use current features and behavior. It's intended to be a
temporary solution.
This section does not mention behavior that is standard for a particu-
lar version (e.g., setting ccoommppaatt3322 means that quoting the rhs of the
regexp matching operator quotes special regexp characters in the word,
This section does not mention behavior that is standard for a particu-
lar version (e.g., setting ccoommppaatt3322 means that quoting the rhs of the
regexp matching operator quotes special regexp characters in the word,
which is default behavior in bash-3.2 and above).
If a user enables, say, ccoommppaatt3322, it may affect the behavior of other
compatibility levels up to and including the current compatibility
level. The idea is that each compatibility level controls behavior
that changed in that version of bbaasshh, but that behavior may have been
present in earlier versions. For instance, the change to use locale-
based comparisons with the [[[[ command came in bash-4.1, and earlier
If a user enables, say, ccoommppaatt3322, it may affect the behavior of other
compatibility levels up to and including the current compatibility
level. The idea is that each compatibility level controls behavior
that changed in that version of bbaasshh, but that behavior may have been
present in earlier versions. For instance, the change to use locale-
based comparisons with the [[[[ command came in bash-4.1, and earlier
versions used ASCII-based comparisons, so enabling ccoommppaatt3322 will enable
ASCII-based comparisons as well. That granularity may not be suffi-
cient for all uses, and as a result users should employ compatibility
levels carefully. Read the documentation for a particular feature to
ASCII-based comparisons as well. That granularity may not be suffi-
cient for all uses, and as a result users should employ compatibility
levels carefully. Read the documentation for a particular feature to
find out the current behavior.
Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as-
Bash-4.3 introduced a new shell variable: BBAASSHH__CCOOMMPPAATT. The value as-
signed to this variable (a decimal version number like 4.2, or an inte-
ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com-
ger corresponding to the ccoommppaatt_N_N option, like 42) determines the com-
patibility level.
Starting with bash-4.4, Bash has begun deprecating older compatibility
levels. Eventually, the options will be removed in favor of BBAASSHH__CCOOMM--
Starting with bash-4.4, Bash has begun deprecating older compatibility
levels. Eventually, the options will be removed in favor of BBAASSHH__CCOOMM--
PPAATT.
Bash-5.0 is the final version for which there will be an individual
shopt option for the previous version. Users should use BBAASSHH__CCOOMMPPAATT on
Bash-5.0 is the final version for which there will be an individual
shopt option for the previous version. Users should use BBAASSHH__CCOOMMPPAATT on
bash-5.0 and later versions.
The following table describes the behavior changes controlled by each
The following table describes the behavior changes controlled by each
compatibility level setting. The ccoommppaatt_N_N tag is used as shorthand for
setting the compatibility level to _N_N using one of the following mecha-
nisms. For versions prior to bash-5.0, the compatibility level may be
set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and
later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re-
nisms. For versions prior to bash-5.0, the compatibility level may be
set using the corresponding ccoommppaatt_N_N shopt option. For bash-4.3 and
later versions, the BBAASSHH__CCOOMMPPAATT variable is preferred, and it is re-
quired for bash-5.1 and later versions.
ccoommppaatt3311
@@ -1991,85 +1992,85 @@ SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE
ator (=~) has no special effect
ccoommppaatt3322
+o interrupting a command list such as "a ; b ; c" causes
the execution of the next command in the list (in
bash-4.0 and later versions, the shell acts as if it re-
ceived the interrupt, so interrupting one command in a
+o interrupting a command list such as "a ; b ; c" causes
the execution of the next command in the list (in
bash-4.0 and later versions, the shell acts as if it re-
ceived the interrupt, so interrupting one command in a
list aborts the execution of the entire list)
ccoommppaatt4400
+o the << and >> operators to the [[[[ command do not consider
+o the << and >> operators to the [[[[ command do not consider
the current locale when comparing strings; they use ASCII
ordering. Bash versions prior to bash-4.1 use ASCII col-
lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current
lation and _s_t_r_c_m_p(3); bash-4.1 and later use the current
locale's collation sequence and _s_t_r_c_o_l_l(3).
ccoommppaatt4411
+o in _p_o_s_i_x mode, ttiimmee may be followed by options and still
+o in _p_o_s_i_x mode, ttiimmee may be followed by options and still
be recognized as a reserved word (this is POSIX interpre-
tation 267)
+o in _p_o_s_i_x mode, the parser requires that an even number of
single quotes occur in the _w_o_r_d portion of a double-
quoted parameter expansion and treats them specially, so
that characters within the single quotes are considered
single quotes occur in the _w_o_r_d portion of a double-
quoted parameter expansion and treats them specially, so
that characters within the single quotes are considered
quoted (this is POSIX interpretation 221)
ccoommppaatt4422
+o the replacement string in double-quoted pattern substitu-
tion does not undergo quote removal, as it does in ver-
tion does not undergo quote removal, as it does in ver-
sions after bash-4.2
+o in posix mode, single quotes are considered special when
expanding the _w_o_r_d portion of a double-quoted parameter
expansion and can be used to quote a closing brace or
other special character (this is part of POSIX interpre-
tation 221); in later versions, single quotes are not
+o in posix mode, single quotes are considered special when
expanding the _w_o_r_d portion of a double-quoted parameter
expansion and can be used to quote a closing brace or
other special character (this is part of POSIX interpre-
tation 221); in later versions, single quotes are not
special within double-quoted word expansions
ccoommppaatt4433
+o the shell does not print a warning message if an attempt
is made to use a quoted compound assignment as an argu-
ment to declare (declare -a foo='(1 2)'). Later versions
+o the shell does not print a warning message if an attempt
is made to use a quoted compound assignment as an argu-
ment to declare (declare -a foo='(1 2)'). Later versions
warn that this usage is deprecated
+o word expansion errors are considered non-fatal errors
that cause the current command to fail, even in posix
mode (the default behavior is to make them fatal errors
+o word expansion errors are considered non-fatal errors
that cause the current command to fail, even in posix
mode (the default behavior is to make them fatal errors
that cause the shell to exit)
+o when executing a shell function, the loop state
+o when executing a shell function, the loop state
(while/until/etc.) is not reset, so bbrreeaakk or ccoonnttiinnuuee in
that function will break or continue loops in the calling
context. Bash-4.4 and later reset the loop state to pre-
context. Bash-4.4 and later reset the loop state to pre-
vent this
ccoommppaatt4444
+o the shell sets up the values used by BBAASSHH__AARRGGVV and
BBAASSHH__AARRGGCC so they can expand to the shell's positional
+o the shell sets up the values used by BBAASSHH__AARRGGVV and
BBAASSHH__AARRGGCC so they can expand to the shell's positional
parameters even if extended debugging mode is not enabled
+o a subshell inherits loops from its parent context, so
bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit.
Bash-5.0 and later reset the loop state to prevent the
+o a subshell inherits loops from its parent context, so
bbrreeaakk or ccoonnttiinnuuee will cause the subshell to exit.
Bash-5.0 and later reset the loop state to prevent the
exit
+o variable assignments preceding builtins like eexxppoorrtt and
+o variable assignments preceding builtins like eexxppoorrtt and
rreeaaddoonnllyy that set attributes continue to affect variables
with the same name in the calling environment even if the
shell is not in posix mode
ccoommppaatt5500
+o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro-
+o Bash-5.1 changed the way $$RRAANNDDOOMM is generated to intro-
duce slightly more randomness. If the shell compatibility
level is set to 50 or lower, it reverts to the method
from bash-5.0 and previous versions, so seeding the ran-
dom number generator by assigning a value to RRAANNDDOOMM will
level is set to 50 or lower, it reverts to the method
from bash-5.0 and previous versions, so seeding the ran-
dom number generator by assigning a value to RRAANNDDOOMM will
produce the same sequence as in bash-5.0
+o If the command hash table is empty, bash versions prior
to bash-5.1 printed an informational message to that ef-
fect, even when producing output that can be reused as
input. Bash-5.1 suppresses that message when the --ll op-
+o If the command hash table is empty, bash versions prior
to bash-5.1 printed an informational message to that ef-
fect, even when producing output that can be reused as
input. Bash-5.1 suppresses that message when the --ll op-
tion is supplied.
ccoommppaatt5511
+o The uunnsseett builtin treats attempts to unset array sub-
scripts @@ and ** differently depending on whether the ar-
ray is indexed or associative, and differently than in
+o The uunnsseett builtin treats attempts to unset array sub-
scripts @@ and ** differently depending on whether the ar-
ray is indexed or associative, and differently than in
previous versions.
SSEEEE AALLSSOO
+349 -350
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
%%CreationDate: Wed May 4 15:10:59 2022
%%CreationDate: Mon Jun 13 11:04:35 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -2782,195 +2782,194 @@ he)184 283.2 R/F3 10/Times-Italic@0 SF({varname})3.24 E F0(redi-)3.24 E
(ving them open when the com-)-.2 F(mand completes.)184 307.2 Q F1
(xpg_echo)144 324 Q F0(If set, the)184 336 Q F1(echo)2.5 E F0 -.2(bu)2.5
G(iltin e).2 E(xpands backslash-escape sequences by def)-.15 E(ault.)-.1
E F1(suspend)108 352.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
(Suspend the e)144 364.8 R -.15(xe)-.15 G 1.001
(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
3.502 F .023(suspended; the)144 376.8 R F1<ad66>2.523 E F0 .023
(option can be used to o)2.523 F -.15(ve)-.15 G .022
(rride this and force the suspension.).15 F .022(The return status is)
5.022 F 2.5(0u)144 388.8 S(nless the shell is a login shell and)-2.5 E
F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
E F1(test)108 405.6 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 417.6 Q F3 -.2
(ex)2.5 G(pr).2 E F1(])2.5 E F0 .877
(Return a status of 0 \(true\) or 1 \(f)144 417.6 R .878
(alse\) depending on the e)-.1 F -.25(va)-.25 G .878
(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 429.6
E F1(suspend)108 352.8 Q F0([)2.5 E F1<ad66>A F0(])A .909(Suspend the e)
144 364.8 R -.15(xe)-.15 G .909(cution of this shell until it recei).15
F -.15(ve)-.25 G 3.41(sa).15 G F2(SIGCONT)A F0 3.41(signal. A)3.16 F .91
(login shell, or a shell)3.41 F .753
(without job control enabled, cannot be suspended; the)144 376.8 R F1
<ad66>3.253 E F0 .752(option can be used to o)3.252 F -.15(ve)-.15 G
.752(rride this and).15 F .107(force the suspension.)144 388.8 R .107(T\
he return status is 0 unless the shell is a login shell or job control \
is not en-)5.107 F(abled and)144 400.8 Q F1<ad66>2.5 E F0
(is not supplied.)2.5 E F1(test)108 417.6 Q F3 -.2(ex)2.5 G(pr).2 E F1
([)108 429.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
(Return a status of 0 \(true\) or 1 \(f)144 429.6 R .877
(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 441.6
S(pr).2 E F0 5.53(.E).73 G .53
(ach operator and operand must be a separate ar)-5.53 F 3.03
(gument. Expressions)-.18 F .53(are composed of the)3.03 F .072
(primaries described in the)144 441.6 R F1(bash)2.573 E F0 .073
(gument. Expressions)-.18 F .53(are composed of the)3.03 F .073
(primaries described in the)144 453.6 R F1(bash)2.573 E F0 .073
(manual page under)2.573 F F2(CONDITION)2.573 E .073(AL EXPRESSIONS)-.18
F/F4 9/Times-Roman@0 SF(.)A F1(test)4.573 E F0 .073(does not)2.573 F
.695(accept an)144 453.6 R 3.195(yo)-.15 G .695
(ptions, nor does it accept and ignore an ar)-3.195 F .694(gument of)
-.18 F F1<adad>3.194 E F0 .694(as signifying the end of op-)3.194 F
(tions.)144 465.6 Q .785(Expressions may be combined using the follo)144
483.6 R .786(wing operators, listed in decreasing order of prece-)-.25 F
3.412(dence. The)144 495.6 R -.25(eva)3.412 G .912
(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F
4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F
(used when there are \214v)144 507.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
(ore ar)-2.5 E(guments.)-.18 E F1(!)144 519.6 Q F3 -.2(ex)2.5 G(pr).2 E
F0 -.35(Tr)180 519.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
E(alse.)-.1 E F1(\()144 531.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
.26(Returns the v)180 531.6 R .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2
F/F4 9/Times-Roman@0 SF(.)A F1(test)4.573 E F0 .072(does not)2.572 F
.694(accept an)144 465.6 R 3.194(yo)-.15 G .694
(ptions, nor does it accept and ignore an ar)-3.194 F .695(gument of)
-.18 F F1<adad>3.195 E F0 .695(as signifying the end of op-)3.195 F
(tions.)144 477.6 Q .786(Expressions may be combined using the follo)144
495.6 R .785(wing operators, listed in decreasing order of prece-)-.25 F
3.411(dence. The)144 507.6 R -.25(eva)3.411 G .911
(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
(used when there are \214v)144 519.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
(ore ar)-2.5 E(guments.)-.18 E F1(!)144 531.6 Q F3 -.2(ex)2.5 G(pr).2 E
F0 -.35(Tr)180 531.6 S(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23
E(alse.)-.1 E F1(\()144 543.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
.26(Returns the v)180 543.6 R .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2
E F0 5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
(rride the normal precedence of opera-).15 F(tors.)180 543.6 Q F3 -.2
(ex)144 555.6 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0
-.35(Tr)180 567.6 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 579.6 S
(rride the normal precedence of opera-).15 F(tors.)180 555.6 Q F3 -.2
(ex)144 567.6 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0
-.35(Tr)180 579.6 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 591.6 S
(pr1).2 E F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180
591.6 S(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2
(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 608.4 Q F0(and)2.5 E
603.6 S(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2
(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 620.4 Q F0(and)2.5 E
F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E
(xpressions using a set of rules based on the number of ar)-.15 E
(guments.)-.18 E 2.5(0a)144 626.4 S -.18(rg)-2.5 G(uments).18 E(The e)
180 638.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 650.4 S -.18
(rg)-2.5 G(ument).18 E(The e)180 662.4 Q
(guments.)-.18 E 2.5(0a)144 638.4 S -.18(rg)-2.5 G(uments).18 E(The e)
180 650.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 662.4 S -.18
(rg)-2.5 G(ument).18 E(The e)180 674.4 Q
(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
E 2.5(2a)144 674.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
180 686.4 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
E 2.5(2a)144 686.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
180 698.4 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
F .37(xpression is true if and only if the second ar)-.15 F .37
(gument is null.)-.18 F .379(If the \214rst ar)180 698.4 R .38
(gument is one of the unary conditional operators listed abo)-.18 F .68
-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 710.4 Q .553
(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
(xpression is true if the unary test is true.)-.15 F .552
(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 722.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(2021 No)136.385
E -.15(ve)-.15 G(mber 22).15 E(22)185.545 E 0 Cg EP
(gument is null.)-.18 F .38(If the \214rst ar)180 710.4 R .38
(gument is one of the unary conditional operators listed abo)-.18 F .679
-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.879 E(TION)180 722.4 Q 2.264
(AL EXPRESSIONS)-.18 F F4(,)A F0 2.264(the e)4.514 F 2.264
(xpression is true if the unary test is true.)-.15 F 2.265
(If the \214rst)7.265 F(GNU Bash 5.2)72 768 Q(2021 No)136.385 E -.15(ve)
-.15 G(mber 22).15 E(22)185.545 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E 2.5(3a)144 84 S -.18(rg)-2.5 G(uments).18 E
.236(The follo)180 96 R .236
E(UIL)-.1 E(TINS\(1\))-.92 E(ar)180 84 Q(gument is not a v)-.18 E
(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 96 S -.18(rg)-2.5 G
(uments).18 E .236(The follo)180 108 R .236
(wing conditions are applied in the order listed.)-.25 F .236
(If the second ar)5.236 F .236(gument is one of)-.18 F .855
(the binary conditional operators listed abo)180 108 R 1.155 -.15(ve u)
(the binary conditional operators listed abo)180 120 R 1.155 -.15(ve u)
-.15 H(nder).15 E/F1 9/Times-Bold@0 SF(CONDITION)3.355 E .855
(AL EXPRESSIONS)-.18 F/F2 9/Times-Roman@0 SF(,)A F0(the)3.104 E .578
(result of the e)180 120 R .578(xpression is the result of the binary t\
est using the \214rst and third ar)-.15 F(guments)-.18 E 1.333
(as operands.)180 132 R(The)6.333 E/F3 10/Times-Bold@0 SF<ad61>3.833 E
F0(and)3.833 E F3<ad6f>3.832 E F0 1.332
(AL EXPRESSIONS)-.18 F/F2 9/Times-Roman@0 SF(,)A F0(the)3.105 E .579
(result of the e)180 132 R .578(xpression is the result of the binary t\
est using the \214rst and third ar)-.15 F(guments)-.18 E 1.332
(as operands.)180 144 R(The)6.332 E/F3 10/Times-Bold@0 SF<ad61>3.832 E
F0(and)3.832 E F3<ad6f>3.832 E F0 1.333
(operators are considered binary operators when there are)3.832 F .558
(three ar)180 144 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
(three ar)180 156 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
.558(gument is)-.18 F F3(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F .558
(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F(o-ar)-.1
E(gument)-.18 E .521(test using the second and third ar)180 156 R 3.021
(guments. If)-.18 F .521(the \214rst ar)3.021 F .52(gument is e)-.18 F
(xactly)-.15 E F3(\()3.02 E F0 .52(and the third)3.02 F(ar)180 168 Q
E(gument)-.18 E .52(test using the second and third ar)180 168 R 3.021
(guments. If)-.18 F .521(the \214rst ar)3.021 F .521(gument is e)-.18 F
(xactly)-.15 E F3(\()3.021 E F0 .521(and the third)3.021 F(ar)180 180 Q
.485(gument is e)-.18 F(xactly)-.15 E F3(\))2.985 E F0 2.985(,t)C .485
(he result is the one-ar)-2.985 F .485(gument test of the second ar)-.18
F 2.985(gument. Other)-.18 F(-)-.2 E(wise, the e)180 180 Q
(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 192 S -.18(rg)-2.5 G
(uments).18 E .43(The follo)180 204 R .43
(wing conditions are applied in the order listed.)-.25 F .429
(If the \214rst ar)5.429 F .429(gument is)-.18 F F3(!)2.929 E F0 2.929
(,t)C .429(he re-)-2.929 F 1.314(sult is the ne)180 216 R -.05(ga)-.15 G
1.314(tion of the three-ar).05 F 1.314(gument e)-.18 F 1.314
(xpression composed of the remaining ar)-.15 F(gu-)-.18 E 2.745
(ments. the)180 228 R(tw)2.745 E(o-ar)-.1 E .245
(gument test using the second and third ar)-.18 F 2.744(guments. If)-.18
F .244(the \214rst ar)2.744 F(gument)-.18 E .309(is e)180 240 R(xactly)
-.15 E F3(\()2.809 E F0 .309(and the fourth ar)2.809 F .309(gument is e)
-.18 F(xactly)-.15 E F3(\))2.809 E F0 2.809(,t)C .31
(he result is the tw)-2.809 F(o-ar)-.1 E .31(gument test of the)-.18 F
.184(second and third ar)180 252 R 2.684(guments. Otherwise,)-.18 F .184
(the e)2.684 F .183(xpression is parsed and e)-.15 F -.25(va)-.25 G .183
(luated according).25 F(to precedence using the rules listed abo)180 264
Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 276 S 2.5(rm)-2.5 G(ore ar)-2.5 E
(guments)-.18 E 1.635(The e)180 288 R 1.635(xpression is parsed and e)
F 2.985(gument. Other)-.18 F(-)-.2 E(wise, the e)180 192 Q
(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 204 S -.18(rg)-2.5 G
(uments).18 E .429(The follo)180 216 R .429
(wing conditions are applied in the order listed.)-.25 F .43
(If the \214rst ar)5.429 F .43(gument is)-.18 F F3(!)2.93 E F0 2.93(,t)C
.43(he re-)-2.93 F 1.315(sult is the ne)180 228 R -.05(ga)-.15 G 1.314
(tion of the three-ar).05 F 1.314(gument e)-.18 F 1.314
(xpression composed of the remaining ar)-.15 F(gu-)-.18 E 2.744
(ments. the)180 240 R(tw)2.744 E(o-ar)-.1 E .245
(gument test using the second and third ar)-.18 F 2.745(guments. If)-.18
F .245(the \214rst ar)2.745 F(gument)-.18 E .31(is e)180 252 R(xactly)
-.15 E F3(\()2.81 E F0 .31(and the fourth ar)2.81 F .31(gument is e)-.18
F(xactly)-.15 E F3(\))2.809 E F0 2.809(,t)C .309(he result is the tw)
-2.809 F(o-ar)-.1 E .309(gument test of the)-.18 F .183
(second and third ar)180 264 R 2.683(guments. Otherwise,)-.18 F .184
(the e)2.684 F .184(xpression is parsed and e)-.15 F -.25(va)-.25 G .184
(luated according).25 F(to precedence using the rules listed abo)180 276
Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 288 S 2.5(rm)-2.5 G(ore ar)-2.5 E
(guments)-.18 E 1.635(The e)180 300 R 1.635(xpression is parsed and e)
-.15 F -.25(va)-.25 G 1.635
(luated according to precedence using the rules listed).25 F(abo)180 300
Q -.15(ve)-.15 G(.).15 E(When used with)144 318 Q F3(test)2.5 E F0(or)
(luated according to precedence using the rules listed).25 F(abo)180 312
Q -.15(ve)-.15 G(.).15 E(When used with)144 330 Q F3(test)2.5 E F0(or)
2.5 E F3([)2.5 E F0 2.5(,t)C(he)-2.5 E F3(<)2.5 E F0(and)2.5 E F3(>)2.5
E F0(operators sort le)2.5 E(xicographically using ASCII ordering.)-.15
E F3(times)108 334.8 Q F0 1.229(Print the accumulated user and system t\
imes for the shell and for processes run from the shell.)144 334.8 R
(The return status is 0.)144 346.8 Q F3(trap)108 363.6 Q F0([)2.5 E F3
E F3(times)108 346.8 Q F0 1.229(Print the accumulated user and system t\
imes for the shell and for processes run from the shell.)144 346.8 R
(The return status is 0.)144 358.8 Q F3(trap)108 375.6 Q F0([)2.5 E F3
(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10/Times-Italic@0 SF(ar)A(g)-.37 E F0
(])A F4(sigspec)2.5 E F0(...])2.5 E .682(The command)144 375.6 R F4(ar)
3.512 E(g)-.37 E F0 .682(is to be read and e)3.402 F -.15(xe)-.15 G .682
(cuted when the shell recei).15 F -.15(ve)-.25 G 3.183(ss).15 G
(ignal\(s\))-3.183 E F4(sigspec)3.523 E F0 5.683(.I).31 G(f)-5.683 E F4
(ar)3.513 E(g)-.37 E F0(is)3.403 E .609(absent \(and there is a single)
144 387.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F3<ad>3.108 E
(])A F4(sigspec)2.5 E F0(...])2.5 E .683(The command)144 387.6 R F4(ar)
3.513 E(g)-.37 E F0 .683(is to be read and e)3.403 F -.15(xe)-.15 G .682
(cuted when the shell recei).15 F -.15(ve)-.25 G 3.182(ss).15 G
(ignal\(s\))-3.182 E F4(sigspec)3.522 E F0 5.682(.I).31 G(f)-5.682 E F4
(ar)3.512 E(g)-.37 E F0(is)3.402 E .608(absent \(and there is a single)
144 399.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F3<ad>3.108 E
F0 3.108(,e)C .608
(ach speci\214ed signal is reset to its original disposition)-3.108 F
.658(\(the v)144 399.6 R .658(alue it had upon entrance to the shell\).)
-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .659
.659(\(the v)144 411.6 R .659(alue it had upon entrance to the shell\).)
-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .658
(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
144.34 411.6 Q F0 .581
(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
-.1(ke).2 G 3.08(s. If).1 F F4(ar)3.41 E(g)-.37 E F0 .58
(is not present and)3.3 F F3<ad70>3.08 E F0(has)3.08 E 1.214
(been supplied, then the trap commands associated with each)144 423.6 R
F4(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
F(gu-)-.18 E .86(ments are supplied or if only)144 435.6 R F3<ad70>3.36
144.34 423.6 Q F0 .58(is ignored by the shell and by the commands it in)
3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F4(ar)3.411 E(g)-.37 E
F0 .581(is not present and)3.301 F F3<ad70>3.081 E F0(has)3.081 E 1.215
(been supplied, then the trap commands associated with each)144 435.6 R
F4(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
F(gu-)-.18 E .86(ments are supplied or if only)144 447.6 R F3<ad70>3.36
E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F3(trap)3.36 E F0 .86
(prints the list of commands associated with each)3.36 F 2.83
(signal. The)144 447.6 R F3<ad6c>2.83 E F0 .33(option causes the shell \
to print a list of signal names and their corresponding num-)2.83 F
4.311(bers. Each)144 459.6 R F4(sigspec)4.651 E F0 1.811
(is either a signal name de\214ned in <)4.621 F F4(signal.h)A F0 1.81
(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
(names are case insensiti)144 471.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
F1(SIG)2.5 E F0(pre\214x is optional.)2.25 E .666(If a)144 489.6 R F4
(sigspec)3.506 E F0(is)3.476 E F1(EXIT)3.166 E F0 .666
(\(0\) the command)2.916 F F4(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F
-.15(xe)-.15 G .666(cuted on e).15 F .667(xit from the shell.)-.15 F
.667(If a)5.667 F F4(sigspec)3.507 E F0(is)3.477 E F1(DE-)3.167 E -.09
(BU)144 501.6 S(G).09 E F2(,)A F0 .484(the command)2.734 F F4(ar)3.314 E
(g)-.37 E F0 .484(is e)3.204 F -.15(xe)-.15 G .484(cuted before e).15 F
-.15(ve)-.25 G(ry).15 E F4 .483(simple command)2.984 F F0(,)A F4(for)
2.983 E F0(command,)2.983 E F4(case)2.983 E F0(command,)2.983 E F4
(select)144 513.6 Q F0 .562(command, e)3.062 F -.15(ve)-.25 G .563
(signal. The)144 459.6 R F3<ad6c>2.83 E F0 .33(option causes the shell \
to print a list of signal names and their corresponding num-)2.83 F 4.31
(bers. Each)144 471.6 R F4(sigspec)4.65 E F0 1.811
(is either a signal name de\214ned in <)4.62 F F4(signal.h)A F0 1.811
(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
(names are case insensiti)144 483.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
F1(SIG)2.5 E F0(pre\214x is optional.)2.25 E .667(If a)144 501.6 R F4
(sigspec)3.507 E F0(is)3.477 E F1(EXIT)3.167 E F0 .667
(\(0\) the command)2.917 F F4(ar)3.496 E(g)-.37 E F0 .666(is e)3.386 F
-.15(xe)-.15 G .666(cuted on e).15 F .666(xit from the shell.)-.15 F
.666(If a)5.666 F F4(sigspec)3.506 E F0(is)3.476 E F1(DE-)3.166 E -.09
(BU)144 513.6 S(G).09 E F2(,)A F0 .483(the command)2.733 F F4(ar)3.313 E
(g)-.37 E F0 .483(is e)3.203 F -.15(xe)-.15 G .484(cuted before e).15 F
-.15(ve)-.25 G(ry).15 E F4 .484(simple command)2.984 F F0(,)A F4(for)
2.984 E F0(command,)2.984 E F4(case)2.984 E F0(command,)2.984 E F4
(select)144 525.6 Q F0 .563(command, e)3.063 F -.15(ve)-.25 G .563
(ry arithmetic).15 F F4(for)3.063 E F0 .563
(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .563
(cutes in a shell).15 F .623(function \(see)144 525.6 R F1 .622
(command, and before the \214rst command e)3.063 F -.15(xe)-.15 G .562
(cutes in a shell).15 F .622(function \(see)144 537.6 R F1 .622
(SHELL GRAMMAR)3.122 F F0(abo)2.872 E -.15(ve)-.15 G 3.122(\). Refer).15
F .622(to the description of the)3.122 F F3(extdeb)3.122 E(ug)-.2 E F0
.622(option to the)3.122 F F3(shopt)144 537.6 Q F0 -.2(bu)2.996 G .496
.622(option to the)3.122 F F3(shopt)144 549.6 Q F0 -.2(bu)2.996 G .496
(iltin for details of its ef).2 F .496(fect on the)-.25 F F3(DEB)2.996 E
(UG)-.1 E F0 2.996(trap. If)2.996 F(a)2.996 E F4(sigspec)3.336 E F0(is)
3.306 E F1(RETURN)2.996 E F2(,)A F0 .496(the command)2.746 F F4(ar)
144.33 549.6 Q(g)-.37 E F0 .18(is e)2.9 F -.15(xe)-.15 G .18
144.33 561.6 Q(g)-.37 E F0 .18(is e)2.9 F -.15(xe)-.15 G .18
(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G .18
(cuted with the).15 F F3(.)2.68 E F0(or)2.68 E F3(sour)2.68 E(ce)-.18 E
F0 -.2(bu)2.68 G .18(iltins \214nishes).2 F -.15(exe)144 561.6 S
(cuting.).15 E .96(If a)144 579.6 R F4(sigspec)3.8 E F0(is)3.77 E F1
(ERR)3.46 E F2(,)A F0 .96(the command)3.21 F F4(ar)3.791 E(g)-.37 E F0
.961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25 G
3.461(rap).15 G .961(ipeline \(which may consist of a)-3.461 F .185(sin\
F0 -.2(bu)2.68 G .18(iltins \214nishes).2 F -.15(exe)144 573.6 S
(cuting.).15 E .961(If a)144 591.6 R F4(sigspec)3.801 E F0(is)3.771 E F1
(ERR)3.461 E F2(,)A F0 .961(the command)3.211 F F4(ar)3.791 E(g)-.37 E
F0 .961(is e)3.681 F -.15(xe)-.15 G .961(cuted whene).15 F -.15(ve)-.25
G 3.461(ra).15 G .96(pipeline \(which may consist of a)-.001 F .185(sin\
gle simple command\), a list, or a compound command returns a non\255ze\
ro e)144 591.6 R .184(xit status, subject to)-.15 F .451(the follo)144
603.6 R .451(wing conditions.)-.25 F(The)5.451 E F1(ERR)2.951 E F0 .451
(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .452
(ailed command is part of the com-)-.1 F .388
(mand list immediately follo)144 615.6 R .388(wing a)-.25 F F3(while)
2.888 E F0(or)2.888 E F3(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
(ord, part of the test in an)-.1 F F4(if)2.897 E F0 .387
(statement, part)4.847 F .777(of a command e)144 627.6 R -.15(xe)-.15 G
ro e)144 603.6 R .185(xit status, subject to)-.15 F .452(the follo)144
615.6 R .452(wing conditions.)-.25 F(The)5.452 E F1(ERR)2.952 E F0 .451
(trap is not e)2.701 F -.15(xe)-.15 G .451(cuted if the f).15 F .451
(ailed command is part of the com-)-.1 F .387
(mand list immediately follo)144 627.6 R .387(wing a)-.25 F F3(while)
2.887 E F0(or)2.887 E F3(until)2.888 E F0 -.1(ke)2.888 G(yw)-.05 E .388
(ord, part of the test in an)-.1 F F4(if)2.898 E F0 .388
(statement, part)4.848 F .778(of a command e)144 639.6 R -.15(xe)-.15 G
.778(cuted in a).15 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.278 E F0 .778
(list e)3.278 F .778(xcept the command follo)-.15 F .778
(wing the \214nal)-.25 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.278 E F0
3.278(,a)C -.15(ny)-3.278 G 1.28(command in a pipeline b)144 639.6 R
(wing the \214nal)-.25 F F3(&&)3.278 E F0(or)3.278 E F3(||)3.277 E F0
3.277(,a)C -.15(ny)-3.277 G 1.28(command in a pipeline b)144 651.6 R
1.28(ut the last, or if the command')-.2 F 3.78(sr)-.55 G 1.28(eturn v)
-3.78 F 1.28(alue is being in)-.25 F -.15(ve)-.4 G 1.28(rted using).15 F
F3(!)3.78 E F0(.)A(These are the same conditions obe)144 651.6 Q
F3(!)3.78 E F0(.)A(These are the same conditions obe)144 663.6 Q
(yed by the)-.15 E F3(err)2.5 E(exit)-.18 E F0(\()2.5 E F3<ad65>A F0 2.5
(\)o)C(ption.)-2.5 E .132
(\)o)C(ption.)-2.5 E .133
(Signals ignored upon entry to the shell cannot be trapped or reset.)144
669.6 R -.35(Tr)5.133 G .133(apped signals that are not be-).35 F .117
(ing ignored are reset to their original v)144 681.6 R .117
681.6 R -.35(Tr)5.132 G .132(apped signals that are not be-).35 F .117
(ing ignored are reset to their original v)144 693.6 R .117
(alues in a subshell or subshell en)-.25 F .117
(vironment when one is cre-)-.4 F 2.5(ated. The)144 693.6 R
(vironment when one is cre-)-.4 F 2.5(ated. The)144 705.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(2021 No)136.385 E -.15(ve)
@@ -2983,74 +2982,74 @@ BP
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(type)108 84 Q F0([)
2.5 E F1(\255aftpP)A F0(])A/F2 10/Times-Italic@0 SF(name)2.5 E F0([)2.5
E F2(name)A F0(...])2.5 E -.4(Wi)144 96 S .173
(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2(name)
3.033 E F0 -.1(wo)2.853 G .174
(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
E F2(name)A F0(...])2.5 E -.4(Wi)144 96 S .174
(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name)
3.034 E F0 -.1(wo)2.854 G .173
(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
F1<ad74>144 108 Q F0 .715(option is used,)3.215 F F1(type)3.215 E F0
.715(prints a string which is one of)3.215 F F2(alias)3.545 E F0(,).27 E
F2 -.1(ke)3.215 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)5.185 E F0
(,).24 E F2 -.2(bu)3.215 G(iltin).2 E F0 3.215(,o).24 G(r)-3.215 E F2
(\214le)5.125 E F0(if)3.395 E F2(name)144.36 120 Q F0 .086
(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2
(name)2.947 E F0 .087(is not)2.767 F .119
(\214le)5.125 E F0(if)3.395 E F2(name)144.36 120 Q F0 .087
(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F2
(name)2.946 E F0 .086(is not)2.766 F .118
(found, then nothing is printed, and an e)144 132 R .118
(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
F1<ad70>2.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855
(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855
(either returns the name of the disk \214le that w)144 144 R .855
(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0
.855(were speci\214ed as a com-)3.535 F .529(mand name, or nothing if)
.855(were speci\214ed as a com-)3.535 F .528(mand name, or nothing if)
144 156 R/F3 10/Courier@0 SF .528(type -t name)3.028 F F0 -.1(wo)3.028 G
.528(uld not return).1 F F2(\214le)4.938 E F0 5.528(.T).18 G(he)-5.528 E
F1<ad50>3.028 E F0 .528(option forces a)3.028 F/F4 9/Times-Bold@0 SF
-.666(PA)3.028 G(TH)-.189 E F0 .006(search for each)144 168 R F2(name)
2.506 E F0 2.506(,e)C -.15(ve)-2.756 G 2.506(ni).15 G(f)-2.506 E F3 .007
(type -t name)2.506 F F0 -.1(wo)2.507 G .007(uld not return).1 F F2
(\214le)4.417 E F0 5.007(.I).18 G 2.507(fac)-5.007 G .007
(ommand is hashed,)-2.507 F F1<ad70>2.507 E F0(and)144 180 Q F1<ad50>
3.231 E F0 .731(print the hashed v)3.231 F .73
F1<ad50>3.028 E F0 .529(option forces a)3.028 F/F4 9/Times-Bold@0 SF
-.666(PA)3.029 G(TH)-.189 E F0 .007(search for each)144 168 R F2(name)
2.507 E F0 2.507(,e)C -.15(ve)-2.757 G 2.507(ni).15 G(f)-2.507 E F3 .007
(type -t name)2.507 F F0 -.1(wo)2.507 G .007(uld not return).1 F F2
(\214le)4.417 E F0 5.006(.I).18 G 2.506(fac)-5.006 G .006
(ommand is hashed,)-2.506 F F1<ad70>2.506 E F0(and)144 180 Q F1<ad50>
3.23 E F0 .73(print the hashed v)3.23 F .731
(alue, which is not necessarily the \214le that appears \214rst in)-.25
F F4 -.666(PA)3.23 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .73(If the)
5.23 F F1<ad61>144 192 Q F0 .823(option is used,)3.323 F F1(type)3.323 E
F0 .824(prints all of the places that contain an e)3.323 F -.15(xe)-.15
G .824(cutable named).15 F F2(name)3.684 E F0 5.824(.T).18 G .824
(his in-)-5.824 F 1.176
F F4 -.666(PA)3.231 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .731
(If the)5.231 F F1<ad61>144 192 Q F0 .824(option is used,)3.324 F F1
(type)3.324 E F0 .824(prints all of the places that contain an e)3.324 F
-.15(xe)-.15 G .823(cutable named).15 F F2(name)3.683 E F0 5.823(.T).18
G .823(his in-)-5.823 F 1.176
(cludes aliases and functions, if and only if the)144 204 R F1<ad70>
3.676 E F0 1.176(option is not also used.)3.676 F 1.176
3.676 E F0 1.176(option is not also used.)3.676 F 1.177
(The table of hashed)6.176 F 1.223(commands is not consulted when using)
144 216 R F1<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F1<ad66>3.723 E F0
1.223(option suppresses shell function lookup, as)3.723 F .326(with the)
144 228 R F1(command)2.826 E F0 -.2(bu)2.826 G(iltin.).2 E F1(type)5.326
E F0 .326(returns true if all of the ar)2.826 F .325
(guments are found, f)-.18 F .325(alse if an)-.1 F 2.825(ya)-.15 G .325
(re not)-2.825 F(found.)144 240 Q F1(ulimit)108 256.8 Q F0([)2.5 E F1
1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
144 228 R F1(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F1(type)5.325
E F0 .325(returns true if all of the ar)2.825 F .326
(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
(re not)-2.826 F(found.)144 240 Q F1(ulimit)108 256.8 Q F0([)2.5 E F1
(\255HS)A F0(])A F1<ad61>2.5 E(ulimit)108 268.8 Q F0([)2.5 E F1(\255HS)A
F0 2.5(][)C F1(\255bcde\214klmnpqrstuvxPR)-2.5 E(T)-.4 E F0([)2.5 E F2
(limit)A F0(]])A(Pro)144 280.8 Q .243(vides control o)-.15 F -.15(ve)
-.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244
(limit)A F0(]])A(Pro)144 280.8 Q .244(vides control o)-.15 F -.15(ve)
-.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
(ilable to the shell and to processes started by it, on systems).25 F
.944(that allo)144 292.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
(The)5.944 E F1<ad48>3.444 E F0(and)3.444 E F1<ad53>3.444 E F0 .943
.943(that allo)144 292.8 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944
(options specify that the hard or soft limit is set for the)3.444 F(gi)
144 304.8 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
144 304.8 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
ft limit may)2.708 F .426(be increased up to the v)144 316.8 R .426
(alue of the hard limit.)-.25 F .425(If neither)5.426 F F1<ad48>2.925 E
F0(nor)2.925 E F1<ad53>2.925 E F0 .425
(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
ft limit may)2.709 F .425(be increased up to the v)144 316.8 R .425
(alue of the hard limit.)-.25 F .426(If neither)5.425 F F1<ad48>2.926 E
F0(nor)2.926 E F1<ad53>2.926 E F0 .426
(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
328.8 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
(can be a number in the unit speci\214ed for the resource or one)3.319 F
.742(of the special v)144 340.8 R(alues)-.25 E F1(hard)3.242 E F0(,)A F1
.741(of the special v)144 340.8 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
C .741(hich stand for the current hard limit, the current)-3.241 F .023
C .741(hich stand for the current hard limit, the current)-3.241 F .024
(soft limit, and no limit, respecti)144 352.8 R -.15(ve)-.25 G(ly).15 E
5.023(.I)-.65 G(f)-5.023 E F2(limit)2.613 E F0 .023
(is omitted, the current v)3.203 F .023
(alue of the soft limit of the re-)-.25 F .985
(source is printed, unless the)144 364.8 R F1<ad48>3.485 E F0 .984
(option is gi)3.485 F -.15(ve)-.25 G 3.484(n. When).15 F .984
(alue of the soft limit of the re-)-.25 F .984
(source is printed, unless the)144 364.8 R F1<ad48>3.484 E F0 .984
(option is gi)3.484 F -.15(ve)-.25 G 3.484(n. When).15 F .985
(more than one resource is speci\214ed, the)3.484 F .7
(limit name and unit, if appropriate, are printed before the v)144 376.8
R 3.2(alue. Other)-.25 F .7(options are interpreted as)3.2 F(follo)144
@@ -3072,7 +3071,7 @@ Q F0(The maximum size of a process')180 436.8 Q 2.5(sd)-.55 G(ata se)
(The maximum resident set size \(man)180 508.8 Q 2.5(ys)-.15 G
(ystems do not honor this limit\))-2.5 E F1<ad6e>144 520.8 Q F0 .791(Th\
e maximum number of open \214le descriptors \(most systems do not allo)
180 520.8 R 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F
180 520.8 R 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F
(be set\))180 532.8 Q F1<ad70>144 544.8 Q F0
(The pipe size in 512-byte blocks \(this may not be set\))180 544.8 Q F1
<ad71>144 556.8 Q F0
@@ -3092,18 +3091,18 @@ Q F1<ad73>144 580.8 Q F0(The maximum stack size)180 580.8 Q F1<ad74>144
E F0 .468(is gi)3.648 F -.15(ve)-.25 G .468(n, and the).15 F F1<ad61>
2.968 E F0 .468(option is not used,)2.968 F F2(limit)2.968 E F0 .468
(is the ne)2.968 F 2.968(wv)-.25 G .468
(alue of the speci\214ed resource.)-3.218 F(If)5.468 E .044
(no option is gi)144 705.6 R -.15(ve)-.25 G .044(n, then).15 F F1<ad66>
2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .67(in seconds;)144
(alue of the speci\214ed resource.)-3.218 F(If)5.468 E .045
(no option is gi)144 705.6 R -.15(ve)-.25 G .045(n, then).15 F F1<ad66>
2.545 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
(lues are in 1024-byte increments, e)1.11 F .044(xcept for)-.15 F F1
<ad74>2.544 E F0 2.544(,w)C .044(hich is)-2.544 F .67(in seconds;)144
717.6 R F1<ad52>3.17 E F0 3.17(,w)C .67(hich is in microseconds;)-3.17 F
F1<ad70>3.17 E F0 3.17(,w)C .67(hich is in units of 512-byte blocks;)
-3.17 F F1<ad50>3.17 E F0(,)A F1<ad54>3.17 E F0(,)A F1<ad62>3.17 E F0(,)
A F1<ad6b>144 729.6 Q F0(,)A F1<ad6e>3.736 E F0 3.736(,a)C(nd)-3.736 E
A F1<ad6b>144 729.6 Q F0(,)A F1<ad6e>3.737 E F0 3.737(,a)C(nd)-3.737 E
F1<ad75>3.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 F1<ad63>3.736 E F0(and)3.736 E
F1<ad66>3.736 E F0 3.736(,w)C 1.237(hich are in)-3.736 F(GNU Bash 5.2)72
F1<ad66>3.736 E F0 3.736(,w)C 1.236(hich are in)-3.736 F(GNU Bash 5.2)72
768 Q(2021 No)136.385 E -.15(ve)-.15 G(mber 22).15 E(24)185.545 E 0 Cg
EP
%%Page: 25 25
@@ -3112,8 +3111,8 @@ BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E .239(512-byte increments.)144 84 R .238
(The return status is 0 unless an in)5.239 F -.25(va)-.4 G .238
E(UIL)-.1 E(TINS\(1\))-.92 E .238(512-byte increments.)144 84 R .238
(The return status is 0 unless an in)5.238 F -.25(va)-.4 G .238
(lid option or ar).25 F .238(gument is supplied, or an)-.18 F
(error occurs while setting a ne)144 96 Q 2.5(wl)-.25 G(imit.)-2.5 E/F1
10/Times-Bold@0 SF(umask)108 112.8 Q F0([)2.5 E F1<ad70>A F0 2.5(][)C F1
@@ -3123,87 +3122,87 @@ E(UIL)-.1 E(TINS\(1\))-.92 E .239(512-byte increments.)144 84 R .238
(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
therwise it is interpreted as a symbolic mode mask similar to that acce\
pted by)144 136.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
148.8 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
148.8 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
(option causes the mask to be)2.882 F .547
(printed in symbolic form; the def)144 160.8 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
(mode)144.38 172.8 Q F0 .551
(is omitted, the output is in a form that may be reused as input.)3.231
F .552(The return status is 0 if the)5.552 F(mode w)144 184.8 Q
(mode)144.38 172.8 Q F0 .552
(is omitted, the output is in a form that may be reused as input.)3.232
F .551(The return status is 0 if the)5.551 F(mode w)144 184.8 Q
(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
(unalias)108 201.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
(...])2.5 E(Remo)144 213.6 Q 1.058 -.15(ve e)-.15 H(ach).15 E F2(name)
3.258 E F0 .758(from the list of de\214ned aliases.)3.258 F(If)5.758 E
F1<ad61>3.258 E F0 .757(is supplied, all alias de\214nitions are re-)
(...])2.5 E(Remo)144 213.6 Q 1.057 -.15(ve e)-.15 H(ach).15 E F2(name)
3.257 E F0 .757(from the list of de\214ned aliases.)3.257 F(If)5.758 E
F1<ad61>3.258 E F0 .758(is supplied, all alias de\214nitions are re-)
3.258 F(mo)144 225.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
(is not a de\214ned alias.)2.68 E F1(unset)108 242.4 Q F0<5bad>2.5 E F1
(fv)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0 2.5(][)C F2(name)-2.5 E F0(...])
2.5 E -.15(Fo)144 254.4 S 3.803(re).15 G(ach)-3.803 E F2(name)4.163 E F0
3.803(,r).18 G(emo)-3.803 E 1.603 -.15(ve t)-.15 H 1.303
2.5 E -.15(Fo)144 254.4 S 3.804(re).15 G(ach)-3.804 E F2(name)4.164 E F0
3.804(,r).18 G(emo)-3.804 E 1.604 -.15(ve t)-.15 H 1.304
(he corresponding v).15 F 1.303(ariable or function.)-.25 F 1.303
(If the)6.303 F F1<ad76>3.804 E F0 1.304(option is gi)3.804 F -.15(ve)
-.25 G 1.304(n, each).15 F F2(name)144.36 266.4 Q F0 .465
(refers to a shell v)3.145 F .464(ariable, and that v)-.25 F .464
(ariable is remo)-.25 F -.15(ve)-.15 G 2.964(d. Read-only).15 F -.25(va)
2.964 G .464(riables may not be un-).25 F 2.768(set. If)144 278.4 R F1
<ad66>2.768 E F0 .269(is speci\214ed, each)2.768 F F2(name)3.129 E F0
(If the)6.303 F F1<ad76>3.803 E F0 1.303(option is gi)3.803 F -.15(ve)
-.25 G 1.303(n, each).15 F F2(name)144.36 266.4 Q F0 .464
(refers to a shell v)3.144 F .464(ariable, and that v)-.25 F .464
(ariable is remo)-.25 F -.15(ve)-.15 G 2.965(d. Read-only).15 F -.25(va)
2.965 G .465(riables may not be un-).25 F 2.769(set. If)144 278.4 R F1
<ad66>2.769 E F0 .269(is speci\214ed, each)2.769 F F2(name)3.129 E F0
.269(refers to a shell function, and the function de\214nition is remo)
2.949 F -.15(ve)-.15 G(d.).15 E .404(If the)144 290.4 R F1<ad6e>2.904 E
2.949 F -.15(ve)-.15 G(d.).15 E .403(If the)144 290.4 R F1<ad6e>2.903 E
F0 .404(option is supplied, and)2.904 F F2(name)2.904 E F0 .404(is a v)
2.904 F .404(ariable with the)-.25 F F2(namer)2.904 E(ef)-.37 E F0
(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .403(will be unset)2.904 F
.719(rather than the v)144 302.4 R .719(ariable it references.)-.25 F F1
<ad6e>5.719 E F0 .719(has no ef)3.219 F .719(fect if the)-.25 F F1<ad66>
3.22 E F0 .72(option is supplied.)3.22 F .72(If no options)5.72 F .737
(are supplied, each)144 314.4 R F2(name)3.237 E F0 .737(refers to a v)
3.237 F .737(ariable; if there is no v)-.25 F .736
(ariable by that name, a function with)-.25 F 1.761(that name, if an)144
326.4 R 3.061 -.65(y, i)-.15 H 4.261(su).65 G 4.261(nset. Each)-4.261 F
(attrib)2.904 E(ute,)-.2 E F2(name)2.904 E F0 .404(will be unset)2.904 F
.72(rather than the v)144 302.4 R .72(ariable it references.)-.25 F F1
<ad6e>5.72 E F0 .72(has no ef)3.22 F .719(fect if the)-.25 F F1<ad66>
3.219 E F0 .719(option is supplied.)3.219 F .719(If no options)5.719 F
.736(are supplied, each)144 314.4 R F2(name)3.236 E F0 .736
(refers to a v)3.236 F .737(ariable; if there is no v)-.25 F .737
(ariable by that name, a function with)-.25 F 1.762(that name, if an)144
326.4 R 3.062 -.65(y, i)-.15 H 4.262(su).65 G 4.261(nset. Each)-4.262 F
1.761(unset v)4.261 F 1.761(ariable or function is remo)-.25 F -.15(ve)
-.15 G 4.262(df).15 G 1.762(rom the en)-4.262 F(vironment)-.4 E 3.172
-.15 G 4.261(df).15 G 1.761(rom the en)-4.261 F(vironment)-.4 E 3.171
(passed to subsequent commands.)144 338.4 R 3.172(If an)8.172 F 5.672
(yo)-.15 G(f)-5.672 E/F3 9/Times-Bold@0 SF -.27(BA)5.672 G(SH_ALIASES)
.27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.421 G(SH_ARGV0).27 E F4(,)A
F3 -.27(BA)5.421 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 350.4 S
(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.481 G(SH_SUBSHELL).27 E F4(,)A F3
.27 E/F4 9/Times-Roman@0 SF(,)A F3 -.27(BA)5.422 G(SH_ARGV0).27 E F4(,)A
F3 -.27(BA)5.422 G(SH_CMDS).27 E F4(,)A F3 -.27(BA)144 350.4 S
(SH_COMMAND).27 E F4(,)A F3 -.27(BA)11.482 G(SH_SUBSHELL).27 E F4(,)A F3
-.27(BA)11.482 G(SHPID).27 E F4(,)A F3(COMP_W)11.482 E(ORDBREAKS)-.09 E
F4(,)A F3(DIRST)11.482 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)
F4(,)A F3(DIRST)11.481 E -.495(AC)-.81 G(K).495 E F4(,)A F3(EPOCHREAL)
144 362.4 Q(TIME)-.828 E F4(,)A F3(EPOCHSECONDS)2.67 E F4(,)A F3(FUNCN)
2.67 E(AME)-.18 E F4(,)A F3(GR)2.67 E(OUPS)-.27 E F4(,)A F3(HISTCMD)2.67
E F4(,)A F3(LINENO)2.67 E F4(,)A F3(RANDOM)2.67 E F4(,)A F3(SECONDS)144
374.4 Q F4(,)A F0(or)4.029 E F3(SRANDOM)4.279 E F0 1.779(are unset, the)
4.029 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F
-.15(ve)-.25 G 4.279(ni).15 G 4.28(ft)-4.279 G(he)-4.28 E 4.28(ya)-.15 G
1.78(re subse-)-4.28 F(quently reset.)144 386.4 Q(The e)5 E
374.4 Q F4(,)A F0(or)4.03 E F3(SRANDOM)4.28 E F0 1.779(are unset, the)
4.03 F 4.279(yl)-.15 G 1.779(ose their special properties, e)-4.279 F
-.15(ve)-.25 G 4.279(ni).15 G 4.279(ft)-4.279 G(he)-4.279 E 4.279(ya)
-.15 G 1.779(re subse-)-4.279 F(quently reset.)144 386.4 Q(The e)5 E
(xit status is true unless a)-.15 E F2(name)2.86 E F0
(is readonly or may not be unset.)2.68 E F1(wait)108 403.2 Q F0([)2.5 E
F1(\255fn)A F0 2.5(][)C F1<ad70>-2.5 E F2(varname)2.5 E F0 2.5(][)C F2
(id ...)-2.5 E F0(])A -.8(Wa)144 415.2 S .659(it for each speci\214ed c\
hild process and return its termination status.).8 F(Each)5.659 E F2(id)
3.169 E F0 .658(may be a process)3.928 F .008
3.169 E F0 .659(may be a process)3.929 F .009
(ID or a job speci\214cation; if a job spec is gi)144 427.2 R -.15(ve)
-.25 G .009(n, all processes in that job').15 F 2.509(sp)-.55 G .009
(ipeline are w)-2.509 F .009(aited for)-.1 F 5.009(.I)-.55 G(f)-5.009 E
F2(id)144.01 439.2 Q F0 .442(is not gi)3.712 F -.15(ve)-.25 G(n,).15 E
F1(wait)2.942 E F0 -.1(wa)2.942 G .441
-.25 G .008(n, all processes in that job').15 F 2.508(sp)-.55 G .008
(ipeline are w)-2.508 F .008(aited for)-.1 F 5.008(.I)-.55 G(f)-5.008 E
F2(id)144.01 439.2 Q F0 .441(is not gi)3.711 F -.15(ve)-.25 G(n,).15 E
F1(wait)2.941 E F0 -.1(wa)2.941 G .441
(its for all running background jobs and the last-e).1 F -.15(xe)-.15 G
.441(cuted process substitu-).15 F .597
.442(cuted process substitu-).15 F .598
(tion, if its process id is the same as)144 451.2 R F1($!)3.098 E F0
3.098(,a)C .598(nd the return status is zero.)-3.098 F .598(If the)5.598
F F1<ad6e>3.098 E F0 .598(option is supplied,)3.098 F F1(wait)144 463.2
Q F0 -.1(wa)3.083 G .583(its for a single job from the list of).1 F F2
3.098(,a)C .598(nd the return status is zero.)-3.098 F .597(If the)5.597
F F1<ad6e>3.097 E F0 .597(option is supplied,)3.097 F F1(wait)144 463.2
Q F0 -.1(wa)3.082 G .583(its for a single job from the list of).1 F F2
(id)3.083 E F0 3.083(so)C 1.383 -.4(r, i)-3.083 H 3.083(fn).4 G(o)-3.083
E F2(id)3.083 E F0 3.083(sa)C .583(re supplied, an)-3.083 F 3.083(yj)
-.15 G .582(ob, to complete and)-3.083 F .403(returns its e)144 475.2 R
.403(xit status.)-.15 F .403(If none of the supplied ar)5.403 F .403
(guments is a child of the shell, or if no ar)-.18 F(guments)-.18 E .573
-.15 G .583(ob, to complete and)-3.083 F .404(returns its e)144 475.2 R
.404(xit status.)-.15 F .403(If none of the supplied ar)5.403 F .403
(guments is a child of the shell, or if no ar)-.18 F(guments)-.18 E .572
(are supplied and the shell has no unw)144 487.2 R .573
(aited-for children, the e)-.1 F .573(xit status is 127.)-.15 F .572
(If the)5.573 F F1<ad70>3.072 E F0 .572(option is)3.072 F .39
(aited-for children, the e)-.1 F .573(xit status is 127.)-.15 F .573
(If the)5.573 F F1<ad70>3.073 E F0 .573(option is)3.073 F .39
(supplied, the process or job identi\214er of the job for which the e)
144 499.2 R .39(xit status is returned is assigned to)-.15 F .905(the v)
144 511.2 R(ariable)-.25 E F2(varname)3.405 E F0 .905
@@ -3212,51 +3211,51 @@ E F2(id)3.083 E F0 3.083(sa)C .583(re supplied, an)-3.083 F 3.083(yj)
(an)144 523.2 Q 3.89(ya)-.15 G 3.89(ssignment. This)-3.89 F 1.39
(is useful only when the)3.89 F F1<ad6e>3.89 E F0 1.39
(option is supplied.)3.89 F 1.39(Supplying the)6.39 F F1<ad66>3.89 E F0
(option,)3.89 E .575(when job control is enabled, forces)144 535.2 R F1
(option,)3.89 E .574(when job control is enabled, forces)144 535.2 R F1
(wait)3.075 E F0 .575(to w)3.075 F .575(ait for)-.1 F F2(id)3.075 E F0
.574(to terminate before returning its status, in-)3.075 F .635
.575(to terminate before returning its status, in-)3.075 F .635
(stead of returning when it changes status.)144 547.2 R(If)5.635 E F2
(id)3.145 E F0 .635(speci\214es a non-e)3.905 F .635
(xistent process or job, the return)-.15 F(status is 127.)144 559.2 Q
(Otherwise, the return status is the e)5 E
(xit status of the last process or job w)-.15 E(aited for)-.1 E(.)-.55 E
/F5 10.95/Times-Bold@0 SF(SHELL COMP)72 576 Q -1.04(AT)-.81 G
(IBILITY MODE)1.04 E F0 1.355(Bash-4.0 introduced the concept of a)108
(IBILITY MODE)1.04 E F0 1.354(Bash-4.0 introduced the concept of a)108
588 R F2 1.355(shell compatibility le)3.855 F(vel)-.15 E F0 3.855(,s)C
1.354(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108
600 S .398(iltin \().2 F F1(compat31)2.898 E F0(,)A F1(compat32)2.898 E
F0(,)A F1(compat40)2.898 E F0(,)A F1(compat41)2.898 E F0 2.898(,a)C .399
(nd so on\).)-2.898 F .399(There is only one current compatibility)5.399
F(le)108 612 Q -.15(ve)-.25 G 3.254(l-).15 G 3.254(-e)-3.254 G .754
(ach option is mutually e)-3.254 F(xclusi)-.15 E -.15(ve)-.25 G 5.754
(.T).15 G .754(he compatibility le)-5.754 F -.15(ve)-.25 G 3.253(li).15
G 3.253(si)-3.253 G .753(ntended to allo)-3.253 F 3.253(wu)-.25 G .753
(sers to select be-)-3.253 F(ha)108 624 Q 1.083(vior from pre)-.2 F
1.083(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F
1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.584(ym)-.15 G 1.084
(igrate scripts to use)-3.584 F(current features and beha)108 636 Q
1.355(peci\214ed as a set of options to the shopt)-3.855 F -.2(bu)108
600 S .399(iltin \().2 F F1(compat31)2.899 E F0(,)A F1(compat32)2.899 E
F0(,)A F1(compat40)2.899 E F0(,)A F1(compat41)2.899 E F0 2.899(,a)C .399
(nd so on\).)-2.899 F .398(There is only one current compatibility)5.398
F(le)108 612 Q -.15(ve)-.25 G 3.253(l-).15 G 3.253(-e)-3.253 G .753
(ach option is mutually e)-3.253 F(xclusi)-.15 E -.15(ve)-.25 G 5.753
(.T).15 G .753(he compatibility le)-5.753 F -.15(ve)-.25 G 3.254(li).15
G 3.254(si)-3.254 G .754(ntended to allo)-3.254 F 3.254(wu)-.25 G .754
(sers to select be-)-3.254 F(ha)108 624 Q 1.084(vior from pre)-.2 F
1.084(vious v)-.25 F 1.083(ersions that is incompatible with ne)-.15 F
1.083(wer v)-.25 F 1.083(ersions while the)-.15 F 3.583(ym)-.15 G 1.083
(igrate scripts to use)-3.583 F(current features and beha)108 636 Q
(vior)-.2 E 2.5(.I)-.55 G(t')-2.5 E 2.5(si)-.55 G
(ntended to be a temporary solution.)-2.5 E 1.457
(ntended to be a temporary solution.)-2.5 E 1.456
(This section does not mention beha)108 652.8 R 1.457
(vior that is standard for a particular v)-.2 F 1.456
(ersion \(e.g., setting)-.15 F F1(compat32)3.956 E F0 .886
(vior that is standard for a particular v)-.2 F 1.457
(ersion \(e.g., setting)-.15 F F1(compat32)3.957 E F0 .887
(means that quoting the rhs of the re)108 664.8 R(ge)-.15 E .886
(xp matching operator quotes special re)-.15 F(ge)-.15 E .887
(xp matching operator quotes special re)-.15 F(ge)-.15 E .886
(xp characters in the w)-.15 F(ord,)-.1 E(which is def)108 676.8 Q
(ault beha)-.1 E(vior in bash-3.2 and abo)-.2 E -.15(ve)-.15 G(\).).15 E
.523(If a user enables, say)108 693.6 R(,)-.65 E F1(compat32)3.023 E F0
.522(If a user enables, say)108 693.6 R(,)-.65 E F1(compat32)3.023 E F0
3.023(,i)C 3.023(tm)-3.023 G .523(ay af)-3.023 F .523(fect the beha)-.25
F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .522
(ls up to and includ-).15 F .259(ing the current compatibility le)108
705.6 R -.15(ve)-.25 G 2.759(l. The).15 F .259
(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.76(lc).15 G
.26(ontrols beha)-2.76 F .26(vior that changed)-.2 F 1.646(in that v)108
717.6 R 1.646(ersion of)-.15 F F1(bash)4.146 E F0 4.146(,b)C 1.646
(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15(ve b)-.2 H
1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F 1.645
(or instance, the)-.15 F .76
F .523(vior of other compatibility le)-.2 F -.15(ve)-.25 G .523
(ls up to and includ-).15 F .26(ing the current compatibility le)108
705.6 R -.15(ve)-.25 G 2.76(l. The).15 F .259
(idea is that each compatibility le)2.759 F -.15(ve)-.25 G 2.759(lc).15
G .259(ontrols beha)-2.759 F .259(vior that changed)-.2 F 1.645
(in that v)108 717.6 R 1.646(ersion of)-.15 F F1(bash)4.146 E F0 4.146
(,b)C 1.646(ut that beha)-4.346 F 1.646(vior may ha)-.2 F 1.946 -.15
(ve b)-.2 H 1.646(een present in earlier v).15 F 4.146(ersions. F)-.15 F
1.646(or instance, the)-.15 F .761
(change to use locale-based comparisons with the)108 729.6 R F1([[)3.261
E F0 .761(command came in bash-4.1, and earlier v)3.261 F .761
E F0 .76(command came in bash-4.1, and earlier v)3.261 F .76
(ersions used)-.15 F(GNU Bash 5.2)72 768 Q(2021 No)136.385 E -.15(ve)
-.15 G(mber 22).15 E(25)185.545 E 0 Cg EP
%%Page: 26 26
@@ -3265,42 +3264,42 @@ BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E 1.905(ASCII-based comparisons, so enabling)
108 84 R/F1 10/Times-Bold@0 SF(compat32)4.405 E F0 1.904
(will enable ASCII-based comparisons as well.)4.405 F(That)6.904 E .295
E(UIL)-.1 E(TINS\(1\))-.92 E 1.904(ASCII-based comparisons, so enabling)
108 84 R/F1 10/Times-Bold@0 SF(compat32)4.404 E F0 1.905
(will enable ASCII-based comparisons as well.)4.404 F(That)6.905 E .296
(granularity may not be suf)108 96 R .296
(\214cient for all uses, and as a result users should emplo)-.25 F 2.796
(yc)-.1 G .296(ompatibility le)-2.796 F -.15(ve)-.25 G .296(ls care-).15
(yc)-.1 G .295(ompatibility le)-2.796 F -.15(ve)-.25 G .295(ls care-).15
F(fully)108 108 Q 5(.R)-.65 G(ead the documentation for a particular fe\
ature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .532
(Bash-4.3 introduced a ne)108 124.8 R 3.032(ws)-.25 G .531(hell v)-3.032
ature to \214nd out the current beha)-5 E(vior)-.2 E(.)-.55 E .531
(Bash-4.3 introduced a ne)108 124.8 R 3.031(ws)-.25 G .531(hell v)-3.031
F(ariable:)-.25 E/F2 9/Times-Bold@0 SF -.27(BA)3.031 G(SH_COMP).27 E
-.855(AT)-.666 G/F3 9/Times-Roman@0 SF(.).855 E F0 .531(The v)5.031 F
.531(alue assigned to this v)-.25 F .531(ariable \(a decimal)-.25 F -.15
(ve)108 136.8 S .107(rsion number lik).15 F 2.607(e4)-.1 G .107
(.2, or an inte)-2.607 F .107(ger corresponding to the)-.15 F F1(compat)
2.608 E/F4 10/Times-Italic@0 SF(NN)A F0 .108(option, lik)2.608 F 2.608
(e4)-.1 G .108(2\) determines the com-)-2.608 F(patibility le)108 148.8
Q -.15(ve)-.25 G(l.).15 E .388(Starting with bash-4.4, Bash has be)108
.531(alue assigned to this v)-.25 F .532(ariable \(a decimal)-.25 F -.15
(ve)108 136.8 S .108(rsion number lik).15 F 2.608(e4)-.1 G .108
(.2, or an inte)-2.608 F .108(ger corresponding to the)-.15 F F1(compat)
2.607 E/F4 10/Times-Italic@0 SF(NN)A F0 .107(option, lik)2.607 F 2.607
(e4)-.1 G .107(2\) determines the com-)-2.607 F(patibility le)108 148.8
Q -.15(ve)-.25 G(l.).15 E .387(Starting with bash-4.4, Bash has be)108
165.6 R .388(gun deprecating older compatibility le)-.15 F -.15(ve)-.25
G 2.887(ls. Ev).15 F(entually)-.15 E 2.887(,t)-.65 G .387
(he options will)-2.887 F(be remo)108 177.6 Q -.15(ve)-.15 G 2.5(di).15
G 2.888(ls. Ev).15 F(entually)-.15 E 2.888(,t)-.65 G .388
(he options will)-2.888 F(be remo)108 177.6 Q -.15(ve)-.15 G 2.5(di).15
G 2.5(nf)-2.5 G -.2(avo)-2.6 G 2.5(ro).2 G(f)-2.5 E F2 -.27(BA)2.5 G
(SH_COMP).27 E -.855(AT)-.666 G F3(.).855 E F0 1.163
(Bash-5.0 is the \214nal v)108 194.4 R 1.163
(ersion for which there will be an indi)-.15 F 1.164
(vidual shopt option for the pre)-.25 F 1.164(vious v)-.25 F(ersion.)
(SH_COMP).27 E -.855(AT)-.666 G F3(.).855 E F0 1.164
(Bash-5.0 is the \214nal v)108 194.4 R 1.164
(ersion for which there will be an indi)-.15 F 1.163
(vidual shopt option for the pre)-.25 F 1.163(vious v)-.25 F(ersion.)
-.15 E(Users should use)108 206.4 Q F2 -.27(BA)2.5 G(SH_COMP).27 E -.855
(AT)-.666 G F0(on bash-5.0 and later v)3.105 E(ersions.)-.15 E 1.614
(AT)-.666 G F0(on bash-5.0 and later v)3.105 E(ersions.)-.15 E 1.613
(The follo)108 223.2 R 1.613(wing table describes the beha)-.25 F 1.613
(vior changes controlled by each compatibility le)-.2 F -.15(ve)-.25 G
4.113(ls).15 G 4.113(etting. The)-4.113 F F1(compat)108 235.2 Q F4(NN)A
F0 1.186(tag is used as shorthand for setting the compatibility le)3.685
4.113(ls).15 G 4.114(etting. The)-4.113 F F1(compat)108 235.2 Q F4(NN)A
F0 1.186(tag is used as shorthand for setting the compatibility le)3.686
F -.15(ve)-.25 G 3.686(lt).15 G(o)-3.686 E F4(NN)3.686 E F0 1.186
(using one of the follo)3.686 F(wing)-.25 E 3.807(mechanisms. F)108
247.2 R 1.307(or v)-.15 F 1.307
(using one of the follo)3.686 F(wing)-.25 E 3.806(mechanisms. F)108
247.2 R 1.306(or v)-.15 F 1.306
(ersions prior to bash-5.0, the compatibility le)-.15 F -.15(ve)-.25 G
3.806(lm).15 G 1.306(ay be set using the corresponding)-3.806 F F1
3.807(lm).15 G 1.307(ay be set using the corresponding)-3.807 F F1
(compat)108 259.2 Q F4(NN)A F0 .502(shopt option.)3.002 F -.15(Fo)5.502
G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)
-.15 F F2 -.27(BA)3.002 G(SH_COMP).27 E -.855(AT)-.666 G F0 -.25(va)
@@ -3311,63 +3310,63 @@ G 3.002(rb).15 G .502(ash-4.3 and later v)-3.002 F .502(ersions, the)
2.5(pm).15 G(atching operator \(=~\) has no special ef)-2.5 E(fect)-.25
E F1(compat32)108 316.8 Q F0<83>144 328.8 Q .35
(interrupting a command list such as "a ; b ; c" causes the e)180 328.8
R -.15(xe)-.15 G .35(cution of the ne).15 F .35(xt command)-.15 F .017
R -.15(xe)-.15 G .35(cution of the ne).15 F .35(xt command)-.15 F .018
(in the list \(in bash-4.0 and later v)180 340.8 R .018
(ersions, the shell acts as if it recei)-.15 F -.15(ve)-.25 G 2.518(dt)
.15 G .018(he interrupt, so in-)-2.518 F
(ersions, the shell acts as if it recei)-.15 F -.15(ve)-.25 G 2.517(dt)
.15 G .017(he interrupt, so in-)-2.517 F
(terrupting one command in a list aborts the e)180 352.8 Q -.15(xe)-.15
G(cution of the entire list\)).15 E F1(compat40)108 369.6 Q F0<83>144
381.6 Q(the)180 381.6 Q F1(<)2.674 E F0(and)2.674 E F1(>)2.673 E F0 .173
381.6 Q(the)180 381.6 Q F1(<)2.673 E F0(and)2.673 E F1(>)2.673 E F0 .173
(operators to the)2.673 F F1([[)2.673 E F0 .173
(command do not consider the current locale when compar)2.673 F(-)-.2 E
.067(ing strings; the)180 393.6 R 2.567(yu)-.15 G .067
(se ASCII ordering.)-2.567 F .068(Bash v)5.068 F .068
.068(ing strings; the)180 393.6 R 2.568(yu)-.15 G .068
(se ASCII ordering.)-2.568 F .068(Bash v)5.068 F .067
(ersions prior to bash-4.1 use ASCII collation)-.15 F(and)180 405.6 Q F4
(str)4.743 E(cmp)-.37 E F0 1.903
(\(3\); bash-4.1 and later use the current locale').19 F 4.402(sc)-.55 G
1.902(ollation sequence and)-4.402 F F4(str)4.742 E(-)-.2 E(coll)180
(str)4.742 E(cmp)-.37 E F0 1.902
(\(3\); bash-4.1 and later use the current locale').19 F 4.403(sc)-.55 G
1.903(ollation sequence and)-4.403 F F4(str)4.743 E(-)-.2 E(coll)180
417.6 Q F0(\(3\).).51 E F1(compat41)108 434.4 Q F0<83>144 446.4 Q(in)180
446.4 Q F4(posix)3.79 E F0(mode,)3.79 E F1(time)3.79 E F0 1.29
(may be follo)3.79 F 1.29
(wed by options and still be recognized as a reserv)-.25 F(ed)-.15 E -.1
(wo)180 458.4 S(rd \(this is POSIX interpretation 267\)).1 E<83>144
470.4 Q(in)180 470.4 Q F4(posix)2.709 E F0 .208
(mode, the parser requires that an e)2.709 F -.15(ve)-.25 G 2.708(nn).15
G .208(umber of single quotes occur in the)-2.708 F F4(wor)2.708 E(d)
-.37 E F0 .281(portion of a double-quoted parameter e)180 482.4 R .282
(xpansion and treats them specially)-.15 F 2.782(,s)-.65 G 2.782(ot)
-2.782 G .282(hat charac-)-2.782 F(ters within the single quotes are co\
470.4 Q(in)180 470.4 Q F4(posix)2.708 E F0 .208
(mode, the parser requires that an e)2.708 F -.15(ve)-.25 G 2.708(nn).15
G .208(umber of single quotes occur in the)-2.708 F F4(wor)2.709 E(d)
-.37 E F0 .282(portion of a double-quoted parameter e)180 482.4 R .282
(xpansion and treats them specially)-.15 F 2.781(,s)-.65 G 2.781(ot)
-2.781 G .281(hat charac-)-2.781 F(ters within the single quotes are co\
nsidered quoted \(this is POSIX interpretation 221\))180 494.4 Q F1
(compat42)108 511.2 Q F0<83>144 523.2 Q 1.056(the replacement string in\
double-quoted pattern substitution does not under)180 523.2 R 1.055
(compat42)108 511.2 Q F0<83>144 523.2 Q 1.055(the replacement string in\
double-quoted pattern substitution does not under)180 523.2 R 1.056
(go quote re-)-.18 F(mo)180 535.2 Q -.25(va)-.15 G(l, as it does in v)
.25 E(ersions after bash-4.2)-.15 E<83>144 547.2 Q .021
(in posix mode, single quotes are considered special when e)180 547.2 R
.021(xpanding the)-.15 F F4(wor)2.521 E(d)-.37 E F0 .021(portion of a)
2.521 F .018(double-quoted parameter e)180 559.2 R .017
.021(xpanding the)-.15 F F4(wor)2.52 E(d)-.37 E F0 .02(portion of a)2.52
F .017(double-quoted parameter e)180 559.2 R .017
(xpansion and can be used to quote a closing brace or other spe-)-.15 F
.998(cial character \(this is part of POSIX interpretation 221\); in la\
ter v)180 571.2 R .999(ersions, single quotes)-.15 F
.999(cial character \(this is part of POSIX interpretation 221\); in la\
ter v)180 571.2 R .998(ersions, single quotes)-.15 F
(are not special within double-quoted w)180 583.2 Q(ord e)-.1 E
(xpansions)-.15 E F1(compat43)108 600 Q F0<83>144 612 Q 1.071
(the shell does not print a w)180 612 R 1.07
(arning message if an attempt is made to use a quoted com-)-.1 F .248
(pound assignment as an ar)180 624 R .249
(gument to declare \(declare -a foo='\(1 2\)'\). Later v)-.18 F .249
(xpansions)-.15 E F1(compat43)108 600 Q F0<83>144 612 Q 1.07
(the shell does not print a w)180 612 R 1.071
(arning message if an attempt is made to use a quoted com-)-.1 F .249
(pound assignment as an ar)180 624 R .248
(gument to declare \(declare -a foo='\(1 2\)'\). Later v)-.18 F .248
(ersions w)-.15 F(arn)-.1 E(that this usage is deprecated)180 636 Q<83>
144 648 Q -.1(wo)180 648 S .501(rd e).1 F .501
144 648 Q -.1(wo)180 648 S .5(rd e).1 F .501
(xpansion errors are considered non-f)-.15 F .501
(atal errors that cause the current command to)-.1 F -.1(fa)180 660 S
.605(il, e).1 F -.15(ve)-.25 G 3.105(ni).15 G 3.105(np)-3.105 G .605
(osix mode \(the def)-3.105 F .605(ault beha)-.1 F .605(vior is to mak)
-.2 F 3.105(et)-.1 G .605(hem f)-3.105 F .605
(atal errors that cause the)-.1 F(shell to e)180 672 Q(xit\))-.15 E<83>
144 684 Q .355(when e)180 684 R -.15(xe)-.15 G .354
(cuting a shell function, the loop state \(while/until/etc.\)).15 F .354
(is not reset, so)5.354 F F1(br)2.854 E(eak)-.18 E F0(or)2.854 E F1
144 684 Q .354(when e)180 684 R -.15(xe)-.15 G .354
(cuting a shell function, the loop state \(while/until/etc.\)).15 F .355
(is not reset, so)5.354 F F1(br)2.855 E(eak)-.18 E F0(or)2.855 E F1
(continue)180 696 Q F0 .052
(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)
2.553 F .052(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(2021 No)
136.385 E -.15(ve)-.15 G(mber 22).15 E(26)185.545 E 0 Cg EP
%%Page: 27 27
@@ -3379,42 +3378,42 @@ BP
E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(compat44)108 84 Q F0
<83>144 96 Q .719(the shell sets up the v)180 96 R .719(alues used by)
-.25 F/F2 9/Times-Bold@0 SF -.27(BA)3.219 G(SH_ARGV).27 E F0(and)2.969 E
F2 -.27(BA)3.219 G(SH_ARGC).27 E F0 .719(so the)2.969 F 3.218(yc)-.15 G
.718(an e)-3.218 F(xpand)-.15 E(to the shell')180 108 Q 2.5(sp)-.55 G
F2 -.27(BA)3.219 G(SH_ARGC).27 E F0 .719(so the)2.969 F 3.219(yc)-.15 G
.719(an e)-3.219 F(xpand)-.15 E(to the shell')180 108 Q 2.5(sp)-.55 G
(ositional parameters e)-2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fe)-2.5 G
(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 120 Q 2.634
(as)180 120 S .134(ubshell inherits loops from its parent conte)-2.634 F
(xtended deb)-2.65 E(ugging mode is not enabled)-.2 E<83>144 120 Q 2.635
(as)180 120 S .135(ubshell inherits loops from its parent conte)-2.635 F
.135(xt, so)-.15 F F1(br)2.635 E(eak)-.18 E F0(or)2.635 E F1(continue)
2.635 E F0 .135(will cause the sub-)2.635 F(shell to e)180 132 Q 2.5
2.634 E F0 .134(will cause the sub-)2.634 F(shell to e)180 132 Q 2.5
(xit. Bash-5.0)-.15 F(and later reset the loop state to pre)2.5 E -.15
(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 144 Q -.25(va)180 144 S .619
(ve)-.25 G(nt the e).15 E(xit)-.15 E<83>144 144 Q -.25(va)180 144 S .618
(riable assignments preceding b).25 F .618(uiltins lik)-.2 F(e)-.1 E F1
(export)3.118 E F0(and)3.118 E F1 -.18(re)3.118 G(adonly).18 E F0 .618
(that set attrib)3.118 F .618(utes con-)-.2 F .119(tinue to af)180 156 R
.119(fect v)-.25 F .119(ariables with the same name in the calling en)
-.25 F .12(vironment e)-.4 F -.15(ve)-.25 G 2.62(ni).15 G 2.62(ft)-2.62
G .12(he shell is)-2.62 F(not in posix mode)180 168 Q F1(compat50)108
184.8 Q F0<83>144 196.8 Q 1.209(Bash-5.1 changed the w)180 196.8 R(ay)
-.1 E F2($RANDOM)3.709 E F0 1.209
(is generated to introduce slightly more random-)3.459 F 1.018
(that set attrib)3.118 F .619(utes con-)-.2 F .12(tinue to af)180 156 R
.12(fect v)-.25 F .119(ariables with the same name in the calling en)
-.25 F .119(vironment e)-.4 F -.15(ve)-.25 G 2.619(ni).15 G 2.619(ft)
-2.619 G .119(he shell is)-2.619 F(not in posix mode)180 168 Q F1
(compat50)108 184.8 Q F0<83>144 196.8 Q 1.209(Bash-5.1 changed the w)180
196.8 R(ay)-.1 E F2($RANDOM)3.709 E F0 1.209
(is generated to introduce slightly more random-)3.459 F 1.019
(ness. If the shell compatibility le)180 208.8 R -.15(ve)-.25 G 3.518
(li).15 G 3.518(ss)-3.518 G 1.018(et to 50 or lo)-3.518 F(wer)-.25 E
3.518(,i)-.4 G 3.518(tr)-3.518 G -2.15 -.25(ev e)-3.518 H 1.019
(rts to the method from).25 F .733(bash-5.0 and pre)180 220.8 R .733
(vious v)-.25 F .732
3.518(,i)-.4 G 3.518(tr)-3.518 G -2.15 -.25(ev e)-3.518 H 1.018
(rts to the method from).25 F .732(bash-5.0 and pre)180 220.8 R .732
(vious v)-.25 F .733
(ersions, so seeding the random number generator by assigning a)-.15 F
-.25(va)180 232.8 S(lue to).25 E F2(RANDOM)2.5 E F0
(will produce the same sequence as in bash-5.0)2.25 E<83>144 244.8 Q
.695(If the command hash table is empty)180 244.8 R 3.196(,b)-.65 G .696
(ash v)-3.196 F .696(ersions prior to bash-5.1 printed an informa-)-.15
F 1.321(tional message to that ef)180 256.8 R 1.321(fect, e)-.25 F -.15
.696(If the command hash table is empty)180 244.8 R 3.196(,b)-.65 G .696
(ash v)-3.196 F .695(ersions prior to bash-5.1 printed an informa-)-.15
F 1.32(tional message to that ef)180 256.8 R 1.321(fect, e)-.25 F -.15
(ve)-.25 G 3.821(nw).15 G 1.321
(hen producing output that can be reused as input.)-3.821 F
(Bash-5.1 suppresses that message when the)180 268.8 Q F1<ad6c>2.5 E F0
(option is supplied.)2.5 E F1(compat51)108 285.6 Q F0<83>144 297.6 Q
(The)180 297.6 Q F1(unset)2.954 E F0 -.2(bu)2.954 G .454
(iltin treats attempts to unset array subscripts).2 F F1(@)2.955 E F0
(and)2.955 E F1(*)2.955 E F0(dif)2.955 E .455(ferently depending)-.25 F
(The)180 297.6 Q F1(unset)2.955 E F0 -.2(bu)2.955 G .455
(iltin treats attempts to unset array subscripts).2 F F1(@)2.954 E F0
(and)2.954 E F1(*)2.954 E F0(dif)2.954 E .454(ferently depending)-.25 F
(on whether the array is inde)180 309.6 Q -.15(xe)-.15 G 2.5(do).15 G
2.5(ra)-2.5 G(ssociati)-2.5 E -.15(ve)-.25 G 2.5(,a).15 G(nd dif)-2.5 E
(ferently than in pre)-.25 E(vious v)-.25 E(ersions.)-.15 E/F3 10.95
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
%%CreationDate: Wed May 4 15:11:00 2022
%%CreationDate: Mon Jun 13 11:04:35 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 4