mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-10 21:50:49 +02:00
commit bash-20160909 snapshot
This commit is contained in:
+204
-196
@@ -1,7 +1,7 @@
|
||||
%!PS-Adobe-2.0
|
||||
%%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software
|
||||
%%Title: bashref.dvi
|
||||
%%CreationDate: Wed Aug 31 10:24:23 2016
|
||||
%%CreationDate: Wed Sep 7 17:14:23 2016
|
||||
%%Pages: 178
|
||||
%%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 2016.08.31:1024
|
||||
%DVIPSSource: TeX output 2016.09.07:1714
|
||||
%%BeginProcSet: tex.pro 0 0
|
||||
%!
|
||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
||||
@@ -7596,23 +7596,24 @@ 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(4.4,)g(for)f
|
||||
Ft(Bash)g Fu(V)-8 b(ersion)31 b(4.4.)3252 1697 y(August)f(2016)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
|
||||
Ft(Bash)g Fu(V)-8 b(ersion)31 b(4.4.)3118 1697 y(Septem)m(b)s(er)f
|
||||
(2016)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
|
||||
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(4.4,)c(26)f(August)f
|
||||
(2016\).)150 4523 y(This)e(is)g(Edition)h(4.4,)h(last)f(up)s(dated)e
|
||||
(26)i(August)f(2016,)j(of)e Fr(The)f(GNU)h(Bash)f(Reference)h(Man)m
|
||||
(ual)p Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)f(V)-8 b(ersion)31
|
||||
b(4.4.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
|
||||
y Fq(\015)f Fu(1988{2016)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(4.4,)c(7)e(Septem)m(b)s
|
||||
(er)g(2016\).)150 4523 y(This)h(is)h(Edition)g(4.4,)i(last)f(up)s
|
||||
(dated)d(7)i(Septem)m(b)s(er)g(2016,)i(of)e Fr(The)f(GNU)i(Bash)f
|
||||
(Reference)h(Man)m(ual)p Fu(,)150 4633 y(for)d Ft(Bash)p
|
||||
Fu(,)g(V)-8 b(ersion)31 b(4.4.)150 4767 y(Cop)m(yrigh)m(t)602
|
||||
4764 y(c)577 4767 y Fq(\015)f Fu(1988{2016)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
|
||||
@@ -15008,281 +15009,288 @@ Fu(builtin.)p eop end
|
||||
TeXDict begin 96 101 bop 150 -116 a Fu(Chapter)30 b(6:)41
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(96)225 299 y Fq(\017)60
|
||||
b Fu(Using)31 b(the)f Ft(enable)f Fu(builtin)h(command)g(to)h(enable)g
|
||||
(disabled)f(shell)g(builtins.)225 430 y Fq(\017)60 b
|
||||
(disabled)f(shell)g(builtins.)225 434 y Fq(\017)60 b
|
||||
Fu(Sp)s(ecifying)30 b(the)g Ft(-p)g Fu(option)h(to)g(the)g
|
||||
Ft(command)d Fu(builtin.)225 560 y Fq(\017)60 b Fu(T)-8
|
||||
Ft(command)d Fu(builtin.)225 569 y Fq(\017)60 b Fu(T)-8
|
||||
b(urning)29 b(o\013)i(restricted)g(mo)s(de)f(with)g(`)p
|
||||
Ft(set)g(+r)p Fu(')g(or)g(`)p Ft(set)g(+o)g(restricted)p
|
||||
Fu('.)275 712 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m(y)
|
||||
g(startup)f(\014les)g(are)h(read.)275 843 y(When)j(a)i(command)e(that)i
|
||||
Fu('.)275 729 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m(y)
|
||||
g(startup)f(\014les)g(are)h(read.)275 865 y(When)j(a)i(command)e(that)i
|
||||
(is)f(found)f(to)h(b)s(e)g(a)g(shell)g(script)g(is)g(executed)h(\(see)g
|
||||
(Section)g(3.8)g([Shell)150 952 y(Scripts],)25 b(page)e(40\),)j
|
||||
(Section)g(3.8)g([Shell)150 974 y(Scripts],)25 b(page)e(40\),)j
|
||||
Ft(rbash)c Fu(turns)g(o\013)i(an)m(y)f(restrictions)h(in)f(the)g(shell)
|
||||
h(spa)m(wned)e(to)i(execute)g(the)g(script.)150 1185
|
||||
y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 1345 y Fu(Starting)39
|
||||
h(spa)m(wned)e(to)i(execute)g(the)g(script.)150 1216
|
||||
y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 1376 y Fu(Starting)39
|
||||
b(Bash)f(with)g(the)h Ft(--posix)d Fu(command-line)j(option)g(or)f
|
||||
(executing)h(`)p Ft(set)30 b(-o)g(posix)p Fu(')37 b(while)150
|
||||
1454 y(Bash)26 b(is)g(running)e(will)j(cause)f(Bash)g(to)h(conform)f
|
||||
1485 y(Bash)26 b(is)g(running)e(will)j(cause)f(Bash)g(to)h(conform)f
|
||||
(more)g(closely)h(to)g(the)f Fm(posix)f Fu(standard)g(b)m(y)h(c)m
|
||||
(hanging)150 1564 y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g(that)g
|
||||
(hanging)150 1595 y(the)31 b(b)s(eha)m(vior)f(to)h(matc)m(h)g(that)g
|
||||
(sp)s(eci\014ed)f(b)m(y)g Fm(posix)g Fu(in)g(areas)h(where)f(the)h
|
||||
(Bash)f(default)h(di\013ers.)275 1694 y(When)f(in)m(v)m(ok)m(ed)h(as)g
|
||||
(Bash)f(default)h(di\013ers.)275 1730 y(When)f(in)m(v)m(ok)m(ed)h(as)g
|
||||
Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g Fm(posix)e Fu(mo)s(de)h(after)h
|
||||
(reading)g(the)f(startup)g(\014les.)275 1825 y(The)f(follo)m(wing)j
|
||||
(reading)g(the)f(startup)g(\014les.)275 1866 y(The)f(follo)m(wing)j
|
||||
(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)p Fm(posix)h
|
||||
Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 1956 y(1.)61 b(When)28
|
||||
Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 2001 y(1.)61 b(When)28
|
||||
b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e(longer)h(exists,)h(Bash)
|
||||
f(will)g(re-searc)m(h)h Ft($PATH)d Fu(to)i(\014nd)330
|
||||
2065 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5
|
||||
2111 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5
|
||||
b(ailable)33 b(with)d(`)p Ft(shopt)f(-s)h(checkhash)p
|
||||
Fu('.)199 2196 y(2.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g
|
||||
Fu('.)199 2246 y(2.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g
|
||||
(job)g(con)m(trol)i(co)s(de)e(and)f(builtins)h(when)f(a)h(job)g(exits)h
|
||||
(with)f(a)330 2305 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
|
||||
2436 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
|
||||
(with)f(a)330 2355 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
|
||||
2490 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)
|
||||
m(trol)h(co)s(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e
|
||||
(is)330 2546 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31
|
||||
(is)330 2600 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31
|
||||
b(where)f Fr(signame)36 b Fu(is,)31 b(for)f(example,)h
|
||||
Ft(SIGTSTP)p Fu(.)199 2676 y(4.)61 b(Alias)31 b(expansion)g(is)f(alw)m
|
||||
Ft(SIGTSTP)p Fu(.)199 2735 y(4.)61 b(Alias)31 b(expansion)g(is)f(alw)m
|
||||
(a)m(ys)i(enabled,)e(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)199
|
||||
2807 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
|
||||
2870 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
|
||||
m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not)
|
||||
330 2917 y(undergo)30 b(alias)h(expansion.)199 3047 y(6.)61
|
||||
330 2979 y(undergo)30 b(alias)h(expansion.)199 3114 y(6.)61
|
||||
b(The)38 b Fm(posix)h Ft(PS1)f Fu(and)g Ft(PS2)g Fu(expansions)g(of)i
|
||||
(`)p Ft(!)p Fu(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p
|
||||
Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 3157 y(enabled,)26
|
||||
Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 3224 y(enabled,)26
|
||||
b(and)f(parameter)g(expansion)g(is)g(p)s(erformed)e(on)i(the)g(v)-5
|
||||
b(alues)25 b(of)g Ft(PS1)f Fu(and)h Ft(PS2)f Fu(regardless)330
|
||||
3266 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c
|
||||
Fu(option.)199 3397 y(7.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les)
|
||||
3333 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c
|
||||
Fu(option.)199 3468 y(7.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les)
|
||||
i(are)g(executed)g(\()p Ft($ENV)p Fu(\))f(rather)g(than)g(the)h(normal)
|
||||
f(Bash)g(\014les.)199 3528 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
|
||||
f(Bash)g(\014les.)199 3603 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
|
||||
(p)s(erformed)f(on)h(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g
|
||||
(rather)330 3637 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
|
||||
(on)e(the)h(line.)199 3768 y(9.)61 b(The)30 b(default)g(history)h
|
||||
(rather)330 3713 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
|
||||
(on)e(the)h(line.)199 3848 y(9.)61 b(The)30 b(default)g(history)h
|
||||
(\014le)f(is)h Ft(~/.sh_history)26 b Fu(\(this)31 b(is)f(the)h(default)
|
||||
g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 3899
|
||||
g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 3982
|
||||
y(10.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f
|
||||
(\014lename)h(expansion)g(on)g(the)g(w)m(ord)f(in)h(the)g(redirection)
|
||||
330 4008 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
|
||||
4139 y(11.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
|
||||
330 4092 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154
|
||||
4227 y(11.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e
|
||||
(w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)154
|
||||
4269 y(12.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
|
||||
4362 y(12.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
|
||||
b(alid)35 b(shell)f Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
|
||||
g(not)g(con)m(tain)g(c)m(haracters)330 4379 y(other)e(than)g(letters,)h
|
||||
g(not)g(con)m(tain)g(c)m(haracters)330 4472 y(other)e(than)g(letters,)h
|
||||
(digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h
|
||||
(digit.)49 b(Declaring)330 4489 y(a)31 b(function)f(with)g(an)g(in)m(v)
|
||||
(digit.)49 b(Declaring)330 4581 y(a)31 b(function)f(with)g(an)g(in)m(v)
|
||||
-5 b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g
|
||||
(non-in)m(teractiv)m(e)j(shells.)154 4619 y(13.)61 b(F)-8
|
||||
(non-in)m(teractiv)m(e)j(shells.)154 4716 y(13.)61 b(F)-8
|
||||
b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)g(same)h(as)g(one)f
|
||||
(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154
|
||||
4750 y(14.)61 b Fm(posix)30 b Fu(sp)s(ecial)h(builtins)e(are)i(found)e
|
||||
4851 y(14.)61 b Fm(posix)30 b Fu(sp)s(ecial)h(builtins)e(are)i(found)e
|
||||
(b)s(efore)h(shell)h(functions)f(during)f(command)h(lo)s(okup.)154
|
||||
4881 y(15.)61 b(Literal)28 b(tildes)g(that)f(app)s(ear)f(as)i(the)f
|
||||
(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)e(the)g
|
||||
Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 4990 y(expanded)i(as)g
|
||||
(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)i(3.5.2)h([Tilde)f
|
||||
(Expansion],)f(page)h(22.)154 5121 y(16.)61 b(The)29
|
||||
b Ft(time)g Fu(reserv)m(ed)h(w)m(ord)g(ma)m(y)g(b)s(e)g(used)f(b)m(y)h
|
||||
(itself)g(as)g(a)h(command.)40 b(When)30 b(used)f(in)g(this)h(w)m(a)m
|
||||
(y)-8 b(,)330 5230 y(it)33 b(displa)m(ys)g(timing)g(statistics)h(for)e
|
||||
(the)h(shell)g(and)f(its)g(completed)i(c)m(hildren.)47
|
||||
b(The)32 b Ft(TIMEFORMAT)330 5340 y Fu(v)-5 b(ariable)31
|
||||
b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)p
|
||||
eop end
|
||||
4986 y(15.)61 b(When)48 b(prin)m(ting)g(shell)h(function)f
|
||||
(de\014nitions)g(\(e.g.,)55 b(b)m(y)48 b Ft(type)p Fu(\),)k(Bash)d(do)s
|
||||
(es)f(not)h(prin)m(t)f(the)330 5095 y Ft(function)28
|
||||
b Fu(k)m(eyw)m(ord.)154 5230 y(16.)61 b(Literal)28 b(tildes)g(that)f
|
||||
(app)s(ear)f(as)i(the)f(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)
|
||||
e(the)g Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330
|
||||
5340 y(expanded)i(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)
|
||||
i(3.5.2)h([Tilde)f(Expansion],)f(page)h(22.)p eop end
|
||||
%%Page: 97 103
|
||||
TeXDict begin 97 102 bop 150 -116 a Fu(Chapter)30 b(6:)41
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(97)154 299 y(17.)61
|
||||
b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p Fi({)6
|
||||
b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(expansion)g(that)h(app)s(ears)f
|
||||
(within)f(double)h(quotes,)330 408 y(single)42 b(quotes)g(are)g(no)g
|
||||
(longer)g(sp)s(ecial)g(and)f(cannot)i(b)s(e)e(used)g(to)h(quote)g(a)g
|
||||
(closing)h(brace)f(or)330 518 y(other)31 b(sp)s(ecial)h(c)m(haracter,)i
|
||||
(unless)c(the)i(op)s(erator)f(is)g(one)h(of)f(those)h(de\014ned)e(to)i
|
||||
(p)s(erform)e(pattern)330 628 y(remo)m(v)-5 b(al.)42
|
||||
b(In)30 b(this)g(case,)i(they)e(do)g(not)h(ha)m(v)m(e)h(to)f(app)s(ear)
|
||||
e(as)i(matc)m(hed)g(pairs.)154 768 y(18.)61 b(The)29
|
||||
b(parser)g(do)s(es)g(not)h(recognize)h Ft(time)d Fu(as)i(a)g(reserv)m
|
||||
(ed)f(w)m(ord)g(if)h(the)f(next)h(tok)m(en)h(b)s(egins)d(with)i(a)330
|
||||
877 y(`)p Ft(-)p Fu('.)154 1017 y(19.)61 b(The)30 b(`)p
|
||||
Ft(!)p Fu(')h(c)m(haracter)h(do)s(es)e(not)h(in)m(tro)s(duce)g(history)
|
||||
f(expansion)h(within)f(a)h(double-quoted)g(string,)330
|
||||
1127 y(ev)m(en)g(if)f(the)h Ft(histexpand)d Fu(option)i(is)h(enabled.)
|
||||
154 1267 y(20.)61 b(If)24 b(a)g Fm(posix)g Fu(sp)s(ecial)h(builtin)f
|
||||
(returns)f(an)h(error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e
|
||||
(exits.)39 b(The)24 b(fatal)330 1377 y(errors)30 b(are)h(those)f
|
||||
(listed)h(in)f(the)h Fm(posix)e Fu(standard,)h(and)g(include)g(things)g
|
||||
(lik)m(e)i(passing)e(incorrect)330 1486 y(options,)43
|
||||
b(redirection)d(errors,)i(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e
|
||||
(for)g(assignmen)m(ts)i(preceding)f(the)330 1596 y(command)30
|
||||
b(name,)h(and)f(so)g(on.)154 1736 y(21.)61 b(A)31 b(non-in)m(teractiv)m
|
||||
(e)j(shell)d(exits)h(with)e(an)h(error)g(status)g(if)g(a)g(v)-5
|
||||
b(ariable)32 b(assignmen)m(t)g(error)e(o)s(ccurs)330
|
||||
1845 y(when)38 b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m
|
||||
(t)h(statemen)m(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
|
||||
1955 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
|
||||
(assign)f(a)h(v)-5 b(alue)31 b(to)g(a)g(readonly)f(v)-5
|
||||
b(ariable.)154 2095 y(22.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d
|
||||
(exits)h(with)e(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32
|
||||
b(assignmen)m(t)g(error)e(o)s(ccurs)330 2205 y(in)g(an)g(assignmen)m(t)
|
||||
i(statemen)m(t)g(preceding)e(a)h(sp)s(ecial)g(builtin,)f(but)g(not)g
|
||||
(with)h(an)m(y)f(other)h(simple)330 2314 y(command.)154
|
||||
2454 y(23.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e(exits)h(with)f
|
||||
(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5 b(ariable)44
|
||||
b(in)f(a)g Ft(for)330 2564 y Fu(statemen)m(t)32 b(or)f(the)f(selection)
|
||||
i(v)-5 b(ariable)32 b(in)e(a)g Ft(select)f Fu(statemen)m(t)j(is)f(a)f
|
||||
(readonly)h(v)-5 b(ariable.)154 2704 y(24.)61 b(Non-in)m(teractiv)m(e)
|
||||
b(The)29 b Ft(time)g Fu(reserv)m(ed)h(w)m(ord)g(ma)m(y)g(b)s(e)g(used)f
|
||||
(b)m(y)h(itself)g(as)g(a)h(command.)40 b(When)30 b(used)f(in)g(this)h
|
||||
(w)m(a)m(y)-8 b(,)330 408 y(it)33 b(displa)m(ys)g(timing)g(statistics)h
|
||||
(for)e(the)h(shell)g(and)f(its)g(completed)i(c)m(hildren.)47
|
||||
b(The)32 b Ft(TIMEFORMAT)330 518 y Fu(v)-5 b(ariable)31
|
||||
b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)154
|
||||
646 y(18.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p
|
||||
Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(expansion)g(that)h(app)s
|
||||
(ears)f(within)f(double)h(quotes,)330 756 y(single)42
|
||||
b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f(cannot)i(b)s(e)e
|
||||
(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 865
|
||||
y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s(erator)f
|
||||
(is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e(pattern)330
|
||||
975 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they)e(do)g(not)h
|
||||
(ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)154
|
||||
1103 y(19.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
|
||||
Ft(time)d Fu(as)i(a)g(reserv)m(ed)f(w)m(ord)g(if)h(the)f(next)h(tok)m
|
||||
(en)h(b)s(egins)d(with)i(a)330 1212 y(`)p Ft(-)p Fu('.)154
|
||||
1340 y(20.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h(do)s(es)e
|
||||
(not)h(in)m(tro)s(duce)g(history)f(expansion)h(within)f(a)h
|
||||
(double-quoted)g(string,)330 1450 y(ev)m(en)g(if)f(the)h
|
||||
Ft(histexpand)d Fu(option)i(is)h(enabled.)154 1577 y(21.)61
|
||||
b(If)24 b(a)g Fm(posix)g Fu(sp)s(ecial)h(builtin)f(returns)f(an)h
|
||||
(error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e(exits.)39
|
||||
b(The)24 b(fatal)330 1687 y(errors)30 b(are)h(those)f(listed)h(in)f
|
||||
(the)h Fm(posix)e Fu(standard,)h(and)g(include)g(things)g(lik)m(e)i
|
||||
(passing)e(incorrect)330 1797 y(options,)43 b(redirection)d(errors,)i
|
||||
(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e(for)g(assignmen)m(ts)i
|
||||
(preceding)f(the)330 1906 y(command)30 b(name,)h(and)f(so)g(on.)154
|
||||
2034 y(22.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e
|
||||
(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32 b(assignmen)m(t)g
|
||||
(error)e(o)s(ccurs)330 2144 y(when)38 b(no)h(command)g(name)g(follo)m
|
||||
(ws)i(the)e(assignmen)m(t)h(statemen)m(ts.)69 b(A)39
|
||||
b(v)-5 b(ariable)40 b(assignmen)m(t)330 2253 y(error)30
|
||||
b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g(assign)f(a)h(v)-5
|
||||
b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 2381
|
||||
y(23.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h
|
||||
(error)g(status)g(if)g(a)g(v)-5 b(ariable)32 b(assignmen)m(t)g(error)e
|
||||
(o)s(ccurs)330 2491 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g
|
||||
(preceding)e(a)h(sp)s(ecial)g(builtin,)f(but)g(not)g(with)h(an)m(y)f
|
||||
(other)h(simple)330 2600 y(command.)154 2728 y(24.)61
|
||||
b(A)43 b(non-in)m(teractiv)m(e)i(shell)e(exits)h(with)f(an)f(error)h
|
||||
(status)g(if)g(the)g(iteration)h(v)-5 b(ariable)44 b(in)f(a)g
|
||||
Ft(for)330 2838 y Fu(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5
|
||||
b(ariable)32 b(in)e(a)g Ft(select)f Fu(statemen)m(t)j(is)f(a)f
|
||||
(readonly)h(v)-5 b(ariable.)154 2966 y(25.)61 b(Non-in)m(teractiv)m(e)
|
||||
34 b(shells)c(exit)h(if)g Fr(\014lename)k Fu(in)30 b
|
||||
Ft(.)g Fr(\014lename)36 b Fu(is)31 b(not)f(found.)154
|
||||
2844 y(25.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g
|
||||
3093 y(26.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g
|
||||
(syn)m(tax)g(error)g(in)f(an)h(arithmetic)h(expansion)f(results)f(in)h
|
||||
(an)330 2953 y(in)m(v)-5 b(alid)31 b(expression.)154
|
||||
3093 y(26.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(on)g(w)m
|
||||
(ord)f(expansion)g(errors.)154 3233 y(27.)61 b(Non-in)m(teractiv)m(e)27
|
||||
b(shells)c(exit)i(if)e(there)h(is)f(a)h(syn)m(tax)g(error)f(in)g(a)h
|
||||
(script)f(read)g(with)h(the)f Ft(.)g Fu(or)h Ft(source)330
|
||||
3343 y Fu(builtins,)30 b(or)g(in)g(a)h(string)g(pro)s(cessed)e(b)m(y)i
|
||||
(the)f Ft(eval)f Fu(builtin.)154 3483 y(28.)61 b(Pro)s(cess)30
|
||||
b(substitution)g(is)h(not)f(a)m(v)-5 b(ailable.)154 3623
|
||||
y(29.)61 b(While)32 b(v)-5 b(ariable)32 b(indirection)f(is)g(a)m(v)-5
|
||||
b(ailable,)34 b(it)d(ma)m(y)h(not)f(b)s(e)g(applied)g(to)g(the)h(`)p
|
||||
Ft(#)p Fu(')f(and)f(`)p Ft(?)p Fu(')h(sp)s(ecial)330
|
||||
3733 y(parameters.)154 3873 y(30.)61 b(Assignmen)m(t)23
|
||||
b(statemen)m(ts)h(preceding)e Fm(posix)f Fu(sp)s(ecial)i(builtins)f(p)s
|
||||
(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 3982
|
||||
y(after)31 b(the)f(builtin)g(completes.)154 4122 y(31.)61
|
||||
b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f(function)g
|
||||
(calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)330
|
||||
4232 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
|
||||
(an)330 3203 y(in)m(v)-5 b(alid)31 b(expression.)154
|
||||
3331 y(27.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f
|
||||
(parameter)h(expansion)g(error)f(o)s(ccurs.)154 3459
|
||||
y(28.)61 b(Non-in)m(teractiv)m(e)27 b(shells)c(exit)i(if)e(there)h(is)f
|
||||
(a)h(syn)m(tax)g(error)f(in)g(a)h(script)f(read)g(with)h(the)f
|
||||
Ft(.)g Fu(or)h Ft(source)330 3568 y Fu(builtins,)30 b(or)g(in)g(a)h
|
||||
(string)g(pro)s(cessed)e(b)m(y)i(the)f Ft(eval)f Fu(builtin.)154
|
||||
3696 y(29.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f(a)m(v)-5
|
||||
b(ailable.)154 3824 y(30.)61 b(While)32 b(v)-5 b(ariable)32
|
||||
b(indirection)f(is)g(a)m(v)-5 b(ailable,)34 b(it)d(ma)m(y)h(not)f(b)s
|
||||
(e)g(applied)g(to)g(the)h(`)p Ft(#)p Fu(')f(and)f(`)p
|
||||
Ft(?)p Fu(')h(sp)s(ecial)330 3934 y(parameters.)154 4061
|
||||
y(31.)61 b(When)28 b(expanding)g(the)g(`)p Ft(*)p Fu(')g(sp)s(ecial)h
|
||||
(parameter)f(in)g(a)h(pattern)f(con)m(text)i(where)e(the)g(expansion)g
|
||||
(is)330 4171 y(double-quoted)i(do)s(es)g(not)h(treat)h(the)e
|
||||
Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)154
|
||||
4299 y(32.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e
|
||||
Fm(posix)f Fu(sp)s(ecial)i(builtins)f(p)s(ersist)g(in)f(the)i(shell)f
|
||||
(en)m(vironmen)m(t)330 4408 y(after)31 b(the)f(builtin)g(completes.)154
|
||||
4536 y(33.)61 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f
|
||||
(function)g(calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)
|
||||
330 4646 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
|
||||
Fm(posix)e Fu(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g
|
||||
(executed.)154 4372 y(32.)61 b(The)31 b Ft(command)e
|
||||
(executed.)154 4774 y(34.)61 b(The)31 b Ft(command)e
|
||||
Fu(builtin)i(do)s(es)g(not)h(prev)m(en)m(t)f(builtins)g(that)h(tak)m(e)
|
||||
h(assignmen)m(t)f(statemen)m(ts)h(as)f(ar-)330 4482 y(gumen)m(ts)40
|
||||
h(assignmen)m(t)f(statemen)m(ts)h(as)f(ar-)330 4883 y(gumen)m(ts)40
|
||||
b(from)e(expanding)h(them)g(as)h(assignmen)m(t)g(statemen)m(ts;)46
|
||||
b(when)38 b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 4591
|
||||
b(when)38 b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 4993
|
||||
y(assignmen)m(t)k(builtins)e(lose)h(their)g(assignmen)m(t)h(statemen)m
|
||||
(t)h(expansion)d(prop)s(erties)g(when)g(pre-)330 4701
|
||||
y(ceded)31 b(b)m(y)f Ft(command)p Fu(.)154 4841 y(33.)61
|
||||
(t)h(expansion)d(prop)s(erties)g(when)g(pre-)330 5103
|
||||
y(ceded)31 b(b)m(y)f Ft(command)p Fu(.)154 5230 y(35.)61
|
||||
b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h(required)f(format)h(to)g
|
||||
(describ)s(e)f(eac)m(h)i(job)e(placed)h(in)f(the)h(bac)m(kground,)330
|
||||
4950 y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g(indication)h(of)f
|
||||
(whether)f(the)h(job)g(is)g(the)h(curren)m(t)e(or)h(previous)g(job.)154
|
||||
5090 y(34.)61 b(The)23 b(output)f(of)i(`)p Ft(kill)29
|
||||
b(-l)p Fu(')23 b(prin)m(ts)f(all)i(the)g(signal)f(names)g(on)g(a)h
|
||||
(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 5200
|
||||
y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154
|
||||
5340 y(35.)61 b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)
|
||||
h(signal)f(names)f(with)g(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)p
|
||||
5340 y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g(indication)h(of)f
|
||||
(whether)f(the)h(job)g(is)g(the)h(curren)m(t)e(or)h(previous)g(job.)p
|
||||
eop end
|
||||
%%Page: 98 104
|
||||
TeXDict begin 98 103 bop 150 -116 a Fu(Chapter)30 b(6:)41
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(98)154 299 y(36.)61
|
||||
b(The)38 b Ft(export)f Fu(and)g Ft(readonly)f Fu(builtin)i(commands)g
|
||||
(displa)m(y)h(their)f(output)g(in)g(the)h(format)g(re-)330
|
||||
408 y(quired)30 b(b)m(y)g Fm(posix)p Fu(.)154 544 y(37.)61
|
||||
b(The)23 b(output)f(of)i(`)p Ft(kill)29 b(-l)p Fu(')23
|
||||
b(prin)m(ts)f(all)i(the)g(signal)f(names)g(on)g(a)h(single)g(line,)h
|
||||
(separated)e(b)m(y)g(spaces,)330 408 y(without)30 b(the)h(`)p
|
||||
Ft(SIG)p Fu(')f(pre\014x.)154 542 y(37.)61 b(The)30 b
|
||||
Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept)h(signal)f(names)f(with)g
|
||||
(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154 676 y(38.)61 b(The)38
|
||||
b Ft(export)f Fu(and)g Ft(readonly)f Fu(builtin)i(commands)g(displa)m
|
||||
(y)h(their)f(output)g(in)g(the)h(format)g(re-)330 786
|
||||
y(quired)30 b(b)m(y)g Fm(posix)p Fu(.)154 920 y(39.)61
|
||||
b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g(signal)i(names)e
|
||||
(without)g(the)h(leading)g Ft(SIG)p Fu(.)154 679 y(38.)61
|
||||
(without)g(the)h(leading)g Ft(SIG)p Fu(.)154 1054 y(40.)61
|
||||
b(The)39 b Ft(trap)e Fu(builtin)i(do)s(esn't)g(c)m(hec)m(k)h(the)g
|
||||
(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e(signal)i(sp)s
|
||||
(eci\014cation)330 789 y(and)30 b(rev)m(ert)i(the)e(signal)i(handling)e
|
||||
(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g(is,)g(unless)f(that)h
|
||||
(argumen)m(t)330 898 y(consists)e(solely)g(of)g(digits)g(and)f(is)g(a)h
|
||||
(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38 b(If)28
|
||||
(eci\014cation)330 1163 y(and)30 b(rev)m(ert)i(the)e(signal)i(handling)
|
||||
e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g(is,)g(unless)f(that)
|
||||
h(argumen)m(t)330 1273 y(consists)e(solely)g(of)g(digits)g(and)f(is)g
|
||||
(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38 b(If)28
|
||||
b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
|
||||
1008 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
|
||||
1383 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
|
||||
(osition,)f(they)g(should)f(use)h(`)p Ft(-)p Fu(')g(as)g(the)g(\014rst)
|
||||
f(argumen)m(t.)154 1143 y(39.)61 b(The)21 b Ft(.)h Fu(and)f
|
||||
f(argumen)m(t.)154 1517 y(41.)61 b(The)21 b Ft(.)h Fu(and)f
|
||||
Ft(source)f Fu(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f
|
||||
(directory)h(for)g(the)g(\014lename)f(argumen)m(t)330
|
||||
1253 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
|
||||
Ft(PATH)p Fu(.)154 1388 y(40.)61 b(Enabling)21 b Fm(posix)g
|
||||
1626 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
|
||||
Ft(PATH)p Fu(.)154 1760 y(42.)61 b(Enabling)21 b Fm(posix)g
|
||||
Fu(mo)s(de)g(has)g(the)g(e\013ect)i(of)e(setting)i(the)e
|
||||
Ft(inherit_errexit)d Fu(option,)23 b(so)f(subshells)330
|
||||
1498 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h
|
||||
1870 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h
|
||||
(inherit)f(the)h(v)-5 b(alue)28 b(of)g(the)g Ft(-e)f
|
||||
Fu(option)h(from)g(the)330 1608 y(paren)m(t)37 b(shell.)62
|
||||
Fu(option)h(from)g(the)330 1979 y(paren)m(t)37 b(shell.)62
|
||||
b(When)37 b(the)g Ft(inherit_errexit)c Fu(option)38 b(is)f(not)h
|
||||
(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 1717 y Fu(option)31
|
||||
b(in)f(suc)m(h)g(subshells.)154 1852 y(41.)61 b(When)43
|
||||
(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 2089 y Fu(option)31
|
||||
b(in)f(suc)m(h)g(subshells.)154 2223 y(43.)61 b(When)43
|
||||
b(the)g Ft(alias)f Fu(builtin)g(displa)m(ys)i(alias)g(de\014nitions,)i
|
||||
(it)d(do)s(es)g(not)g(displa)m(y)h(them)f(with)g(a)330
|
||||
1962 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g
|
||||
Ft(-p)g Fu(option)h(is)f(supplied.)154 2097 y(42.)61
|
||||
2332 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g
|
||||
Ft(-p)g Fu(option)h(is)f(supplied.)154 2466 y(44.)61
|
||||
b(When)40 b(the)g Ft(set)f Fu(builtin)h(is)g(in)m(v)m(ok)m(ed)h
|
||||
(without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g
|
||||
(function)330 2207 y(names)30 b(and)g(de\014nitions.)154
|
||||
2342 y(43.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok)
|
||||
(function)330 2576 y(names)30 b(and)g(de\014nitions.)154
|
||||
2710 y(45.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok)
|
||||
m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37
|
||||
b(v)-5 b(alues)37 b(without)330 2452 y(quotes,)26 b(unless)d(they)i
|
||||
b(v)-5 b(alues)37 b(without)330 2819 y(quotes,)26 b(unless)d(they)i
|
||||
(con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result)
|
||||
g(con)m(tains)i(nonprin)m(ting)330 2562 y(c)m(haracters.)154
|
||||
2697 y(44.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m
|
||||
g(con)m(tains)i(nonprin)m(ting)330 2929 y(c)m(haracters.)154
|
||||
3063 y(46.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m
|
||||
(ed)i(in)d Fr(logical)41 b Fu(mo)s(de,)36 b(and)f(the)g(pathname)g
|
||||
(constructed)g(from)330 2807 y Ft($PWD)i Fu(and)h(the)h(directory)f
|
||||
(constructed)g(from)330 3173 y Ft($PWD)i Fu(and)h(the)h(directory)f
|
||||
(name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g
|
||||
(an)f(existing)330 2916 y(directory)-8 b(,)32 b Ft(cd)d
|
||||
(an)f(existing)330 3282 y(directory)-8 b(,)32 b Ft(cd)d
|
||||
Fu(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f
|
||||
Fr(ph)m(ysical)j Fu(mo)s(de.)154 3051 y(45.)61 b(The)36
|
||||
Fr(ph)m(ysical)j Fu(mo)s(de.)154 3416 y(47.)61 b(The)36
|
||||
b Ft(pwd)f Fu(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5
|
||||
b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)m(t)f
|
||||
(directory)-8 b(,)330 3161 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m
|
||||
(directory)-8 b(,)330 3526 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m
|
||||
(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h
|
||||
Ft(-P)e Fu(option.)154 3296 y(46.)61 b(When)35 b(listing)g(the)g
|
||||
Ft(-P)e Fu(option.)154 3660 y(48.)61 b(When)35 b(listing)g(the)g
|
||||
(history)-8 b(,)36 b(the)f Ft(fc)g Fu(builtin)f(do)s(es)g(not)h
|
||||
(include)g(an)f(indication)i(of)f(whether)f(or)330 3406
|
||||
(include)g(an)f(indication)i(of)f(whether)f(or)330 3769
|
||||
y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
|
||||
3541 y(47.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
|
||||
Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 3677 y(48.)61 b(The)37
|
||||
3903 y(49.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
|
||||
Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 4037 y(50.)61 b(The)37
|
||||
b Ft(type)g Fu(and)g Ft(command)f Fu(builtins)i(will)g(not)g(rep)s(ort)
|
||||
f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330
|
||||
3786 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
|
||||
4147 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
|
||||
(execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named)
|
||||
g(\014le)330 3896 y(found)i(in)h Ft($PATH)p Fu(.)154
|
||||
4031 y(49.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m
|
||||
g(\014le)330 4256 y(found)i(in)h Ft($PATH)p Fu(.)154
|
||||
4390 y(51.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m
|
||||
(ok)m(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p
|
||||
Ft(v)p Fu(')f(command)g(is)g(run,)330 4141 y(instead)e(of)f(c)m(hec)m
|
||||
(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 4276
|
||||
y(50.)61 b(When)41 b(the)g Ft(xpg_echo)e Fu(option)i(is)g(enabled,)j
|
||||
Ft(v)p Fu(')f(command)g(is)g(run,)330 4500 y(instead)e(of)f(c)m(hec)m
|
||||
(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 4634
|
||||
y(52.)61 b(When)41 b(the)g Ft(xpg_echo)e Fu(option)i(is)g(enabled,)j
|
||||
(Bash)d(do)s(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330
|
||||
4386 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54
|
||||
4743 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54
|
||||
b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e)
|
||||
g(c)m(haracters)h(are)330 4495 y(con)m(v)m(erted.)154
|
||||
4631 y(51.)61 b(The)30 b Ft(ulimit)f Fu(builtin)g(uses)h(a)h(blo)s(c)m
|
||||
g(c)m(haracters)h(are)330 4853 y(con)m(v)m(erted.)154
|
||||
4987 y(53.)61 b(The)30 b Ft(ulimit)f Fu(builtin)g(uses)h(a)h(blo)s(c)m
|
||||
(k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h Ft(-c)f
|
||||
Fu(and)g Ft(-f)f Fu(options.)154 4766 y(52.)61 b(The)39
|
||||
Fu(and)g Ft(-f)f Fu(options.)154 5121 y(54.)61 b(The)39
|
||||
b(arriv)-5 b(al)41 b(of)f Ft(SIGCHLD)e Fu(when)h(a)h(trap)g(is)g(set)h
|
||||
(on)f Ft(SIGCHLD)e Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g
|
||||
Ft(wait)330 4876 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f
|
||||
Ft(wait)330 5230 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f
|
||||
(immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j
|
||||
(for)f(eac)m(h)330 4985 y(c)m(hild)31 b(that)g(exits.)154
|
||||
5121 y(53.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m
|
||||
(terrupted)h(b)m(y)g(a)h(signal)f(for)g(whic)m(h)g(a)h(trap)f(has)g(b)s
|
||||
(een)f(set.)40 b(If)27 b(Bash)330 5230 y(receiv)m(es)41
|
||||
b(a)f(trapp)s(ed)e(signal)i(while)f(executing)h Ft(read)p
|
||||
Fu(,)h(the)e(trap)h(handler)e(executes)i(and)f Ft(read)330
|
||||
5340 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)p
|
||||
(for)f(eac)m(h)330 5340 y(c)m(hild)31 b(that)g(exits.)p
|
||||
eop end
|
||||
%%Page: 99 105
|
||||
TeXDict begin 99 104 bop 150 -116 a Fu(Chapter)30 b(6:)41
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(99)154 299 y(54.)61
|
||||
b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e(pro)s(cess's)
|
||||
h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h(after)330
|
||||
408 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain)g(it.)275
|
||||
568 y(There)j(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h(that)g(Bash)g
|
||||
(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)
|
||||
150 677 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199
|
||||
812 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i
|
||||
Ft($EDITOR)c Fu(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h
|
||||
(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 922 y(rather)g(than)g(defaulting)h
|
||||
b(Bash)30 b(F)-8 b(eatures)2484 b(99)154 299 y(55.)61
|
||||
b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m(terrupted)h(b)m
|
||||
(y)g(a)h(signal)f(for)g(whic)m(h)g(a)h(trap)f(has)g(b)s(een)f(set.)40
|
||||
b(If)27 b(Bash)330 408 y(receiv)m(es)41 b(a)f(trapp)s(ed)e(signal)i
|
||||
(while)f(executing)h Ft(read)p Fu(,)h(the)e(trap)h(handler)e(executes)i
|
||||
(and)f Ft(read)330 518 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i
|
||||
(than)e(128.)154 653 y(56.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i
|
||||
(bac)m(kground)e(pro)s(cess's)h(status)g(from)f(the)h(list)g(of)g(suc)m
|
||||
(h)f(statuses)h(after)330 762 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)
|
||||
g(to)h(obtain)g(it.)275 922 y(There)j(is)g(other)h Fm(posix)f
|
||||
Fu(b)s(eha)m(vior)h(that)g(Bash)g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)
|
||||
g(default)f(ev)m(en)i(when)d(in)150 1031 y Fm(posix)d
|
||||
Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)199 1166 y(1.)61
|
||||
b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i Ft($EDITOR)c
|
||||
Fu(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h(if)f
|
||||
Ft(FCEDIT)f Fu(is)h(unset,)330 1275 y(rather)g(than)g(defaulting)h
|
||||
(directly)g(to)g Ft(ed)p Fu(.)40 b Ft(fc)30 b Fu(uses)g
|
||||
Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 1056 y(2.)61
|
||||
Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 1410 y(2.)61
|
||||
b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g
|
||||
Ft(xpg_echo)e Fu(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g
|
||||
Ft(echo)f Fu(builtin)330 1166 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
|
||||
1325 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
|
||||
Ft(echo)f Fu(builtin)330 1519 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
|
||||
1679 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
|
||||
Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g(default,)h(b)m(y)f(sp)s
|
||||
(ecifying)g(the)g Ft(--enable-)150 1435 y(strict-posix-default)c
|
||||
(ecifying)g(the)g Ft(--enable-)150 1788 y(strict-posix-default)c
|
||||
Fu(to)27 b Ft(configure)e Fu(when)h(building)h(\(see)h(Section)g(10.8)g
|
||||
([Optional)g(F)-8 b(eatures],)150 1544 y(page)31 b(144\).)p
|
||||
([Optional)g(F)-8 b(eatures],)150 1898 y(page)31 b(144\).)p
|
||||
eop end
|
||||
%%Page: 100 106
|
||||
TeXDict begin 100 105 bop 3614 -116 a Fu(100)150 299
|
||||
|
||||
Reference in New Issue
Block a user