summaryrefslogtreecommitdiff
path: root/doc/rose94.ps
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2010-04-09 16:13:32 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2010-04-09 16:15:01 -0700
commit2d698b6e42d8dca191ac795ef5dba3bf62496eec (patch)
treeac5e0b67043c50f49160e9fe407435706cf30444 /doc/rose94.ps
parentf1250933e4a2ac09a3d0b25b3877068e12f44da5 (diff)
downloadvyatta-bash-2d698b6e42d8dca191ac795ef5dba3bf62496eec.tar.gz
vyatta-bash-2d698b6e42d8dca191ac795ef5dba3bf62496eec.zip
Integrate bash 3.2 version
This is merge of current Debian stable (Lenny) version of Bash with Vyatta changes.
Diffstat (limited to 'doc/rose94.ps')
-rw-r--r--doc/rose94.ps1581
1 files changed, 0 insertions, 1581 deletions
diff --git a/doc/rose94.ps b/doc/rose94.ps
deleted file mode 100644
index 1fff283..0000000
--- a/doc/rose94.ps
+++ /dev/null
@@ -1,1581 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.08
-%%DocumentNeededResources: font Times-Bold
-%%+ font Times-Italic
-%%+ font Times-Roman
-%%+ font Courier
-%%+ font Symbol
-%%DocumentSuppliedResources: procset grops 1.08 0
-%%Pages: 13
-%%PageOrder: Ascend
-%%Orientation: Portrait
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset grops 1.08 0
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}bind def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/FL{
-currentgray exch setgray fill setgray
-}bind def
-/BL/fill load def
-/LW/setlinewidth load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-}bind def
-/PEND{
-clear
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Times-Italic
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Courier
-%%IncludeResource: font Symbol
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
-792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron/zcaron
-/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space
-/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft
-/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four
-/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C
-/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash
-/bracketright/circumflex/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q
-/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase
-/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
-/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
-/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
-/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
-/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
-/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
-/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
-/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
-/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
-/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
-/udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0
-ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
-/Times-Bold RE
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 12/Times-Bold@0 SF(Bash, the Bour)210.99 123 Q(ne\255Again Shell)-.18 E/F1
-10/Times-Italic@0 SF(Chet Rame)263.85 147 Q(y)-.3 E(Case W)221.72 159 Q
-(estern Reserve Univer)-.92 E(sity)-.1 E -.15(ch)250.425 171 S(et@po.cwru.edu)
-.15 E(ABSTRA)264.535 213 Q(CT)-.3 E/F2 10/Times-Roman@0 SF .019(An o)133 237 R
--.15(ve)-.15 G(rvie).15 E 2.519(wo)-.25 G 2.519(f/)191.918 237 S .018
-(bin/sh\255compatible shells is presented, as well as an introduction to)
-200.547 237 R .128(the POSIX.2 shell and tools standard.)108 249 R .128
-(These serv)5.128 F 2.628(ea)-.15 G 2.628(sa)318.562 249 S 2.628(ni)329.52 249
-S .128(ntroduction to bash.)339.928 249 R 2.628(Ac)5.128 G(ompar)439.32 249 Q
-(-)-.2 E .188(ison of bash to sh and ksh is presented, as well as a discussion\
- of features unique to bash.)108 261 R(Finally)108 273 Q 3.178(,s)-.65 G .678
-(ome of the changes and ne)145.258 273 R 3.178(wf)-.25 G .678
-(eatures to appear in the ne)268.486 273 R .678(xt bash release will be)-.15 F
-(discussed.)108 285 Q/F3 10/Times-Bold@0 SF 2.5(1. Intr)72 321 R(oduction)-.18
-E(Bash)97 336.6 Q F2 .904(is the shell, or command language interpreter)3.404 F
-3.404(,t)-.4 G .904(hat will appear in the GNU operating system.)316.032 336.6
-R .782(The name is an acron)72 348.6 R .782(ym for the `)-.15 F(`Bourne\255Ag)
--.74 E .782(ain SHell')-.05 F .782(', a pun on Ste)-.74 F 1.082 -.15(ve B)-.25
-H .783(ourne, the author of the direct).15 F .212(ancestor of the current)72
-360.6 R/F4 9/Times-Roman@0 SF(UNIX)2.712 E F2 2.712<8773>C(hell)199.131 360.6 Q
-F1(/bin/sh)2.712 E F2 2.712(,w)C .212(hich appeared in the Se)256.505 360.6 R
--.15(ve)-.25 G .211(nth Edition Bell Labs Research v).15 F(er)-.15 E(-)-.2 E
-(sion of)72 372.6 Q F4(UNIX)2.5 E F2([1].).833 E .191(Bash is an)97 388.2 R F3
-(sh)2.691 E F2 .192
-(\255compatible shell that incorporates useful features from the K)B .192
-(orn shell \()-.35 F F3(ksh)A F2 .833(\)[)C .192(2] and the)-.833 F 2.767(Cs)72
-400.2 S .267(hell \()85.327 400.2 R F3(csh)A F2 .833(\)[)C .267
-(3], described later in this article.)-.833 F .266
-(It is ultimately intended to be a conformant implementation)5.267 F 1.965
-(of the IEEE POSIX Shell and T)72 412.2 R 1.966(ools speci\214cation \(IEEE W)
--.8 F 1.966(orking Group 1003.2\).)-.8 F 1.966(It of)6.966 F 1.966
-(fers functional)-.25 F(impro)72 424.2 Q -.15(ve)-.15 G(ments o).15 E -.15(ve)
--.15 G 2.5(rs).15 G 2.5(hf)155.28 424.2 S(or both interacti)166.11 424.2 Q .3
--.15(ve a)-.25 H(nd programming use.).15 E .802
-(While the GNU operating system will most lik)97 439.8 R .801(ely include a v)
--.1 F .801(ersion of the Berk)-.15 F(ele)-.1 E 3.301(ys)-.15 G .801
-(hell csh, bash)448.238 439.8 R .108(will be the def)72 451.8 R .108
-(ault shell.)-.1 F(Lik)5.108 E 2.608(eo)-.1 G .108(ther GNU softw)199.658 451.8
-R .108(are, bash is quite portable.)-.1 F .109(It currently runs on nearly e)
-5.109 F -.15(ve)-.25 G(ry).15 E -.15(ve)72 463.8 S .367(rsion of).15 F F4(UNIX)
-2.867 E F2 .367(and a fe)2.867 F 2.867(wo)-.25 G .367
-(ther operating systems \255 an independently-supported port e)187.933 463.8 R
-.366(xists for OS/2, and)-.15 F .706(there are rumors of ports to DOS and W)72
-475.8 R(indo)-.4 E .706(ws NT)-.25 F 5.706(.P)-.74 G .706(orts to)295.97 475.8
-R F4(UNIX)3.206 E F2(-lik)A 3.206(es)-.1 G .706(ystems such as QNX and Minix)
-372.979 475.8 R(are part of the distrib)72 487.8 Q(ution.)-.2 E .51
-(The original author of bash w)97 503.4 R .51(as Brian F)-.1 F .509
-(ox, an emplo)-.15 F .509(yee of the Free Softw)-.1 F .509(are F)-.1 F 3.009
-(oundation. The)-.15 F(cur)3.009 E(-)-.2 E(rent de)72 515.4 Q -.15(ve)-.25 G
-(loper and maintainer is Chet Rame).15 E 1.3 -.65(y, a v)-.15 H(olunteer who w)
-.45 E(orks at Case W)-.1 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)458.91 515.4 Q
--.15(ve)-.25 G(rsity).15 E(.)-.65 E F3 2.5(2. What)72 539.4 R(is a shell?)2.5 E
-F2 1.241(At its base, a shell is simply a macro processor that e)97 555 R -.15
-(xe)-.15 G 1.242(cutes commands.).15 F(A)6.242 E F4(UNIX)3.742 E F2 1.242
-(shell is both a)3.742 F .189(command interpreter)72 567 R 2.688(,w)-.4 G .188
-(hich pro)167.787 567 R .188(vides the user interf)-.15 F .188
-(ace to the rich set of)-.1 F F4(UNIX)2.688 E F2 .188
-(utilities, and a programming)2.688 F .751(language, allo)72 579 R .752
-(wing these utilitites to be combined.)-.25 F .752
-(The shell reads commands either from a terminal or a)5.752 F 2.52
-(\214le. Files)72 591 R .019
-(containing commands can be created, and become commands themselv)2.52 F 2.519
-(es. These)-.15 F(ne)2.519 E 2.519(wc)-.25 G(ommands)465.11 591 Q(ha)72 603 Q
-.395 -.15(ve t)-.2 H .095(he same status as system commands in directories lik)
-.15 F(e)-.1 E F3(/bin)2.595 E F2 2.595(,a)C(llo)342.575 603 Q .096
-(wing users or groups to establish cus-)-.25 F(tom en)72 615 Q(vironments.)-.4
-E F3 2.5(2.1. Command)72 639 R(Inter)2.5 E(pr)-.1 E(eter)-.18 E F2 2.926(As)97
-654.6 S .426(hell allo)111.036 654.6 R .426(ws e)-.25 F -.15(xe)-.15 G .426
-(cution of).15 F F4(UNIX)2.926 E F2 .426
-(commands, both synchronously and asynchronously)2.926 F 5.425(.T)-.65 G(he)
-460.165 654.6 Q F1 -.37(re)2.925 G(dir).37 E(ec-)-.37 E(tion)72 666.6 Q F2 .334
-(constructs permit \214ne-grained control of the input and output of those com\
-mands, and the shell allo)2.833 F(ws)-.25 E .559(control o)72 678.6 R -.15(ve)
--.15 G 3.058(rt).15 G .558(he contents of their en)126.697 678.6 R(vironment.)
--.4 E F4(UNIX)5.558 E F2 .558(shells also pro)3.058 F .558
-(vide a small set of b)-.15 F .558(uilt-in commands)-.2 F(\()72 690.6 Q F1 -.2
-(bu)C(iltins).2 E F2 4.611(\)i)C 2.112
-(mplementing functionality impossible \(e.g.,)115.861 690.6 R F3(cd)4.612 E F2
-(,)A F3(br)4.612 E(eak)-.18 E F2(,)A F3(continue)4.612 E F2 4.612(,a)C(nd)
-399.074 690.6 Q F3(exec)4.612 E F2 4.612(\)o)C 4.612(ri)444.948 690.6 S(ncon)
-455.67 690.6 Q -.15(ve)-.4 G(nient).15 E .32 LW 76 700.6 72 700.6 DL 80 700.6
-76 700.6 DL 84 700.6 80 700.6 DL 88 700.6 84 700.6 DL 92 700.6 88 700.6 DL 96
-700.6 92 700.6 DL 100 700.6 96 700.6 DL 104 700.6 100 700.6 DL 108 700.6 104
-700.6 DL 112 700.6 108 700.6 DL 116 700.6 112 700.6 DL 120 700.6 116 700.6 DL
-124 700.6 120 700.6 DL 128 700.6 124 700.6 DL 132 700.6 128 700.6 DL 136 700.6
-132 700.6 DL 140 700.6 136 700.6 DL 144 700.6 140 700.6 DL/F5 8/Times-Roman@0
-SF 2<8755>72 710.6 S(NIX is a trademark of X/OPEN)83.776 710.6 Q EP
-%%Page: 2 2
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-2-)279.67 48 S(\()72 84 Q/F1 10/Times-Bold@0 SF
-(history)A F0(,)A F1(getopts)3.505 E F0(,)A F1(kill)3.505 E F0 3.505(,o)C(r)
-172.795 84 Q F1(pwd)3.505 E F0 3.505(,f)C 1.005(or e)207.305 84 R 1.005
-(xample\) to obtain via separate utilities.)-.15 F 1.005
-(Shells may be used interac-)6.005 F(ti)72 96 Q -.15(ve)-.25 G
-(ly or non-interacti).15 E -.15(ve)-.25 G 2.5(ly: the).15 F 2.5(ya)-.15 G
-(ccept input typed from the k)207.42 96 Q -.15(ey)-.1 G
-(board or from a \214le.).15 E F1 2.5(2.2. Pr)72 120 R(ogramming Language)-.18
-E F0 .501(While e)97 135.6 R -.15(xe)-.15 G .501
-(cuting commands is essential, most of the po).15 F .501(wer \(and comple)-.25
-F .502(xity\) of shells is due to their)-.15 F .05
-(embedded programming languages.)72 147.6 R(Lik)5.049 E 2.549(ea)-.1 G .349
--.15(ny h)245.398 147.6 T(igh-le).15 E -.15(ve)-.25 G 2.549(ll).15 G .049
-(anguage, the shell pro)303.276 147.6 R .049(vides v)-.15 F .049
-(ariables, \215o)-.25 F 2.549(wc)-.25 G(ontrol)480.11 147.6 Q
-(constructs, quoting, and functions.)72 159.6 Q .475
-(The basic syntactic element is a)97 175.2 R/F2 10/Times-Italic@0 SF .475
-(simple command)2.975 F F0 5.475(.A)C .475
-(simple command consists of an optional set of)315.405 175.2 R -.25(va)72 187.2
-S .525(riable assignments, a command w).25 F .525
-(ord, and an optional list of ar)-.1 F 3.024(guments. Operators)-.18 F .524
-(to redirect input and)3.024 F(output may appear an)72 199.2 Q
-(ywhere in a simple command.)-.15 E(Some e)5 E(xamples are:)-.15 E/F3 10
-/Courier@0 SF(who)97 211.2 Q(trn -e -S1 -N)97 223.2 Q(ls -l /bin > binfiles)97
-235.2 Q(make > make.out 2>make.errs)97 247.2 Q F0 2.518(Ap)97 262.8 S .018
-(ipeline is a sequence of tw)111.738 262.8 R 2.518(oo)-.1 G 2.518(rm)230.056
-262.8 S .018(ore commands separated by the character)243.684 262.8 R/F4 10
-/Symbol SF<ef>2.519 E F0 5.019(.T)C .019(he standard output)430.082 262.8 R
-(of the \214rst command is connected to the standard input of the second.)72
-274.8 Q(Examples of pipelines include:)5 E F3(who | wc -l)97 286.8 Q
-(ls -l | sort +3nr)97 298.8 Q F0 .578
-(Simple commands and pipelines may be combined into)97 314.4 R F2(lists)3.078 E
-F0 5.578(.A)C .578(list is a sequence of pipelines sepa-)360.002 314.4 R .289
-(rated by one of)72 326.4 R F1(;)2.789 E F0(,)A F1(&)2.789 E F0(,)A F1(&&)2.789
-E F0 2.789(,o)C(r)185.103 326.4 Q F4<efef>2.789 E F0 2.789(,a)C .289
-(nd optionally terminated by)210.831 326.4 R F1(;)2.789 E F0(,)A F1(&)2.789 E
-F0 2.789(,o)C 2.789(ran)352.555 326.4 S -.25(ew)370.903 326.4 S 2.789
-(line. Commands).25 F .289(separated by)2.789 F F1(;)72 338.4 Q F0 .336(are e)
-2.836 F -.15(xe)-.15 G .336(cuted sequentially; the shell w).15 F .335
-(aits for each to complete in turn.)-.1 F .335(If a command is terminated by)
-5.335 F F1(&)2.835 E F0(,)A .007(the shell e)72 350.4 R -.15(xe)-.15 G .007
-(cutes it in the).15 F F2(bac)2.507 E(kgr)-.2 E(ound)-.45 E F0 2.508(,a)1.666 G
-.008(nd does not w)236.076 350.4 R .008(ait for it to \214nish.)-.1 F .008
-(If tw)5.008 F 2.508(oc)-.1 G .008(ommands are separated by)397.616 350.4 R F1
-(&&)72 362.4 Q F0 3.008(,t)C .508(he second command e)96.948 362.4 R -.15(xe)
--.15 G .508(cutes only if the \214rst command succeeds.).15 F 3.007(As)5.508 G
-.507(eparator of)383.575 362.4 R F4<efef>3.007 E F0 .507(causes the sec-)3.007
-F(ond command to e)72 374.4 Q -.15(xe)-.15 G(cute only if the \214rst f).15 E
-2.5(ails. Some)-.1 F -.15(ex)2.5 G(amples are:).15 E F3(who ; date)97 386.4 Q
-(cd /usr/src || exit 1)97 398.4 Q(cd "$@" && xtitle $HOST: $PWD)97 410.4 Q F0
-1.36(The shell programming language pro)97 426 R 1.361(vides a v)-.15 F 1.361
-(ariety of \215o)-.25 F 3.861(wc)-.25 G 1.361(ontrol structures.)353.276 426 R
-(The)6.361 E F1 -.25(fo)3.861 G(r).25 E F0(command)3.861 E(allo)72 438 Q .654
-(ws a list of commands to be e)-.25 F -.15(xe)-.15 G .654
-(cuted once for each w).15 F .654(ord in a w)-.1 F .654(ord list.)-.1 F(The)
-5.654 E F1(case)3.154 E F0 .654(command allo)3.154 F .654(ws a)-.25 F .627
-(list to be e)72 450 R -.15(xe)-.15 G .628(cuted if a w).15 F .628
-(ord matches a speci\214ed pattern.)-.1 F(The)5.628 E F1(while)3.128 E F0(and)
-3.128 E F1(until)3.128 E F0 .628(commands e)3.128 F -.15(xe)-.15 G .628
-(cute a list of).15 F 1.559
-(commands as long as a guard command completes successfully or f)72 462 R 1.559
-(ails, respecti)-.1 F -.15(ve)-.25 G(ly).15 E 6.559(.T)-.65 G(he)440.892 462 Q
-F1(if)4.059 E F0(command)4.059 E(allo)72 474 Q(ws e)-.25 E -.15(xe)-.15 G
-(cution of dif).15 E(ferent command lists depending on the e)-.25 E
-(xit status of a guard command.)-.15 E(A)97 489.6 Q F2 .385(shell function)
-2.885 F F0 .385(associates a list of commands with a name.)2.885 F .386
-(Each time the name is used as a simple)5.385 F .938(command, the list is e)72
-501.6 R -.15(xe)-.15 G 3.438(cuted. This).15 F -.15(exe)3.438 G .938
-(cution tak).15 F .938(es place in the current shell conte)-.1 F .937
-(xt; no ne)-.15 F 3.437(wp)-.25 G .937(rocess is)468.903 501.6 R 2.5
-(created. Functions)72 513.6 R(may ha)2.5 E .3 -.15(ve t)-.2 H(heir o).15 E
-(wn ar)-.25 E(gument lists and local v)-.18 E(ariables, and may be recursi)-.25
-E -.15(ve)-.25 G(.).15 E .722(The shell language pro)97 529.2 R .722(vides v)
--.15 F .722(ariables, which may be both set and referenced.)-.25 F 3.222(An)
-5.722 G .722(umber of special)435.906 529.2 R 1.02
-(parameters are present, such as)72 541.2 R F1($@)3.519 E F0 3.519(,w)C 1.019
-(hich returns the shell')231.257 541.2 R 3.519(sp)-.55 G 1.019
-(ositional parameters \(command-line ar)333.103 541.2 R(gu-)-.18 E(ments\),)72
-553.2 Q F1($?)2.906 E F0 2.906(,t)C .406(he e)122.812 553.2 R .406
-(xit status of the pre)-.15 F .406(vious command, and)-.25 F F1($$)2.906 E F0
-2.906(,t)C .406(he shell')322.436 553.2 R 2.906(sp)-.55 G .406(rocess I.D.)
-368.248 553.2 R .407(In addition to pro)5.406 F(vid-)-.15 E .129
-(ing special parameters and user)72 565.2 R .129(-de\214ned v)-.2 F .129
-(ariables, the shell permits the v)-.25 F .128(alues of certain v)-.25 F .128
-(ariables to control)-.25 F .16(its beha)72 577.2 R(vior)-.2 E 5.16(.S)-.55 G
-.16(ome of these v)131.57 577.2 R .16(ariables include)-.25 F F1(IFS)2.661 E F0
-2.661(,w)C .161(hich controls ho)284.202 577.2 R 2.661(wt)-.25 G .161
-(he shell splits w)361.375 577.2 R(ords,)-.1 E F1 -.74(PA)2.661 G(TH)-.21 E F0
-2.661(,w)C(hich)486.78 577.2 Q .392
-(tells the shell where to look for commands, and)72 589.2 R F1(PS1)2.892 E F0
-2.892(,w)C .392(hose v)297.01 589.2 R .392
-(alue is the string the shell uses to prompt for)-.25 F 3.371(commands. There)
-72 601.2 R .871(are a fe)3.371 F 3.371(wv)-.25 G .871(ariables whose v)196.645
-601.2 R .871(alues are set by the shell and normally only referenced by)-.25 F
-(users;)72 613.2 Q F1(PWD)3.663 E F0 3.663(,w)C 1.163(hose v)135.706 613.2 R
-1.163(alue is the pathname of the shell')-.25 F 3.662(sc)-.55 G 1.162(urrent w)
-313.068 613.2 R 1.162(orking directory)-.1 F 3.662(,i)-.65 G 3.662(so)421.894
-613.2 S 1.162(ne such v)434.446 613.2 R(ariable.)-.25 E -1.11(Va)72 625.2 S
-.008(riables can be used in nearly an)1.11 F 2.509(ys)-.15 G .009(hell conte)
-219.37 625.2 R .009(xt and are particularly v)-.15 F .009
-(aluable when used with control struc-)-.25 F(tures.)72 637.2 Q .583
-(There are se)97 652.8 R -.15(ve)-.25 G .583(ral shell).15 F F2 -.2(ex)3.083 G
-(pansions).2 E F0 5.583(.A)C -.25(va)254.298 652.8 S(riable).25 E F2(name)3.083
-E F0 .583(is e)3.083 F .582(xpanded to its v)-.15 F .582(alue using ${)-.25 F
-F2(name)A F0 .582(}, where)B 1.387(the braces are optional.)72 664.8 R 1.387
-(There are a number of parameter e)6.387 F 1.388(xpansions a)-.15 F -.25(va)-.2
-G 3.888(ilable. F).25 F 1.388(or e)-.15 F 1.388(xample, there are)-.15 F(${)72
-676.8 Q F2(name)A F0<3aad>A F2(wor)A(d)-.37 E F0 .891(}, which e)B .891
-(xpands to)-.15 F F2(wor)3.391 E(d)-.37 E F0(if)3.391 E F2(name)3.391 E F0 .891
-(is unset or null, and the in)3.391 F -.15(ve)-.4 G .89(rse ${).15 F F2(name)A
-F0(:+)A F2(wor)A(d)-.37 E F0 .89(}, which)B -.15(ex)72 688.8 S 1.203(pands to)
-.15 F F2(wor)3.703 E(d)-.37 E F0(if)3.703 E F2(name)3.703 E F0 1.203
-(is set and not null.)3.703 F F2 1.203(Command substitution)6.203 F F0(allo)
-3.703 E 1.204(ws the output of a command to)-.25 F .918
-(replace the command name.)72 700.8 R .918(The syntax is `)5.918 F F2(command)A
-F0(`.)A F2(Command)5.918 E F0 .918(is e)3.418 F -.15(xe)-.15 G .918
-(cuted and it and the backquotes).15 F .299
-(are replaced by its output, with trailing ne)72 712.8 R .299(wlines remo)-.25
-F -.15(ve)-.15 G(d.).15 E F2 -.8(Pa)5.299 G .299(thname e).8 F(xpansion)-.2 E
-F0 .299(is a w)2.799 F .299(ay to e)-.1 F .299(xpand a w)-.15 F(ord)-.1 E 1.586
-(to a set of \214lenames.)72 724.8 R -.8(Wo)6.586 G 1.586(rds are re).8 F -.05
-(ga)-.15 G 1.586(rded as patterns, in which the characters).05 F F1(*)4.086 E
-F0(,)A F1(?)4.086 E F0 4.085(,a)C(nd)432.115 724.8 Q F1([)4.085 E F0(ha)4.085 E
-1.885 -.15(ve s)-.2 H(pecial).15 E EP
-%%Page: 3 3
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-3-)279.67 48 S 2.845(meaning. W)72 84 R .346(ords\
- containing these special characters are replaced with a sorted list of matchi\
-ng pathnames.)-.8 F(If a w)72 96 Q
-(ord generates no matches, it is left unchanged.)-.1 E/F1 10/Times-Italic@0 SF
-(Quoting)97 111.6 Q F0 .85(is used to remo)3.35 F 1.15 -.15(ve t)-.15 H .85
-(he special meaning of characters or w).15 F 3.35(ords. It)-.1 F .85
-(can disable special treat-)3.35 F .314
-(ment for shell operators or other special characters, pre)72 123.6 R -.15(ve)
--.25 G .315(nt reserv).15 F .315(ed w)-.15 F .315
-(ords from being recognized as such,)-.1 F .683(and inhibit v)72 135.6 R .683
-(ariable e)-.25 F 3.183(xpansion. The)-.15 F .683
-(shell has three quoting mechanisms:)3.183 F 3.183(ab)5.683 G .683
-(ackslash preserv)387.413 135.6 R .682(es the literal)-.15 F -.25(va)72 147.6 S
-.417(lue of the ne).25 F .417(xt character)-.15 F 2.917(,ap)-.4 G .417
-(air of single quotes preserv)196.712 147.6 R .417(es the literal v)-.15 F .418
-(alue of each character between the)-.25 F 1.426
-(quotes, and a pair of double quotes preserv)72 159.6 R 1.425
-(es the literal meaning of enclosed characters while allo)-.15 F(wing)-.25 E
-(some e)72 171.6 Q(xpansions.)-.15 E 1.054(Some of the commands b)97 187.2 R
-1.054(uilt into the shell are part of the programming language.)-.2 F(The)6.055
-E/F2 10/Times-Bold@0 SF(br)3.555 E(eak)-.18 E F0(and)3.555 E F2(continue)72
-199.2 Q F0 1.175(commands control loop e)3.675 F -.15(xe)-.15 G 1.175
-(cution as in the C language.).15 F(The)6.175 E F2 -2.3 -.15(ev a)3.675 H(l).15
-E F0 -.2(bu)3.675 G 1.174(iltin allo).2 F 1.174(ws a string to be)-.25 F .204
-(parsed and e)72 211.2 R -.15(xe)-.15 G .204(cuted as a command.).15 F F2 -.65
-(Wa)5.205 G(it).65 E F0 .205
-(tells the shell to pause until the processes speci\214ed as ar)2.705 F
-(guments)-.18 E(ha)72 223.2 Q .3 -.15(ve ex)-.2 H(ited.).15 E F2 2.5
-(2.3. Interacti)72 247.2 R .2 -.1(ve F)-.1 H(eatur)-.15 E(es)-.18 E F0 .51
-(Shells ha)97 262.8 R .81 -.15(ve b)-.2 H -.15(eg).15 G .51(un of).15 F .51
-(fering features geared speci\214cally for interacti)-.25 F .81 -.15(ve u)-.25
-H .51(se rather than to augment the).15 F .76(programming language.)72 274.8 R
-.761(These interacti)5.76 F 1.061 -.15(ve f)-.25 H .761
-(eatures include job control, command line editing, history and).15 F(aliases.)
-72 286.8 Q .626(Job control is a f)97 302.4 R .626(acility pro)-.1 F .626
-(vided jointly by the shell and the)-.15 F/F3 9/Times-Roman@0 SF(UNIX)3.125 E
-F0 -.1(ke)3.125 G .625(rnel that allo).1 F .625(ws users to selec-)-.25 F(ti)72
-314.4 Q -.15(ve)-.25 G .344
-(ly stop \(suspend\) and restart \(resume\) processes.).15 F .345
-(Each pipeline e)5.345 F -.15(xe)-.15 G .345
-(cuted by the shell is referred to as a).15 F F1(job)72 326.4 Q F0 2.989(.J)C
-.488(obs may be suspended and restarted in either the fore)94.159 326.4 R .488
-(ground, where the)-.15 F 2.988(yh)-.15 G -2.25 -.2(av e)397.148 326.4 T .488
-(access to the terminal,)3.188 F .833(or background, where the)72 338.4 R 3.333
-(ya)-.15 G .834(re isolated and cannot read from the terminal.)189.312 338.4 R
--.8(Ty)5.834 G .834(ping the).8 F F1(suspend)3.334 E F0(character)5 E .459(whi\
-le a process is running stops that process and returns control to the shell.)72
-350.4 R .459(Once a job is suspended, the)5.459 F .392
-(user manipulates the job')72 362.4 R 2.892(ss)-.55 G .392(tate, using)184.118
-362.4 R F2(bg)2.892 E F0 .393(to continue it in the background,)2.892 F F2(fg)
-2.893 E F0 .393(to return it to the fore)2.893 F(ground)-.15 E .891(and a)72
-374.4 R -.1(wa)-.15 G .891(it its completion, or).1 F F2(kill)3.391 E F0 .891
-(to send it a signal.)3.391 F(The)5.89 E F2(jobs)3.39 E F0 .89
-(command lists the status of jobs, and)3.39 F F2(wait)3.39 E F0 .407
-(will pause the shell until a speci\214ed job terminates.)72 386.4 R .407
-(The shell pro)5.407 F .407(vides a number of w)-.15 F .407
-(ays to refer to a job,)-.1 F(and will notify the user whene)72 398.4 Q -.15
-(ve)-.25 G 2.5(rab).15 G(ackground job terminates.)220.18 398.4 Q -.4(Wi)97 414
-S .956(th the adv).4 F .956(ent of more po)-.15 F .956
-(werful terminals and terminal emulators, more sophisticated interaction)-.25 F
-.253(than that pro)72 426 R .253(vided by the)-.15 F F3(UNIX)2.753 E F0 -.1(ke)
-2.754 G .254(rnel terminal dri).1 F -.15(ve)-.25 G 2.754(ri).15 G 2.754(sp)
-293.592 426 S 2.754(ossible. Some)305.236 426 R .254(shells of)2.754 F .254
-(fer command line editing,)-.25 F 1.141
-(which permits a user to edit lines of input using f)72 438 R(amiliar)-.1 E F1
-(emacs)3.64 E F0(or)3.64 E F1(vi)3.64 E F0 1.14
-(-style commands before submitting)B .02(them to the shell.)72 450 R .02
-(Editors allo)5.02 F 2.52(wc)-.25 G .02(orrections to be made without ha)206.31
-450 R .021(ving to erase back to the point of error)-.2 F 2.521(,o)-.4 G(r)
-500.67 450 Q .135(start the line ane)72 462 R 3.935 -.65(w. C)-.25 H .135
-(ommand line editors run the g).65 F .135(amut from a small \214x)-.05 F .134
-(ed set of commands and k)-.15 F .434 -.15(ey b)-.1 H(ind-).15 E
-(ings to input f)72 474 Q(acilities which allo)-.1 E 2.5(wa)-.25 G
-(rbitrary actions to be bound to a k)217.2 474 Q .3 -.15(ey o)-.1 H 2.5(rk).15
-G .3 -.15(ey s)379.88 474 T(equence.).15 E .145(Modern shells also k)97 489.6 R
-.145(eep a history)-.1 F 2.645(,w)-.65 G .146
-(hich is the list of commands a user has typed.)243.49 489.6 R .146(Shell f)
-5.146 F .146(acilities are)-.1 F -.2(av)72 501.6 S .368(ailable to recall pre)
--.05 F .367(vious commands and use portions of old commands when composing ne)
--.25 F 2.867(wo)-.25 G 2.867(nes. The)467.253 501.6 R 1.456
-(command history can be sa)72 513.6 R -.15(ve)-.2 G 3.957(dt).15 G 3.957
-(oa\214)207.522 513.6 S 1.457
-(le and read back in at shell startup, so it persists across sessions.)230.436
-513.6 R .675(Shells which pro)72 525.6 R .675
-(vide both command editing and history generally ha)-.15 F .974 -.15(ve e)-.2 H
-.674(diting commands to interacti).15 F -.15(ve)-.25 G(ly).15 E(step forw)72
-537.6 Q(ard and backw)-.1 E(ard through the history list.)-.1 E .013
-(Aliases allo)97 553.2 R -5.012 2.513(wa s)-.25 H .014
-(tring to be substituted for a command name.)164.28 553.2 R(The)5.014 E 2.514
-(yc)-.15 G .014(an be used to create a mnemonic)373.396 553.2 R .568(for a)72
-565.2 R F3(UNIX)3.068 E F0 .568(command name \()3.068 F/F4 10/Courier@0 SF .568
-(alias del=rm)B F0 .568(\), to e)B .567(xpand a single w)-.15 F .567
-(ord to a comple)-.1 F 3.067(xc)-.15 G .567(ommand \()432.603 565.2 R F4(alias)
-A .255(news='xterm -g 80x45 -title trn -e trn -e -S1 -N &')72 577.2 R F0 .255
-(\), or to ensure that a command)B(is in)72 589.2 Q -.2(vo)-.4 G -.1(ke).2 G
-2.5(dw).1 G(ith a basic set of options \()122.41 589.2 Q F4
-(alias ls="/bin/ls -F")A F0(\).)A F2 2.5(3. The)72 613.2 R
-(POSIX Shell Standard)2.5 E F1(POSIX)97 628.8 Q F0 .239
-(is a name originally coined by Richard Stallman for a f)4.405 F .239
-(amily of open system standards based)-.1 F(on)72 640.8 Q F3(UNIX)3.239 E F0
-5.739(.T)C .74(here are a number of aspects of)122.079 640.8 R F3(UNIX)3.24 E
-F0 .74(under consideration for standardization, from the basic)3.24 F .192
-(system services at the system call and C library le)72 652.8 R -.15(ve)-.25 G
-2.692(lt).15 G 2.692(oa)290.16 652.8 S .191
-(pplications and tools to system administration and)302.292 652.8 R 2.5
-(management. Each)72 664.8 R(area of standardization is assigned to a w)2.5 E
-(orking group in the 1003 series.)-.1 E 3.602(The POSIX Shell and T)97 680.4 R
-3.602(ools standard has been de)-.8 F -.15(ve)-.25 G 3.603(loped by IEEE W).15
-F 3.603(orking Group 1003.2)-.8 F -1.667(\(POSIX.2\) [4].)72 692.4 R 2.799
-(It concentrates on the command interpreter interf)7.799 F 2.799
-(ace and utility programs commonly)-.1 F -.15(exe)72 704.4 S 2.345
-(cuted from the command line or by other programs.).15 F 2.345(An initial v)
-7.345 F 2.345(ersion of the standard has been)-.15 F(appro)72 716.4 Q -.15(ve)
--.15 G 2.915(da).15 G .414(nd published by the IEEE, and w)116.265 716.4 R .414
-(ork is currently underw)-.1 F .414(ay to update it.)-.1 F .414
-(There are four primary)5.414 F(areas of w)72 728.4 Q
-(ork in the 1003.2 standard:)-.1 E EP
-%%Page: 4 4
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-4-)279.67 48 S 21.5<8341>72 84 S .835
-(spects of the shell')104.22 84 R 3.335(ss)-.55 G .835
-(yntax and command language.)192 84 R 3.335(An)5.835 G .835(umber of special b)
-338.095 84 R .835(uiltins such as)-.2 F/F1 10/Times-Bold@0 SF(cd)3.335 E F0
-(and)3.335 E F1(exec)97 96 Q F0 .545(are being speci\214ed as part of the shel\
-l, since their functionality usually cannot be implemented)3.046 F
-(by a separate e)97 108 Q -.15(xe)-.15 G(cutable;).15 E 21.5<8341>72 123.6 S
-.73(set of utilities to be called by shell scripts and applications.)107.45
-123.6 R .731(Examples are programs lik)5.731 F(e)-.1 E/F2 10/Times-Italic@0 SF
-2.397(sed, tr)3.231 F(,)-1.11 E F0(and)97 135.6 Q F2(awk.)2.853 E F0 .352
-(Utilities commonly implemented as shell b)4.519 F .352
-(uiltins are described in this section, such as)-.2 F F1(test)2.852 E F0(and)97
-147.6 Q F1(kill)3.422 E F0 5.922(.A)C 3.422(ne)144.404 147.6 S .922
-(xpansion of this section')157.116 147.6 R 3.423(ss)-.55 G .923
-(cope, termed the User Portability Extension, or UPE, has)268.586 147.6 R
-(standardized interacti)97 159.6 Q .3 -.15(ve p)-.25 H(rograms such as).15 E F2
-(vi)2.5 E F0(and)4.166 E F2(mailx;)2.5 E F0 21.5<8341>72 175.2 S .926
-(group of functional interf)107.646 175.2 R .926(aces to services pro)-.1 F
-.926(vided by the shell, such as the traditional)-.15 F F2(system)3.425 E F0(C)
-5.091 E .507(library function.)97 187.2 R .507
-(There are functions to perform shell w)5.507 F .508(ord e)-.1 F .508
-(xpansions, perform \214lename e)-.15 F(xpansion)-.15 E(\()97 199.2 Q F2
-(globbing)A F0 .58(\), obtain v)B .58
-(alues of POSIX.2 system con\214guration v)-.25 F .58(ariables, retrie)-.25 F
-.88 -.15(ve v)-.25 H .58(alues of en)-.1 F(vironment)-.4 E -.25(va)97 211.2 S
-(riables \().25 E F2 -.1(ge)C(ten).1 E(v\(\))-.4 E F0(\), and other services;)
-.833 E 21.5<8341>72 226.8 S(suite of `)106.72 226.8 Q(`de)-.74 E -.15(ve)-.25 G
-(lopment').15 E 2.5('u)-.74 G(tilities such as)209.54 226.8 Q F2(c89)2.5 E F0
-(\(the POSIX.2 v)4.166 E(ersion of)-.15 E F2(cc)2.5 E F0(\), and)A F2(yacc.)2.5
-E F0 .483(Bash is concerned with the aspects of the shell')97 242.4 R 2.983(sb)
--.55 G(eha)301.597 242.4 Q .484(vior de\214ned by POSIX.2.)-.2 F .484
-(The shell command)5.484 F 1.439
-(language has of course been standardized, including the basic \215o)72 254.4 R
-3.938(wc)-.25 G 1.438(ontrol and program e)359.688 254.4 R -.15(xe)-.15 G 1.438
-(cution con-).15 F 1.145(structs, I/O redirection and pipelining, ar)72 266.4 R
-1.145(gument handling, v)-.18 F 1.145(ariable e)-.25 F 1.146
-(xpansion, and quoting.)-.15 F(The)6.146 E F2(special)3.646 E F0 -.2(bu)72
-278.4 S .676(iltins, which must be implemented as part of the shell to pro).2 F
-.676(vide the desired functionality)-.15 F 3.176(,a)-.65 G .676(re speci\214ed)
-457.504 278.4 R .7(as being part of the shell; e)72 290.4 R .7
-(xamples of these are)-.15 F F1 -2.3 -.15(ev a)3.201 H(l).15 E F0(and)3.201 E
-F1(export)3.201 E F0 5.701(.O)C .701(ther utilities appear in the sections of)
-352.034 290.4 R .256(POSIX.2 not de)72 302.4 R -.2(vo)-.25 G .256(ted to the s\
-hell which are commonly \(and in some cases must be\) implemented as b).2 F
-(uiltin)-.2 E(commands, such as)72 314.4 Q F1 -.18(re)2.5 G(ad).18 E F0(and)2.5
-E F1(test)2.5 E F0(.)A .972(POSIX.2 also speci\214es aspects of the shell')97
-330 R 3.473(si)-.55 G(nteracti)286.016 330 Q 1.273 -.15(ve b)-.25 H(eha).15 E
-.973(vior as part of the UPE, including job)-.2 F .233
-(control, command line editing, and history)72 342 R 5.233(.I)-.65 G .233
-(nterestingly enough, only)253.849 342 R F2(vi)2.733 E F0 .233
-(-style line editing commands ha)B -.15(ve)-.2 G(been standardized;)72 354 Q F2
-(emacs)2.5 E F0(editing commands were left out due to objections.)2.5 E .148
-(There were certain areas in which POSIX.2 felt standardization w)97 369.6 R
-.149(as necessary)-.1 F 2.649(,b)-.65 G .149(ut no e)420.643 369.6 R .149
-(xisting imple-)-.15 F 1.598(mentation pro)72 381.6 R 1.598
-(vided the proper beha)-.15 F(vior)-.2 E 6.598(.T)-.55 G 1.598(he w)251.56
-381.6 R 1.597(orking group in)-.1 F -.15(ve)-.4 G 1.597
-(nted and standardized functionality in).15 F .228(these areas.)72 393.6 R(The)
-5.228 E F1(command)2.728 E F0 -.2(bu)2.728 G .228(iltin w).2 F .228(as in)-.1 F
--.15(ve)-.4 G .228(nted so that shell functions could be written to replace b)
-.15 F(uiltins;)-.2 E 1.663(it mak)72 405.6 R 1.663
-(es the capabilities of the b)-.1 F 1.663(uiltin a)-.2 F -.25(va)-.2 G 1.663
-(ilable to the function.).25 F 1.663(The reserv)6.663 F 1.663(ed w)-.15 F 1.663
-(ord `)-.1 F(`!')-.74 E 4.163('w)-.74 G 1.663(as added to)455.685 405.6 R(ne)72
-417.6 Q -.05(ga)-.15 G .915(te the return v).05 F .915
-(alue of a command or pipeline; it w)-.25 F .916(as nearly impossible to e)-.1
-F .916(xpress `)-.15 F .916(`if not x')-.74 F 3.416('c)-.74 G(leanly)479.56
-417.6 Q .904(using the sh language.)72 429.6 R .904(There e)5.904 F .904
-(xist multiple incompatible implementations of the)-.15 F F1(test)3.403 E F0
--.2(bu)3.403 G .903(iltin, which tests).2 F .28
-(\214les for type and other attrib)72 441.6 R .281
-(utes and performs arithmetic and string comparisons.)-.2 F .281
-(POSIX considered none)5.281 F .868(of these correct, so the standard beha)72
-453.6 R .868(vior w)-.2 F .868(as speci\214ed in terms of the number of ar)-.1
-F .867(guments to the com-)-.18 F 3.803(mand. POSIX.2)72 465.6 R 1.303
-(dictates e)3.803 F 1.303(xactly what will happen when four or fe)-.15 F 1.303
-(wer ar)-.25 F 1.303(guments are gi)-.18 F -.15(ve)-.25 G 3.803(nt).15 G(o)
-459.462 465.6 Q F1(test)3.804 E F0 3.804(,a)C(nd)494 465.6 Q(lea)72 477.6 Q
--.15(ve)-.2 G 4.531(st).15 G 2.031(he beha)103.951 477.6 R 2.031
-(vior unde\214ned when more ar)-.2 F 2.031(guments are supplied.)-.18 F 2.03
-(Bash uses the POSIX.2 algorithm,)7.031 F(which w)72 489.6 Q(as concei)-.1 E
--.15(ve)-.25 G 2.5(db).15 G 2.5(yD)164.53 489.6 S -.2(av)179.25 489.6 S(id K).2
-E(orn.)-.35 E 1.128
-(While POSIX.2 includes much of what the shell has traditionally pro)97 505.2 R
-1.129(vided, some important things)-.15 F(ha)72 517.2 Q .58 -.15(ve b)-.2 H .28
-(een omitted as being `).15 F(`be)-.74 E .28(yond its scope.)-.15 F 4.26 -.74
-('' T)-.7 H .28(here is, for instance, no mention of a dif).74 F .28
-(ference between)-.25 F(a)72 529.2 Q F2(lo)3.354 E(gin)-.1 E F0 .854
-(shell and an)5.02 F 3.354(yo)-.15 G .854(ther interacti)167.956 529.2 R 1.154
--.15(ve s)-.25 H .854(hell \(since POSIX.2 does not specify a login program\).)
-.15 F .855(No \214x)5.855 F(ed)-.15 E
-(startup \214les are de\214ned, either \255 the standard does not mention)72
-541.2 Q F2(.pr)2.5 E(o\214le)-.45 E F0(.)1.666 E F1 2.5(4. Shell)72 565.2 R
-(Comparison)2.5 E F0 .693(This section compares features of bash, sh, and ksh \
-\(the three shells closest to POSIX compliance\).)97 580.8 R .245(Since ksh an\
-d bash are supersets of sh, the features common to all three are co)72 592.8 R
--.15(ve)-.15 G .245(red \214rst.).15 F .245(Some of the fea-)5.245 F 1.198
-(tures bash and ksh contain which are not in sh will be discussed.)72 604.8 R
-(Ne)6.198 E 1.198(xt, features unique to bash will be)-.15 F 2.866(listed. The)
-72 616.8 R .366(\214rst three sections pro)2.866 F .366(vide a progressi)-.15 F
--.15(ve)-.25 G .366(ly more detailed o).15 F -.15(ve)-.15 G(rvie).15 E 2.866
-(wo)-.25 G 2.866(fb)395.706 616.8 S 2.866(ash. Finally)406.902 616.8 R 2.866
-(,f)-.65 G .366(eatures of)464.484 616.8 R(ksh-88 \(the currently-a)72 628.8 Q
--.25(va)-.2 G(ilable v).25 E(ersion\) not in sh or bash will be presented.)-.15
-E F1 2.5(4.1. Common)72 652.8 R -.25(Fe)2.5 G(atur).25 E(es)-.18 E F0 .021
-(All three shells ha)97 668.4 R .321 -.15(ve t)-.2 H .021
-(he same basic feature set, which is essentially that pro).15 F .02
-(vided by sh and described)-.15 F 1.026(in an)72 680.4 R 3.526(ys)-.15 G 3.526
-(hm)105.012 680.4 S 1.027
-(anual page. Bash and ksh are both sh supersets, and so all three pro)121.318
-680.4 R 1.027(vide the command inter)-.15 F(-)-.2 E .714
-(preter and programming language described earlier)72 692.4 R 3.214(.T)-.55 G
-.714(he shell grammar)291.506 692.4 R 3.214(,s)-.4 G .714(yntax, \215o)371.568
-692.4 R 3.214(wc)-.25 G .714(ontrol, redirections,)424.686 692.4 R(and b)72
-704.4 Q(uiltins implemented by the Bourne shell are the baseline for subsequen\
-t discussion.)-.2 E EP
-%%Page: 5 5
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-5-)279.67 48 S/F1 10/Times-Bold@0 SF 2.5(4.2. F)72
-84 R(eatur)-.25 E(es in bash and ksh)-.18 E F0 .458(Ksh and bash ha)97 99.6 R
-.758 -.15(ve s)-.2 H -2.15 -.25(ev e).15 H .459(ral features in common be).25 F
-.459(yond this base le)-.15 F -.15(ve)-.25 G 2.959(lo).15 G 2.959(ff)387.814
-99.6 S(unctionality)397.433 99.6 Q 5.459(.S)-.65 G .459(ome of this)458.082
-99.6 R(is due to the POSIX.2 standard.)72 111.6 Q(Other functions ha)5 E .3
--.15(ve b)-.2 H(een implemented in bash using ksh as a guide.).15 E F1 2.5
-(4.2.1. V)72 135.6 R(ariables and V)-.92 E(ariable Expansion)-.92 E F0 .097
-(Bash and ksh ha)97 151.2 R .396 -.15(ve a)-.2 H .096(ugmented v).15 F .096
-(ariable e)-.25 F 2.596(xpansion. Arithmetic)-.15 F .096(substitution allo)
-2.596 F .096(ws an e)-.25 F .096(xpression to be)-.15 F -.25(eva)72 163.2 S .6
-(luated and the result substituted.).25 F .6(Shell v)5.6 F .6
-(ariables may be used as operands, and the result of an e)-.25 F(xpres-)-.15 E
-.41(sion may be assigned to a v)72 175.2 R 2.91(ariable. Nearly)-.25 F .41
-(all of the operators from the C language are a)2.91 F -.25(va)-.2 G .41
-(ilable, with the).25 F(same precedence rules:)72 187.2 Q/F2 10/Courier@0 SF 6
-($e)97 205.2 S(cho $\(\(3 + 5 * 32\)\))115 205.2 Q(163)97 217.2 Q F0 -1.11(Va)
-72 238.8 S 1.445(riables may be declared as)1.11 F/F3 10/Times-Italic@0 SF
-(inte)3.945 E -.1(ge)-.4 G(r).1 E F0 3.945(,w)1.666 G 1.446
-(hich causes arithmetic e)240.956 238.8 R -.25(va)-.25 G 1.446
-(luation to be performed on the v).25 F(alue)-.25 E(whene)72 250.8 Q -.15(ve)
--.25 G 2.5(rt).15 G(he)115.75 250.8 Q 2.5(ya)-.15 G(re assigned to.)136.98
-250.8 Q .483(There are ne)97 266.4 R 2.983(we)-.25 G .483
-(xpansions to obtain the length of a v)162.179 266.4 R(ariable')-.25 E 2.982
-(sv)-.55 G .482(alue and to remo)352.19 266.4 R .782 -.15(ve s)-.15 H .482
-(ubstrings match-).15 F .063(ing speci\214ed patterns from the be)72 278.4 R
-.063(ginning and end of v)-.15 F .063(ariable v)-.25 F 2.563(alues. A)-.25 F
-(ne)2.563 E 2.563(wf)-.25 G .064(orm of command substitution,)383.249 278.4 R
-F1($\()72 290.4 Q F3(list)A F1(\))A F0 2.5(,i)C 2.5(sm)103.67 290.4 S
-(uch easier to nest than `)117.84 290.4 Q F3(list)A F0 2.5(`a)C
-(nd has simpli\214ed quoting rules.)235.04 290.4 Q .082(There are ne)97 306 R
-2.582(wv)-.25 G .082(ariables to control the shell')161.436 306 R 2.581(sb)-.55
-G(eha)284.333 306 Q(vior)-.2 E 2.581(,a)-.4 G .081(nd additional v)323.244 306
-R .081(ariables set or interpreted spe-)-.25 F 1.038(cially by the shell.)72
-318 R F1(RANDOM)6.038 E F0(and)3.538 E F1(SECONDS)3.538 E F0(are)3.539 E F3
-(dynamic)3.539 E F0 -.25(va)3.539 G 3.539(riables: their).25 F -.25(va)3.539 G
-1.039(lues are generated afresh).25 F 1.022(each time the)72 330 R 3.522(ya)
--.15 G 1.022(re referenced.)140.176 330 R F1(RANDOM)6.022 E F0 1.021
-(returns a dif)3.521 F 1.021(ferent random number each time it is referenced,)
--.25 F(and)72 342 Q F1(SECONDS)3.138 E F0 .638
-(returns the number of seconds since the shell w)3.138 F .638
-(as started or the v)-.1 F .639(ariable w)-.25 F .639(as assigned to,)-.1 F
-1.448(plus an)72 354 R 3.948(yv)-.15 G 1.448(alue assigned.)115.606 354 R F1
-(PWD)6.448 E F0(and)3.948 E F1(OLDPWD)3.947 E F0 1.447
-(are set to the current and pre)3.947 F 1.447(vious w)-.25 F 1.447
-(orking directories,)-.1 F(respecti)72 366 Q -.15(ve)-.25 G(ly).15 E(.)-.65 E
-F1(TMOUT)5.604 E F0 .604(controls ho)3.104 F 3.104(wl)-.25 G .604
-(ong the shell will w)226.436 366 R .604(ait at a prompt for input.)-.1 F(If)
-5.604 E F1(TMOUT)3.104 E F0 .605(is set to a)3.105 F -.25(va)72 378 S 1.168
-(lue greater than zero, the shell e).25 F 1.168(xits after w)-.15 F 1.168
-(aiting that man)-.1 F 3.668(ys)-.15 G 1.167(econds for input.)337.478 378 R F1
-(REPL)6.167 E(Y)-.92 E F0 1.167(is the def)3.667 F(ault)-.1 E -.25(va)72 390 S
-.991(riable for the).25 F F1 -.18(re)3.491 G(ad).18 E F0 -.2(bu)3.491 G .991
-(iltin; if no v).2 F .992(ariable names are supplied as ar)-.25 F .992
-(guments, the line read is assigned to)-.18 F F1(REPL)72 402 Q(Y)-.92 E F0(.)A
-F1 2.5(4.2.2. New)72 426 R(and Modi\214ed Builtins)2.5 E F0 .652(Both shells e)
-97 441.6 R .651(xpand the basic sh set of b)-.15 F .651(uiltin commands.)-.2 F
-F1(Let)5.651 E F0(pro)3.151 E .651(vides a w)-.15 F .651
-(ay to perform arithmetic)-.1 F 2.767(on shell v)72 453.6 R 5.268
-(ariables. Shell)-.25 F 2.768(programmers use)5.268 F F1(typeset)5.268 E F0
-2.768(\(bash includes)5.268 F F1(declar)5.268 E(e)-.18 E F0 2.768(as a synon)
-5.268 F 2.768(ym\) to assign)-.15 F(attrib)72 465.6 Q .295(utes such as)-.2 F
-F3 -.2(ex)2.795 G(port).2 E F0(and)4.461 E F3 -.37(re)2.795 G(adonly).37 E F0
-.295(to v)4.461 F(ariables.)-.25 E F1(Getopts)5.295 E F0 .294
-(is used by shell scripts to parse script options)2.795 F .962(and ar)72 477.6
-R 3.462(guments. The)-.18 F F1(set)3.462 E F0 .962(command has a ne)3.462 F
-3.462(wo)-.25 G(ption)266.446 477.6 Q F1<ad6f>3.463 E F0 .963(which tak)3.463 F
-.963(es option names as ar)-.1 F 3.463(guments. Option)-.18 F 1.28
-(names are synon)72 489.6 R 1.28(yms for the other set options \(e.g.,)-.15 F
-F1<ad66>3.78 E F0(and)3.78 E F1 1.28(\255o noglob)3.78 F F0 3.78(\)o)C 3.78(rp)
-375.97 489.6 S(ro)388.08 489.6 Q 1.28(vide ne)-.15 F 3.78(wf)-.25 G 1.28
-(unctionality \()440.78 489.6 R F1(-o)A(notify)72 501.6 Q F0 3.348(,f)C .849
-(or e)106.178 501.6 R 3.349(xample\). The)-.15 F F1 -.18(re)3.349 G(ad).18 E F0
--.2(bu)3.349 G .849(iltin tak).2 F .849(es a ne)-.1 F(w)-.25 E F1<ad72>3.349 E
-F0 .849(option to specify that a line ending in a backslash)3.349 F
-(should not be continued.)72 513.6 Q F1 2.5(4.2.3. T)72 537.6 R(ilde Expansion)
--.18 E F0 -.35(Ti)97 553.2 S .252(lde e).35 F .251
-(xpansion is a feature adopted from the C shell.)-.15 F 2.751(At)5.251 G .251
-(ilde character at the be)331.172 553.2 R .251(ginning of a w)-.15 F .251
-(ord is)-.1 F -.15(ex)72 565.2 S(panded to either).15 E F1($HOME)2.5 E F0
-(or the home directory of another user)2.5 E 2.5(,d)-.4 G
-(epending on what follo)345.84 565.2 Q(ws the tilde.)-.25 E F1 2.5
-(4.2.4. Interacti)72 589.2 R .2 -.1(ve I)-.1 H(mpr).1 E -.1(ove)-.18 G(ments).1
-E F0 .789(The most noticable impro)97 604.8 R -.15(ve)-.15 G .789(ments o).15 F
--.15(ve)-.15 G 3.289(rs).15 G 3.289(ha)263.385 604.8 S .789
-(re geared for interacti)276.114 604.8 R 1.089 -.15(ve u)-.25 H 3.29(se. Ksh)
-.15 F .79(and bash pro)3.29 F .79(vide job)-.15 F .882(control in a v)72 616.8
-R .882(ery similar f)-.15 F .882
-(ashion, with the same options to enable and disable it \()-.1 F F1 .881
-(set -o monitor)B F0 3.381(\)a)C .881(nd the)478.399 616.8 R(same b)72 628.8 Q
-(uiltin commands to manipulate jobs \()-.2 E F1(jobs/fg/bg/kill/wait)A F0(\).)A
-.866(Command line editing, with emacs and vi-style k)97 644.4 R 1.166 -.15
-(ey b)-.1 H .866(indings, is a).15 F -.25(va)-.2 G .866(ilable in both shells.)
-.25 F .866(The Bash)5.866 F F3 -.37(re)72 656.4 S(adline).37 E F0 1.578
-(library is considerably more sophisticated than the ksh editing library:)5.744
-F 1.577(it allo)6.577 F 1.577(ws arbitrary k)-.25 F -.15(ey)-.1 G 1.867
-(bindings, macros, a per)72 668.4 R 1.868(-user customization \214le \()-.2 F
-F3(~/.inputr)A(c)-.37 E F0 1.868(\), a number of v)B 1.868
-(ariables to further customize)-.25 F(beha)72 680.4 Q(vior)-.2 E 3.538(,a)-.4 G
-1.038(nd a much lar)116.868 680.4 R 1.038
-(ger set of bindable editing commands.)-.18 F 1.037
-(The ksh editing library pro)6.037 F 1.037(vides a small)-.15 F<8c78>72 692.4 Q
-(ed command set and only clumsy macros.)-.15 E .706(Both shells of)97 708 R
-.706(fer access to the command history)-.25 F 5.706(.T)-.65 G .706
-(he in-line editing options ha)307.278 708 R 1.006 -.15(ve d)-.2 H(ef).15 E
-.706(ault k)-.1 F 1.006 -.15(ey b)-.1 H(ind-).15 E .624
-(ings to access the history list.)72 720 R(The)5.624 E F1(fc)3.124 E F0 .624
-(command is pro)3.124 F .624(vided to re-e)-.15 F -.15(xe)-.15 G .623(cute pre)
-.15 F .623(vious commands and display)-.25 F EP
-%%Page: 6 6
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-6-)279.67 48 S(the contents of the history list.)
-72 84 Q/F1 10/Times-Bold@0 SF 2.5(4.2.5. Miscellaneous)72 108 R
-(Changes and Impr)2.5 E -.1(ov)-.18 G(ments).1 E F0 .707(Other impro)97 123.6 R
--.15(ve)-.15 G .707(ments include aliases, the).15 F F1(select)3.207 E F0 .708
-(shell language construct, which supports the genera-)3.207 F 1.298
-(tion and presentation of simple menus, and e)72 135.6 R 1.298
-(xtensions to the)-.15 F F1(export)3.798 E F0(and)3.798 E F1 -.18(re)3.798 G
-(adonly).18 E F0 -.2(bu)3.798 G 1.298(iltins which allo).2 F(w)-.25 E -.25(va)
-72 147.6 S .017(riables to be assigned v).25 F .017
-(alues at the same time the attrib)-.25 F .017(utes are set.)-.2 F -.8(Wo)5.018
-G .018(rd splitting has changed:).8 F .018(if tw)5.018 F 2.518(oo)-.1 G(r)
-500.67 147.6 Q .158(more adjacent w)72 159.6 R .157
-(ord splitting characters occur)-.1 F 2.657(,b)-.4 G .157
-(ash and ksh will generate null \214elds; sh mak)264.893 159.6 R .157
-(es runs of mul-)-.1 F .339
-(tiple \214eld separator charactors the same as a single separator)72 171.6 R
-5.339(.B)-.55 G .34(ash and ksh split only the results of e)330.89 171.6 R
-(xpan-)-.15 E(sion, rather than e)72 183.6 Q -.15(ve)-.25 G(ry w).15 E
-(ord as sh does, closing a long-standing shell security hole.)-.1 E 1.234
-(Shell functions in bash and ksh may ha)97 199.2 R 1.534 -.15(ve l)-.2 H 1.234
-(ocal v).15 F 3.734(ariables. V)-.25 F 1.234(ariables declared with)-1.11 F F1
-(typeset)3.734 E F0 1.234(\(or the)3.734 F .001(bash synon)72 211.2 R(ym,)-.15
-E F1(local)2.501 E F0 .001(\), ha)B .301 -.15(ve a s)-.2 H .001
-(cope restricted to the function and its descendents, and may shado).15 F 2.502
-(wv)-.25 G(ariables)472.9 211.2 Q(de\214ned by the in)72 223.2 Q -.2(vo)-.4 G
-(king shell.).2 E(Local v)5 E(ariables are remo)-.25 E -.15(ve)-.15 G 2.5(dw)
-.15 G(hen a function completes.)317.75 223.2 Q F1 2.5(4.3. F)72 247.2 R(eatur)
--.25 E(es Unique to bash)-.18 E F0(Naturally)97 262.8 Q 2.895(,b)-.65 G .395
-(ash includes features not in sh or ksh.)144.515 262.8 R .395
-(This section discusses some of the features which)5.395 F(mak)72 274.8 Q 2.986
-(eb)-.1 G .486(ash unique.)101.546 274.8 R .486(Most of them pro)5.486 F .486
-(vide impro)-.15 F -.15(ve)-.15 G 2.986(di).15 G(nteracti)288.098 274.8 Q .787
--.15(ve u)-.25 H .487(se, b).15 F .487(ut a fe)-.2 F 2.987(wp)-.25 G .487
-(rogramming impro)394.653 274.8 R -.15(ve)-.15 G(ments).15 E
-(are present as well.)72 286.8 Q
-(Full descriptions of these features can be found in the bash documentation.)5
-E F1 2.5(4.3.1. Startup)72 310.8 R(Files)2.5 E F0 .281(Bash e)97 326.4 R -.15
-(xe)-.15 G .281(cutes startup \214les dif).15 F .281
-(ferently than other shells.)-.25 F .281(The bash beha)5.281 F .28
-(vior is a compromise between)-.2 F .116
-(the csh principle of startup \214les with \214x)72 338.4 R .116(ed names e)
--.15 F -.15(xe)-.15 G .116(cuted for each shell and the sh `).15 F
-(`minimalist')-.74 E 2.616('b)-.74 G(eha)472.26 338.4 Q(vior)-.2 E(.)-.55 E
-2.956(An interacti)72 350.4 R 3.256 -.15(ve i)-.25 H 2.956
-(nstance of bash started as a login shell reads and e).15 F -.15(xe)-.15 G
-(cutes).15 E/F2 10/Times-Italic@0 SF(~/.bash_pr)5.455 E(o\214le)-.45 E F0 2.955
-(\(the \214le)7.121 F F2(.bash_pr)72 362.4 Q(o\214le)-.45 E F0 .835
-(in the user')5 F 3.335(sh)-.55 G .835(ome directory\), if it e)187.385 362.4 R
-3.335(xists. An)-.15 F(interacti)3.335 E 1.135 -.15(ve n)-.25 H .835
-(on-login shell reads and e).15 F -.15(xe)-.15 G(cutes).15 E F2(~/.bashr)72
-374.4 Q(c)-.37 E F0 5.538(.A)1.666 G(non-interacti)127.422 374.4 Q .838 -.15
-(ve s)-.25 H .538(hell \(one be).15 F .538(gun to e)-.15 F -.15(xe)-.15 G .538
-(cute a shell script, for e).15 F .537(xample\) reads no \214x)-.15 F .537
-(ed startup)-.15 F .139(\214le, b)72 386.4 R .139(ut uses the v)-.2 F .139
-(alue of the v)-.25 F(ariable)-.25 E F1(ENV)2.639 E F0 2.639(,i)C 2.639(fs)
-253.361 386.4 S .139(et, as the name of a startup \214le.)263.22 386.4 R .139
-(The ksh practice of reading)5.139 F F1($ENV)72 398.4 Q F0 .69(for e)3.19 F
--.15(ve)-.25 G .69(ry shell, with the accompan).15 F .689(ying dif)-.15 F .689
-(\214culty of de\214ning the proper v)-.25 F .689(ariables and functions for)
--.25 F(interacti)72 410.4 Q .946 -.15(ve a)-.25 H .646(nd non-interacti).15 F
-.946 -.15(ve s)-.25 H .646(hells or ha).15 F .646
-(ving the \214le read only for interacti)-.2 F .946 -.15(ve s)-.25 H .646
-(hells, w).15 F .646(as considered too)-.1 F(comple)72 422.4 Q(x.)-.15 E F1 2.5
-(4.3.2. New)72 446.4 R(Builtin Commands)2.5 E F0 1.119(There are a fe)97 462 R
-3.619(wb)-.25 G 1.118(uiltins which are ne)170.986 462 R 3.618(wo)-.25 G 3.618
-(rh)268.528 462 S -2.25 -.2(av e)280.476 462 T 1.118(been e)3.818 F 1.118
-(xtended in bash.)-.15 F(The)6.118 E F1(enable)3.618 E F0 -.2(bu)3.618 G 1.118
-(iltin allo).2 F(ws)-.25 E -.2(bu)72 474 S .736
-(iltin commands to be turned on and of).2 F 3.236(fa)-.25 G(rbitrarily)250.198
-474 Q 5.736(.T)-.65 G 3.237(ou)298.644 474 S .737(se the v)311.881 474 R .737
-(ersion of)-.15 F F2(ec)3.237 E(ho)-.15 E F0 .737(found in a user')4.903 F
-3.237(ss)-.55 G(earch)482.35 474 Q .013(path rather than the bash b)72 486 R
-(uiltin,)-.2 E/F3 10/Courier@0 SF .013(enable -n echo)2.513 F F0(suf)2.513 E
-2.513(\214ces. The)-.25 F F1(help)2.513 E F0 -.2(bu)2.513 G .013(iltin pro).2 F
-.013(vides quick synopses of)-.15 F 1.382(the shell f)72 498 R 1.382
-(acilities without requiring access to a manual page.)-.1 F F1(Builtin)6.382 E
-F0 1.383(is similar to)3.882 F F1(command)3.883 E F0 1.383(in that it)3.883 F
-.342(bypasses shell functions and directly e)72 510 R -.15(xe)-.15 G .342
-(cutes b).15 F .342(uiltin commands.)-.2 F .342
-(Access to a csh-style stack of directories)5.342 F .072(is pro)72 522 R .073
-(vided via the)-.15 F F1(pushd)2.573 E F0(,)A F1(popd)2.573 E F0 2.573(,a)C(nd)
-211.197 522 Q F1(dirs)2.573 E F0 -.2(bu)2.573 G(iltins.).2 E F1(Pushd)5.073 E
-F0(and)2.573 E F1(popd)2.573 E F0 .073(insert and remo)2.573 F .373 -.15(ve d)
--.15 H .073(irectories from the).15 F .094(stack, respecti)72 534 R -.15(ve)
--.25 G(ly).15 E 2.594(,a)-.65 G(nd)154.448 534 Q F1(dirs)2.594 E F0 .094
-(lists the stack contents.The)2.594 F F1(suspend)2.594 E F0 .094
-(command will stop the shell process when)2.594 F 1.329(job control is acti)72
-546 R -.15(ve)-.25 G 3.829(;m).15 G 1.329(ost other shells do not allo)169.136
-546 R 3.829(wt)-.25 G(hemselv)294.64 546 Q 1.33(es to be stopped lik)-.15 F
-3.83(et)-.1 G(hat.)421.31 546 Q F1 -.74(Ty)6.33 G(pe,).74 E F0 1.33(the bash)
-3.83 F(answer to)72 558 Q F1(which)2.5 E F0(and)2.5 E F1(whence,)2.5 E F0(sho)
-2.5 E(ws what will happen when a w)-.25 E(ord is typed as a command:)-.1 E F3 6
-($t)97 576 S(ype export)115 576 Q(export is a shell builtin)97 588 Q 6($t)97
-600 S(ype -t export)115 600 Q(builtin)97 612 Q 6($t)97 624 S(ype bash)115 624 Q
-(bash is /bin/bash)97 636 Q 6($t)97 648 S(ype cd)115 648 Q(cd is a function)97
-660 Q(cd \(\))97 672 Q({)97 684 Q(builtin cd "$@" && xtitle $HOST: $PWD)121 696
-Q(})97 708 Q EP
-%%Page: 7 7
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-7-)279.67 48 S -1.11(Va)72 84 S .682
-(rious modes tell what a command w)1.11 F .681(ord is \(reserv)-.1 F .681(ed w)
--.15 F .681(ord, alias, function, b)-.1 F .681(uiltin, or \214le\) or which v)
--.2 F(er)-.15 E(-)-.2 E 1.15(sion of a command will be e)72 96 R -.15(xe)-.15 G
-1.15(cuted based on a user').15 F 3.65(ss)-.55 G 1.15(earch path.)305.7 96 R
-1.15(Some of this functionality has been)6.15 F
-(adopted by POSIX.2 and folded into the)72 108 Q/F1 10/Times-Bold@0 SF(command)
-2.5 E F0(utility)2.5 E(.)-.65 E F1 2.5(4.3.3. Editing)72 132 R(and Completion)
-2.5 E F0 .682(One area in which bash shines is command line editing.)97 147.6 R
-.682(Bash uses the)5.682 F/F2 10/Times-Italic@0 SF -.37(re)3.182 G(adline).37 E
-F0 .682(library to read and)4.848 F .102(edit lines when interacti)72 159.6 R
--.15(ve)-.25 G 5.102(.R).15 G .103(eadline is a po)191.438 159.6 R .103
-(werful and \215e)-.25 F .103(xible input f)-.15 F .103
-(acility that a user can con\214gure to his)-.1 F 2.506(tastes. It)72 171.6 R
-(allo)2.506 E .006(ws lines to be edited using either emacs or vi commands, wh\
-ere those commands are appropri-)-.25 F 2.994(ate. The)72 183.6 R .494
-(full capability of emacs is not present \255 there is no w)2.994 F .495
-(ay to e)-.1 F -.15(xe)-.15 G .495(cute a named command with M-x,).15 F .222
-(for instance \255 b)72 195.6 R .222(ut the e)-.2 F .222
-(xisting commands are more than adequate.)-.15 F .221
-(The vi mode is compliant with the com-)5.222 F
-(mand line editing standardized by POSIX.2.)72 207.6 Q 1.69
-(Readline is fully customizable.)97 223.2 R 1.691
-(In addition to the basic commands and k)6.69 F 1.991 -.15(ey b)-.1 H 1.691
-(indings, the library).15 F(allo)72 235.2 Q .83
-(ws users to de\214ne additional k)-.25 F 1.13 -.15(ey b)-.1 H .83
-(indings using a startup \214le.).15 F(The)5.83 E F2(inputr)3.329 E(c)-.37 E F0
-.829(\214le, which def)4.995 F .829(aults to the)-.1 F(\214le)72 247.2 Q F2
-(~/.inputr)4.287 E(c)-.37 E F0 4.287(,i)1.666 G 4.287(sr)137.43 247.2 S 1.788(\
-ead each time readline initializes, permitting users to maintain a consistent \
-interf)148.937 247.2 R(ace)-.1 E .547(across a set of programs.)72 259.2 R .546
-(Readline includes an e)5.546 F .546(xtensible interf)-.15 F .546
-(ace, so each program using the library can)-.1 F .23(add its o)72 271.2 R .23
-(wn bindable commands and program-speci\214c k)-.25 F .531 -.15(ey b)-.1 H
-2.731(indings. Bash).15 F .231(uses this f)2.731 F .231
-(acility to add bindings)-.1 F(that perform history e)72 283.2 Q
-(xpansion or shell w)-.15 E(ord e)-.1 E(xpansions on the current input line.)
--.15 E .707(Readline interprets a number of v)97 298.8 R .706
-(ariables which further tune its beha)-.25 F(vior)-.2 E 5.706(.V)-.55 G .706
-(ariables e)408.432 298.8 R .706(xist to control)-.15 F .157
-(whether or not eight-bit characters are directly read as input or con)72 310.8
-R -.15(ve)-.4 G .158(rted to meta-pre\214x).15 F .158(ed k)-.15 F .458 -.15
-(ey s)-.1 H .158(equences \(a).15 F(meta-pre\214x)72 322.8 Q 1.575(ed k)-.15 F
-1.875 -.15(ey s)-.1 H 1.575
-(equence consists of the character with the eighth bit zeroed, preceded by the)
-.15 F F2(meta-)4.074 E(pr)72 334.8 Q(e\214x)-.37 E F0(character)4.45 E 2.784
-(,u)-.4 G .284(sually escape, which selects an alternate k)145.374 334.8 R -.15
-(ey)-.1 G .285(map\), to decide whether to output characters).15 F .485
-(with the eighth bit set directly or as a meta-pre\214x)72 346.8 R .485(ed k)
--.15 F .784 -.15(ey s)-.1 H .484(equence, whether or not to wrap to a ne).15 F
-2.984(ws)-.25 G(creen)482.35 346.8 Q .157
-(line when a line being edited is longer than the screen width, the k)72 358.8
-R -.15(ey)-.1 G .158(map to which subsequent k).15 F .458 -.15(ey b)-.1 H
-(indings).15 E .531(should apply)72 370.8 R 3.031(,o)-.65 G 3.031(re)133.802
-370.8 S -.15(ve)144.353 370.8 S 3.031(nw).15 G .531
-(hat happens when readline w)168.894 370.8 R .531(ants to ring the terminal')
--.1 F 3.03(sb)-.55 G 3.03(ell. All)399.37 370.8 R .53(of these v)3.03 F
-(ariables)-.25 E(can be set in the inputrc \214le.)72 382.8 Q .284
-(The startup \214le understands a set of C preprocessor)97 398.4 R(-lik)-.2 E
-2.785(ec)-.1 G .285(onditional constructs which allo)329.49 398.4 R 2.785(wv)
--.25 G(ariables)472.9 398.4 Q .12(or k)72 410.4 R .42 -.15(ey b)-.1 H .119(ind\
-ings to be assigned based on the application using readline, the terminal curr\
-ently being used, or).15 F .316(the editing mode.)72 422.4 R .317
-(Users can add program-speci\214c bindings to mak)5.317 F 2.817(et)-.1 G .317
-(heir li)352.808 422.4 R -.15(ve)-.25 G 2.817(se).15 G 2.817(asier: here)
-396.922 422.4 R .317(are bindings to)2.817 F(edit the v)72 434.4 Q(alue of)-.25
-E F1 -.74(PA)2.5 G(TH)-.21 E F0(and double-quote the current or pre)2.5 E
-(vious w)-.25 E(ord:)-.1 E/F3 10/Courier@0 SF 6(#M)97 452.4 S
-(acros that are convenient for shell interaction)115 452.4 Q($if Bash)97 464.4
-Q 6(#e)97 476.4 S(dit the path)115 476.4 Q
-("\\C-xp": "PATH=${PATH}\\e\\C-e\\C-a\\ef\\C-f")97 488.4 Q 6(#p)97 500.4 S
-(repare to type a quoted word -- insert open and close double quotes)115 500.4
-Q 6(#a)97 512.4 S(nd move to just after the open quote)115 512.4 Q
-("\\C-x\\"": "\\"\\"\\C-b")97 524.4 Q 6(#Q)97 536.4 S
-(uote the current or previous word)115 536.4 Q("\\C-xq": "\\eb\\"\\ef\\"")97
-548.4 Q($endif)97 560.4 Q F0 .322(There is a readline command to re-read the \
-\214le, so users can edit the \214le, change some bindings, and be)72 582 R
-(gin)-.15 E(to use them almost immediately)72 594 Q(.)-.65 E .851
-(Bash implements the)97 609.6 R F1(bind)3.351 E F0 -.2(bu)3.351 G .851
-(iltin for more dyamic control of readline than the startup \214le permits.).2
-F F1(Bind)72 621.6 Q F0 .167(is used in se)2.667 F -.15(ve)-.25 G .167(ral w)
-.15 F 2.667(ays. In)-.1 F F2(list)2.667 E F0 .167
-(mode, it can display the current k)4.333 F .466 -.15(ey b)-.1 H .166
-(indings, list all the readline edit-).15 F .149(ing directi)72 633.6 R -.15
-(ve)-.25 G 2.649(sa).15 G -.25(va)132.798 633.6 S .149
-(ilable for binding, list which k).25 F -.15(ey)-.1 G 2.649(si).15 G -1.9 -.4
-(nv o)282.352 633.6 T .349 -.1(ke a g).4 H -2.15 -.25(iv e).1 H 2.65(nd).25 G
-(irecti)345.3 633.6 Q -.15(ve)-.25 G 2.65(,o).15 G 2.65(ro)385.04 633.6 S .15
-(utput the current set of k)396.02 633.6 R -.15(ey)-.1 G .526(bindings in a fo\
-rmat that can be incorporated directly into an inputrc \214le.)72 645.6 R(In)
-5.526 E F2(batc)3.026 E(h)-.15 E F0 .526(mode, it reads a series)4.692 F .71
-(of k)72 657.6 R 1.01 -.15(ey b)-.1 H .71
-(indings directly from a \214le and passes them to readline.).15 F .71
-(In its most common usage,)5.71 F F1(bind)3.21 E F0(tak)3.21 E .71(es a)-.1 F
-.534(single string and passes it directly to readline, which interprets the li\
-ne as if it had just been read from the)72 669.6 R(inputrc \214le.)72 681.6 Q
-(Both k)5 E .3 -.15(ey b)-.1 H(indings and v).15 E
-(ariable assignments can appear in the string gi)-.25 E -.15(ve)-.25 G 2.5(nt)
-.15 G(o)424.4 681.6 Q F1(bind)2.5 E F0(.)A .401(The readline library also pro)
-97 697.2 R .402(vides an interf)-.15 F .402(ace for)-.1 F F2(wor)2.902 E 2.902
-(dc)-.37 G(ompletion)328.546 697.2 Q F0 5.402(.W)C .402(hen the)385.888 697.2 R
-F2(completion)2.902 E F0(character)4.568 E 1.261(\(usually T)72 709.2 R 1.261
-(AB\) is typed, readline looks at the w)-.93 F 1.26
-(ord currently being entered and computes the set of \214le-)-.1 F .523
-(names of which the current w)72 721.2 R .523(ord is a v)-.1 F .523
-(alid pre\214x.)-.25 F .524
-(If there is only one possible completion, the rest of the)5.523 F EP
-%%Page: 8 8
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-8-)279.67 48 S .358
-(characters are inserted directly)72 84 R 2.858(,o)-.65 G .358(therwise the co\
-mmon pre\214x of the set of \214lenames is added to the current)205.232 84 R
--.1(wo)72 96 S 3.199(rd. A).1 F .699(second T)3.199 F .699(AB character entere\
-d immediately after a non-unique completion causes readline to list)-.93 F
-1.814(the possible completions; there is an option to ha)72 108 R 2.113 -.15
-(ve t)-.2 H 1.813(he list displayed immediately).15 F 6.813(.R)-.65 G 1.813
-(eadline pro)436.517 108 R(vides)-.15 E .482
-(hooks so that applications can pro)72 120 R .482
-(vide speci\214c types of completion before the def)-.15 F .483
-(ault \214lename completion)-.1 F .132(is attempted.)72 132 R .132
-(This is quite \215e)5.132 F .132(xible, though it is not completely user)-.15
-F 2.632(-programmable. Bash,)-.2 F .132(for e)2.632 F .132(xample, can)-.15 F
-.37(complete \214lenames, command names \(including aliases, b)72 144 R .37
-(uiltins, shell reserv)-.2 F .37(ed w)-.15 F .37(ords, shell functions, and)-.1
-F -.15(exe)72 156 S .424(cutables found in the \214le system\), shell v).15 F
-.424(ariables, usernames, and hostnames.)-.25 F .423
-(It uses a set of heuristics)5.424 F(that, while not perfect, is generally qui\
-te good at determining what type of completion to attempt.)72 168 Q/F1 10
-/Times-Bold@0 SF 2.5(4.3.4. History)72 192 R F0 .255
-(Access to the list of commands pre)97 207.6 R .255(viously entered \(the)-.25
-F/F2 10/Times-Italic@0 SF .255(command history)2.755 F F0 2.756(\)i)C 2.756(sp)
-399.236 207.6 S(ro)410.882 207.6 Q .256(vided jointly by bash)-.15 F .095
-(and the readline library)72 219.6 R 5.094(.B)-.65 G .094(ash pro)178.928 219.6
-R .094(vides v)-.15 F .094(ariables \()-.25 F F1(HISTFILE)A F0(,)A F1(HISTSIZE)
-2.594 E F0 2.594(,a)C(nd)382.068 219.6 Q F1(HISTCONTR)2.594 E(OL)-.3 E F0 2.594
-(\)a)C .094(nd the)479.186 219.6 R F1(history)72 231.6 Q F0(and)2.825 E F1(fc)
-2.825 E F0 -.2(bu)2.825 G .325(iltins to manipulate the history list.).2 F .325
-(The v)5.325 F .325(alue of)-.25 F F1(HISTFILE)2.825 E F0 .326
-(specifes the \214le where bash)2.826 F .128(writes the command history on e)72
-243.6 R .128(xit and reads it on startup.)-.15 F F1(HISTSIZE)5.128 E F0 .128
-(is used to limit the number of com-)2.628 F .346(mands sa)72 255.6 R -.15(ve)
--.2 G 2.846(di).15 G 2.846(nt)129.002 255.6 S .346(he history)139.628 255.6 R
-(.)-.65 E F1(HISTCONTR)5.346 E(OL)-.3 E F0(pro)2.846 E .346
-(vides a crude form of control o)-.15 F -.15(ve)-.15 G 2.846(rw).15 G .346
-(hich commands are)425.548 255.6 R(sa)72 267.6 Q -.15(ve)-.2 G 2.905(do).15 G
-2.905(nt)102.325 267.6 S .405(he history list: a v)113.01 267.6 R .405(alue of)
--.25 F F2(ignor)2.905 E(espace)-.37 E F0 .405(means to not sa)4.571 F .705 -.15
-(ve c)-.2 H .405(ommands which be).15 F .405(gin with a space; a)-.15 F -.25
-(va)72 279.6 S .339(lue of).25 F F2(ignor)2.839 E(edups)-.37 E F0 .339
-(means to not sa)4.505 F .64 -.15(ve c)-.2 H .34
-(ommands identical to the last command sa).15 F -.15(ve)-.2 G(d.).15 E F1
-(HISTCONTR)5.34 E(OL)-.3 E F0 -.1(wa)72 291.6 S 3.15(sn).1 G(amed)95.6 291.6 Q
-F1(history_contr)3.15 E(ol)-.18 E F0 .65(in earlier v)3.15 F .649
-(ersions of bash; the old name is still accepted for backw)-.15 F .649
-(ards com-)-.1 F(patibility)72 303.6 Q 5.723(.T)-.65 G(he)121.803 303.6 Q F1
-(history)3.223 E F0 .724(command can read or write \214les containing the hist\
-ory list and display the current)3.223 F .895(list contents.)72 315.6 R(The)
-5.895 E F1(fc)3.395 E F0 -.2(bu)3.395 G .895
-(iltin, adopted from POSIX.2 and the K).2 F .894(orn Shell, allo)-.35 F .894
-(ws display and re-e)-.25 F -.15(xe)-.15 G(cution,).15 E .461
-(with optional editing, of commands from the history list.)72 327.6 R .462
-(The readline library of)5.462 F .462(fers a set of commands to)-.25 F .657(se\
-arch the history list for a portion of the current input line or a string type\
-d by the user)72 339.6 R 5.657(.F)-.55 G(inally)445.836 339.6 Q 3.157(,t)-.65 G
-(he)476.403 339.6 Q F2(his-)3.157 E(tory)72 351.6 Q F0(library)4.196 E 2.53(,g)
--.65 G .03(enerally incorporated directly into the readline library)128.346
-351.6 R 2.53(,i)-.65 G .03(mplements a f)350.636 351.6 R .031
-(acility for history recall,)-.1 F -.15(ex)72 363.6 S .594(pansion, and re-e)
-.15 F -.15(xe)-.15 G .594(cution of pre).15 F .594(vious commands v)-.25 F .594
-(ery similar to csh \(`)-.15 F .593(`bang history')-.74 F .593
-(', so called because)-.74 F(the e)72 375.6 Q
-(xclamation point introduces a history substitution\):)-.15 E/F3 10/Courier@0
-SF 6($e)97 393.6 S(cho a b c d e)115 393.6 Q 6(abcde)97 405.6 S 6($!)97 417.6 S
-6(!fghi)115 417.6 S(echo a b c d e f g h i)97 429.6 Q 6(abcdefghi)97 441.6 S 6
-($!)97 453.6 S(-2)115 453.6 Q(echo a b c d e)97 465.6 Q 6(abcde)97 477.6 S 6
-($e)97 489.6 S(cho !-2:1-4)115 489.6 Q(echo a b c d)97 501.6 Q 6(abcd)97 513.6
-S F0 1.456(The command history is only sa)72 535.2 R -.15(ve)-.2 G 3.957(dw).15
-G 1.457(hen the shell is interacti)232.599 535.2 R -.15(ve)-.25 G 3.957(,s).15
-G 3.957(oi)352.804 535.2 S 3.957(ti)364.541 535.2 S 3.957(sn)374.058 535.2 S
-1.457(ot a)386.905 535.2 R -.25(va)-.2 G 1.457(ilable for use by shell).25 F
-(scripts.)72 547.2 Q F1 2.5(4.3.5. New)72 571.2 R(Shell V)2.5 E(ariables)-.92 E
-F0 .701(There are a number of con)97 586.8 R -.15(ve)-.4 G .701(nience v).15 F
-.701(ariables that bash interprets to mak)-.25 F 3.2(el)-.1 G .7(ife easier)
-402.76 586.8 R 5.7(.T)-.55 G .7(hese include)453.59 586.8 R F1(FIGNORE)72 598.8
-Q F0 3.973(,w)C 1.473(hich is a set of \214lename suf)132.363 598.8 R<8c78>-.25
-E 1.474(es identifying \214les to e)-.15 F 1.474
-(xclude when completing \214lenames;)-.15 F F1(HOSTTYPE)72 610.8 Q F0 3.03(,w)C
-.53(hich is automatically set to a string describing the type of hardw)139.21
-610.8 R .53(are on which bash is cur)-.1 F(-)-.2 E .76(rently e)72 622.8 R -.15
-(xe)-.15 G(cuting;).15 E F1(OSTYPE)3.26 E F0 3.26(,t)C 3.26(ow)191.76 622.8 S
-.76(hich bash assigns a v)207.24 622.8 R .761(alue that identi\214es the v)-.25
-F .761(ersion of)-.15 F/F4 9/Times-Roman@0 SF(UNIX)3.261 E F0(it')3.261 E 3.261
-(sr)-.55 G(unning)476.22 622.8 Q 1.354
-(on \(great for putting architecture-speci\214c binary directories into the)72
-634.8 R F1 -.74(PA)3.854 G(TH)-.21 E F0 1.354(\); and)B F1(IGNOREEOF)3.854 E F0
-3.854(,w)C(hose)485.67 634.8 Q -.25(va)72 646.8 S .062
-(lue indicates the number of consecuti).25 F .362 -.15(ve E)-.25 H .062
-(OF characters that an interacti).15 F .362 -.15(ve s)-.25 H .062
-(hell will read before e).15 F .062(xiting \255)-.15 F .114(an easy w)72 658.8
-R .113(ay to k)-.1 F .113(eep yourself from being logged out accidentally)-.1 F
-5.113(.T)-.65 G(he)344.285 658.8 Q F1(auto_r)2.613 E(esume)-.18 E F0 -.25(va)
-2.613 G .113(riable alters the w).25 F(ay)-.1 E .409
-(the shell treats simple command names: if job control is acti)72 670.8 R -.15
-(ve)-.25 G 2.909(,a).15 G .409(nd this v)335.516 670.8 R .409
-(ariable is set, single-w)-.25 F .409(ord simple)-.1 F .17(commands without re\
-directions cause the shell to \214rst look for a suspended job with that name \
-before start-)72 682.8 R(ing a ne)72 694.8 Q 2.5(wp)-.25 G(rocess.)118.13 694.8
-Q EP
-%%Page: 9 9
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-9-)279.67 48 S/F1 10/Times-Bold@0 SF 2.5
-(4.3.6. Brace)72 84 R(Expansion)2.5 E F0 .653(Since sh of)97 99.6 R .653
-(fers no con)-.25 F -.15(ve)-.4 G .653(nient w).15 F .653
-(ay to generate arbitrary strings that share a common pre\214x or suf)-.1 F
-<8c78>-.25 E 1.893(\(pathname e)72 111.6 R 1.893
-(xpansion requires that the \214lenames e)-.15 F 1.892(xist\), bash implements)
--.15 F/F2 10/Times-Italic@0 SF(br)4.392 E 1.892(ace e)-.15 F(xpansion)-.2 E F0
-4.392(,ac)C(apability)469 111.6 Q(pick)72 123.6 Q .496(ed up from csh.)-.1 F
-.496(Brace e)5.496 F .496(xpansion is similar to pathname e)-.15 F .496
-(xpansion, b)-.15 F .497(ut the strings generated need not)-.2 F 1.107
-(correspond to e)72 135.6 R 1.107(xisting \214les.)-.15 F 3.607(Ab)6.107 G
-1.107(race e)207.655 135.6 R 1.107(xpression consists of an optional)-.15 F F2
-(pr)3.606 E(eamble)-.37 E F0 3.606(,f)1.666 G(ollo)419.286 135.6 Q 1.106
-(wed by a pair of)-.25 F 2.809
-(braces enclosing a series of comma-separated strings, and an optional)72 147.6
-R F2(postamble)5.31 E F0 7.81(.T)1.666 G 2.81(he preamble is)440.06 147.6 R(pr\
-epended to each string within the braces, and the postamble is then appended t\
-o each resulting string:)72 159.6 Q/F3 10/Courier@0 SF 6($e)97 177.6 S
-(cho a{d,c,b}e)115 177.6 Q(ade ace abe)97 189.6 Q F1 2.5(4.3.7. Pr)72 219.6 R
-(ompt Customization)-.18 E F0 .077(One of the more popular interacti)97 235.2 R
-.376 -.15(ve f)-.25 H .076(eatures that bash pro).15 F .076
-(vides is the ability to customize the prompt.)-.15 F(Both)72 247.2 Q F1(PS1)
-3.305 E F0(and)3.305 E F1(PS2,)3.305 E F0 .805
-(the primary and secondary prompts, are e)3.305 F .805
-(xpanded before being displayed.)-.15 F -.15(Pa)5.805 G(rameter).15 E .324
-(and v)72 259.2 R .324(ariable e)-.25 F .324
-(xpansion is performed when the prompt string is e)-.15 F .323
-(xpanded, so the v)-.15 F .323(alue of an)-.25 F 2.823(ys)-.15 G .323(hell v)
-454.217 259.2 R(ariable)-.25 E .728(can be put into the prompt \(e.g.,)72 271.2
-R F1($SHL)3.228 E(VL)-.92 E F0 3.228(,w)C .728(hich indicates ho)258.564 271.2
-R 3.228(wd)-.25 G .729(eeply the current shell is nested\).)342.988 271.2 R
-(Bash)5.729 E 1.895
-(specially interprets characters in the prompt string preceded by a backslash.)
-72 283.2 R 1.895(Some of these backslash)6.895 F .874
-(escapes are replaced with the current time, the date, the current w)72 295.2 R
-.874(orking directory)-.1 F 3.374(,t)-.65 G .874(he username, and the)416.958
-295.2 R .781(command number or history number of the command being entered.)72
-307.2 R .78(There is e)5.781 F -.15(ve)-.25 G 3.28(nab).15 G .78
-(ackslash escape to)429.13 307.2 R .007
-(cause the shell to change its prompt when running as root after an)72 319.2 R
-F2(su)2.507 E F0 5.007(.B)C .008(efore printing each primary prompt,)360.388
-319.2 R .27(bash e)72 331.2 R .27(xpands the v)-.15 F(ariable)-.25 E F1(PR)2.77
-E(OMPT_COMMAND)-.3 E F0 .269(and, if it has a v)2.77 F .269(alue, e)-.25 F -.15
-(xe)-.15 G .269(cutes the e).15 F .269(xpanded v)-.15 F .269(alue as a)-.25 F
-.04(command, allo)72 343.2 R .041(wing additional prompt customization.)-.25 F
--.15(Fo)5.041 G 2.541(re).15 G .041
-(xample, this assignment causes the current user)311.964 343.2 R(,)-.4 E .99
-(the current host, the time, the last component of the current w)72 355.2 R
-.989(orking directory)-.1 F 3.489(,t)-.65 G .989(he le)402.954 355.2 R -.15(ve)
--.25 G 3.489(lo).15 G 3.489(fs)443.412 355.2 S .989(hell nesting,)454.121 355.2
-R(and the history number of the current command to be embedded into the primar\
-y prompt:)72 367.2 Q F3 6($P)97 385.2 S
-(S1='\\u@\\h [\\t] \\W\($SHLVL:\\!\)\\$ ')115 385.2 Q
-(chet@odin [21:03:44] documentation\(2:636\)$ cd ..)97 397.2 Q
-(chet@odin [21:03:54] src\(2:637\)$)97 409.2 Q F0 .619
-(The string being assigned is surrounded by single quotes so that if it is e)72
-430.8 R(xported,)-.15 E F1(SHL)3.119 E(VL)-.92 E F0 .619(will be updated)3.119
-F(by a child shell:)72 442.8 Q F3
-(chet@odin [21:13:35] src\(2:638\)$ export PS1)97 460.8 Q
-(chet@odin [21:17:40] src\(2:639\)$ bash)97 472.8 Q
-(chet@odin [21:17:46] src\(3:696\)$)97 484.8 Q F0(The)72 506.4 Q F1(\\$)2.5 E
-F0(escape is displayed as `)2.5 E(`)-.74 E F1($)A F0 1.48 -.74('' w)D
-(hen running as a normal user).74 E 2.5(,b)-.4 G(ut as `)342.08 506.4 Q(`)-.74
-E F1(#)A F0 1.48 -.74('' w)D(hen running as root.).74 E F1 2.5(4.3.8. POSIX)72
-530.4 R(Mode)2.5 E F0 .46(Although bash is intended to be POSIX.2 compliant, t\
-here are areas in which the def)97 546 R .46(ault beha)-.1 F .46(vior is)-.2 F
-1.168(not compatible with the standard.)72 558 R -.15(Fo)6.169 G 3.669(ru).15 G
-1.169(sers who wish to operate in a strict POSIX.2 en)238.85 558 R 1.169
-(vironment, bash)-.4 F .61(implements a)72 570 R F2 .61(POSIX mode)3.11 F F0
-5.61(.W)C .61(hen this mode is acti)199.42 570 R -.15(ve)-.25 G 3.109(,b).15 G
-.609(ash modi\214es its def)303.727 570 R .609(ault operation where it dif)-.1
-F(fers)-.25 E .066(from POSIX.2 to match the standard.)72 582 R .067
-(POSIX mode is entered when bash is started with the)5.066 F F1 .067(-o posix)
-2.567 F F0(option)2.567 E .382(or when)72 594 R F1 .382(set -o posix)2.882 F F0
-.381(is e)2.881 F -.15(xe)-.15 G 2.881(cuted. F).15 F .381
-(or compatibility with other GNU softw)-.15 F .381
-(are that attempts to be POSIX.2)-.1 F 5.752
-(compliant, bash also enters POSIX mode if either of the v)72 606 R(ariables)
--.25 E F1(POSIX_PED)8.253 E(ANTIC)-.35 E F0(or)8.253 E F1(POSIXL)72 618 Q
-(Y_CORRECT)-.92 E F0 1.179(is set when bash is started or assigned a v)3.679 F
-1.178(alue during e)-.25 F -.15(xe)-.15 G 3.678(cution. When).15 F 1.178
-(bash is)3.678 F .218(started in POSIX mode, for e)72 630 R .218(xample, the)
--.15 F F1(kill)2.718 E F0 -.2(bu)2.718 G(iltin').2 E(s)-.55 E F1<ad6c>2.718 E
-F0 .218(option beha)2.718 F -.15(ve)-.2 G 2.718(sd).15 G(if)370.166 630 Q .219
-(ferently: it lists the names of all)-.25 F 1.084(signals on a single line sep\
-arated by spaces, rather than listing the signal names and their corresponding)
-72 642 R(numbers.)72 654 Q .865(Some of the def)97 669.6 R .865(ault bash beha)
--.1 F .865(vior dif)-.2 F .865
-(fers from other shells as a result of the POSIX standard.)-.25 F -.15(Fo)5.866
-G(r).15 E 1.16(instance, bash includes the)72 681.6 R F1(!)3.66 E F0(reserv)
-6.16 E 1.16(ed w)-.15 F 1.16(ord to ne)-.1 F -.05(ga)-.15 G 1.16
-(te the return status of a pipeline because it has been).05 F
-(de\214ned by POSIX.2.)72 693.6 Q
-(Neither sh nor ksh has implemented that feature.)5 E EP
-%%Page: 10 10
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(0-)288 48 S/F1 10/Times-Bold@0
-SF 2.5(4.4. F)72 84 R(eatur)-.25 E(es Unique to ksh)-.18 E F0 .177
-(Ksh includes a number of features not in the currently-released v)97 99.6 R
-.178(ersion of bash, v)-.15 F .178(ersion 1.14.)-.15 F(Unless)5.178 E .822
-(noted, none of these features is in the POSIX.2 standard.)72 111.6 R .821
-(Where appropriate the equi)5.821 F -.25(va)-.25 G .821(lent bash features).25
-F(are noted.)72 123.6 Q F1 2.5(4.4.1. The)72 147.6 R(ksh Language)2.5 E F0
-2.955(An)97 163.2 S .955 -.25(ew c)112.175 163.2 T .455(ompound command folds)
-.25 F F1(test)2.955 E F0 .456(into the ksh language, delimited by the reserv)
-2.955 F .456(ed w)-.15 F(ords)-.1 E F1([[)2.956 E F0(and)2.956 E F1(]])72 175.2
-Q F0 5.726(.T)C .726(he syntax is identical to)92.996 175.2 R F1(test)3.225 E
-F0 .725(with a fe)3.225 F 3.225(wc)-.25 G .725
-(hanges: for instance, instead of)262.855 175.2 R F1<ad61>3.225 E F0(and)3.225
-E F1<ad6f>3.225 E F0(,)A F1(&&)3.225 E F0(and)3.225 E/F2 10/Symbol SF<efef>
-3.225 E F0(are)3.225 E 3.32(used. The)72 187.2 R -.1(wo)3.32 G .82(rds between)
-.1 F F1([[)3.32 E F0(and)3.32 E F1(]])3.32 E F0 .82(are not processed for w)
-3.32 F .82(ord splitting or \214lename generation.)-.1 F .82(The ne)5.82 F(w)
--.25 E .926
-(command does pattern matching as well as string comparison, a la the)72 199.2
-R F1(case)3.425 E F0 3.425(command. This)3.425 F(ne)3.425 E 3.425(wc)-.25 G
-(ontrol)480.11 199.2 Q .165(structure does ha)72 211.2 R .465 -.15(ve t)-.2 H
-.165(he adv).15 F .166(antage of reducing common ar)-.25 F .166
-(gument problems encountered using test \(e.g.)-.18 F F1(test)2.666 E
-("$string")72 223.2 Q F0 2.928(,w)C(here)125.748 223.2 Q F1($string)2.928 E F0
--.15(ex)2.928 G .428(pands to).15 F F1<ad66>2.928 E F0 .428(\), b)B .428
-(ut at the cost of bloating the language.)-.2 F .427(The POSIX.2 test algo-)
-5.427 F 2.752(rithm that bash uses, along with some programmer care, alle)72
-235.2 R 2.752(viates those problems in a backw)-.25 F(ards-)-.1 E .854
-(compatible w)72 247.2 R .853(ay with no additions to the language.)-.1 F .853
-(The one capability of)5.853 F F1 .853([[ ]])3.353 F F0 .853(not a)3.353 F -.25
-(va)-.2 G .853(ilable in bash is its).25 F(ability to test whether an indi)72
-259.2 Q(vidual)-.25 E F1(set \255o)2.5 E F0(option is turned on or of)2.5 E(f.)
--.25 E .339(Other parts of the ksh language are not common to bash.)97 274.8 R
-(The)5.34 E F1(\(\(...\)\))2.84 E F0(operator)5.34 E 2.84(,e)-.4 G(qui)419.33
-274.8 Q -.25(va)-.25 G .34(lent to).25 F F1 .34(let "...")2.84 F F0(,)A .197
-(is unique to ksh, as are the concept of co-processes and the)72 286.8 R F1
-(time)2.697 E F0 -.1(ke)2.696 G(yw)-.05 E .196
-(ord to time commands and pipelines.)-.1 F F1 2.5(4.4.2. Functions)72 310.8 R
-(and Aliases)2.5 E F0 1.022(The K)97 326.4 R 1.022(orn shell has)-.35 F/F3 10
-/Times-Italic@0 SF(autoloaded)3.522 E F0 3.522(functions. A)3.522 F 1.022
-(function mark)3.522 F 1.022(ed as)-.1 F F3(autoload)3.522 E F0 1.022
-(is not de\214ned until it is)5.188 F 1.042(\214rst e)72 338.4 R -.15(xe)-.15 G
-3.542(cuted. When).15 F 1.042(such a function is e)3.542 F -.15(xe)-.15 G 1.042
-(cuted, a search is made through the directories in).15 F F1(FP)3.541 E -.95
-(AT)-.74 G(H).95 E F0(\(a)3.541 E .27
-(colon-separated list of directories similar to)72 350.4 R F1 -.74(PA)2.77 G
-(TH)-.21 E F0 2.77(\)f)C .27(or a \214le with the same name as the function.)
-285.78 350.4 R .27(That \214le)5.27 F .548(is then read in as with the)72 362.4
-R F1(.)3.881 E F0 .547(command; presumably the function is de\214ned therein.)
-3.047 F .547(There is a pair of shell)5.547 F .886
-(functions included in the bash distrib)72 374.4 R .886(ution \()-.2 F F3 -.2
-(ex)C(amples/functions/autoload).2 E F0 5.886(\)t)C .886(hat pro)378.35 374.4 R
-.886(vide much of this func-)-.15 F
-(tionality without changing the shell itself.)72 386.4 Q .116
-(Ksh functions are scoped in such a w)97 402 R .116(ay that the en)-.1 F .116
-(vironment in which the)-.4 F 2.616(ya)-.15 G .116(re e)405.144 402 R -.15(xe)
--.15 G .115(cuted is closer to a).15 F .827(shell script en)72 414 R 3.327
-(vironment. Bash)-.4 F .827(uses the POSIX.2 scoping rules, which mak)3.327 F
-3.327(et)-.1 G .827(he function e)392.517 414 R -.15(xe)-.15 G .828(cution en)
-.15 F(vi-)-.4 E 1.2(ronment an e)72 426 R 1.2(xact cop)-.15 F 3.7(yo)-.1 G 3.7
-(ft)174.86 426 S 1.199(he shell en)184.67 426 R 1.199
-(vironment with the replacement of the shell')-.4 F 3.699(sp)-.55 G 1.199
-(ositional paramters)426.421 426 R(with the function ar)72 438 Q 2.5
-(guments. K)-.18 F
-(orn shell functions do not share options or traps with the in)-.35 E -.2(vo)
--.4 G(king shell.).2 E .451(Ksh has)97 453.6 R F3(tr)2.951 E(ac)-.15 E -.1(ke)
--.2 G(d).1 E F0 .452(aliases, which alias a command name to its full pathname.)
-2.952 F .452(Bash has true command)5.452 F(hashing.)72 465.6 Q F1 2.5
-(4.4.3. Arrays)72 489.6 R F0 .246
-(Arrays are an aspect of ksh that has no real bash equi)97 505.2 R -.25(va)-.25
-G 2.746(lent. The).25 F 2.746(ya)-.15 G .246(re easy to create and manipulate:)
-371.42 505.2 R 1.637
-(an array is created automatically by using subscript assignment \()72 517.2 R
-F1(name)A F0([)A F3(inde)A(x)-.2 E F0(]=)A F1 -.1(va)C(lue).1 E F0 1.637
-(\), and an)B 4.137(yv)-.15 G(ariable)476.79 517.2 Q 1.967
-(may be referred to as an array)72 529.2 R 6.967(.K)-.65 G 1.967(sh arrays, ho)
-219.229 529.2 R(we)-.25 E -.15(ve)-.25 G 2.767 -.4(r, h).15 H -2.25 -.2(av e).4
-H(se)4.667 E -.15(ve)-.25 G 1.967(ral anno).15 F 1.967(ying limitations: the)
--.1 F 4.466(ym)-.15 G 1.966(ay be)480.654 529.2 R(inde)72 541.2 Q -.15(xe)-.15
-G 3.498(do).15 G .998(nly up to 512 or 1024 elements, depending on ho)111.858
-541.2 R 3.498(wt)-.25 G .999(he shell is compiled, and there is only the)
-330.188 541.2 R(clumsy)72 553.2 Q F1 .223(set -A)2.723 F F0 .223
-(to assign a list of v)2.723 F .223(alues sequentially)-.25 F 5.223(.D)-.65 G
-.223(espite these limits, arrays are useful, if underutilized)293.31 553.2 R
-(by shell programmers.)72 565.2 Q F1 2.5(4.4.4. Builtin)72 589.2 R(Commands)2.5
-E F0 .112(Some of the b)97 604.8 R .112(uiltin commands ha)-.2 F .412 -.15
-(ve b)-.2 H .112(een e).15 F .112(xtended or are ne)-.15 F 2.612(wi)-.25 G
-2.613(nk)351.402 604.8 S 2.613(sh. The)364.015 604.8 R F1(print)2.613 E F0 -.2
-(bu)2.613 G .113(iltin w).2 F .113(as included)-.1 F .242(to w)72 616.8 R .242
-(ork around the incompatibilities and limitations of)-.1 F F1(echo)2.741 E F0
-5.241(.T)C(he)328.234 616.8 Q F1(whence)2.741 E F0 .241(command tells what w)
-2.741 F .241(ould hap-)-.1 F .418(pen if each ar)72 628.8 R .418
-(gument were typed as a command name.)-.18 F(The)5.418 E F1(cd)2.919 E F0 -.2
-(bu)2.919 G .419(iltin has been e).2 F .419(xtended to tak)-.15 F 2.919(eu)-.1
-G 2.919(pt)470.482 628.8 S 2.919(ot)481.181 628.8 S -.1(wo)491.88 628.8 S(ar)72
-640.8 Q 1.425(guments: if tw)-.18 F 3.925(oa)-.1 G -.18(rg)153.485 640.8 S
-1.424(uments are supplied, the second is substituted for the \214rst in the cu\
-rrent directory).18 F 2.294
-(name and the shell changes to the resultant directory name.)72 652.8 R 2.295
-(The ksh)7.294 F F1(trap)4.795 E F0 -.2(bu)4.795 G 2.295(iltin accepts).2 F F1
-(ERR)4.795 E F0(and)4.795 E F1(DEB)72 664.8 Q(UG)-.1 E F0 .15(as trap names.)
-2.65 F(The)5.15 E F1(ERR)2.65 E F0 .15(trap is e)2.65 F -.15(xe)-.15 G .15
-(cuted when a command f).15 F(ails;)-.1 E F1(DEB)2.65 E(UG)-.1 E F0 .15(is e)
-2.65 F -.15(xe)-.15 G .15(cuted after e).15 F -.15(ve)-.25 G(ry).15 E
-(simple command.)72 676.8 Q .05(The bash distrib)97 692.4 R .05
-(ution includes shell functions that implement)-.2 F F1(print)2.55 E F0(and)
-2.55 E F1(whence)2.55 E F0 .05(and the e)2.55 F .05(xtensions to)-.15 F F1(cd)
-72 704.4 Q F0(.)A EP
-%%Page: 11 11
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(1-)288 48 S/F1 10/Times-Bold@0
-SF 2.5(4.4.5. Expansion)72 84 R F0 .282(The ksh \214lename generation \()97
-99.6 R/F2 10/Times-Italic@0 SF(globbing)A F0 2.782(\)f)C .282(acilities ha)
-262.45 99.6 R .581 -.15(ve b)-.2 H .281(een e).15 F .281(xtended be)-.15 F .281
-(yond their bash and sh coun-)-.15 F 3.68(terparts. In)72 111.6 R 1.181
-(this area, ksh can be thought of as)3.681 F F2 -.4(eg)3.681 G -.37(re).4 G(p)
-.37 E F0 1.181(to the bash)5.347 F F2(gr)3.681 E(ep)-.37 E F0 6.181(.K)1.666 G
-1.181(sh globbing of)382.406 111.6 R 1.181(fers things lik)-.25 F(e)-.1 E 1.018
-(alternation, the ability to match zero or more instances of a pattern, and th\
-e ability to match e)72 123.6 R 1.018(xactly one)-.15 F(occurrence of an)72
-135.6 Q 2.5(yo)-.15 G 2.5(fal)150.98 135.6 S(ist of patterns.)166.53 135.6 Q F1
-2.5(4.4.6. Startup)72 159.6 R(Files)2.5 E F0 .977(Ksh and bash e)97 175.2 R
--.15(xe)-.15 G .977(cute startup \214les dif).15 F(ferently)-.25 E 5.977(.K)
--.65 G .977(sh e)297.879 175.2 R(xpands)-.15 E F1(ENV)3.478 E F0 .978
-(and sources the \214le it names for)3.478 F -2.15 -.25(ev e)72 187.2 T 1.85
-(ry shell.).25 F 1.85(Bash sources)6.85 F F1($ENV)4.35 E F0 1.85
-(only in non-interacti)4.35 F 2.15 -.15(ve s)-.25 H 1.85(hells; interacti).15 F
-2.15 -.15(ve s)-.25 H 1.85(hells source \214x).15 F 1.85(ed \214les, as)-.15 F
--.15(ex)72 199.2 S 1.285(plained in the pre).15 F 1.285(vious section.)-.25 F
-1.285(The POSIX standard has speci\214ed the ksh beha)6.285 F(vior)-.2 E 3.785
-(,s)-.4 G 3.785(ob)441.545 199.2 S 1.285(ash acts the)455.33 199.2 R
-(same as ksh if started with the)72 211.2 Q F1(\255posix)2.5 E F0(or)2.5 E F1
-(\255o posix)2.5 E F0(options.)2.5 E F1 2.5(4.4.7. History)72 235.2 R F0
-(Finally)97 250.8 Q 3.372(,t)-.65 G .872(he ksh history implementation dif)
-133.342 250.8 R .871(fers slightly from bash.)-.25 F .871
-(Each instance of bash k)5.871 F .871(eeps the)-.1 F .633
-(history list in memory and of)72 262.8 R .633(fers options to the)-.25 F F1
-(history)3.133 E F0 -.2(bu)3.133 G .634
-(iltin to write the list to or read it from a named).2 F 3.216(\214le. Ksh)72
-274.8 R -.1(ke)3.216 G .716
-(eps the history in a \214le, which it accesses each time a command is sa).1 F
--.15(ve)-.2 G 3.215(dt).15 G 3.215(oo)426.445 274.8 S 3.215(rr)439.66 274.8 S
-(etrie)449.535 274.8 Q -.15(ve)-.25 G 3.215(df).15 G(rom)487.89 274.8 Q .338
-(the history)72 286.8 R 5.338(.K)-.65 G .338
-(sh history \214les may be shared among dif)129.246 286.8 R .338
-(ferent concurrent instances of ksh, which could be a)-.25 F
-(bene\214t to the user)72 298.8 Q(.)-.55 E F1 2.5(5. F)72 322.8 R(eatur)-.25 E
-(es in Bash-2.0)-.18 E F0 .657(The ne)97 338.4 R .657
-(xt release of bash, 2.0, will be a major o)-.15 F -.15(ve)-.15 G 3.157
-(rhaul. It).15 F .656(will include man)3.157 F 3.156(yn)-.15 G 1.156 -.25(ew f)
-419.532 338.4 T .656(eatures, for both).25 F .705(programming and interacti)72
-350.4 R 1.005 -.15(ve u)-.25 H 3.205(se. Redundant).15 F -.15(ex)3.205 G .705
-(isting functions will be remo).15 F -.15(ve)-.15 G 3.206(d. There).15 F .706
-(are se)3.206 F -.15(ve)-.25 G .706(ral cases).15 F 1.34(where bash treats a v)
-72 362.4 R 1.34(ariable specially to enable functionality a)-.25 F -.25(va)-.2
-G 1.34(ilable another w).25 F 1.34(ay \()-.1 F F1($nolinks)A F0(vs.)3.84 E F1
-1.34(set -o)3.84 F(ph)72 374.4 Q(ysical)-.15 E F0 2.5(,f)C(or e)115.19 374.4 Q
-(xample\); the special treatment of the v)-.15 E(ariable name will be remo)-.25
-E -.15(ve)-.15 G(d.).15 E F1 2.5(5.1. Arrays)72 398.4 R F0 .546(Bash-2.0 will \
-include arrays which are a superset of those in ksh, with the size limitations\
- remo)97 414 R -.15(ve)-.15 G(d.).15 E(The)72 426 Q F1(declar)3.086 E(e)-.18 E
-F0(,)A F1 -.18(re)3.086 G(adonly).18 E F0 3.086(,a)C(nd)174.768 426 Q F1
-(export)3.086 E F0 -.2(bu)3.086 G .586
-(iltins will accept options to specify arrays, and the).2 F F1 -.18(re)3.085 G
-(ad).18 E F0 -.2(bu)3.085 G .585(iltin will).2 F(ha)72 438 Q .81 -.15(ve a)-.2
-H 3.01(no).15 G .51(ption to read a list of w)110.99 438 R .51
-(ords and assign them directly to an array)-.1 F 5.51(.T)-.65 G .51
-(here will also be a ne)386.23 438 R 3.01(wa)-.25 G(rray)487.9 438 Q F2 .262
-(compound assignment)72 450 R F0 .262(syntax a)2.762 F -.25(va)-.2 G .262
-(ilable for assignment statements and the).25 F F1(declar)2.761 E(e)-.18 E F0
--.2(bu)2.761 G 2.761(iltin. This).2 F(ne)2.761 E 2.761(ws)-.25 G(yntax)481.78
-450 Q .441(has the form)72 462 R F2(name)2.941 E F0(=\()A F2(value1)A F0(...)
-2.941 E F2(valueN)2.941 E F0 .441(\), where each)B F2(value)2.942 E F0 .442
-(has the form [)4.608 F F2(subscript)A F0(]=)A F2(string)A F0 5.442(.O)C .442
-(nly the)449.776 462 R F2(string)2.942 E F0 1.395(is required.)72 474 R 1.395
-(If the optional brack)6.395 F 1.395(ets and)-.1 F F2(subscript)3.894 E F0
-1.394(are included, that inde)3.894 F 3.894(xi)-.15 G 3.894(sa)388.714 474 S
-1.394(ssigned to, otherwise the)400.938 474 R(inde)72 486 Q 3.656(xo)-.15 G
-3.656(ft)102.726 486 S 1.156(he element assigned is the last inde)112.492 486 R
-3.657(xa)-.15 G 1.157(ssigned to by the statement plus one.)272.917 486 R(Inde)
-6.157 E 1.157(xing starts at)-.15 F 2.73(zero. The)72 498 R .23
-(same syntax is accepted by)2.73 F F1(declar)2.73 E(e)-.18 E F0 5.229(.I)C(ndi)
-269.159 498 Q .229(vidual array elements may be assigned to using the ksh)-.25
-F F2(name)72 510 Q F0([)A F2(subscript)A F0(]=)A F2(value)A F0(.)A F1 2.5
-(5.2. Dynamic)72 534 R(Loading)2.5 E F0 .348(On systems that support the)97
-549.6 R F2(dlopen)2.848 E F0 .349(\(3\) library function, bash-2.0 will allo)B
-2.849(wn)-.25 G .849 -.25(ew b)407.504 549.6 T .349(uiltins to be loaded).05 F
-.049(into a running shell from a shared object \214le.)72 561.6 R .049(The ne)
-5.049 F 2.549(wb)-.25 G .049(uiltins will ha)298.999 561.6 R .348 -.15(ve a)-.2
-H .048(ccess to the rest of the shell f).15 F(acil-)-.1 E .649(ities, b)72
-573.6 R .649(ut programmers will be subject to a fe)-.2 F 3.149(ws)-.25 G .649
-(tructural rules.)269.591 573.6 R .65(This will be pro)5.65 F .65
-(vided via a ne)-.15 F 3.15(wo)-.25 G .65(ption to)472.51 573.6 R F1(enable)72
-585.6 Q F0(.)A F1 2.5(5.3. Builtins)72 609.6 R F0 .889(Some of the e)97 625.2 R
-.889(xisting b)-.15 F .889(uiltins will change in bash-2.0.)-.2 F .888(As pre)
-5.888 F .888(viously noted,)-.25 F F1(declar)3.388 E(e)-.18 E F0(,)A F1(export)
-3.388 E F0(,)A F1 -.18(re)3.388 G(ad-).18 E(only)72 637.2 Q F0 2.873(,a)C(nd)
-100.153 637.2 Q F1 -.18(re)2.873 G(ad).18 E F0 .373(will accept ne)2.873 F
-2.873(wo)-.25 G .374(ptions to specify arrays.)206.288 637.2 R(The)5.374 E F1
-(jobs)2.874 E F0 -.2(bu)2.874 G .374(iltin will be able to list only stopped).2
-F .323(or running jobs.)72 649.2 R(The)5.322 E F1(enable)2.822 E F0 .322
-(command will tak)2.822 F 2.822(ean)-.1 G -.25(ew)282.84 649.2 S F1<ad73>3.072
-E F0 .322(option to restrict its actions to the POSIX.2)2.822 F F2(spe-)2.822 E
-(cial)72 661.2 Q F0 -.2(bu)3.14 G(iltins.).2 E F1(Kill)5.64 E F0 .64
-(will be able to list signal numbers corresponding to indi)3.14 F .64
-(vidual signal names.)-.25 F .64(The read-)5.64 F .703(line library interf)72
-673.2 R(ace,)-.1 E F1(bind)3.203 E F0 3.203(,w)C .703(ill ha)193.032 673.2 R
-1.003 -.15(ve a)-.2 H 3.203(no).15 G .703(ption to remo)243.951 673.2 R 1.003
--.15(ve t)-.15 H .703(he binding for an).15 F 3.203(yk)-.15 G 1.002 -.15(ey s)
-398.032 673.2 T .702(equence \(which is not).15 F
-(the same as binding it to self-insert\).)72 685.2 Q .494(There will be tw)97
-700.8 R 2.994(on)-.1 G .994 -.25(ew b)177.196 700.8 T .495
-(uiltin commands in bash-2.0.).05 F(The)5.495 E F1(diso)2.995 E(wn)-.1 E F0
-.495(command will remo)2.995 F .795 -.15(ve j)-.15 H .495(obs from).15 F(bash')
-72 712.8 Q 3.445(si)-.55 G .945(nternal jobs table when job control is acti)
-103.225 712.8 R -.15(ve)-.25 G 5.945(.A).15 G(diso)303.25 712.8 Q .944
-(wned job will not be listed by the jobs com-)-.25 F .666(mand, nor will its e)
-72 724.8 R .666(xit status be reported.)-.15 F(Diso)5.667 E .667
-(wned jobs will not be sent a)-.25 F F1(SIGHUP)3.167 E F0 .667
-(when an interacti)3.167 F -.15(ve)-.25 G EP
-%%Page: 12 12
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(2-)288 48 S .688(shell e)72 84 R
-3.187(xits. Most)-.15 F .687(of the shell')3.187 F 3.187(so)-.55 G .687
-(ptional or)205.423 84 R/F1 10/Times-Italic@0 SF(to)3.187 E -.1(gg)-.1 G(led).1
-E F0 .687(functionality will be folded into the ne)3.187 F(w)-.25 E/F2 10
-/Times-Bold@0 SF(shopt)3.187 E F0 -.2(bu)3.187 G(iltin.).2 E(Man)72 96 Q 3.714
-(yo)-.15 G 3.714(ft)103.894 96 S 1.214(he v)113.718 96 R 1.214
-(ariables which alter the shell')-.25 F 3.714(sb)-.55 G(eha)266.282 96 Q 1.214
-(vior when set \(re)-.2 F -.05(ga)-.15 G 1.214(rdless of their v).05 F 1.215
-(alue\) will be made)-.25 F 6(options settable with)72 108 R F2(shopt)8.5 E F0
-11(.E)C 6(xamples of such v)218.23 108 R 6(ariables include)-.25 F F2(allo)8.5
-E(w_null_glob_expansion)-.1 E F0(,)A F2(glob_dot_\214lenames)72 120 Q F0 2.5
-(,a)C(nd)163.67 120 Q F2(MAIL_W)2.5 E(ARNING)-1.2 E F0(.)A F2 2.5(5.4. V)72 144
-R(ariables and V)-.92 E(ariable Expansion)-.92 E F0 .047
-(Bash-2.0 will implement se)97 159.6 R -.15(ve)-.25 G .048(ral ne).15 F 2.548
-(wv)-.25 G .048(ariable e)252.988 159.6 R 2.548(xpansions. These)-.15 F .048
-(will answer se)2.548 F -.15(ve)-.25 G .048(ral of the most per).15 F(-)-.2 E
-.213(sistant requests for ne)72 171.6 R 2.713(wf)-.25 G 2.713(eatures. It)
-172.582 171.6 R .213(will be possible to `)2.713 F .212(`indirectly reference')
--.74 F 2.712('av)-.74 G .212(ariable with an e)398.534 171.6 R(xpansion,)-.15 E
-(lik)72 183.6 Q 3.01(eu)-.1 G(sing)94.91 183.6 Q/F3 10/Courier@0 SF .51
-(eval \\$${name})3.01 F F0 .51(to reference a v)3.01 F .51(ariable named by)
--.25 F F3(${name})3.01 E F0 5.51(.E)C .51(xpansions will be a)394.32 183.6 R
--.25(va)-.2 G(ilable).25 E .462(to retrie)72 195.6 R .762 -.15(ve s)-.25 H .462
-(ubstrings of v).15 F .461(ariables in an)-.25 F F1(awk)2.961 E F0(-lik)A 2.961
-(em)-.1 G .461(anner: starting at a speci\214c inde)277.692 195.6 R .461
-(x, retrie)-.15 F .461(ving some num-)-.25 F .941
-(ber of characters or the rest of the string.)72 207.6 R .941
-(It will be possible to retrie)5.941 F 1.241 -.15(ve s)-.25 H .941
-(equences of array elements lik).15 F(e)-.1 E .354(this, too.)72 219.6 R .354
-(It w)5.354 F .354(ould be nice to ha)-.1 F .654 -.15(ve a w)-.2 H .354
-(ay to replace portions of a v).05 F .353
-(ariable matching a pattern the same w)-.25 F(ay)-.1 E(leading or trailing sub\
-strings are presently stripped; that capability may be a)72 231.6 Q -.25(va)-.2
-G(ilable.).25 E .453(Another ne)97 247.2 R 2.953(we)-.25 G .453
-(xpansion will pro)156.376 247.2 R .453(vide a w)-.15 F .454
-(ay to create strings containing arbitrary characters, which is)-.1 F(incon)72
-259.2 Q -.15(ve)-.4 G 1.636(nient in the current v).15 F 4.136(ersion. W)-.15 F
-1.635(ords of the form $')-.8 F F1(string)A F0 4.135('w)C 1.635(ill e)355.145
-259.2 R 1.635(xpand to)-.15 F F1(string)4.135 E F0 1.635(with backslash-)4.135
-F 1.231(escaped characters in)72 271.2 R F1(string)3.731 E F0 1.231
-(replaced as speci\214ed by the ANSI C standard.)3.731 F 1.232
-(As with other single-quoted)6.232 F
-(shell strings, the only character that may not appear in)72 283.2 Q F1(string)
-2.5 E F0(is a single quote.)2.5 E 1.436(The shell v)97 298.8 R 1.436
-(ariables will change also.)-.25 F 3.936(An)6.436 G 1.936 -.25(ew va)272.052
-298.8 T(riable).25 E F2(HISTIGNORE)3.936 E F0 1.435(will supersede)3.936 F F2
-(HISTCON-)3.935 E(TR)72 310.8 Q(OL)-.3 E F0(.)A F2(HISTIGNORE)5.327 E F0 .327
-(is the history analogy of)2.827 F F2(FIGNORE)2.828 E F0 2.828(:ac)C .328
-(olon-separated list of patterns specifying)339.938 310.8 R 1.082
-(commands to omit from the history list.)72 322.8 R 1.081
-(The special pattern '&' will match the pre)6.081 F 1.081
-(vious history line, to)-.25 F(pro)72 334.8 Q 1.568(vide the)-.15 F F2
-(HISTCONTR)4.068 E(OL)-.3 E F1(ignor)4.068 E(edups)-.37 E F0(beha)5.734 E(vior)
--.2 E 6.568(.M)-.55 G(an)303.546 334.8 Q 4.069(yv)-.15 G 1.569
-(ariables which modify the shell')326.655 334.8 R 4.069(sb)-.55 G(eha)474.21
-334.8 Q(vior)-.2 E .395(will lose their special meaning.)72 346.8 R -1.11(Va)
-5.395 G .395(riables such as)1.11 F F2(notify)2.895 E F0(and)2.895 E F2(noclob)
-2.895 E(ber)-.1 E F0 .395(which pro)2.895 F .395(vide functionality a)-.15 F
--.25(va)-.2 G(il-).25 E .931
-(able via other mechanisms will no longer be treated specially)72 358.8 R 5.931
-(.O)-.65 G .931(ther v)340.06 358.8 R .932(ariables will be folded into)-.25 F
-F2(shopt)3.432 E F0(.)A(The)72 370.8 Q F2(history_contr)5.519 E(ol)-.18 E F0
-(and)5.519 E F2(hostname_completion_\214le)5.519 E F0 -.25(va)5.519 G 3.019
-(riables, superseded by).25 F F2(HISTCONTR)5.518 E(OL)-.3 E F0(and)5.518 E F2
-(HOSTFILE)72 382.8 Q F0(respecti)2.5 E -.15(ve)-.25 G(ly).15 E 2.5(,w)-.65 G
-(ill be remo)185.12 382.8 Q -.15(ve)-.15 G(d.).15 E F2 2.5(5.5. Readline)72
-406.8 R F0(Naturally)97 422.4 Q 2.94(,t)-.65 G .44(here will be impro)142.34
-422.4 R -.15(ve)-.15 G .441(ments to readline as well.).15 F .441
-(All of the POSIX.2)5.441 F F1(vi)2.941 E F0 .441(-mode editing com-)B .33
-(mands will be implemented; missing commands lik)72 434.4 R 2.829(e`)-.1 G .329
-(m' to sa)290.599 434.4 R .629 -.15(ve t)-.2 H .329
-(he current cursor position \().15 F F1(mark)A F0 2.829(\)a)C .329(nd the)
-478.951 434.4 R .36(`@' command for macro e)72 446.4 R .36(xpansion will be a)
--.15 F -.25(va)-.2 G 2.861(ilable. The).25 F .361
-(ability to set the mark and e)2.861 F .361(xchange the current)-.15 F .764
-(cursor position \()72 458.4 R F1(point)A F0 3.264(\)a)C .764
-(nd mark will be added to the readline emacs mode as well.)170.672 458.4 R .763
-(Since there are com-)5.764 F .196
-(mands to set the mark, commands to manipulate the re)72 470.4 R .197
-(gion \(the characters between the point and the mark\))-.15 F .111(will be a)
-72 482.4 R -.25(va)-.2 G 2.611(ilable. Commands).25 F(ha)2.611 E .411 -.15
-(ve b)-.2 H .11
-(een added to the readline emacs mode for more complete ksh compati-).15 F
-(bility)72 494.4 Q 2.5(,s)-.65 G(uch as the C-])101.36 494.4 Q F1(c)A F0
-(character search command.)2.5 E F2 2.5(5.6. Con\214guration)72 518.4 R F0 .318
-(Bash w)97 534 R .318
-(as the \214rst GNU program to completely autocon\214gure.)-.1 F .319
-(Its autocon\214guration mechanism pre-)5.319 F(dates)72 546 Q F1(autoconf)4.07
-E F0 4.07(,t)C 1.569
-(he current GNU con\214guration program, and needs updating.)140.97 546 R 1.569
-(Bash-2.0 may include an)6.569 F .603
-(autoconf-based con\214guration script, if necessary ne)72 558 R 3.103(wf)-.25
-G .603(unctionality can be added to autoconf, or its limita-)294.476 558 R
-(tions bypassed.)72 570 Q F2 2.5(5.7. Miscellaneous)72 594 R F0 1.632
-(The POSIX mode will be impro)97 609.6 R -.15(ve)-.15 G 4.131(di).15 G 4.131
-(nb)254.26 609.6 S 1.631(ash-2.0; it will pro)268.391 609.6 R 1.631
-(vide a more complete superset of the)-.15 F(POSIX standard.)72 621.6 Q -.15
-(Fo)5 G 2.5(rt).15 G(he \214rst time, bash will recognize the e)163.79 621.6 Q
-(xistance of the POSIX.2)-.15 E F1(special)2.5 E F0 -.2(bu)2.5 G(iltins.).2 E
-2.627(An)97 637.2 S .627 -.25(ew t)111.847 637.2 T .127(rap v).25 F(alue,)-.25
-E F2(DEB)2.627 E(UG)-.1 E F0 2.627(,w)C .128(ill be present, as in ksh.)218.405
-637.2 R .128(Commands speci\214ed with a)5.128 F F2(DEB)2.628 E(UG)-.1 E F0
-.128(trap will)2.628 F 1.908(be e)72 649.2 R -.15(xe)-.15 G 1.908
-(cuted after e).15 F -.15(ve)-.25 G 1.908(ry simple command.).15 F 1.908
-(Since this mak)6.908 F 1.908(es shell script deb)-.1 F 1.908
-(uggers possible, I hope to)-.2 F(include a bash deb)72 661.2 Q
-(ugger in the bash-2.0 release.)-.2 E F2 2.5(6. A)72 685.2 R -.1(va)-1 G
-(ilability).1 E F0 5.997(The current v)97 700.8 R 5.997(ersion of bash is a)
--.15 F -.25(va)-.2 G 5.998(ilable for anon).25 F 5.998
-(ymous FTP from prep.ai.mit.edu as)-.15 F F1(/pub/gnu/bash-1.14.2.tar)72 712.8
-Q(.gz)-1.11 E F0(.)1.666 E EP
-%%Page: 13 13
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(3-)288 48 S/F1 10/Times-Bold@0
-SF 2.5(7. Conclusion)72 84 R F0 .755(This paper has presented an o)97 99.6 R
--.15(ve)-.15 G(rvie).15 E 3.255(wo)-.25 G 3.255(fb)259.27 99.6 S .755
-(ash, compared its features with those of other shells, and)270.855 99.6 R
-(hinted at features in the ne)72 111.6 Q(xt release, bash-2.0.)-.15 E .483
-(Bash is a solid replacement for sh.)97 127.2 R .483(It is suf)5.483 F .483
-(\214ciently portable to run on nearly e)-.25 F -.15(ve)-.25 G .484(ry v).15 F
-.484(ersion of)-.15 F/F2 9/Times-Roman@0 SF(UNIX)2.984 E F0 .514
-(from 4.3 BSD to SVR4.2, and se)72 139.2 R -.15(ve)-.25 G(ral).15 E F2(UNIX)
-3.013 E F0 -.1(wo)3.013 G(rkalik).1 E .513(es, and rob)-.1 F .513
-(ust enough to replace sh on most of those)-.2 F .771(systems, It is v)72 151.2
-R .771(ery close to POSIX.2-conformant in POSIX mode, and is getting f)-.15 F
-(aster)-.1 E 5.771(.I)-.55 G 3.272(ti)436.684 151.2 S 3.272(sn)445.516 151.2 S
-.772(ot, unfortu-)457.678 151.2 R(nately)72 163.2 Q 2.663(,g)-.65 G .163
-(etting smaller)105.953 163.2 R 2.663(,b)-.4 G .163(ut there are man)170.399
-163.2 R 2.663(yo)-.15 G .163(ptional features.)248.101 163.2 R .163(It is v)
-5.163 F .162(ery easy to b)-.15 F .162(uild a small subset to use as)-.2 F 2.5
-(ad)72 175.2 S(irect replacement for /bin/sh.)83.94 175.2 Q .909
-(Bash has thousands of users w)97 190.8 R .909(orldwide, all of whom ha)-.1 F
-1.209 -.15(ve h)-.2 H .91(elped to mak).15 F 3.41(ei)-.1 G 3.41(tb)409.34 190.8
-S(etter)420.53 190.8 Q 5.91(.A)-.55 G .91(nother testa-)453.38 190.8 R
-(ment to the bene\214ts of free softw)72 202.8 Q(are.)-.1 E F1 2.5(8. Refer)72
-226.8 R(ences)-.18 E F0 .432([1] S. R. Bourne, `)72 242.4 R .432(`UNIX T)-.74 F
-.432(ime-Sharing System:)-.35 F .431(The UNIX Shell')5.431 F(',)-.74 E/F3 10
-/Times-Italic@0 SF .431(Bell System T)2.931 F(ec)-.92 E .431(hnical J)-.15 F
-(ournal)-.25 E F0 2.931(,5)C(7\(6\),)484.84 242.4 Q
-(July-August, 1978, pp. 1971-1990.)72 254.4 Q .736([2] Morris Bolsk)72 270 R
-3.237(ya)-.15 G .737(nd Da)153.22 270 R .737(vid K)-.2 F(orn,)-.35 E F3 .737
-(The K)3.237 F .737(ornShell Command and Pr)-.4 F -.1(og)-.45 G -.15(ra).1 G
-.737(mming Langua).15 F -.1(ge)-.1 G F0 3.237(,P).1 G .737(rentice Hall,)
-453.833 270 R(1989.)72 282 Q .142([3] Bill Jo)72 297.6 R 1.442 -.65(y, A)-.1 H
-2.642(nI).65 G .141(ntroduction to the C Shell,)140.428 297.6 R F3 .141
-(UNIX User')2.641 F 2.641(sS)-.4 G .141(upplementary Documents)309.346 297.6 R
-F0 2.641(,U)C(ni)424.328 297.6 Q -.15(ve)-.25 G .141(rsity of Califor).15 F(-)
--.2 E(nia at Berk)72 309.6 Q(ele)-.1 E 1.3 -.65(y, 1)-.15 H(986.).65 E .283
-([4] IEEE,)72 325.2 R F3 .283(IEEE Standar)2.783 F 2.783(df)-.37 G .283
-(or Information T)179.692 325.2 R(ec)-.92 E(hnolo)-.15 E .283(gy -- P)-.1 F
-.283(ortable Oper)-.8 F .283(ating System Interface \(POSIX\) P)-.15 F(art)-.8
-E(2: Shell and Utilities)72 337.2 Q F0 2.5(,1)C(992.)165.06 337.2 Q F1 2.5
-(9. A)72 361.2 R(uthor Inf)-.5 E(ormation)-.25 E F0 .937(Chet Rame)97 376.8 R
-3.437(yi)-.15 G 3.437(sas)153.724 376.8 S(oftw)172.818 376.8 Q .936
-(are engineer w)-.1 F .936(orking at Case W)-.1 F .936(estern Reserv)-.8 F
-3.436(eU)-.15 G(ni)393.43 376.8 Q -.15(ve)-.25 G(rsity).15 E 5.936(.H)-.65 G
-3.436(eh)443.036 376.8 S .936(as a B.S. in)455.912 376.8 R .072
-(Computer Engineering and an M.S. in Computer Science, both from CWR)72 388.8 R
-2.573(U. He)-.4 F .073(has been w)2.573 F .073(orking on bash)-.1 F
-(for six years, and the primary maintainer for one.)72 400.8 Q EP
-%%Trailer
-end
-%%EOF