1 | %!PS-Adobe-3.0
|
---|
2 | %%Creator: groff version 1.08
|
---|
3 | %%DocumentNeededResources: font Times-Bold
|
---|
4 | %%+ font Times-Italic
|
---|
5 | %%+ font Times-Roman
|
---|
6 | %%+ font Courier
|
---|
7 | %%+ font Symbol
|
---|
8 | %%DocumentSuppliedResources: procset grops 1.08 0
|
---|
9 | %%Pages: 13
|
---|
10 | %%PageOrder: Ascend
|
---|
11 | %%Orientation: Portrait
|
---|
12 | %%EndComments
|
---|
13 | %%BeginProlog
|
---|
14 | %%BeginResource: procset grops 1.08 0
|
---|
15 | /setpacking where{
|
---|
16 | pop
|
---|
17 | currentpacking
|
---|
18 | true setpacking
|
---|
19 | }if
|
---|
20 | /grops 120 dict dup begin
|
---|
21 | /SC 32 def
|
---|
22 | /A/show load def
|
---|
23 | /B{0 SC 3 -1 roll widthshow}bind def
|
---|
24 | /C{0 exch ashow}bind def
|
---|
25 | /D{0 exch 0 SC 5 2 roll awidthshow}bind def
|
---|
26 | /E{0 rmoveto show}bind def
|
---|
27 | /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
|
---|
28 | /G{0 rmoveto 0 exch ashow}bind def
|
---|
29 | /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
---|
30 | /I{0 exch rmoveto show}bind def
|
---|
31 | /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
|
---|
32 | /K{0 exch rmoveto 0 exch ashow}bind def
|
---|
33 | /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
---|
34 | /M{rmoveto show}bind def
|
---|
35 | /N{rmoveto 0 SC 3 -1 roll widthshow}bind def
|
---|
36 | /O{rmoveto 0 exch ashow}bind def
|
---|
37 | /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
---|
38 | /Q{moveto show}bind def
|
---|
39 | /R{moveto 0 SC 3 -1 roll widthshow}bind def
|
---|
40 | /S{moveto 0 exch ashow}bind def
|
---|
41 | /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
|
---|
42 | /SF{
|
---|
43 | findfont exch
|
---|
44 | [exch dup 0 exch 0 exch neg 0 0]makefont
|
---|
45 | dup setfont
|
---|
46 | [exch/setfont cvx]cvx bind def
|
---|
47 | }bind def
|
---|
48 | /MF{
|
---|
49 | findfont
|
---|
50 | [5 2 roll
|
---|
51 | 0 3 1 roll
|
---|
52 | neg 0 0]makefont
|
---|
53 | dup setfont
|
---|
54 | [exch/setfont cvx]cvx bind def
|
---|
55 | }bind def
|
---|
56 | /level0 0 def
|
---|
57 | /RES 0 def
|
---|
58 | /PL 0 def
|
---|
59 | /LS 0 def
|
---|
60 | /PLG{
|
---|
61 | gsave newpath clippath pathbbox grestore
|
---|
62 | exch pop add exch pop
|
---|
63 | }bind def
|
---|
64 | /BP{
|
---|
65 | /level0 save def
|
---|
66 | 1 setlinecap
|
---|
67 | 1 setlinejoin
|
---|
68 | 72 RES div dup scale
|
---|
69 | LS{
|
---|
70 | 90 rotate
|
---|
71 | }{
|
---|
72 | 0 PL translate
|
---|
73 | }ifelse
|
---|
74 | 1 -1 scale
|
---|
75 | }bind def
|
---|
76 | /EP{
|
---|
77 | level0 restore
|
---|
78 | showpage
|
---|
79 | }bind def
|
---|
80 | /DA{
|
---|
81 | newpath arcn stroke
|
---|
82 | }bind def
|
---|
83 | /SN{
|
---|
84 | transform
|
---|
85 | .25 sub exch .25 sub exch
|
---|
86 | round .25 add exch round .25 add exch
|
---|
87 | itransform
|
---|
88 | }bind def
|
---|
89 | /DL{
|
---|
90 | SN
|
---|
91 | moveto
|
---|
92 | SN
|
---|
93 | lineto stroke
|
---|
94 | }bind def
|
---|
95 | /DC{
|
---|
96 | newpath 0 360 arc closepath
|
---|
97 | }bind def
|
---|
98 | /TM matrix def
|
---|
99 | /DE{
|
---|
100 | TM currentmatrix pop
|
---|
101 | translate scale newpath 0 0 .5 0 360 arc closepath
|
---|
102 | TM setmatrix
|
---|
103 | }bind def
|
---|
104 | /RC/rcurveto load def
|
---|
105 | /RL/rlineto load def
|
---|
106 | /ST/stroke load def
|
---|
107 | /MT/moveto load def
|
---|
108 | /CL/closepath load def
|
---|
109 | /FL{
|
---|
110 | currentgray exch setgray fill setgray
|
---|
111 | }bind def
|
---|
112 | /BL/fill load def
|
---|
113 | /LW/setlinewidth load def
|
---|
114 | /RE{
|
---|
115 | findfont
|
---|
116 | dup maxlength 1 index/FontName known not{1 add}if dict begin
|
---|
117 | {
|
---|
118 | 1 index/FID ne{def}{pop pop}ifelse
|
---|
119 | }forall
|
---|
120 | /Encoding exch def
|
---|
121 | dup/FontName exch def
|
---|
122 | currentdict end definefont pop
|
---|
123 | }bind def
|
---|
124 | /DEFS 0 def
|
---|
125 | /EBEGIN{
|
---|
126 | moveto
|
---|
127 | DEFS begin
|
---|
128 | }bind def
|
---|
129 | /EEND/end load def
|
---|
130 | /CNT 0 def
|
---|
131 | /level1 0 def
|
---|
132 | /PBEGIN{
|
---|
133 | /level1 save def
|
---|
134 | translate
|
---|
135 | div 3 1 roll div exch scale
|
---|
136 | neg exch neg exch translate
|
---|
137 | 0 setgray
|
---|
138 | 0 setlinecap
|
---|
139 | 1 setlinewidth
|
---|
140 | 0 setlinejoin
|
---|
141 | 10 setmiterlimit
|
---|
142 | []0 setdash
|
---|
143 | /setstrokeadjust where{
|
---|
144 | pop
|
---|
145 | false setstrokeadjust
|
---|
146 | }if
|
---|
147 | /setoverprint where{
|
---|
148 | pop
|
---|
149 | false setoverprint
|
---|
150 | }if
|
---|
151 | newpath
|
---|
152 | /CNT countdictstack def
|
---|
153 | userdict begin
|
---|
154 | /showpage{}def
|
---|
155 | }bind def
|
---|
156 | /PEND{
|
---|
157 | clear
|
---|
158 | countdictstack CNT sub{end}repeat
|
---|
159 | level1 restore
|
---|
160 | }bind def
|
---|
161 | end def
|
---|
162 | /setpacking where{
|
---|
163 | pop
|
---|
164 | setpacking
|
---|
165 | }if
|
---|
166 | %%EndResource
|
---|
167 | %%IncludeResource: font Times-Bold
|
---|
168 | %%IncludeResource: font Times-Italic
|
---|
169 | %%IncludeResource: font Times-Roman
|
---|
170 | %%IncludeResource: font Courier
|
---|
171 | %%IncludeResource: font Symbol
|
---|
172 | grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
|
---|
173 | 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron/zcaron
|
---|
174 | /Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef
|
---|
175 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
|
---|
176 | /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space
|
---|
177 | /exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft
|
---|
178 | /parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four
|
---|
179 | /five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C
|
---|
180 | /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
|
---|
181 | /bracketright/circumflex/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q
|
---|
182 | /r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase
|
---|
183 | /guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
|
---|
184 | /daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
|
---|
185 | /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
|
---|
186 | /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
|
---|
187 | /section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
|
---|
188 | /registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
|
---|
189 | /paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
|
---|
190 | /onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
|
---|
191 | /Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
|
---|
192 | /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
|
---|
193 | /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
|
---|
194 | /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
|
---|
195 | /ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
|
---|
196 | /oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
|
---|
197 | /udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0
|
---|
198 | ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0
|
---|
199 | /Times-Bold RE
|
---|
200 | %%EndProlog
|
---|
201 | %%Page: 1 1
|
---|
202 | %%BeginPageSetup
|
---|
203 | BP
|
---|
204 | %%EndPageSetup
|
---|
205 | /F0 12/Times-Bold@0 SF(Bash, the Bour)210.99 123 Q(ne\255Again Shell)-.18 E/F1
|
---|
206 | 10/Times-Italic@0 SF(Chet Rame)263.85 147 Q(y)-.3 E(Case W)221.72 159 Q
|
---|
207 | (estern Reserve Univer)-.92 E(sity)-.1 E -.15(ch)250.425 171 S(et@po.cwru.edu)
|
---|
208 | .15 E(ABSTRA)264.535 213 Q(CT)-.3 E/F2 10/Times-Roman@0 SF .019(An o)133 237 R
|
---|
209 | -.15(ve)-.15 G(rvie).15 E 2.519(wo)-.25 G 2.519(f/)191.918 237 S .018
|
---|
210 | (bin/sh\255compatible shells is presented, as well as an introduction to)
|
---|
211 | 200.547 237 R .128(the POSIX.2 shell and tools standard.)108 249 R .128
|
---|
212 | (These serv)5.128 F 2.628(ea)-.15 G 2.628(sa)318.562 249 S 2.628(ni)329.52 249
|
---|
213 | S .128(ntroduction to bash.)339.928 249 R 2.628(Ac)5.128 G(ompar)439.32 249 Q
|
---|
214 | (-)-.2 E .188(ison of bash to sh and ksh is presented, as well as a discussion\
|
---|
215 | of features unique to bash.)108 261 R(Finally)108 273 Q 3.178(,s)-.65 G .678
|
---|
216 | (ome of the changes and ne)145.258 273 R 3.178(wf)-.25 G .678
|
---|
217 | (eatures to appear in the ne)268.486 273 R .678(xt bash release will be)-.15 F
|
---|
218 | (discussed.)108 285 Q/F3 10/Times-Bold@0 SF 2.5(1. Intr)72 321 R(oduction)-.18
|
---|
219 | E(Bash)97 336.6 Q F2 .904(is the shell, or command language interpreter)3.404 F
|
---|
220 | 3.404(,t)-.4 G .904(hat will appear in the GNU operating system.)316.032 336.6
|
---|
221 | R .782(The name is an acron)72 348.6 R .782(ym for the `)-.15 F(`Bourne\255Ag)
|
---|
222 | -.74 E .782(ain SHell')-.05 F .782(', a pun on Ste)-.74 F 1.082 -.15(ve B)-.25
|
---|
223 | H .783(ourne, the author of the direct).15 F .212(ancestor of the current)72
|
---|
224 | 360.6 R/F4 9/Times-Roman@0 SF(UNIX)2.712 E F2 2.712<8773>C(hell)199.131 360.6 Q
|
---|
225 | F1(/bin/sh)2.712 E F2 2.712(,w)C .212(hich appeared in the Se)256.505 360.6 R
|
---|
226 | -.15(ve)-.25 G .211(nth Edition Bell Labs Research v).15 F(er)-.15 E(-)-.2 E
|
---|
227 | (sion of)72 372.6 Q F4(UNIX)2.5 E F2([1].).833 E .191(Bash is an)97 388.2 R F3
|
---|
228 | (sh)2.691 E F2 .192
|
---|
229 | (\255compatible shell that incorporates useful features from the K)B .192
|
---|
230 | (orn shell \()-.35 F F3(ksh)A F2 .833(\)[)C .192(2] and the)-.833 F 2.767(Cs)72
|
---|
231 | 400.2 S .267(hell \()85.327 400.2 R F3(csh)A F2 .833(\)[)C .267
|
---|
232 | (3], described later in this article.)-.833 F .266
|
---|
233 | (It is ultimately intended to be a conformant implementation)5.267 F 1.965
|
---|
234 | (of the IEEE POSIX Shell and T)72 412.2 R 1.966(ools speci\214cation \(IEEE W)
|
---|
235 | -.8 F 1.966(orking Group 1003.2\).)-.8 F 1.966(It of)6.966 F 1.966
|
---|
236 | (fers functional)-.25 F(impro)72 424.2 Q -.15(ve)-.15 G(ments o).15 E -.15(ve)
|
---|
237 | -.15 G 2.5(rs).15 G 2.5(hf)155.28 424.2 S(or both interacti)166.11 424.2 Q .3
|
---|
238 | -.15(ve a)-.25 H(nd programming use.).15 E .802
|
---|
239 | (While the GNU operating system will most lik)97 439.8 R .801(ely include a v)
|
---|
240 | -.1 F .801(ersion of the Berk)-.15 F(ele)-.1 E 3.301(ys)-.15 G .801
|
---|
241 | (hell csh, bash)448.238 439.8 R .108(will be the def)72 451.8 R .108
|
---|
242 | (ault shell.)-.1 F(Lik)5.108 E 2.608(eo)-.1 G .108(ther GNU softw)199.658 451.8
|
---|
243 | R .108(are, bash is quite portable.)-.1 F .109(It currently runs on nearly e)
|
---|
244 | 5.109 F -.15(ve)-.25 G(ry).15 E -.15(ve)72 463.8 S .367(rsion of).15 F F4(UNIX)
|
---|
245 | 2.867 E F2 .367(and a fe)2.867 F 2.867(wo)-.25 G .367
|
---|
246 | (ther operating systems \255 an independently-supported port e)187.933 463.8 R
|
---|
247 | .366(xists for OS/2, and)-.15 F .706(there are rumors of ports to DOS and W)72
|
---|
248 | 475.8 R(indo)-.4 E .706(ws NT)-.25 F 5.706(.P)-.74 G .706(orts to)295.97 475.8
|
---|
249 | R F4(UNIX)3.206 E F2(-lik)A 3.206(es)-.1 G .706(ystems such as QNX and Minix)
|
---|
250 | 372.979 475.8 R(are part of the distrib)72 487.8 Q(ution.)-.2 E .51
|
---|
251 | (The original author of bash w)97 503.4 R .51(as Brian F)-.1 F .509
|
---|
252 | (ox, an emplo)-.15 F .509(yee of the Free Softw)-.1 F .509(are F)-.1 F 3.009
|
---|
253 | (oundation. The)-.15 F(cur)3.009 E(-)-.2 E(rent de)72 515.4 Q -.15(ve)-.25 G
|
---|
254 | (loper and maintainer is Chet Rame).15 E 1.3 -.65(y, a v)-.15 H(olunteer who w)
|
---|
255 | .45 E(orks at Case W)-.1 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)458.91 515.4 Q
|
---|
256 | -.15(ve)-.25 G(rsity).15 E(.)-.65 E F3 2.5(2. What)72 539.4 R(is a shell?)2.5 E
|
---|
257 | F2 1.241(At its base, a shell is simply a macro processor that e)97 555 R -.15
|
---|
258 | (xe)-.15 G 1.242(cutes commands.).15 F(A)6.242 E F4(UNIX)3.742 E F2 1.242
|
---|
259 | (shell is both a)3.742 F .189(command interpreter)72 567 R 2.688(,w)-.4 G .188
|
---|
260 | (hich pro)167.787 567 R .188(vides the user interf)-.15 F .188
|
---|
261 | (ace to the rich set of)-.1 F F4(UNIX)2.688 E F2 .188
|
---|
262 | (utilities, and a programming)2.688 F .751(language, allo)72 579 R .752
|
---|
263 | (wing these utilitites to be combined.)-.25 F .752
|
---|
264 | (The shell reads commands either from a terminal or a)5.752 F 2.52
|
---|
265 | (\214le. Files)72 591 R .019
|
---|
266 | (containing commands can be created, and become commands themselv)2.52 F 2.519
|
---|
267 | (es. These)-.15 F(ne)2.519 E 2.519(wc)-.25 G(ommands)465.11 591 Q(ha)72 603 Q
|
---|
268 | .395 -.15(ve t)-.2 H .095(he same status as system commands in directories lik)
|
---|
269 | .15 F(e)-.1 E F3(/bin)2.595 E F2 2.595(,a)C(llo)342.575 603 Q .096
|
---|
270 | (wing users or groups to establish cus-)-.25 F(tom en)72 615 Q(vironments.)-.4
|
---|
271 | 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
|
---|
272 | 654.6 S .426(hell allo)111.036 654.6 R .426(ws e)-.25 F -.15(xe)-.15 G .426
|
---|
273 | (cution of).15 F F4(UNIX)2.926 E F2 .426
|
---|
274 | (commands, both synchronously and asynchronously)2.926 F 5.425(.T)-.65 G(he)
|
---|
275 | 460.165 654.6 Q F1 -.37(re)2.925 G(dir).37 E(ec-)-.37 E(tion)72 666.6 Q F2 .334
|
---|
276 | (constructs permit \214ne-grained control of the input and output of those com\
|
---|
277 | mands, and the shell allo)2.833 F(ws)-.25 E .559(control o)72 678.6 R -.15(ve)
|
---|
278 | -.15 G 3.058(rt).15 G .558(he contents of their en)126.697 678.6 R(vironment.)
|
---|
279 | -.4 E F4(UNIX)5.558 E F2 .558(shells also pro)3.058 F .558
|
---|
280 | (vide a small set of b)-.15 F .558(uilt-in commands)-.2 F(\()72 690.6 Q F1 -.2
|
---|
281 | (bu)C(iltins).2 E F2 4.611(\)i)C 2.112
|
---|
282 | (mplementing functionality impossible \(e.g.,)115.861 690.6 R F3(cd)4.612 E F2
|
---|
283 | (,)A F3(br)4.612 E(eak)-.18 E F2(,)A F3(continue)4.612 E F2 4.612(,a)C(nd)
|
---|
284 | 399.074 690.6 Q F3(exec)4.612 E F2 4.612(\)o)C 4.612(ri)444.948 690.6 S(ncon)
|
---|
285 | 455.67 690.6 Q -.15(ve)-.4 G(nient).15 E .32 LW 76 700.6 72 700.6 DL 80 700.6
|
---|
286 | 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
|
---|
287 | 700.6 92 700.6 DL 100 700.6 96 700.6 DL 104 700.6 100 700.6 DL 108 700.6 104
|
---|
288 | 700.6 DL 112 700.6 108 700.6 DL 116 700.6 112 700.6 DL 120 700.6 116 700.6 DL
|
---|
289 | 124 700.6 120 700.6 DL 128 700.6 124 700.6 DL 132 700.6 128 700.6 DL 136 700.6
|
---|
290 | 132 700.6 DL 140 700.6 136 700.6 DL 144 700.6 140 700.6 DL/F5 8/Times-Roman@0
|
---|
291 | SF 2<8755>72 710.6 S(NIX is a trademark of X/OPEN)83.776 710.6 Q EP
|
---|
292 | %%Page: 2 2
|
---|
293 | %%BeginPageSetup
|
---|
294 | BP
|
---|
295 | %%EndPageSetup
|
---|
296 | /F0 10/Times-Roman@0 SF 2.5(-2-)279.67 48 S(\()72 84 Q/F1 10/Times-Bold@0 SF
|
---|
297 | (history)A F0(,)A F1(getopts)3.505 E F0(,)A F1(kill)3.505 E F0 3.505(,o)C(r)
|
---|
298 | 172.795 84 Q F1(pwd)3.505 E F0 3.505(,f)C 1.005(or e)207.305 84 R 1.005
|
---|
299 | (xample\) to obtain via separate utilities.)-.15 F 1.005
|
---|
300 | (Shells may be used interac-)6.005 F(ti)72 96 Q -.15(ve)-.25 G
|
---|
301 | (ly or non-interacti).15 E -.15(ve)-.25 G 2.5(ly: the).15 F 2.5(ya)-.15 G
|
---|
302 | (ccept input typed from the k)207.42 96 Q -.15(ey)-.1 G
|
---|
303 | (board or from a \214le.).15 E F1 2.5(2.2. Pr)72 120 R(ogramming Language)-.18
|
---|
304 | E F0 .501(While e)97 135.6 R -.15(xe)-.15 G .501
|
---|
305 | (cuting commands is essential, most of the po).15 F .501(wer \(and comple)-.25
|
---|
306 | F .502(xity\) of shells is due to their)-.15 F .05
|
---|
307 | (embedded programming languages.)72 147.6 R(Lik)5.049 E 2.549(ea)-.1 G .349
|
---|
308 | -.15(ny h)245.398 147.6 T(igh-le).15 E -.15(ve)-.25 G 2.549(ll).15 G .049
|
---|
309 | (anguage, the shell pro)303.276 147.6 R .049(vides v)-.15 F .049
|
---|
310 | (ariables, \215o)-.25 F 2.549(wc)-.25 G(ontrol)480.11 147.6 Q
|
---|
311 | (constructs, quoting, and functions.)72 159.6 Q .475
|
---|
312 | (The basic syntactic element is a)97 175.2 R/F2 10/Times-Italic@0 SF .475
|
---|
313 | (simple command)2.975 F F0 5.475(.A)C .475
|
---|
314 | (simple command consists of an optional set of)315.405 175.2 R -.25(va)72 187.2
|
---|
315 | S .525(riable assignments, a command w).25 F .525
|
---|
316 | (ord, and an optional list of ar)-.1 F 3.024(guments. Operators)-.18 F .524
|
---|
317 | (to redirect input and)3.024 F(output may appear an)72 199.2 Q
|
---|
318 | (ywhere in a simple command.)-.15 E(Some e)5 E(xamples are:)-.15 E/F3 10
|
---|
319 | /Courier@0 SF(who)97 211.2 Q(trn -e -S1 -N)97 223.2 Q(ls -l /bin > binfiles)97
|
---|
320 | 235.2 Q(make > make.out 2>make.errs)97 247.2 Q F0 2.518(Ap)97 262.8 S .018
|
---|
321 | (ipeline is a sequence of tw)111.738 262.8 R 2.518(oo)-.1 G 2.518(rm)230.056
|
---|
322 | 262.8 S .018(ore commands separated by the character)243.684 262.8 R/F4 10
|
---|
323 | /Symbol SF<ef>2.519 E F0 5.019(.T)C .019(he standard output)430.082 262.8 R
|
---|
324 | (of the \214rst command is connected to the standard input of the second.)72
|
---|
325 | 274.8 Q(Examples of pipelines include:)5 E F3(who | wc -l)97 286.8 Q
|
---|
326 | (ls -l | sort +3nr)97 298.8 Q F0 .578
|
---|
327 | (Simple commands and pipelines may be combined into)97 314.4 R F2(lists)3.078 E
|
---|
328 | F0 5.578(.A)C .578(list is a sequence of pipelines sepa-)360.002 314.4 R .289
|
---|
329 | (rated by one of)72 326.4 R F1(;)2.789 E F0(,)A F1(&)2.789 E F0(,)A F1(&&)2.789
|
---|
330 | E F0 2.789(,o)C(r)185.103 326.4 Q F4<efef>2.789 E F0 2.789(,a)C .289
|
---|
331 | (nd optionally terminated by)210.831 326.4 R F1(;)2.789 E F0(,)A F1(&)2.789 E
|
---|
332 | F0 2.789(,o)C 2.789(ran)352.555 326.4 S -.25(ew)370.903 326.4 S 2.789
|
---|
333 | (line. Commands).25 F .289(separated by)2.789 F F1(;)72 338.4 Q F0 .336(are e)
|
---|
334 | 2.836 F -.15(xe)-.15 G .336(cuted sequentially; the shell w).15 F .335
|
---|
335 | (aits for each to complete in turn.)-.1 F .335(If a command is terminated by)
|
---|
336 | 5.335 F F1(&)2.835 E F0(,)A .007(the shell e)72 350.4 R -.15(xe)-.15 G .007
|
---|
337 | (cutes it in the).15 F F2(bac)2.507 E(kgr)-.2 E(ound)-.45 E F0 2.508(,a)1.666 G
|
---|
338 | .008(nd does not w)236.076 350.4 R .008(ait for it to \214nish.)-.1 F .008
|
---|
339 | (If tw)5.008 F 2.508(oc)-.1 G .008(ommands are separated by)397.616 350.4 R F1
|
---|
340 | (&&)72 362.4 Q F0 3.008(,t)C .508(he second command e)96.948 362.4 R -.15(xe)
|
---|
341 | -.15 G .508(cutes only if the \214rst command succeeds.).15 F 3.007(As)5.508 G
|
---|
342 | .507(eparator of)383.575 362.4 R F4<efef>3.007 E F0 .507(causes the sec-)3.007
|
---|
343 | F(ond command to e)72 374.4 Q -.15(xe)-.15 G(cute only if the \214rst f).15 E
|
---|
344 | 2.5(ails. Some)-.1 F -.15(ex)2.5 G(amples are:).15 E F3(who ; date)97 386.4 Q
|
---|
345 | (cd /usr/src || exit 1)97 398.4 Q(cd "$@" && xtitle $HOST: $PWD)97 410.4 Q F0
|
---|
346 | 1.36(The shell programming language pro)97 426 R 1.361(vides a v)-.15 F 1.361
|
---|
347 | (ariety of \215o)-.25 F 3.861(wc)-.25 G 1.361(ontrol structures.)353.276 426 R
|
---|
348 | (The)6.361 E F1 -.25(fo)3.861 G(r).25 E F0(command)3.861 E(allo)72 438 Q .654
|
---|
349 | (ws a list of commands to be e)-.25 F -.15(xe)-.15 G .654
|
---|
350 | (cuted once for each w).15 F .654(ord in a w)-.1 F .654(ord list.)-.1 F(The)
|
---|
351 | 5.654 E F1(case)3.154 E F0 .654(command allo)3.154 F .654(ws a)-.25 F .627
|
---|
352 | (list to be e)72 450 R -.15(xe)-.15 G .628(cuted if a w).15 F .628
|
---|
353 | (ord matches a speci\214ed pattern.)-.1 F(The)5.628 E F1(while)3.128 E F0(and)
|
---|
354 | 3.128 E F1(until)3.128 E F0 .628(commands e)3.128 F -.15(xe)-.15 G .628
|
---|
355 | (cute a list of).15 F 1.559
|
---|
356 | (commands as long as a guard command completes successfully or f)72 462 R 1.559
|
---|
357 | (ails, respecti)-.1 F -.15(ve)-.25 G(ly).15 E 6.559(.T)-.65 G(he)440.892 462 Q
|
---|
358 | F1(if)4.059 E F0(command)4.059 E(allo)72 474 Q(ws e)-.25 E -.15(xe)-.15 G
|
---|
359 | (cution of dif).15 E(ferent command lists depending on the e)-.25 E
|
---|
360 | (xit status of a guard command.)-.15 E(A)97 489.6 Q F2 .385(shell function)
|
---|
361 | 2.885 F F0 .385(associates a list of commands with a name.)2.885 F .386
|
---|
362 | (Each time the name is used as a simple)5.385 F .938(command, the list is e)72
|
---|
363 | 501.6 R -.15(xe)-.15 G 3.438(cuted. This).15 F -.15(exe)3.438 G .938
|
---|
364 | (cution tak).15 F .938(es place in the current shell conte)-.1 F .937
|
---|
365 | (xt; no ne)-.15 F 3.437(wp)-.25 G .937(rocess is)468.903 501.6 R 2.5
|
---|
366 | (created. Functions)72 513.6 R(may ha)2.5 E .3 -.15(ve t)-.2 H(heir o).15 E
|
---|
367 | (wn ar)-.25 E(gument lists and local v)-.18 E(ariables, and may be recursi)-.25
|
---|
368 | E -.15(ve)-.25 G(.).15 E .722(The shell language pro)97 529.2 R .722(vides v)
|
---|
369 | -.15 F .722(ariables, which may be both set and referenced.)-.25 F 3.222(An)
|
---|
370 | 5.722 G .722(umber of special)435.906 529.2 R 1.02
|
---|
371 | (parameters are present, such as)72 541.2 R F1($@)3.519 E F0 3.519(,w)C 1.019
|
---|
372 | (hich returns the shell')231.257 541.2 R 3.519(sp)-.55 G 1.019
|
---|
373 | (ositional parameters \(command-line ar)333.103 541.2 R(gu-)-.18 E(ments\),)72
|
---|
374 | 553.2 Q F1($?)2.906 E F0 2.906(,t)C .406(he e)122.812 553.2 R .406
|
---|
375 | (xit status of the pre)-.15 F .406(vious command, and)-.25 F F1($$)2.906 E F0
|
---|
376 | 2.906(,t)C .406(he shell')322.436 553.2 R 2.906(sp)-.55 G .406(rocess I.D.)
|
---|
377 | 368.248 553.2 R .407(In addition to pro)5.406 F(vid-)-.15 E .129
|
---|
378 | (ing special parameters and user)72 565.2 R .129(-de\214ned v)-.2 F .129
|
---|
379 | (ariables, the shell permits the v)-.25 F .128(alues of certain v)-.25 F .128
|
---|
380 | (ariables to control)-.25 F .16(its beha)72 577.2 R(vior)-.2 E 5.16(.S)-.55 G
|
---|
381 | .16(ome of these v)131.57 577.2 R .16(ariables include)-.25 F F1(IFS)2.661 E F0
|
---|
382 | 2.661(,w)C .161(hich controls ho)284.202 577.2 R 2.661(wt)-.25 G .161
|
---|
383 | (he shell splits w)361.375 577.2 R(ords,)-.1 E F1 -.74(PA)2.661 G(TH)-.21 E F0
|
---|
384 | 2.661(,w)C(hich)486.78 577.2 Q .392
|
---|
385 | (tells the shell where to look for commands, and)72 589.2 R F1(PS1)2.892 E F0
|
---|
386 | 2.892(,w)C .392(hose v)297.01 589.2 R .392
|
---|
387 | (alue is the string the shell uses to prompt for)-.25 F 3.371(commands. There)
|
---|
388 | 72 601.2 R .871(are a fe)3.371 F 3.371(wv)-.25 G .871(ariables whose v)196.645
|
---|
389 | 601.2 R .871(alues are set by the shell and normally only referenced by)-.25 F
|
---|
390 | (users;)72 613.2 Q F1(PWD)3.663 E F0 3.663(,w)C 1.163(hose v)135.706 613.2 R
|
---|
391 | 1.163(alue is the pathname of the shell')-.25 F 3.662(sc)-.55 G 1.162(urrent w)
|
---|
392 | 313.068 613.2 R 1.162(orking directory)-.1 F 3.662(,i)-.65 G 3.662(so)421.894
|
---|
393 | 613.2 S 1.162(ne such v)434.446 613.2 R(ariable.)-.25 E -1.11(Va)72 625.2 S
|
---|
394 | .008(riables can be used in nearly an)1.11 F 2.509(ys)-.15 G .009(hell conte)
|
---|
395 | 219.37 625.2 R .009(xt and are particularly v)-.15 F .009
|
---|
396 | (aluable when used with control struc-)-.25 F(tures.)72 637.2 Q .583
|
---|
397 | (There are se)97 652.8 R -.15(ve)-.25 G .583(ral shell).15 F F2 -.2(ex)3.083 G
|
---|
398 | (pansions).2 E F0 5.583(.A)C -.25(va)254.298 652.8 S(riable).25 E F2(name)3.083
|
---|
399 | E F0 .583(is e)3.083 F .582(xpanded to its v)-.15 F .582(alue using ${)-.25 F
|
---|
400 | F2(name)A F0 .582(}, where)B 1.387(the braces are optional.)72 664.8 R 1.387
|
---|
401 | (There are a number of parameter e)6.387 F 1.388(xpansions a)-.15 F -.25(va)-.2
|
---|
402 | G 3.888(ilable. F).25 F 1.388(or e)-.15 F 1.388(xample, there are)-.15 F(${)72
|
---|
403 | 676.8 Q F2(name)A F0<3aad>A F2(wor)A(d)-.37 E F0 .891(}, which e)B .891
|
---|
404 | (xpands to)-.15 F F2(wor)3.391 E(d)-.37 E F0(if)3.391 E F2(name)3.391 E F0 .891
|
---|
405 | (is unset or null, and the in)3.391 F -.15(ve)-.4 G .89(rse ${).15 F F2(name)A
|
---|
406 | F0(:+)A F2(wor)A(d)-.37 E F0 .89(}, which)B -.15(ex)72 688.8 S 1.203(pands to)
|
---|
407 | .15 F F2(wor)3.703 E(d)-.37 E F0(if)3.703 E F2(name)3.703 E F0 1.203
|
---|
408 | (is set and not null.)3.703 F F2 1.203(Command substitution)6.203 F F0(allo)
|
---|
409 | 3.703 E 1.204(ws the output of a command to)-.25 F .918
|
---|
410 | (replace the command name.)72 700.8 R .918(The syntax is `)5.918 F F2(command)A
|
---|
411 | F0(`.)A F2(Command)5.918 E F0 .918(is e)3.418 F -.15(xe)-.15 G .918
|
---|
412 | (cuted and it and the backquotes).15 F .299
|
---|
413 | (are replaced by its output, with trailing ne)72 712.8 R .299(wlines remo)-.25
|
---|
414 | F -.15(ve)-.15 G(d.).15 E F2 -.8(Pa)5.299 G .299(thname e).8 F(xpansion)-.2 E
|
---|
415 | 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
|
---|
416 | (to a set of \214lenames.)72 724.8 R -.8(Wo)6.586 G 1.586(rds are re).8 F -.05
|
---|
417 | (ga)-.15 G 1.586(rded as patterns, in which the characters).05 F F1(*)4.086 E
|
---|
418 | 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
|
---|
419 | 1.885 -.15(ve s)-.2 H(pecial).15 E EP
|
---|
420 | %%Page: 3 3
|
---|
421 | %%BeginPageSetup
|
---|
422 | BP
|
---|
423 | %%EndPageSetup
|
---|
424 | /F0 10/Times-Roman@0 SF 2.5(-3-)279.67 48 S 2.845(meaning. W)72 84 R .346(ords\
|
---|
425 | containing these special characters are replaced with a sorted list of matchi\
|
---|
426 | ng pathnames.)-.8 F(If a w)72 96 Q
|
---|
427 | (ord generates no matches, it is left unchanged.)-.1 E/F1 10/Times-Italic@0 SF
|
---|
428 | (Quoting)97 111.6 Q F0 .85(is used to remo)3.35 F 1.15 -.15(ve t)-.15 H .85
|
---|
429 | (he special meaning of characters or w).15 F 3.35(ords. It)-.1 F .85
|
---|
430 | (can disable special treat-)3.35 F .314
|
---|
431 | (ment for shell operators or other special characters, pre)72 123.6 R -.15(ve)
|
---|
432 | -.25 G .315(nt reserv).15 F .315(ed w)-.15 F .315
|
---|
433 | (ords from being recognized as such,)-.1 F .683(and inhibit v)72 135.6 R .683
|
---|
434 | (ariable e)-.25 F 3.183(xpansion. The)-.15 F .683
|
---|
435 | (shell has three quoting mechanisms:)3.183 F 3.183(ab)5.683 G .683
|
---|
436 | (ackslash preserv)387.413 135.6 R .682(es the literal)-.15 F -.25(va)72 147.6 S
|
---|
437 | .417(lue of the ne).25 F .417(xt character)-.15 F 2.917(,ap)-.4 G .417
|
---|
438 | (air of single quotes preserv)196.712 147.6 R .417(es the literal v)-.15 F .418
|
---|
439 | (alue of each character between the)-.25 F 1.426
|
---|
440 | (quotes, and a pair of double quotes preserv)72 159.6 R 1.425
|
---|
441 | (es the literal meaning of enclosed characters while allo)-.15 F(wing)-.25 E
|
---|
442 | (some e)72 171.6 Q(xpansions.)-.15 E 1.054(Some of the commands b)97 187.2 R
|
---|
443 | 1.054(uilt into the shell are part of the programming language.)-.2 F(The)6.055
|
---|
444 | E/F2 10/Times-Bold@0 SF(br)3.555 E(eak)-.18 E F0(and)3.555 E F2(continue)72
|
---|
445 | 199.2 Q F0 1.175(commands control loop e)3.675 F -.15(xe)-.15 G 1.175
|
---|
446 | (cution as in the C language.).15 F(The)6.175 E F2 -2.3 -.15(ev a)3.675 H(l).15
|
---|
447 | E F0 -.2(bu)3.675 G 1.174(iltin allo).2 F 1.174(ws a string to be)-.25 F .204
|
---|
448 | (parsed and e)72 211.2 R -.15(xe)-.15 G .204(cuted as a command.).15 F F2 -.65
|
---|
449 | (Wa)5.205 G(it).65 E F0 .205
|
---|
450 | (tells the shell to pause until the processes speci\214ed as ar)2.705 F
|
---|
451 | (guments)-.18 E(ha)72 223.2 Q .3 -.15(ve ex)-.2 H(ited.).15 E F2 2.5
|
---|
452 | (2.3. Interacti)72 247.2 R .2 -.1(ve F)-.1 H(eatur)-.15 E(es)-.18 E F0 .51
|
---|
453 | (Shells ha)97 262.8 R .81 -.15(ve b)-.2 H -.15(eg).15 G .51(un of).15 F .51
|
---|
454 | (fering features geared speci\214cally for interacti)-.25 F .81 -.15(ve u)-.25
|
---|
455 | H .51(se rather than to augment the).15 F .76(programming language.)72 274.8 R
|
---|
456 | .761(These interacti)5.76 F 1.061 -.15(ve f)-.25 H .761
|
---|
457 | (eatures include job control, command line editing, history and).15 F(aliases.)
|
---|
458 | 72 286.8 Q .626(Job control is a f)97 302.4 R .626(acility pro)-.1 F .626
|
---|
459 | (vided jointly by the shell and the)-.15 F/F3 9/Times-Roman@0 SF(UNIX)3.125 E
|
---|
460 | F0 -.1(ke)3.125 G .625(rnel that allo).1 F .625(ws users to selec-)-.25 F(ti)72
|
---|
461 | 314.4 Q -.15(ve)-.25 G .344
|
---|
462 | (ly stop \(suspend\) and restart \(resume\) processes.).15 F .345
|
---|
463 | (Each pipeline e)5.345 F -.15(xe)-.15 G .345
|
---|
464 | (cuted by the shell is referred to as a).15 F F1(job)72 326.4 Q F0 2.989(.J)C
|
---|
465 | .488(obs may be suspended and restarted in either the fore)94.159 326.4 R .488
|
---|
466 | (ground, where the)-.15 F 2.988(yh)-.15 G -2.25 -.2(av e)397.148 326.4 T .488
|
---|
467 | (access to the terminal,)3.188 F .833(or background, where the)72 338.4 R 3.333
|
---|
468 | (ya)-.15 G .834(re isolated and cannot read from the terminal.)189.312 338.4 R
|
---|
469 | -.8(Ty)5.834 G .834(ping the).8 F F1(suspend)3.334 E F0(character)5 E .459(whi\
|
---|
470 | le a process is running stops that process and returns control to the shell.)72
|
---|
471 | 350.4 R .459(Once a job is suspended, the)5.459 F .392
|
---|
472 | (user manipulates the job')72 362.4 R 2.892(ss)-.55 G .392(tate, using)184.118
|
---|
473 | 362.4 R F2(bg)2.892 E F0 .393(to continue it in the background,)2.892 F F2(fg)
|
---|
474 | 2.893 E F0 .393(to return it to the fore)2.893 F(ground)-.15 E .891(and a)72
|
---|
475 | 374.4 R -.1(wa)-.15 G .891(it its completion, or).1 F F2(kill)3.391 E F0 .891
|
---|
476 | (to send it a signal.)3.391 F(The)5.89 E F2(jobs)3.39 E F0 .89
|
---|
477 | (command lists the status of jobs, and)3.39 F F2(wait)3.39 E F0 .407
|
---|
478 | (will pause the shell until a speci\214ed job terminates.)72 386.4 R .407
|
---|
479 | (The shell pro)5.407 F .407(vides a number of w)-.15 F .407
|
---|
480 | (ays to refer to a job,)-.1 F(and will notify the user whene)72 398.4 Q -.15
|
---|
481 | (ve)-.25 G 2.5(rab).15 G(ackground job terminates.)220.18 398.4 Q -.4(Wi)97 414
|
---|
482 | S .956(th the adv).4 F .956(ent of more po)-.15 F .956
|
---|
483 | (werful terminals and terminal emulators, more sophisticated interaction)-.25 F
|
---|
484 | .253(than that pro)72 426 R .253(vided by the)-.15 F F3(UNIX)2.753 E F0 -.1(ke)
|
---|
485 | 2.754 G .254(rnel terminal dri).1 F -.15(ve)-.25 G 2.754(ri).15 G 2.754(sp)
|
---|
486 | 293.592 426 S 2.754(ossible. Some)305.236 426 R .254(shells of)2.754 F .254
|
---|
487 | (fer command line editing,)-.25 F 1.141
|
---|
488 | (which permits a user to edit lines of input using f)72 438 R(amiliar)-.1 E F1
|
---|
489 | (emacs)3.64 E F0(or)3.64 E F1(vi)3.64 E F0 1.14
|
---|
490 | (-style commands before submitting)B .02(them to the shell.)72 450 R .02
|
---|
491 | (Editors allo)5.02 F 2.52(wc)-.25 G .02(orrections to be made without ha)206.31
|
---|
492 | 450 R .021(ving to erase back to the point of error)-.2 F 2.521(,o)-.4 G(r)
|
---|
493 | 500.67 450 Q .135(start the line ane)72 462 R 3.935 -.65(w. C)-.25 H .135
|
---|
494 | (ommand line editors run the g).65 F .135(amut from a small \214x)-.05 F .134
|
---|
495 | (ed set of commands and k)-.15 F .434 -.15(ey b)-.1 H(ind-).15 E
|
---|
496 | (ings to input f)72 474 Q(acilities which allo)-.1 E 2.5(wa)-.25 G
|
---|
497 | (rbitrary actions to be bound to a k)217.2 474 Q .3 -.15(ey o)-.1 H 2.5(rk).15
|
---|
498 | G .3 -.15(ey s)379.88 474 T(equence.).15 E .145(Modern shells also k)97 489.6 R
|
---|
499 | .145(eep a history)-.1 F 2.645(,w)-.65 G .146
|
---|
500 | (hich is the list of commands a user has typed.)243.49 489.6 R .146(Shell f)
|
---|
501 | 5.146 F .146(acilities are)-.1 F -.2(av)72 501.6 S .368(ailable to recall pre)
|
---|
502 | -.05 F .367(vious commands and use portions of old commands when composing ne)
|
---|
503 | -.25 F 2.867(wo)-.25 G 2.867(nes. The)467.253 501.6 R 1.456
|
---|
504 | (command history can be sa)72 513.6 R -.15(ve)-.2 G 3.957(dt).15 G 3.957
|
---|
505 | (oa\214)207.522 513.6 S 1.457
|
---|
506 | (le and read back in at shell startup, so it persists across sessions.)230.436
|
---|
507 | 513.6 R .675(Shells which pro)72 525.6 R .675
|
---|
508 | (vide both command editing and history generally ha)-.15 F .974 -.15(ve e)-.2 H
|
---|
509 | .674(diting commands to interacti).15 F -.15(ve)-.25 G(ly).15 E(step forw)72
|
---|
510 | 537.6 Q(ard and backw)-.1 E(ard through the history list.)-.1 E .013
|
---|
511 | (Aliases allo)97 553.2 R -5.012 2.513(wa s)-.25 H .014
|
---|
512 | (tring to be substituted for a command name.)164.28 553.2 R(The)5.014 E 2.514
|
---|
513 | (yc)-.15 G .014(an be used to create a mnemonic)373.396 553.2 R .568(for a)72
|
---|
514 | 565.2 R F3(UNIX)3.068 E F0 .568(command name \()3.068 F/F4 10/Courier@0 SF .568
|
---|
515 | (alias del=rm)B F0 .568(\), to e)B .567(xpand a single w)-.15 F .567
|
---|
516 | (ord to a comple)-.1 F 3.067(xc)-.15 G .567(ommand \()432.603 565.2 R F4(alias)
|
---|
517 | A .255(news='xterm -g 80x45 -title trn -e trn -e -S1 -N &')72 577.2 R F0 .255
|
---|
518 | (\), or to ensure that a command)B(is in)72 589.2 Q -.2(vo)-.4 G -.1(ke).2 G
|
---|
519 | 2.5(dw).1 G(ith a basic set of options \()122.41 589.2 Q F4
|
---|
520 | (alias ls="/bin/ls -F")A F0(\).)A F2 2.5(3. The)72 613.2 R
|
---|
521 | (POSIX Shell Standard)2.5 E F1(POSIX)97 628.8 Q F0 .239
|
---|
522 | (is a name originally coined by Richard Stallman for a f)4.405 F .239
|
---|
523 | (amily of open system standards based)-.1 F(on)72 640.8 Q F3(UNIX)3.239 E F0
|
---|
524 | 5.739(.T)C .74(here are a number of aspects of)122.079 640.8 R F3(UNIX)3.24 E
|
---|
525 | F0 .74(under consideration for standardization, from the basic)3.24 F .192
|
---|
526 | (system services at the system call and C library le)72 652.8 R -.15(ve)-.25 G
|
---|
527 | 2.692(lt).15 G 2.692(oa)290.16 652.8 S .191
|
---|
528 | (pplications and tools to system administration and)302.292 652.8 R 2.5
|
---|
529 | (management. Each)72 664.8 R(area of standardization is assigned to a w)2.5 E
|
---|
530 | (orking group in the 1003 series.)-.1 E 3.602(The POSIX Shell and T)97 680.4 R
|
---|
531 | 3.602(ools standard has been de)-.8 F -.15(ve)-.25 G 3.603(loped by IEEE W).15
|
---|
532 | F 3.603(orking Group 1003.2)-.8 F -1.667(\(POSIX.2\) [4].)72 692.4 R 2.799
|
---|
533 | (It concentrates on the command interpreter interf)7.799 F 2.799
|
---|
534 | (ace and utility programs commonly)-.1 F -.15(exe)72 704.4 S 2.345
|
---|
535 | (cuted from the command line or by other programs.).15 F 2.345(An initial v)
|
---|
536 | 7.345 F 2.345(ersion of the standard has been)-.15 F(appro)72 716.4 Q -.15(ve)
|
---|
537 | -.15 G 2.915(da).15 G .414(nd published by the IEEE, and w)116.265 716.4 R .414
|
---|
538 | (ork is currently underw)-.1 F .414(ay to update it.)-.1 F .414
|
---|
539 | (There are four primary)5.414 F(areas of w)72 728.4 Q
|
---|
540 | (ork in the 1003.2 standard:)-.1 E EP
|
---|
541 | %%Page: 4 4
|
---|
542 | %%BeginPageSetup
|
---|
543 | BP
|
---|
544 | %%EndPageSetup
|
---|
545 | /F0 10/Times-Roman@0 SF 2.5(-4-)279.67 48 S 21.5<8341>72 84 S .835
|
---|
546 | (spects of the shell')104.22 84 R 3.335(ss)-.55 G .835
|
---|
547 | (yntax and command language.)192 84 R 3.335(An)5.835 G .835(umber of special b)
|
---|
548 | 338.095 84 R .835(uiltins such as)-.2 F/F1 10/Times-Bold@0 SF(cd)3.335 E F0
|
---|
549 | (and)3.335 E F1(exec)97 96 Q F0 .545(are being speci\214ed as part of the shel\
|
---|
550 | l, since their functionality usually cannot be implemented)3.046 F
|
---|
551 | (by a separate e)97 108 Q -.15(xe)-.15 G(cutable;).15 E 21.5<8341>72 123.6 S
|
---|
552 | .73(set of utilities to be called by shell scripts and applications.)107.45
|
---|
553 | 123.6 R .731(Examples are programs lik)5.731 F(e)-.1 E/F2 10/Times-Italic@0 SF
|
---|
554 | 2.397(sed, tr)3.231 F(,)-1.11 E F0(and)97 135.6 Q F2(awk.)2.853 E F0 .352
|
---|
555 | (Utilities commonly implemented as shell b)4.519 F .352
|
---|
556 | (uiltins are described in this section, such as)-.2 F F1(test)2.852 E F0(and)97
|
---|
557 | 147.6 Q F1(kill)3.422 E F0 5.922(.A)C 3.422(ne)144.404 147.6 S .922
|
---|
558 | (xpansion of this section')157.116 147.6 R 3.423(ss)-.55 G .923
|
---|
559 | (cope, termed the User Portability Extension, or UPE, has)268.586 147.6 R
|
---|
560 | (standardized interacti)97 159.6 Q .3 -.15(ve p)-.25 H(rograms such as).15 E F2
|
---|
561 | (vi)2.5 E F0(and)4.166 E F2(mailx;)2.5 E F0 21.5<8341>72 175.2 S .926
|
---|
562 | (group of functional interf)107.646 175.2 R .926(aces to services pro)-.1 F
|
---|
563 | .926(vided by the shell, such as the traditional)-.15 F F2(system)3.425 E F0(C)
|
---|
564 | 5.091 E .507(library function.)97 187.2 R .507
|
---|
565 | (There are functions to perform shell w)5.507 F .508(ord e)-.1 F .508
|
---|
566 | (xpansions, perform \214lename e)-.15 F(xpansion)-.15 E(\()97 199.2 Q F2
|
---|
567 | (globbing)A F0 .58(\), obtain v)B .58
|
---|
568 | (alues of POSIX.2 system con\214guration v)-.25 F .58(ariables, retrie)-.25 F
|
---|
569 | .88 -.15(ve v)-.25 H .58(alues of en)-.1 F(vironment)-.4 E -.25(va)97 211.2 S
|
---|
570 | (riables \().25 E F2 -.1(ge)C(ten).1 E(v\(\))-.4 E F0(\), and other services;)
|
---|
571 | .833 E 21.5<8341>72 226.8 S(suite of `)106.72 226.8 Q(`de)-.74 E -.15(ve)-.25 G
|
---|
572 | (lopment').15 E 2.5('u)-.74 G(tilities such as)209.54 226.8 Q F2(c89)2.5 E F0
|
---|
573 | (\(the POSIX.2 v)4.166 E(ersion of)-.15 E F2(cc)2.5 E F0(\), and)A F2(yacc.)2.5
|
---|
574 | E F0 .483(Bash is concerned with the aspects of the shell')97 242.4 R 2.983(sb)
|
---|
575 | -.55 G(eha)301.597 242.4 Q .484(vior de\214ned by POSIX.2.)-.2 F .484
|
---|
576 | (The shell command)5.484 F 1.439
|
---|
577 | (language has of course been standardized, including the basic \215o)72 254.4 R
|
---|
578 | 3.938(wc)-.25 G 1.438(ontrol and program e)359.688 254.4 R -.15(xe)-.15 G 1.438
|
---|
579 | (cution con-).15 F 1.145(structs, I/O redirection and pipelining, ar)72 266.4 R
|
---|
580 | 1.145(gument handling, v)-.18 F 1.145(ariable e)-.25 F 1.146
|
---|
581 | (xpansion, and quoting.)-.15 F(The)6.146 E F2(special)3.646 E F0 -.2(bu)72
|
---|
582 | 278.4 S .676(iltins, which must be implemented as part of the shell to pro).2 F
|
---|
583 | .676(vide the desired functionality)-.15 F 3.176(,a)-.65 G .676(re speci\214ed)
|
---|
584 | 457.504 278.4 R .7(as being part of the shell; e)72 290.4 R .7
|
---|
585 | (xamples of these are)-.15 F F1 -2.3 -.15(ev a)3.201 H(l).15 E F0(and)3.201 E
|
---|
586 | F1(export)3.201 E F0 5.701(.O)C .701(ther utilities appear in the sections of)
|
---|
587 | 352.034 290.4 R .256(POSIX.2 not de)72 302.4 R -.2(vo)-.25 G .256(ted to the s\
|
---|
588 | hell which are commonly \(and in some cases must be\) implemented as b).2 F
|
---|
589 | (uiltin)-.2 E(commands, such as)72 314.4 Q F1 -.18(re)2.5 G(ad).18 E F0(and)2.5
|
---|
590 | E F1(test)2.5 E F0(.)A .972(POSIX.2 also speci\214es aspects of the shell')97
|
---|
591 | 330 R 3.473(si)-.55 G(nteracti)286.016 330 Q 1.273 -.15(ve b)-.25 H(eha).15 E
|
---|
592 | .973(vior as part of the UPE, including job)-.2 F .233
|
---|
593 | (control, command line editing, and history)72 342 R 5.233(.I)-.65 G .233
|
---|
594 | (nterestingly enough, only)253.849 342 R F2(vi)2.733 E F0 .233
|
---|
595 | (-style line editing commands ha)B -.15(ve)-.2 G(been standardized;)72 354 Q F2
|
---|
596 | (emacs)2.5 E F0(editing commands were left out due to objections.)2.5 E .148
|
---|
597 | (There were certain areas in which POSIX.2 felt standardization w)97 369.6 R
|
---|
598 | .149(as necessary)-.1 F 2.649(,b)-.65 G .149(ut no e)420.643 369.6 R .149
|
---|
599 | (xisting imple-)-.15 F 1.598(mentation pro)72 381.6 R 1.598
|
---|
600 | (vided the proper beha)-.15 F(vior)-.2 E 6.598(.T)-.55 G 1.598(he w)251.56
|
---|
601 | 381.6 R 1.597(orking group in)-.1 F -.15(ve)-.4 G 1.597
|
---|
602 | (nted and standardized functionality in).15 F .228(these areas.)72 393.6 R(The)
|
---|
603 | 5.228 E F1(command)2.728 E F0 -.2(bu)2.728 G .228(iltin w).2 F .228(as in)-.1 F
|
---|
604 | -.15(ve)-.4 G .228(nted so that shell functions could be written to replace b)
|
---|
605 | .15 F(uiltins;)-.2 E 1.663(it mak)72 405.6 R 1.663
|
---|
606 | (es the capabilities of the b)-.1 F 1.663(uiltin a)-.2 F -.25(va)-.2 G 1.663
|
---|
607 | (ilable to the function.).25 F 1.663(The reserv)6.663 F 1.663(ed w)-.15 F 1.663
|
---|
608 | (ord `)-.1 F(`!')-.74 E 4.163('w)-.74 G 1.663(as added to)455.685 405.6 R(ne)72
|
---|
609 | 417.6 Q -.05(ga)-.15 G .915(te the return v).05 F .915
|
---|
610 | (alue of a command or pipeline; it w)-.25 F .916(as nearly impossible to e)-.1
|
---|
611 | F .916(xpress `)-.15 F .916(`if not x')-.74 F 3.416('c)-.74 G(leanly)479.56
|
---|
612 | 417.6 Q .904(using the sh language.)72 429.6 R .904(There e)5.904 F .904
|
---|
613 | (xist multiple incompatible implementations of the)-.15 F F1(test)3.403 E F0
|
---|
614 | -.2(bu)3.403 G .903(iltin, which tests).2 F .28
|
---|
615 | (\214les for type and other attrib)72 441.6 R .281
|
---|
616 | (utes and performs arithmetic and string comparisons.)-.2 F .281
|
---|
617 | (POSIX considered none)5.281 F .868(of these correct, so the standard beha)72
|
---|
618 | 453.6 R .868(vior w)-.2 F .868(as speci\214ed in terms of the number of ar)-.1
|
---|
619 | F .867(guments to the com-)-.18 F 3.803(mand. POSIX.2)72 465.6 R 1.303
|
---|
620 | (dictates e)3.803 F 1.303(xactly what will happen when four or fe)-.15 F 1.303
|
---|
621 | (wer ar)-.25 F 1.303(guments are gi)-.18 F -.15(ve)-.25 G 3.803(nt).15 G(o)
|
---|
622 | 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
|
---|
623 | -.15(ve)-.2 G 4.531(st).15 G 2.031(he beha)103.951 477.6 R 2.031
|
---|
624 | (vior unde\214ned when more ar)-.2 F 2.031(guments are supplied.)-.18 F 2.03
|
---|
625 | (Bash uses the POSIX.2 algorithm,)7.031 F(which w)72 489.6 Q(as concei)-.1 E
|
---|
626 | -.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
|
---|
627 | E(orn.)-.35 E 1.128
|
---|
628 | (While POSIX.2 includes much of what the shell has traditionally pro)97 505.2 R
|
---|
629 | 1.129(vided, some important things)-.15 F(ha)72 517.2 Q .58 -.15(ve b)-.2 H .28
|
---|
630 | (een omitted as being `).15 F(`be)-.74 E .28(yond its scope.)-.15 F 4.26 -.74
|
---|
631 | ('' T)-.7 H .28(here is, for instance, no mention of a dif).74 F .28
|
---|
632 | (ference between)-.25 F(a)72 529.2 Q F2(lo)3.354 E(gin)-.1 E F0 .854
|
---|
633 | (shell and an)5.02 F 3.354(yo)-.15 G .854(ther interacti)167.956 529.2 R 1.154
|
---|
634 | -.15(ve s)-.25 H .854(hell \(since POSIX.2 does not specify a login program\).)
|
---|
635 | .15 F .855(No \214x)5.855 F(ed)-.15 E
|
---|
636 | (startup \214les are de\214ned, either \255 the standard does not mention)72
|
---|
637 | 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
|
---|
638 | (Comparison)2.5 E F0 .693(This section compares features of bash, sh, and ksh \
|
---|
639 | \(the three shells closest to POSIX compliance\).)97 580.8 R .245(Since ksh an\
|
---|
640 | d bash are supersets of sh, the features common to all three are co)72 592.8 R
|
---|
641 | -.15(ve)-.15 G .245(red \214rst.).15 F .245(Some of the fea-)5.245 F 1.198
|
---|
642 | (tures bash and ksh contain which are not in sh will be discussed.)72 604.8 R
|
---|
643 | (Ne)6.198 E 1.198(xt, features unique to bash will be)-.15 F 2.866(listed. The)
|
---|
644 | 72 616.8 R .366(\214rst three sections pro)2.866 F .366(vide a progressi)-.15 F
|
---|
645 | -.15(ve)-.25 G .366(ly more detailed o).15 F -.15(ve)-.15 G(rvie).15 E 2.866
|
---|
646 | (wo)-.25 G 2.866(fb)395.706 616.8 S 2.866(ash. Finally)406.902 616.8 R 2.866
|
---|
647 | (,f)-.65 G .366(eatures of)464.484 616.8 R(ksh-88 \(the currently-a)72 628.8 Q
|
---|
648 | -.25(va)-.2 G(ilable v).25 E(ersion\) not in sh or bash will be presented.)-.15
|
---|
649 | E F1 2.5(4.1. Common)72 652.8 R -.25(Fe)2.5 G(atur).25 E(es)-.18 E F0 .021
|
---|
650 | (All three shells ha)97 668.4 R .321 -.15(ve t)-.2 H .021
|
---|
651 | (he same basic feature set, which is essentially that pro).15 F .02
|
---|
652 | (vided by sh and described)-.15 F 1.026(in an)72 680.4 R 3.526(ys)-.15 G 3.526
|
---|
653 | (hm)105.012 680.4 S 1.027
|
---|
654 | (anual page. Bash and ksh are both sh supersets, and so all three pro)121.318
|
---|
655 | 680.4 R 1.027(vide the command inter)-.15 F(-)-.2 E .714
|
---|
656 | (preter and programming language described earlier)72 692.4 R 3.214(.T)-.55 G
|
---|
657 | .714(he shell grammar)291.506 692.4 R 3.214(,s)-.4 G .714(yntax, \215o)371.568
|
---|
658 | 692.4 R 3.214(wc)-.25 G .714(ontrol, redirections,)424.686 692.4 R(and b)72
|
---|
659 | 704.4 Q(uiltins implemented by the Bourne shell are the baseline for subsequen\
|
---|
660 | t discussion.)-.2 E EP
|
---|
661 | %%Page: 5 5
|
---|
662 | %%BeginPageSetup
|
---|
663 | BP
|
---|
664 | %%EndPageSetup
|
---|
665 | /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
|
---|
666 | 84 R(eatur)-.25 E(es in bash and ksh)-.18 E F0 .458(Ksh and bash ha)97 99.6 R
|
---|
667 | .758 -.15(ve s)-.2 H -2.15 -.25(ev e).15 H .459(ral features in common be).25 F
|
---|
668 | .459(yond this base le)-.15 F -.15(ve)-.25 G 2.959(lo).15 G 2.959(ff)387.814
|
---|
669 | 99.6 S(unctionality)397.433 99.6 Q 5.459(.S)-.65 G .459(ome of this)458.082
|
---|
670 | 99.6 R(is due to the POSIX.2 standard.)72 111.6 Q(Other functions ha)5 E .3
|
---|
671 | -.15(ve b)-.2 H(een implemented in bash using ksh as a guide.).15 E F1 2.5
|
---|
672 | (4.2.1. V)72 135.6 R(ariables and V)-.92 E(ariable Expansion)-.92 E F0 .097
|
---|
673 | (Bash and ksh ha)97 151.2 R .396 -.15(ve a)-.2 H .096(ugmented v).15 F .096
|
---|
674 | (ariable e)-.25 F 2.596(xpansion. Arithmetic)-.15 F .096(substitution allo)
|
---|
675 | 2.596 F .096(ws an e)-.25 F .096(xpression to be)-.15 F -.25(eva)72 163.2 S .6
|
---|
676 | (luated and the result substituted.).25 F .6(Shell v)5.6 F .6
|
---|
677 | (ariables may be used as operands, and the result of an e)-.25 F(xpres-)-.15 E
|
---|
678 | .41(sion may be assigned to a v)72 175.2 R 2.91(ariable. Nearly)-.25 F .41
|
---|
679 | (all of the operators from the C language are a)2.91 F -.25(va)-.2 G .41
|
---|
680 | (ilable, with the).25 F(same precedence rules:)72 187.2 Q/F2 10/Courier@0 SF 6
|
---|
681 | ($e)97 205.2 S(cho $\(\(3 + 5 * 32\)\))115 205.2 Q(163)97 217.2 Q F0 -1.11(Va)
|
---|
682 | 72 238.8 S 1.445(riables may be declared as)1.11 F/F3 10/Times-Italic@0 SF
|
---|
683 | (inte)3.945 E -.1(ge)-.4 G(r).1 E F0 3.945(,w)1.666 G 1.446
|
---|
684 | (hich causes arithmetic e)240.956 238.8 R -.25(va)-.25 G 1.446
|
---|
685 | (luation to be performed on the v).25 F(alue)-.25 E(whene)72 250.8 Q -.15(ve)
|
---|
686 | -.25 G 2.5(rt).15 G(he)115.75 250.8 Q 2.5(ya)-.15 G(re assigned to.)136.98
|
---|
687 | 250.8 Q .483(There are ne)97 266.4 R 2.983(we)-.25 G .483
|
---|
688 | (xpansions to obtain the length of a v)162.179 266.4 R(ariable')-.25 E 2.982
|
---|
689 | (sv)-.55 G .482(alue and to remo)352.19 266.4 R .782 -.15(ve s)-.15 H .482
|
---|
690 | (ubstrings match-).15 F .063(ing speci\214ed patterns from the be)72 278.4 R
|
---|
691 | .063(ginning and end of v)-.15 F .063(ariable v)-.25 F 2.563(alues. A)-.25 F
|
---|
692 | (ne)2.563 E 2.563(wf)-.25 G .064(orm of command substitution,)383.249 278.4 R
|
---|
693 | F1($\()72 290.4 Q F3(list)A F1(\))A F0 2.5(,i)C 2.5(sm)103.67 290.4 S
|
---|
694 | (uch easier to nest than `)117.84 290.4 Q F3(list)A F0 2.5(`a)C
|
---|
695 | (nd has simpli\214ed quoting rules.)235.04 290.4 Q .082(There are ne)97 306 R
|
---|
696 | 2.582(wv)-.25 G .082(ariables to control the shell')161.436 306 R 2.581(sb)-.55
|
---|
697 | G(eha)284.333 306 Q(vior)-.2 E 2.581(,a)-.4 G .081(nd additional v)323.244 306
|
---|
698 | R .081(ariables set or interpreted spe-)-.25 F 1.038(cially by the shell.)72
|
---|
699 | 318 R F1(RANDOM)6.038 E F0(and)3.538 E F1(SECONDS)3.538 E F0(are)3.539 E F3
|
---|
700 | (dynamic)3.539 E F0 -.25(va)3.539 G 3.539(riables: their).25 F -.25(va)3.539 G
|
---|
701 | 1.039(lues are generated afresh).25 F 1.022(each time the)72 330 R 3.522(ya)
|
---|
702 | -.15 G 1.022(re referenced.)140.176 330 R F1(RANDOM)6.022 E F0 1.021
|
---|
703 | (returns a dif)3.521 F 1.021(ferent random number each time it is referenced,)
|
---|
704 | -.25 F(and)72 342 Q F1(SECONDS)3.138 E F0 .638
|
---|
705 | (returns the number of seconds since the shell w)3.138 F .638
|
---|
706 | (as started or the v)-.1 F .639(ariable w)-.25 F .639(as assigned to,)-.1 F
|
---|
707 | 1.448(plus an)72 354 R 3.948(yv)-.15 G 1.448(alue assigned.)115.606 354 R F1
|
---|
708 | (PWD)6.448 E F0(and)3.948 E F1(OLDPWD)3.947 E F0 1.447
|
---|
709 | (are set to the current and pre)3.947 F 1.447(vious w)-.25 F 1.447
|
---|
710 | (orking directories,)-.1 F(respecti)72 366 Q -.15(ve)-.25 G(ly).15 E(.)-.65 E
|
---|
711 | F1(TMOUT)5.604 E F0 .604(controls ho)3.104 F 3.104(wl)-.25 G .604
|
---|
712 | (ong the shell will w)226.436 366 R .604(ait at a prompt for input.)-.1 F(If)
|
---|
713 | 5.604 E F1(TMOUT)3.104 E F0 .605(is set to a)3.105 F -.25(va)72 378 S 1.168
|
---|
714 | (lue greater than zero, the shell e).25 F 1.168(xits after w)-.15 F 1.168
|
---|
715 | (aiting that man)-.1 F 3.668(ys)-.15 G 1.167(econds for input.)337.478 378 R F1
|
---|
716 | (REPL)6.167 E(Y)-.92 E F0 1.167(is the def)3.667 F(ault)-.1 E -.25(va)72 390 S
|
---|
717 | .991(riable for the).25 F F1 -.18(re)3.491 G(ad).18 E F0 -.2(bu)3.491 G .991
|
---|
718 | (iltin; if no v).2 F .992(ariable names are supplied as ar)-.25 F .992
|
---|
719 | (guments, the line read is assigned to)-.18 F F1(REPL)72 402 Q(Y)-.92 E F0(.)A
|
---|
720 | F1 2.5(4.2.2. New)72 426 R(and Modi\214ed Builtins)2.5 E F0 .652(Both shells e)
|
---|
721 | 97 441.6 R .651(xpand the basic sh set of b)-.15 F .651(uiltin commands.)-.2 F
|
---|
722 | F1(Let)5.651 E F0(pro)3.151 E .651(vides a w)-.15 F .651
|
---|
723 | (ay to perform arithmetic)-.1 F 2.767(on shell v)72 453.6 R 5.268
|
---|
724 | (ariables. Shell)-.25 F 2.768(programmers use)5.268 F F1(typeset)5.268 E F0
|
---|
725 | 2.768(\(bash includes)5.268 F F1(declar)5.268 E(e)-.18 E F0 2.768(as a synon)
|
---|
726 | 5.268 F 2.768(ym\) to assign)-.15 F(attrib)72 465.6 Q .295(utes such as)-.2 F
|
---|
727 | F3 -.2(ex)2.795 G(port).2 E F0(and)4.461 E F3 -.37(re)2.795 G(adonly).37 E F0
|
---|
728 | .295(to v)4.461 F(ariables.)-.25 E F1(Getopts)5.295 E F0 .294
|
---|
729 | (is used by shell scripts to parse script options)2.795 F .962(and ar)72 477.6
|
---|
730 | R 3.462(guments. The)-.18 F F1(set)3.462 E F0 .962(command has a ne)3.462 F
|
---|
731 | 3.462(wo)-.25 G(ption)266.446 477.6 Q F1<ad6f>3.463 E F0 .963(which tak)3.463 F
|
---|
732 | .963(es option names as ar)-.1 F 3.463(guments. Option)-.18 F 1.28
|
---|
733 | (names are synon)72 489.6 R 1.28(yms for the other set options \(e.g.,)-.15 F
|
---|
734 | 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)
|
---|
735 | 375.97 489.6 S(ro)388.08 489.6 Q 1.28(vide ne)-.15 F 3.78(wf)-.25 G 1.28
|
---|
736 | (unctionality \()440.78 489.6 R F1(-o)A(notify)72 501.6 Q F0 3.348(,f)C .849
|
---|
737 | (or e)106.178 501.6 R 3.349(xample\). The)-.15 F F1 -.18(re)3.349 G(ad).18 E F0
|
---|
738 | -.2(bu)3.349 G .849(iltin tak).2 F .849(es a ne)-.1 F(w)-.25 E F1<ad72>3.349 E
|
---|
739 | F0 .849(option to specify that a line ending in a backslash)3.349 F
|
---|
740 | (should not be continued.)72 513.6 Q F1 2.5(4.2.3. T)72 537.6 R(ilde Expansion)
|
---|
741 | -.18 E F0 -.35(Ti)97 553.2 S .252(lde e).35 F .251
|
---|
742 | (xpansion is a feature adopted from the C shell.)-.15 F 2.751(At)5.251 G .251
|
---|
743 | (ilde character at the be)331.172 553.2 R .251(ginning of a w)-.15 F .251
|
---|
744 | (ord is)-.1 F -.15(ex)72 565.2 S(panded to either).15 E F1($HOME)2.5 E F0
|
---|
745 | (or the home directory of another user)2.5 E 2.5(,d)-.4 G
|
---|
746 | (epending on what follo)345.84 565.2 Q(ws the tilde.)-.25 E F1 2.5
|
---|
747 | (4.2.4. Interacti)72 589.2 R .2 -.1(ve I)-.1 H(mpr).1 E -.1(ove)-.18 G(ments).1
|
---|
748 | E F0 .789(The most noticable impro)97 604.8 R -.15(ve)-.15 G .789(ments o).15 F
|
---|
749 | -.15(ve)-.15 G 3.289(rs).15 G 3.289(ha)263.385 604.8 S .789
|
---|
750 | (re geared for interacti)276.114 604.8 R 1.089 -.15(ve u)-.25 H 3.29(se. Ksh)
|
---|
751 | .15 F .79(and bash pro)3.29 F .79(vide job)-.15 F .882(control in a v)72 616.8
|
---|
752 | R .882(ery similar f)-.15 F .882
|
---|
753 | (ashion, with the same options to enable and disable it \()-.1 F F1 .881
|
---|
754 | (set -o monitor)B F0 3.381(\)a)C .881(nd the)478.399 616.8 R(same b)72 628.8 Q
|
---|
755 | (uiltin commands to manipulate jobs \()-.2 E F1(jobs/fg/bg/kill/wait)A F0(\).)A
|
---|
756 | .866(Command line editing, with emacs and vi-style k)97 644.4 R 1.166 -.15
|
---|
757 | (ey b)-.1 H .866(indings, is a).15 F -.25(va)-.2 G .866(ilable in both shells.)
|
---|
758 | .25 F .866(The Bash)5.866 F F3 -.37(re)72 656.4 S(adline).37 E F0 1.578
|
---|
759 | (library is considerably more sophisticated than the ksh editing library:)5.744
|
---|
760 | F 1.577(it allo)6.577 F 1.577(ws arbitrary k)-.25 F -.15(ey)-.1 G 1.867
|
---|
761 | (bindings, macros, a per)72 668.4 R 1.868(-user customization \214le \()-.2 F
|
---|
762 | F3(~/.inputr)A(c)-.37 E F0 1.868(\), a number of v)B 1.868
|
---|
763 | (ariables to further customize)-.25 F(beha)72 680.4 Q(vior)-.2 E 3.538(,a)-.4 G
|
---|
764 | 1.038(nd a much lar)116.868 680.4 R 1.038
|
---|
765 | (ger set of bindable editing commands.)-.18 F 1.037
|
---|
766 | (The ksh editing library pro)6.037 F 1.037(vides a small)-.15 F<8c78>72 692.4 Q
|
---|
767 | (ed command set and only clumsy macros.)-.15 E .706(Both shells of)97 708 R
|
---|
768 | .706(fer access to the command history)-.25 F 5.706(.T)-.65 G .706
|
---|
769 | (he in-line editing options ha)307.278 708 R 1.006 -.15(ve d)-.2 H(ef).15 E
|
---|
770 | .706(ault k)-.1 F 1.006 -.15(ey b)-.1 H(ind-).15 E .624
|
---|
771 | (ings to access the history list.)72 720 R(The)5.624 E F1(fc)3.124 E F0 .624
|
---|
772 | (command is pro)3.124 F .624(vided to re-e)-.15 F -.15(xe)-.15 G .623(cute pre)
|
---|
773 | .15 F .623(vious commands and display)-.25 F EP
|
---|
774 | %%Page: 6 6
|
---|
775 | %%BeginPageSetup
|
---|
776 | BP
|
---|
777 | %%EndPageSetup
|
---|
778 | /F0 10/Times-Roman@0 SF 2.5(-6-)279.67 48 S(the contents of the history list.)
|
---|
779 | 72 84 Q/F1 10/Times-Bold@0 SF 2.5(4.2.5. Miscellaneous)72 108 R
|
---|
780 | (Changes and Impr)2.5 E -.1(ov)-.18 G(ments).1 E F0 .707(Other impro)97 123.6 R
|
---|
781 | -.15(ve)-.15 G .707(ments include aliases, the).15 F F1(select)3.207 E F0 .708
|
---|
782 | (shell language construct, which supports the genera-)3.207 F 1.298
|
---|
783 | (tion and presentation of simple menus, and e)72 135.6 R 1.298
|
---|
784 | (xtensions to the)-.15 F F1(export)3.798 E F0(and)3.798 E F1 -.18(re)3.798 G
|
---|
785 | (adonly).18 E F0 -.2(bu)3.798 G 1.298(iltins which allo).2 F(w)-.25 E -.25(va)
|
---|
786 | 72 147.6 S .017(riables to be assigned v).25 F .017
|
---|
787 | (alues at the same time the attrib)-.25 F .017(utes are set.)-.2 F -.8(Wo)5.018
|
---|
788 | G .018(rd splitting has changed:).8 F .018(if tw)5.018 F 2.518(oo)-.1 G(r)
|
---|
789 | 500.67 147.6 Q .158(more adjacent w)72 159.6 R .157
|
---|
790 | (ord splitting characters occur)-.1 F 2.657(,b)-.4 G .157
|
---|
791 | (ash and ksh will generate null \214elds; sh mak)264.893 159.6 R .157
|
---|
792 | (es runs of mul-)-.1 F .339
|
---|
793 | (tiple \214eld separator charactors the same as a single separator)72 171.6 R
|
---|
794 | 5.339(.B)-.55 G .34(ash and ksh split only the results of e)330.89 171.6 R
|
---|
795 | (xpan-)-.15 E(sion, rather than e)72 183.6 Q -.15(ve)-.25 G(ry w).15 E
|
---|
796 | (ord as sh does, closing a long-standing shell security hole.)-.1 E 1.234
|
---|
797 | (Shell functions in bash and ksh may ha)97 199.2 R 1.534 -.15(ve l)-.2 H 1.234
|
---|
798 | (ocal v).15 F 3.734(ariables. V)-.25 F 1.234(ariables declared with)-1.11 F F1
|
---|
799 | (typeset)3.734 E F0 1.234(\(or the)3.734 F .001(bash synon)72 211.2 R(ym,)-.15
|
---|
800 | E F1(local)2.501 E F0 .001(\), ha)B .301 -.15(ve a s)-.2 H .001
|
---|
801 | (cope restricted to the function and its descendents, and may shado).15 F 2.502
|
---|
802 | (wv)-.25 G(ariables)472.9 211.2 Q(de\214ned by the in)72 223.2 Q -.2(vo)-.4 G
|
---|
803 | (king shell.).2 E(Local v)5 E(ariables are remo)-.25 E -.15(ve)-.15 G 2.5(dw)
|
---|
804 | .15 G(hen a function completes.)317.75 223.2 Q F1 2.5(4.3. F)72 247.2 R(eatur)
|
---|
805 | -.25 E(es Unique to bash)-.18 E F0(Naturally)97 262.8 Q 2.895(,b)-.65 G .395
|
---|
806 | (ash includes features not in sh or ksh.)144.515 262.8 R .395
|
---|
807 | (This section discusses some of the features which)5.395 F(mak)72 274.8 Q 2.986
|
---|
808 | (eb)-.1 G .486(ash unique.)101.546 274.8 R .486(Most of them pro)5.486 F .486
|
---|
809 | (vide impro)-.15 F -.15(ve)-.15 G 2.986(di).15 G(nteracti)288.098 274.8 Q .787
|
---|
810 | -.15(ve u)-.25 H .487(se, b).15 F .487(ut a fe)-.2 F 2.987(wp)-.25 G .487
|
---|
811 | (rogramming impro)394.653 274.8 R -.15(ve)-.15 G(ments).15 E
|
---|
812 | (are present as well.)72 286.8 Q
|
---|
813 | (Full descriptions of these features can be found in the bash documentation.)5
|
---|
814 | 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
|
---|
815 | (xe)-.15 G .281(cutes startup \214les dif).15 F .281
|
---|
816 | (ferently than other shells.)-.25 F .281(The bash beha)5.281 F .28
|
---|
817 | (vior is a compromise between)-.2 F .116
|
---|
818 | (the csh principle of startup \214les with \214x)72 338.4 R .116(ed names e)
|
---|
819 | -.15 F -.15(xe)-.15 G .116(cuted for each shell and the sh `).15 F
|
---|
820 | (`minimalist')-.74 E 2.616('b)-.74 G(eha)472.26 338.4 Q(vior)-.2 E(.)-.55 E
|
---|
821 | 2.956(An interacti)72 350.4 R 3.256 -.15(ve i)-.25 H 2.956
|
---|
822 | (nstance of bash started as a login shell reads and e).15 F -.15(xe)-.15 G
|
---|
823 | (cutes).15 E/F2 10/Times-Italic@0 SF(~/.bash_pr)5.455 E(o\214le)-.45 E F0 2.955
|
---|
824 | (\(the \214le)7.121 F F2(.bash_pr)72 362.4 Q(o\214le)-.45 E F0 .835
|
---|
825 | (in the user')5 F 3.335(sh)-.55 G .835(ome directory\), if it e)187.385 362.4 R
|
---|
826 | 3.335(xists. An)-.15 F(interacti)3.335 E 1.135 -.15(ve n)-.25 H .835
|
---|
827 | (on-login shell reads and e).15 F -.15(xe)-.15 G(cutes).15 E F2(~/.bashr)72
|
---|
828 | 374.4 Q(c)-.37 E F0 5.538(.A)1.666 G(non-interacti)127.422 374.4 Q .838 -.15
|
---|
829 | (ve s)-.25 H .538(hell \(one be).15 F .538(gun to e)-.15 F -.15(xe)-.15 G .538
|
---|
830 | (cute a shell script, for e).15 F .537(xample\) reads no \214x)-.15 F .537
|
---|
831 | (ed startup)-.15 F .139(\214le, b)72 386.4 R .139(ut uses the v)-.2 F .139
|
---|
832 | (alue of the v)-.25 F(ariable)-.25 E F1(ENV)2.639 E F0 2.639(,i)C 2.639(fs)
|
---|
833 | 253.361 386.4 S .139(et, as the name of a startup \214le.)263.22 386.4 R .139
|
---|
834 | (The ksh practice of reading)5.139 F F1($ENV)72 398.4 Q F0 .69(for e)3.19 F
|
---|
835 | -.15(ve)-.25 G .69(ry shell, with the accompan).15 F .689(ying dif)-.15 F .689
|
---|
836 | (\214culty of de\214ning the proper v)-.25 F .689(ariables and functions for)
|
---|
837 | -.25 F(interacti)72 410.4 Q .946 -.15(ve a)-.25 H .646(nd non-interacti).15 F
|
---|
838 | .946 -.15(ve s)-.25 H .646(hells or ha).15 F .646
|
---|
839 | (ving the \214le read only for interacti)-.2 F .946 -.15(ve s)-.25 H .646
|
---|
840 | (hells, w).15 F .646(as considered too)-.1 F(comple)72 422.4 Q(x.)-.15 E F1 2.5
|
---|
841 | (4.3.2. New)72 446.4 R(Builtin Commands)2.5 E F0 1.119(There are a fe)97 462 R
|
---|
842 | 3.619(wb)-.25 G 1.118(uiltins which are ne)170.986 462 R 3.618(wo)-.25 G 3.618
|
---|
843 | (rh)268.528 462 S -2.25 -.2(av e)280.476 462 T 1.118(been e)3.818 F 1.118
|
---|
844 | (xtended in bash.)-.15 F(The)6.118 E F1(enable)3.618 E F0 -.2(bu)3.618 G 1.118
|
---|
845 | (iltin allo).2 F(ws)-.25 E -.2(bu)72 474 S .736
|
---|
846 | (iltin commands to be turned on and of).2 F 3.236(fa)-.25 G(rbitrarily)250.198
|
---|
847 | 474 Q 5.736(.T)-.65 G 3.237(ou)298.644 474 S .737(se the v)311.881 474 R .737
|
---|
848 | (ersion of)-.15 F F2(ec)3.237 E(ho)-.15 E F0 .737(found in a user')4.903 F
|
---|
849 | 3.237(ss)-.55 G(earch)482.35 474 Q .013(path rather than the bash b)72 486 R
|
---|
850 | (uiltin,)-.2 E/F3 10/Courier@0 SF .013(enable -n echo)2.513 F F0(suf)2.513 E
|
---|
851 | 2.513(\214ces. The)-.25 F F1(help)2.513 E F0 -.2(bu)2.513 G .013(iltin pro).2 F
|
---|
852 | .013(vides quick synopses of)-.15 F 1.382(the shell f)72 498 R 1.382
|
---|
853 | (acilities without requiring access to a manual page.)-.1 F F1(Builtin)6.382 E
|
---|
854 | F0 1.383(is similar to)3.882 F F1(command)3.883 E F0 1.383(in that it)3.883 F
|
---|
855 | .342(bypasses shell functions and directly e)72 510 R -.15(xe)-.15 G .342
|
---|
856 | (cutes b).15 F .342(uiltin commands.)-.2 F .342
|
---|
857 | (Access to a csh-style stack of directories)5.342 F .072(is pro)72 522 R .073
|
---|
858 | (vided via the)-.15 F F1(pushd)2.573 E F0(,)A F1(popd)2.573 E F0 2.573(,a)C(nd)
|
---|
859 | 211.197 522 Q F1(dirs)2.573 E F0 -.2(bu)2.573 G(iltins.).2 E F1(Pushd)5.073 E
|
---|
860 | F0(and)2.573 E F1(popd)2.573 E F0 .073(insert and remo)2.573 F .373 -.15(ve d)
|
---|
861 | -.15 H .073(irectories from the).15 F .094(stack, respecti)72 534 R -.15(ve)
|
---|
862 | -.25 G(ly).15 E 2.594(,a)-.65 G(nd)154.448 534 Q F1(dirs)2.594 E F0 .094
|
---|
863 | (lists the stack contents.The)2.594 F F1(suspend)2.594 E F0 .094
|
---|
864 | (command will stop the shell process when)2.594 F 1.329(job control is acti)72
|
---|
865 | 546 R -.15(ve)-.25 G 3.829(;m).15 G 1.329(ost other shells do not allo)169.136
|
---|
866 | 546 R 3.829(wt)-.25 G(hemselv)294.64 546 Q 1.33(es to be stopped lik)-.15 F
|
---|
867 | 3.83(et)-.1 G(hat.)421.31 546 Q F1 -.74(Ty)6.33 G(pe,).74 E F0 1.33(the bash)
|
---|
868 | 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)
|
---|
869 | 2.5 E(ws what will happen when a w)-.25 E(ord is typed as a command:)-.1 E F3 6
|
---|
870 | ($t)97 576 S(ype export)115 576 Q(export is a shell builtin)97 588 Q 6($t)97
|
---|
871 | 600 S(ype -t export)115 600 Q(builtin)97 612 Q 6($t)97 624 S(ype bash)115 624 Q
|
---|
872 | (bash is /bin/bash)97 636 Q 6($t)97 648 S(ype cd)115 648 Q(cd is a function)97
|
---|
873 | 660 Q(cd \(\))97 672 Q({)97 684 Q(builtin cd "$@" && xtitle $HOST: $PWD)121 696
|
---|
874 | Q(})97 708 Q EP
|
---|
875 | %%Page: 7 7
|
---|
876 | %%BeginPageSetup
|
---|
877 | BP
|
---|
878 | %%EndPageSetup
|
---|
879 | /F0 10/Times-Roman@0 SF 2.5(-7-)279.67 48 S -1.11(Va)72 84 S .682
|
---|
880 | (rious modes tell what a command w)1.11 F .681(ord is \(reserv)-.1 F .681(ed w)
|
---|
881 | -.15 F .681(ord, alias, function, b)-.1 F .681(uiltin, or \214le\) or which v)
|
---|
882 | -.2 F(er)-.15 E(-)-.2 E 1.15(sion of a command will be e)72 96 R -.15(xe)-.15 G
|
---|
883 | 1.15(cuted based on a user').15 F 3.65(ss)-.55 G 1.15(earch path.)305.7 96 R
|
---|
884 | 1.15(Some of this functionality has been)6.15 F
|
---|
885 | (adopted by POSIX.2 and folded into the)72 108 Q/F1 10/Times-Bold@0 SF(command)
|
---|
886 | 2.5 E F0(utility)2.5 E(.)-.65 E F1 2.5(4.3.3. Editing)72 132 R(and Completion)
|
---|
887 | 2.5 E F0 .682(One area in which bash shines is command line editing.)97 147.6 R
|
---|
888 | .682(Bash uses the)5.682 F/F2 10/Times-Italic@0 SF -.37(re)3.182 G(adline).37 E
|
---|
889 | F0 .682(library to read and)4.848 F .102(edit lines when interacti)72 159.6 R
|
---|
890 | -.15(ve)-.25 G 5.102(.R).15 G .103(eadline is a po)191.438 159.6 R .103
|
---|
891 | (werful and \215e)-.25 F .103(xible input f)-.15 F .103
|
---|
892 | (acility that a user can con\214gure to his)-.1 F 2.506(tastes. It)72 171.6 R
|
---|
893 | (allo)2.506 E .006(ws lines to be edited using either emacs or vi commands, wh\
|
---|
894 | ere those commands are appropri-)-.25 F 2.994(ate. The)72 183.6 R .494
|
---|
895 | (full capability of emacs is not present \255 there is no w)2.994 F .495
|
---|
896 | (ay to e)-.1 F -.15(xe)-.15 G .495(cute a named command with M-x,).15 F .222
|
---|
897 | (for instance \255 b)72 195.6 R .222(ut the e)-.2 F .222
|
---|
898 | (xisting commands are more than adequate.)-.15 F .221
|
---|
899 | (The vi mode is compliant with the com-)5.222 F
|
---|
900 | (mand line editing standardized by POSIX.2.)72 207.6 Q 1.69
|
---|
901 | (Readline is fully customizable.)97 223.2 R 1.691
|
---|
902 | (In addition to the basic commands and k)6.69 F 1.991 -.15(ey b)-.1 H 1.691
|
---|
903 | (indings, the library).15 F(allo)72 235.2 Q .83
|
---|
904 | (ws users to de\214ne additional k)-.25 F 1.13 -.15(ey b)-.1 H .83
|
---|
905 | (indings using a startup \214le.).15 F(The)5.83 E F2(inputr)3.329 E(c)-.37 E F0
|
---|
906 | .829(\214le, which def)4.995 F .829(aults to the)-.1 F(\214le)72 247.2 Q F2
|
---|
907 | (~/.inputr)4.287 E(c)-.37 E F0 4.287(,i)1.666 G 4.287(sr)137.43 247.2 S 1.788(\
|
---|
908 | ead each time readline initializes, permitting users to maintain a consistent \
|
---|
909 | interf)148.937 247.2 R(ace)-.1 E .547(across a set of programs.)72 259.2 R .546
|
---|
910 | (Readline includes an e)5.546 F .546(xtensible interf)-.15 F .546
|
---|
911 | (ace, so each program using the library can)-.1 F .23(add its o)72 271.2 R .23
|
---|
912 | (wn bindable commands and program-speci\214c k)-.25 F .531 -.15(ey b)-.1 H
|
---|
913 | 2.731(indings. Bash).15 F .231(uses this f)2.731 F .231
|
---|
914 | (acility to add bindings)-.1 F(that perform history e)72 283.2 Q
|
---|
915 | (xpansion or shell w)-.15 E(ord e)-.1 E(xpansions on the current input line.)
|
---|
916 | -.15 E .707(Readline interprets a number of v)97 298.8 R .706
|
---|
917 | (ariables which further tune its beha)-.25 F(vior)-.2 E 5.706(.V)-.55 G .706
|
---|
918 | (ariables e)408.432 298.8 R .706(xist to control)-.15 F .157
|
---|
919 | (whether or not eight-bit characters are directly read as input or con)72 310.8
|
---|
920 | R -.15(ve)-.4 G .158(rted to meta-pre\214x).15 F .158(ed k)-.15 F .458 -.15
|
---|
921 | (ey s)-.1 H .158(equences \(a).15 F(meta-pre\214x)72 322.8 Q 1.575(ed k)-.15 F
|
---|
922 | 1.875 -.15(ey s)-.1 H 1.575
|
---|
923 | (equence consists of the character with the eighth bit zeroed, preceded by the)
|
---|
924 | .15 F F2(meta-)4.074 E(pr)72 334.8 Q(e\214x)-.37 E F0(character)4.45 E 2.784
|
---|
925 | (,u)-.4 G .284(sually escape, which selects an alternate k)145.374 334.8 R -.15
|
---|
926 | (ey)-.1 G .285(map\), to decide whether to output characters).15 F .485
|
---|
927 | (with the eighth bit set directly or as a meta-pre\214x)72 346.8 R .485(ed k)
|
---|
928 | -.15 F .784 -.15(ey s)-.1 H .484(equence, whether or not to wrap to a ne).15 F
|
---|
929 | 2.984(ws)-.25 G(creen)482.35 346.8 Q .157
|
---|
930 | (line when a line being edited is longer than the screen width, the k)72 358.8
|
---|
931 | R -.15(ey)-.1 G .158(map to which subsequent k).15 F .458 -.15(ey b)-.1 H
|
---|
932 | (indings).15 E .531(should apply)72 370.8 R 3.031(,o)-.65 G 3.031(re)133.802
|
---|
933 | 370.8 S -.15(ve)144.353 370.8 S 3.031(nw).15 G .531
|
---|
934 | (hat happens when readline w)168.894 370.8 R .531(ants to ring the terminal')
|
---|
935 | -.1 F 3.03(sb)-.55 G 3.03(ell. All)399.37 370.8 R .53(of these v)3.03 F
|
---|
936 | (ariables)-.25 E(can be set in the inputrc \214le.)72 382.8 Q .284
|
---|
937 | (The startup \214le understands a set of C preprocessor)97 398.4 R(-lik)-.2 E
|
---|
938 | 2.785(ec)-.1 G .285(onditional constructs which allo)329.49 398.4 R 2.785(wv)
|
---|
939 | -.25 G(ariables)472.9 398.4 Q .12(or k)72 410.4 R .42 -.15(ey b)-.1 H .119(ind\
|
---|
940 | ings to be assigned based on the application using readline, the terminal curr\
|
---|
941 | ently being used, or).15 F .316(the editing mode.)72 422.4 R .317
|
---|
942 | (Users can add program-speci\214c bindings to mak)5.317 F 2.817(et)-.1 G .317
|
---|
943 | (heir li)352.808 422.4 R -.15(ve)-.25 G 2.817(se).15 G 2.817(asier: here)
|
---|
944 | 396.922 422.4 R .317(are bindings to)2.817 F(edit the v)72 434.4 Q(alue of)-.25
|
---|
945 | E F1 -.74(PA)2.5 G(TH)-.21 E F0(and double-quote the current or pre)2.5 E
|
---|
946 | (vious w)-.25 E(ord:)-.1 E/F3 10/Courier@0 SF 6(#M)97 452.4 S
|
---|
947 | (acros that are convenient for shell interaction)115 452.4 Q($if Bash)97 464.4
|
---|
948 | Q 6(#e)97 476.4 S(dit the path)115 476.4 Q
|
---|
949 | ("\\C-xp": "PATH=${PATH}\\e\\C-e\\C-a\\ef\\C-f")97 488.4 Q 6(#p)97 500.4 S
|
---|
950 | (repare to type a quoted word -- insert open and close double quotes)115 500.4
|
---|
951 | Q 6(#a)97 512.4 S(nd move to just after the open quote)115 512.4 Q
|
---|
952 | ("\\C-x\\"": "\\"\\"\\C-b")97 524.4 Q 6(#Q)97 536.4 S
|
---|
953 | (uote the current or previous word)115 536.4 Q("\\C-xq": "\\eb\\"\\ef\\"")97
|
---|
954 | 548.4 Q($endif)97 560.4 Q F0 .322(There is a readline command to re-read the \
|
---|
955 | \214le, so users can edit the \214le, change some bindings, and be)72 582 R
|
---|
956 | (gin)-.15 E(to use them almost immediately)72 594 Q(.)-.65 E .851
|
---|
957 | (Bash implements the)97 609.6 R F1(bind)3.351 E F0 -.2(bu)3.351 G .851
|
---|
958 | (iltin for more dyamic control of readline than the startup \214le permits.).2
|
---|
959 | F F1(Bind)72 621.6 Q F0 .167(is used in se)2.667 F -.15(ve)-.25 G .167(ral w)
|
---|
960 | .15 F 2.667(ays. In)-.1 F F2(list)2.667 E F0 .167
|
---|
961 | (mode, it can display the current k)4.333 F .466 -.15(ey b)-.1 H .166
|
---|
962 | (indings, list all the readline edit-).15 F .149(ing directi)72 633.6 R -.15
|
---|
963 | (ve)-.25 G 2.649(sa).15 G -.25(va)132.798 633.6 S .149
|
---|
964 | (ilable for binding, list which k).25 F -.15(ey)-.1 G 2.649(si).15 G -1.9 -.4
|
---|
965 | (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
|
---|
966 | (irecti)345.3 633.6 Q -.15(ve)-.25 G 2.65(,o).15 G 2.65(ro)385.04 633.6 S .15
|
---|
967 | (utput the current set of k)396.02 633.6 R -.15(ey)-.1 G .526(bindings in a fo\
|
---|
968 | rmat that can be incorporated directly into an inputrc \214le.)72 645.6 R(In)
|
---|
969 | 5.526 E F2(batc)3.026 E(h)-.15 E F0 .526(mode, it reads a series)4.692 F .71
|
---|
970 | (of k)72 657.6 R 1.01 -.15(ey b)-.1 H .71
|
---|
971 | (indings directly from a \214le and passes them to readline.).15 F .71
|
---|
972 | (In its most common usage,)5.71 F F1(bind)3.21 E F0(tak)3.21 E .71(es a)-.1 F
|
---|
973 | .534(single string and passes it directly to readline, which interprets the li\
|
---|
974 | ne as if it had just been read from the)72 669.6 R(inputrc \214le.)72 681.6 Q
|
---|
975 | (Both k)5 E .3 -.15(ey b)-.1 H(indings and v).15 E
|
---|
976 | (ariable assignments can appear in the string gi)-.25 E -.15(ve)-.25 G 2.5(nt)
|
---|
977 | .15 G(o)424.4 681.6 Q F1(bind)2.5 E F0(.)A .401(The readline library also pro)
|
---|
978 | 97 697.2 R .402(vides an interf)-.15 F .402(ace for)-.1 F F2(wor)2.902 E 2.902
|
---|
979 | (dc)-.37 G(ompletion)328.546 697.2 Q F0 5.402(.W)C .402(hen the)385.888 697.2 R
|
---|
980 | F2(completion)2.902 E F0(character)4.568 E 1.261(\(usually T)72 709.2 R 1.261
|
---|
981 | (AB\) is typed, readline looks at the w)-.93 F 1.26
|
---|
982 | (ord currently being entered and computes the set of \214le-)-.1 F .523
|
---|
983 | (names of which the current w)72 721.2 R .523(ord is a v)-.1 F .523
|
---|
984 | (alid pre\214x.)-.25 F .524
|
---|
985 | (If there is only one possible completion, the rest of the)5.523 F EP
|
---|
986 | %%Page: 8 8
|
---|
987 | %%BeginPageSetup
|
---|
988 | BP
|
---|
989 | %%EndPageSetup
|
---|
990 | /F0 10/Times-Roman@0 SF 2.5(-8-)279.67 48 S .358
|
---|
991 | (characters are inserted directly)72 84 R 2.858(,o)-.65 G .358(therwise the co\
|
---|
992 | mmon pre\214x of the set of \214lenames is added to the current)205.232 84 R
|
---|
993 | -.1(wo)72 96 S 3.199(rd. A).1 F .699(second T)3.199 F .699(AB character entere\
|
---|
994 | d immediately after a non-unique completion causes readline to list)-.93 F
|
---|
995 | 1.814(the possible completions; there is an option to ha)72 108 R 2.113 -.15
|
---|
996 | (ve t)-.2 H 1.813(he list displayed immediately).15 F 6.813(.R)-.65 G 1.813
|
---|
997 | (eadline pro)436.517 108 R(vides)-.15 E .482
|
---|
998 | (hooks so that applications can pro)72 120 R .482
|
---|
999 | (vide speci\214c types of completion before the def)-.15 F .483
|
---|
1000 | (ault \214lename completion)-.1 F .132(is attempted.)72 132 R .132
|
---|
1001 | (This is quite \215e)5.132 F .132(xible, though it is not completely user)-.15
|
---|
1002 | F 2.632(-programmable. Bash,)-.2 F .132(for e)2.632 F .132(xample, can)-.15 F
|
---|
1003 | .37(complete \214lenames, command names \(including aliases, b)72 144 R .37
|
---|
1004 | (uiltins, shell reserv)-.2 F .37(ed w)-.15 F .37(ords, shell functions, and)-.1
|
---|
1005 | F -.15(exe)72 156 S .424(cutables found in the \214le system\), shell v).15 F
|
---|
1006 | .424(ariables, usernames, and hostnames.)-.25 F .423
|
---|
1007 | (It uses a set of heuristics)5.424 F(that, while not perfect, is generally qui\
|
---|
1008 | te good at determining what type of completion to attempt.)72 168 Q/F1 10
|
---|
1009 | /Times-Bold@0 SF 2.5(4.3.4. History)72 192 R F0 .255
|
---|
1010 | (Access to the list of commands pre)97 207.6 R .255(viously entered \(the)-.25
|
---|
1011 | F/F2 10/Times-Italic@0 SF .255(command history)2.755 F F0 2.756(\)i)C 2.756(sp)
|
---|
1012 | 399.236 207.6 S(ro)410.882 207.6 Q .256(vided jointly by bash)-.15 F .095
|
---|
1013 | (and the readline library)72 219.6 R 5.094(.B)-.65 G .094(ash pro)178.928 219.6
|
---|
1014 | R .094(vides v)-.15 F .094(ariables \()-.25 F F1(HISTFILE)A F0(,)A F1(HISTSIZE)
|
---|
1015 | 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
|
---|
1016 | (\)a)C .094(nd the)479.186 219.6 R F1(history)72 231.6 Q F0(and)2.825 E F1(fc)
|
---|
1017 | 2.825 E F0 -.2(bu)2.825 G .325(iltins to manipulate the history list.).2 F .325
|
---|
1018 | (The v)5.325 F .325(alue of)-.25 F F1(HISTFILE)2.825 E F0 .326
|
---|
1019 | (specifes the \214le where bash)2.826 F .128(writes the command history on e)72
|
---|
1020 | 243.6 R .128(xit and reads it on startup.)-.15 F F1(HISTSIZE)5.128 E F0 .128
|
---|
1021 | (is used to limit the number of com-)2.628 F .346(mands sa)72 255.6 R -.15(ve)
|
---|
1022 | -.2 G 2.846(di).15 G 2.846(nt)129.002 255.6 S .346(he history)139.628 255.6 R
|
---|
1023 | (.)-.65 E F1(HISTCONTR)5.346 E(OL)-.3 E F0(pro)2.846 E .346
|
---|
1024 | (vides a crude form of control o)-.15 F -.15(ve)-.15 G 2.846(rw).15 G .346
|
---|
1025 | (hich commands are)425.548 255.6 R(sa)72 267.6 Q -.15(ve)-.2 G 2.905(do).15 G
|
---|
1026 | 2.905(nt)102.325 267.6 S .405(he history list: a v)113.01 267.6 R .405(alue of)
|
---|
1027 | -.25 F F2(ignor)2.905 E(espace)-.37 E F0 .405(means to not sa)4.571 F .705 -.15
|
---|
1028 | (ve c)-.2 H .405(ommands which be).15 F .405(gin with a space; a)-.15 F -.25
|
---|
1029 | (va)72 279.6 S .339(lue of).25 F F2(ignor)2.839 E(edups)-.37 E F0 .339
|
---|
1030 | (means to not sa)4.505 F .64 -.15(ve c)-.2 H .34
|
---|
1031 | (ommands identical to the last command sa).15 F -.15(ve)-.2 G(d.).15 E F1
|
---|
1032 | (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
|
---|
1033 | F1(history_contr)3.15 E(ol)-.18 E F0 .65(in earlier v)3.15 F .649
|
---|
1034 | (ersions of bash; the old name is still accepted for backw)-.15 F .649
|
---|
1035 | (ards com-)-.1 F(patibility)72 303.6 Q 5.723(.T)-.65 G(he)121.803 303.6 Q F1
|
---|
1036 | (history)3.223 E F0 .724(command can read or write \214les containing the hist\
|
---|
1037 | ory list and display the current)3.223 F .895(list contents.)72 315.6 R(The)
|
---|
1038 | 5.895 E F1(fc)3.395 E F0 -.2(bu)3.395 G .895
|
---|
1039 | (iltin, adopted from POSIX.2 and the K).2 F .894(orn Shell, allo)-.35 F .894
|
---|
1040 | (ws display and re-e)-.25 F -.15(xe)-.15 G(cution,).15 E .461
|
---|
1041 | (with optional editing, of commands from the history list.)72 327.6 R .462
|
---|
1042 | (The readline library of)5.462 F .462(fers a set of commands to)-.25 F .657(se\
|
---|
1043 | arch the history list for a portion of the current input line or a string type\
|
---|
1044 | d by the user)72 339.6 R 5.657(.F)-.55 G(inally)445.836 339.6 Q 3.157(,t)-.65 G
|
---|
1045 | (he)476.403 339.6 Q F2(his-)3.157 E(tory)72 351.6 Q F0(library)4.196 E 2.53(,g)
|
---|
1046 | -.65 G .03(enerally incorporated directly into the readline library)128.346
|
---|
1047 | 351.6 R 2.53(,i)-.65 G .03(mplements a f)350.636 351.6 R .031
|
---|
1048 | (acility for history recall,)-.1 F -.15(ex)72 363.6 S .594(pansion, and re-e)
|
---|
1049 | .15 F -.15(xe)-.15 G .594(cution of pre).15 F .594(vious commands v)-.25 F .594
|
---|
1050 | (ery similar to csh \(`)-.15 F .593(`bang history')-.74 F .593
|
---|
1051 | (', so called because)-.74 F(the e)72 375.6 Q
|
---|
1052 | (xclamation point introduces a history substitution\):)-.15 E/F3 10/Courier@0
|
---|
1053 | 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
|
---|
1054 | 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
|
---|
1055 | ($!)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
|
---|
1056 | ($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
|
---|
1057 | S F0 1.456(The command history is only sa)72 535.2 R -.15(ve)-.2 G 3.957(dw).15
|
---|
1058 | G 1.457(hen the shell is interacti)232.599 535.2 R -.15(ve)-.25 G 3.957(,s).15
|
---|
1059 | 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
|
---|
1060 | 1.457(ot a)386.905 535.2 R -.25(va)-.2 G 1.457(ilable for use by shell).25 F
|
---|
1061 | (scripts.)72 547.2 Q F1 2.5(4.3.5. New)72 571.2 R(Shell V)2.5 E(ariables)-.92 E
|
---|
1062 | F0 .701(There are a number of con)97 586.8 R -.15(ve)-.4 G .701(nience v).15 F
|
---|
1063 | .701(ariables that bash interprets to mak)-.25 F 3.2(el)-.1 G .7(ife easier)
|
---|
1064 | 402.76 586.8 R 5.7(.T)-.55 G .7(hese include)453.59 586.8 R F1(FIGNORE)72 598.8
|
---|
1065 | Q F0 3.973(,w)C 1.473(hich is a set of \214lename suf)132.363 598.8 R<8c78>-.25
|
---|
1066 | E 1.474(es identifying \214les to e)-.15 F 1.474
|
---|
1067 | (xclude when completing \214lenames;)-.15 F F1(HOSTTYPE)72 610.8 Q F0 3.03(,w)C
|
---|
1068 | .53(hich is automatically set to a string describing the type of hardw)139.21
|
---|
1069 | 610.8 R .53(are on which bash is cur)-.1 F(-)-.2 E .76(rently e)72 622.8 R -.15
|
---|
1070 | (xe)-.15 G(cuting;).15 E F1(OSTYPE)3.26 E F0 3.26(,t)C 3.26(ow)191.76 622.8 S
|
---|
1071 | .76(hich bash assigns a v)207.24 622.8 R .761(alue that identi\214es the v)-.25
|
---|
1072 | F .761(ersion of)-.15 F/F4 9/Times-Roman@0 SF(UNIX)3.261 E F0(it')3.261 E 3.261
|
---|
1073 | (sr)-.55 G(unning)476.22 622.8 Q 1.354
|
---|
1074 | (on \(great for putting architecture-speci\214c binary directories into the)72
|
---|
1075 | 634.8 R F1 -.74(PA)3.854 G(TH)-.21 E F0 1.354(\); and)B F1(IGNOREEOF)3.854 E F0
|
---|
1076 | 3.854(,w)C(hose)485.67 634.8 Q -.25(va)72 646.8 S .062
|
---|
1077 | (lue indicates the number of consecuti).25 F .362 -.15(ve E)-.25 H .062
|
---|
1078 | (OF characters that an interacti).15 F .362 -.15(ve s)-.25 H .062
|
---|
1079 | (hell will read before e).15 F .062(xiting \255)-.15 F .114(an easy w)72 658.8
|
---|
1080 | R .113(ay to k)-.1 F .113(eep yourself from being logged out accidentally)-.1 F
|
---|
1081 | 5.113(.T)-.65 G(he)344.285 658.8 Q F1(auto_r)2.613 E(esume)-.18 E F0 -.25(va)
|
---|
1082 | 2.613 G .113(riable alters the w).25 F(ay)-.1 E .409
|
---|
1083 | (the shell treats simple command names: if job control is acti)72 670.8 R -.15
|
---|
1084 | (ve)-.25 G 2.909(,a).15 G .409(nd this v)335.516 670.8 R .409
|
---|
1085 | (ariable is set, single-w)-.25 F .409(ord simple)-.1 F .17(commands without re\
|
---|
1086 | directions cause the shell to \214rst look for a suspended job with that name \
|
---|
1087 | before start-)72 682.8 R(ing a ne)72 694.8 Q 2.5(wp)-.25 G(rocess.)118.13 694.8
|
---|
1088 | Q EP
|
---|
1089 | %%Page: 9 9
|
---|
1090 | %%BeginPageSetup
|
---|
1091 | BP
|
---|
1092 | %%EndPageSetup
|
---|
1093 | /F0 10/Times-Roman@0 SF 2.5(-9-)279.67 48 S/F1 10/Times-Bold@0 SF 2.5
|
---|
1094 | (4.3.6. Brace)72 84 R(Expansion)2.5 E F0 .653(Since sh of)97 99.6 R .653
|
---|
1095 | (fers no con)-.25 F -.15(ve)-.4 G .653(nient w).15 F .653
|
---|
1096 | (ay to generate arbitrary strings that share a common pre\214x or suf)-.1 F
|
---|
1097 | <8c78>-.25 E 1.893(\(pathname e)72 111.6 R 1.893
|
---|
1098 | (xpansion requires that the \214lenames e)-.15 F 1.892(xist\), bash implements)
|
---|
1099 | -.15 F/F2 10/Times-Italic@0 SF(br)4.392 E 1.892(ace e)-.15 F(xpansion)-.2 E F0
|
---|
1100 | 4.392(,ac)C(apability)469 111.6 Q(pick)72 123.6 Q .496(ed up from csh.)-.1 F
|
---|
1101 | .496(Brace e)5.496 F .496(xpansion is similar to pathname e)-.15 F .496
|
---|
1102 | (xpansion, b)-.15 F .497(ut the strings generated need not)-.2 F 1.107
|
---|
1103 | (correspond to e)72 135.6 R 1.107(xisting \214les.)-.15 F 3.607(Ab)6.107 G
|
---|
1104 | 1.107(race e)207.655 135.6 R 1.107(xpression consists of an optional)-.15 F F2
|
---|
1105 | (pr)3.606 E(eamble)-.37 E F0 3.606(,f)1.666 G(ollo)419.286 135.6 Q 1.106
|
---|
1106 | (wed by a pair of)-.25 F 2.809
|
---|
1107 | (braces enclosing a series of comma-separated strings, and an optional)72 147.6
|
---|
1108 | R F2(postamble)5.31 E F0 7.81(.T)1.666 G 2.81(he preamble is)440.06 147.6 R(pr\
|
---|
1109 | epended to each string within the braces, and the postamble is then appended t\
|
---|
1110 | o each resulting string:)72 159.6 Q/F3 10/Courier@0 SF 6($e)97 177.6 S
|
---|
1111 | (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
|
---|
1112 | (ompt Customization)-.18 E F0 .077(One of the more popular interacti)97 235.2 R
|
---|
1113 | .376 -.15(ve f)-.25 H .076(eatures that bash pro).15 F .076
|
---|
1114 | (vides is the ability to customize the prompt.)-.15 F(Both)72 247.2 Q F1(PS1)
|
---|
1115 | 3.305 E F0(and)3.305 E F1(PS2,)3.305 E F0 .805
|
---|
1116 | (the primary and secondary prompts, are e)3.305 F .805
|
---|
1117 | (xpanded before being displayed.)-.15 F -.15(Pa)5.805 G(rameter).15 E .324
|
---|
1118 | (and v)72 259.2 R .324(ariable e)-.25 F .324
|
---|
1119 | (xpansion is performed when the prompt string is e)-.15 F .323
|
---|
1120 | (xpanded, so the v)-.15 F .323(alue of an)-.25 F 2.823(ys)-.15 G .323(hell v)
|
---|
1121 | 454.217 259.2 R(ariable)-.25 E .728(can be put into the prompt \(e.g.,)72 271.2
|
---|
1122 | R F1($SHL)3.228 E(VL)-.92 E F0 3.228(,w)C .728(hich indicates ho)258.564 271.2
|
---|
1123 | R 3.228(wd)-.25 G .729(eeply the current shell is nested\).)342.988 271.2 R
|
---|
1124 | (Bash)5.729 E 1.895
|
---|
1125 | (specially interprets characters in the prompt string preceded by a backslash.)
|
---|
1126 | 72 283.2 R 1.895(Some of these backslash)6.895 F .874
|
---|
1127 | (escapes are replaced with the current time, the date, the current w)72 295.2 R
|
---|
1128 | .874(orking directory)-.1 F 3.374(,t)-.65 G .874(he username, and the)416.958
|
---|
1129 | 295.2 R .781(command number or history number of the command being entered.)72
|
---|
1130 | 307.2 R .78(There is e)5.781 F -.15(ve)-.25 G 3.28(nab).15 G .78
|
---|
1131 | (ackslash escape to)429.13 307.2 R .007
|
---|
1132 | (cause the shell to change its prompt when running as root after an)72 319.2 R
|
---|
1133 | F2(su)2.507 E F0 5.007(.B)C .008(efore printing each primary prompt,)360.388
|
---|
1134 | 319.2 R .27(bash e)72 331.2 R .27(xpands the v)-.15 F(ariable)-.25 E F1(PR)2.77
|
---|
1135 | E(OMPT_COMMAND)-.3 E F0 .269(and, if it has a v)2.77 F .269(alue, e)-.25 F -.15
|
---|
1136 | (xe)-.15 G .269(cutes the e).15 F .269(xpanded v)-.15 F .269(alue as a)-.25 F
|
---|
1137 | .04(command, allo)72 343.2 R .041(wing additional prompt customization.)-.25 F
|
---|
1138 | -.15(Fo)5.041 G 2.541(re).15 G .041
|
---|
1139 | (xample, this assignment causes the current user)311.964 343.2 R(,)-.4 E .99
|
---|
1140 | (the current host, the time, the last component of the current w)72 355.2 R
|
---|
1141 | .989(orking directory)-.1 F 3.489(,t)-.65 G .989(he le)402.954 355.2 R -.15(ve)
|
---|
1142 | -.25 G 3.489(lo).15 G 3.489(fs)443.412 355.2 S .989(hell nesting,)454.121 355.2
|
---|
1143 | R(and the history number of the current command to be embedded into the primar\
|
---|
1144 | y prompt:)72 367.2 Q F3 6($P)97 385.2 S
|
---|
1145 | (S1='\\u@\\h [\\t] \\W\($SHLVL:\\!\)\\$ ')115 385.2 Q
|
---|
1146 | (chet@odin [21:03:44] documentation\(2:636\)$ cd ..)97 397.2 Q
|
---|
1147 | (chet@odin [21:03:54] src\(2:637\)$)97 409.2 Q F0 .619
|
---|
1148 | (The string being assigned is surrounded by single quotes so that if it is e)72
|
---|
1149 | 430.8 R(xported,)-.15 E F1(SHL)3.119 E(VL)-.92 E F0 .619(will be updated)3.119
|
---|
1150 | F(by a child shell:)72 442.8 Q F3
|
---|
1151 | (chet@odin [21:13:35] src\(2:638\)$ export PS1)97 460.8 Q
|
---|
1152 | (chet@odin [21:17:40] src\(2:639\)$ bash)97 472.8 Q
|
---|
1153 | (chet@odin [21:17:46] src\(3:696\)$)97 484.8 Q F0(The)72 506.4 Q F1(\\$)2.5 E
|
---|
1154 | F0(escape is displayed as `)2.5 E(`)-.74 E F1($)A F0 1.48 -.74('' w)D
|
---|
1155 | (hen running as a normal user).74 E 2.5(,b)-.4 G(ut as `)342.08 506.4 Q(`)-.74
|
---|
1156 | E F1(#)A F0 1.48 -.74('' w)D(hen running as root.).74 E F1 2.5(4.3.8. POSIX)72
|
---|
1157 | 530.4 R(Mode)2.5 E F0 .46(Although bash is intended to be POSIX.2 compliant, t\
|
---|
1158 | here are areas in which the def)97 546 R .46(ault beha)-.1 F .46(vior is)-.2 F
|
---|
1159 | 1.168(not compatible with the standard.)72 558 R -.15(Fo)6.169 G 3.669(ru).15 G
|
---|
1160 | 1.169(sers who wish to operate in a strict POSIX.2 en)238.85 558 R 1.169
|
---|
1161 | (vironment, bash)-.4 F .61(implements a)72 570 R F2 .61(POSIX mode)3.11 F F0
|
---|
1162 | 5.61(.W)C .61(hen this mode is acti)199.42 570 R -.15(ve)-.25 G 3.109(,b).15 G
|
---|
1163 | .609(ash modi\214es its def)303.727 570 R .609(ault operation where it dif)-.1
|
---|
1164 | F(fers)-.25 E .066(from POSIX.2 to match the standard.)72 582 R .067
|
---|
1165 | (POSIX mode is entered when bash is started with the)5.066 F F1 .067(-o posix)
|
---|
1166 | 2.567 F F0(option)2.567 E .382(or when)72 594 R F1 .382(set -o posix)2.882 F F0
|
---|
1167 | .381(is e)2.881 F -.15(xe)-.15 G 2.881(cuted. F).15 F .381
|
---|
1168 | (or compatibility with other GNU softw)-.15 F .381
|
---|
1169 | (are that attempts to be POSIX.2)-.1 F 5.752
|
---|
1170 | (compliant, bash also enters POSIX mode if either of the v)72 606 R(ariables)
|
---|
1171 | -.25 E F1(POSIX_PED)8.253 E(ANTIC)-.35 E F0(or)8.253 E F1(POSIXL)72 618 Q
|
---|
1172 | (Y_CORRECT)-.92 E F0 1.179(is set when bash is started or assigned a v)3.679 F
|
---|
1173 | 1.178(alue during e)-.25 F -.15(xe)-.15 G 3.678(cution. When).15 F 1.178
|
---|
1174 | (bash is)3.678 F .218(started in POSIX mode, for e)72 630 R .218(xample, the)
|
---|
1175 | -.15 F F1(kill)2.718 E F0 -.2(bu)2.718 G(iltin').2 E(s)-.55 E F1<ad6c>2.718 E
|
---|
1176 | F0 .218(option beha)2.718 F -.15(ve)-.2 G 2.718(sd).15 G(if)370.166 630 Q .219
|
---|
1177 | (ferently: it lists the names of all)-.25 F 1.084(signals on a single line sep\
|
---|
1178 | arated by spaces, rather than listing the signal names and their corresponding)
|
---|
1179 | 72 642 R(numbers.)72 654 Q .865(Some of the def)97 669.6 R .865(ault bash beha)
|
---|
1180 | -.1 F .865(vior dif)-.2 F .865
|
---|
1181 | (fers from other shells as a result of the POSIX standard.)-.25 F -.15(Fo)5.866
|
---|
1182 | G(r).15 E 1.16(instance, bash includes the)72 681.6 R F1(!)3.66 E F0(reserv)
|
---|
1183 | 6.16 E 1.16(ed w)-.15 F 1.16(ord to ne)-.1 F -.05(ga)-.15 G 1.16
|
---|
1184 | (te the return status of a pipeline because it has been).05 F
|
---|
1185 | (de\214ned by POSIX.2.)72 693.6 Q
|
---|
1186 | (Neither sh nor ksh has implemented that feature.)5 E EP
|
---|
1187 | %%Page: 10 10
|
---|
1188 | %%BeginPageSetup
|
---|
1189 | BP
|
---|
1190 | %%EndPageSetup
|
---|
1191 | /F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(0-)288 48 S/F1 10/Times-Bold@0
|
---|
1192 | SF 2.5(4.4. F)72 84 R(eatur)-.25 E(es Unique to ksh)-.18 E F0 .177
|
---|
1193 | (Ksh includes a number of features not in the currently-released v)97 99.6 R
|
---|
1194 | .178(ersion of bash, v)-.15 F .178(ersion 1.14.)-.15 F(Unless)5.178 E .822
|
---|
1195 | (noted, none of these features is in the POSIX.2 standard.)72 111.6 R .821
|
---|
1196 | (Where appropriate the equi)5.821 F -.25(va)-.25 G .821(lent bash features).25
|
---|
1197 | F(are noted.)72 123.6 Q F1 2.5(4.4.1. The)72 147.6 R(ksh Language)2.5 E F0
|
---|
1198 | 2.955(An)97 163.2 S .955 -.25(ew c)112.175 163.2 T .455(ompound command folds)
|
---|
1199 | .25 F F1(test)2.955 E F0 .456(into the ksh language, delimited by the reserv)
|
---|
1200 | 2.955 F .456(ed w)-.15 F(ords)-.1 E F1([[)2.956 E F0(and)2.956 E F1(]])72 175.2
|
---|
1201 | Q F0 5.726(.T)C .726(he syntax is identical to)92.996 175.2 R F1(test)3.225 E
|
---|
1202 | F0 .725(with a fe)3.225 F 3.225(wc)-.25 G .725
|
---|
1203 | (hanges: for instance, instead of)262.855 175.2 R F1<ad61>3.225 E F0(and)3.225
|
---|
1204 | E F1<ad6f>3.225 E F0(,)A F1(&&)3.225 E F0(and)3.225 E/F2 10/Symbol SF<efef>
|
---|
1205 | 3.225 E F0(are)3.225 E 3.32(used. The)72 187.2 R -.1(wo)3.32 G .82(rds between)
|
---|
1206 | .1 F F1([[)3.32 E F0(and)3.32 E F1(]])3.32 E F0 .82(are not processed for w)
|
---|
1207 | 3.32 F .82(ord splitting or \214lename generation.)-.1 F .82(The ne)5.82 F(w)
|
---|
1208 | -.25 E .926
|
---|
1209 | (command does pattern matching as well as string comparison, a la the)72 199.2
|
---|
1210 | R F1(case)3.425 E F0 3.425(command. This)3.425 F(ne)3.425 E 3.425(wc)-.25 G
|
---|
1211 | (ontrol)480.11 199.2 Q .165(structure does ha)72 211.2 R .465 -.15(ve t)-.2 H
|
---|
1212 | .165(he adv).15 F .166(antage of reducing common ar)-.25 F .166
|
---|
1213 | (gument problems encountered using test \(e.g.)-.18 F F1(test)2.666 E
|
---|
1214 | ("$string")72 223.2 Q F0 2.928(,w)C(here)125.748 223.2 Q F1($string)2.928 E F0
|
---|
1215 | -.15(ex)2.928 G .428(pands to).15 F F1<ad66>2.928 E F0 .428(\), b)B .428
|
---|
1216 | (ut at the cost of bloating the language.)-.2 F .427(The POSIX.2 test algo-)
|
---|
1217 | 5.427 F 2.752(rithm that bash uses, along with some programmer care, alle)72
|
---|
1218 | 235.2 R 2.752(viates those problems in a backw)-.25 F(ards-)-.1 E .854
|
---|
1219 | (compatible w)72 247.2 R .853(ay with no additions to the language.)-.1 F .853
|
---|
1220 | (The one capability of)5.853 F F1 .853([[ ]])3.353 F F0 .853(not a)3.353 F -.25
|
---|
1221 | (va)-.2 G .853(ilable in bash is its).25 F(ability to test whether an indi)72
|
---|
1222 | 259.2 Q(vidual)-.25 E F1(set \255o)2.5 E F0(option is turned on or of)2.5 E(f.)
|
---|
1223 | -.25 E .339(Other parts of the ksh language are not common to bash.)97 274.8 R
|
---|
1224 | (The)5.34 E F1(\(\(...\)\))2.84 E F0(operator)5.34 E 2.84(,e)-.4 G(qui)419.33
|
---|
1225 | 274.8 Q -.25(va)-.25 G .34(lent to).25 F F1 .34(let "...")2.84 F F0(,)A .197
|
---|
1226 | (is unique to ksh, as are the concept of co-processes and the)72 286.8 R F1
|
---|
1227 | (time)2.697 E F0 -.1(ke)2.696 G(yw)-.05 E .196
|
---|
1228 | (ord to time commands and pipelines.)-.1 F F1 2.5(4.4.2. Functions)72 310.8 R
|
---|
1229 | (and Aliases)2.5 E F0 1.022(The K)97 326.4 R 1.022(orn shell has)-.35 F/F3 10
|
---|
1230 | /Times-Italic@0 SF(autoloaded)3.522 E F0 3.522(functions. A)3.522 F 1.022
|
---|
1231 | (function mark)3.522 F 1.022(ed as)-.1 F F3(autoload)3.522 E F0 1.022
|
---|
1232 | (is not de\214ned until it is)5.188 F 1.042(\214rst e)72 338.4 R -.15(xe)-.15 G
|
---|
1233 | 3.542(cuted. When).15 F 1.042(such a function is e)3.542 F -.15(xe)-.15 G 1.042
|
---|
1234 | (cuted, a search is made through the directories in).15 F F1(FP)3.541 E -.95
|
---|
1235 | (AT)-.74 G(H).95 E F0(\(a)3.541 E .27
|
---|
1236 | (colon-separated list of directories similar to)72 350.4 R F1 -.74(PA)2.77 G
|
---|
1237 | (TH)-.21 E F0 2.77(\)f)C .27(or a \214le with the same name as the function.)
|
---|
1238 | 285.78 350.4 R .27(That \214le)5.27 F .548(is then read in as with the)72 362.4
|
---|
1239 | R F1(.)3.881 E F0 .547(command; presumably the function is de\214ned therein.)
|
---|
1240 | 3.047 F .547(There is a pair of shell)5.547 F .886
|
---|
1241 | (functions included in the bash distrib)72 374.4 R .886(ution \()-.2 F F3 -.2
|
---|
1242 | (ex)C(amples/functions/autoload).2 E F0 5.886(\)t)C .886(hat pro)378.35 374.4 R
|
---|
1243 | .886(vide much of this func-)-.15 F
|
---|
1244 | (tionality without changing the shell itself.)72 386.4 Q .116
|
---|
1245 | (Ksh functions are scoped in such a w)97 402 R .116(ay that the en)-.1 F .116
|
---|
1246 | (vironment in which the)-.4 F 2.616(ya)-.15 G .116(re e)405.144 402 R -.15(xe)
|
---|
1247 | -.15 G .115(cuted is closer to a).15 F .827(shell script en)72 414 R 3.327
|
---|
1248 | (vironment. Bash)-.4 F .827(uses the POSIX.2 scoping rules, which mak)3.327 F
|
---|
1249 | 3.327(et)-.1 G .827(he function e)392.517 414 R -.15(xe)-.15 G .828(cution en)
|
---|
1250 | .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
|
---|
1251 | (ft)174.86 426 S 1.199(he shell en)184.67 426 R 1.199
|
---|
1252 | (vironment with the replacement of the shell')-.4 F 3.699(sp)-.55 G 1.199
|
---|
1253 | (ositional paramters)426.421 426 R(with the function ar)72 438 Q 2.5
|
---|
1254 | (guments. K)-.18 F
|
---|
1255 | (orn shell functions do not share options or traps with the in)-.35 E -.2(vo)
|
---|
1256 | -.4 G(king shell.).2 E .451(Ksh has)97 453.6 R F3(tr)2.951 E(ac)-.15 E -.1(ke)
|
---|
1257 | -.2 G(d).1 E F0 .452(aliases, which alias a command name to its full pathname.)
|
---|
1258 | 2.952 F .452(Bash has true command)5.452 F(hashing.)72 465.6 Q F1 2.5
|
---|
1259 | (4.4.3. Arrays)72 489.6 R F0 .246
|
---|
1260 | (Arrays are an aspect of ksh that has no real bash equi)97 505.2 R -.25(va)-.25
|
---|
1261 | G 2.746(lent. The).25 F 2.746(ya)-.15 G .246(re easy to create and manipulate:)
|
---|
1262 | 371.42 505.2 R 1.637
|
---|
1263 | (an array is created automatically by using subscript assignment \()72 517.2 R
|
---|
1264 | F1(name)A F0([)A F3(inde)A(x)-.2 E F0(]=)A F1 -.1(va)C(lue).1 E F0 1.637
|
---|
1265 | (\), and an)B 4.137(yv)-.15 G(ariable)476.79 517.2 Q 1.967
|
---|
1266 | (may be referred to as an array)72 529.2 R 6.967(.K)-.65 G 1.967(sh arrays, ho)
|
---|
1267 | 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
|
---|
1268 | H(se)4.667 E -.15(ve)-.25 G 1.967(ral anno).15 F 1.967(ying limitations: the)
|
---|
1269 | -.1 F 4.466(ym)-.15 G 1.966(ay be)480.654 529.2 R(inde)72 541.2 Q -.15(xe)-.15
|
---|
1270 | G 3.498(do).15 G .998(nly up to 512 or 1024 elements, depending on ho)111.858
|
---|
1271 | 541.2 R 3.498(wt)-.25 G .999(he shell is compiled, and there is only the)
|
---|
1272 | 330.188 541.2 R(clumsy)72 553.2 Q F1 .223(set -A)2.723 F F0 .223
|
---|
1273 | (to assign a list of v)2.723 F .223(alues sequentially)-.25 F 5.223(.D)-.65 G
|
---|
1274 | .223(espite these limits, arrays are useful, if underutilized)293.31 553.2 R
|
---|
1275 | (by shell programmers.)72 565.2 Q F1 2.5(4.4.4. Builtin)72 589.2 R(Commands)2.5
|
---|
1276 | E F0 .112(Some of the b)97 604.8 R .112(uiltin commands ha)-.2 F .412 -.15
|
---|
1277 | (ve b)-.2 H .112(een e).15 F .112(xtended or are ne)-.15 F 2.612(wi)-.25 G
|
---|
1278 | 2.613(nk)351.402 604.8 S 2.613(sh. The)364.015 604.8 R F1(print)2.613 E F0 -.2
|
---|
1279 | (bu)2.613 G .113(iltin w).2 F .113(as included)-.1 F .242(to w)72 616.8 R .242
|
---|
1280 | (ork around the incompatibilities and limitations of)-.1 F F1(echo)2.741 E F0
|
---|
1281 | 5.241(.T)C(he)328.234 616.8 Q F1(whence)2.741 E F0 .241(command tells what w)
|
---|
1282 | 2.741 F .241(ould hap-)-.1 F .418(pen if each ar)72 628.8 R .418
|
---|
1283 | (gument were typed as a command name.)-.18 F(The)5.418 E F1(cd)2.919 E F0 -.2
|
---|
1284 | (bu)2.919 G .419(iltin has been e).2 F .419(xtended to tak)-.15 F 2.919(eu)-.1
|
---|
1285 | 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
|
---|
1286 | 640.8 Q 1.425(guments: if tw)-.18 F 3.925(oa)-.1 G -.18(rg)153.485 640.8 S
|
---|
1287 | 1.424(uments are supplied, the second is substituted for the \214rst in the cu\
|
---|
1288 | rrent directory).18 F 2.294
|
---|
1289 | (name and the shell changes to the resultant directory name.)72 652.8 R 2.295
|
---|
1290 | (The ksh)7.294 F F1(trap)4.795 E F0 -.2(bu)4.795 G 2.295(iltin accepts).2 F F1
|
---|
1291 | (ERR)4.795 E F0(and)4.795 E F1(DEB)72 664.8 Q(UG)-.1 E F0 .15(as trap names.)
|
---|
1292 | 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
|
---|
1293 | (cuted when a command f).15 F(ails;)-.1 E F1(DEB)2.65 E(UG)-.1 E F0 .15(is e)
|
---|
1294 | 2.65 F -.15(xe)-.15 G .15(cuted after e).15 F -.15(ve)-.25 G(ry).15 E
|
---|
1295 | (simple command.)72 676.8 Q .05(The bash distrib)97 692.4 R .05
|
---|
1296 | (ution includes shell functions that implement)-.2 F F1(print)2.55 E F0(and)
|
---|
1297 | 2.55 E F1(whence)2.55 E F0 .05(and the e)2.55 F .05(xtensions to)-.15 F F1(cd)
|
---|
1298 | 72 704.4 Q F0(.)A EP
|
---|
1299 | %%Page: 11 11
|
---|
1300 | %%BeginPageSetup
|
---|
1301 | BP
|
---|
1302 | %%EndPageSetup
|
---|
1303 | /F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(1-)288 48 S/F1 10/Times-Bold@0
|
---|
1304 | SF 2.5(4.4.5. Expansion)72 84 R F0 .282(The ksh \214lename generation \()97
|
---|
1305 | 99.6 R/F2 10/Times-Italic@0 SF(globbing)A F0 2.782(\)f)C .282(acilities ha)
|
---|
1306 | 262.45 99.6 R .581 -.15(ve b)-.2 H .281(een e).15 F .281(xtended be)-.15 F .281
|
---|
1307 | (yond their bash and sh coun-)-.15 F 3.68(terparts. In)72 111.6 R 1.181
|
---|
1308 | (this area, ksh can be thought of as)3.681 F F2 -.4(eg)3.681 G -.37(re).4 G(p)
|
---|
1309 | .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
|
---|
1310 | 1.181(sh globbing of)382.406 111.6 R 1.181(fers things lik)-.25 F(e)-.1 E 1.018
|
---|
1311 | (alternation, the ability to match zero or more instances of a pattern, and th\
|
---|
1312 | e ability to match e)72 123.6 R 1.018(xactly one)-.15 F(occurrence of an)72
|
---|
1313 | 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
|
---|
1314 | 2.5(4.4.6. Startup)72 159.6 R(Files)2.5 E F0 .977(Ksh and bash e)97 175.2 R
|
---|
1315 | -.15(xe)-.15 G .977(cute startup \214les dif).15 F(ferently)-.25 E 5.977(.K)
|
---|
1316 | -.65 G .977(sh e)297.879 175.2 R(xpands)-.15 E F1(ENV)3.478 E F0 .978
|
---|
1317 | (and sources the \214le it names for)3.478 F -2.15 -.25(ev e)72 187.2 T 1.85
|
---|
1318 | (ry shell.).25 F 1.85(Bash sources)6.85 F F1($ENV)4.35 E F0 1.85
|
---|
1319 | (only in non-interacti)4.35 F 2.15 -.15(ve s)-.25 H 1.85(hells; interacti).15 F
|
---|
1320 | 2.15 -.15(ve s)-.25 H 1.85(hells source \214x).15 F 1.85(ed \214les, as)-.15 F
|
---|
1321 | -.15(ex)72 199.2 S 1.285(plained in the pre).15 F 1.285(vious section.)-.25 F
|
---|
1322 | 1.285(The POSIX standard has speci\214ed the ksh beha)6.285 F(vior)-.2 E 3.785
|
---|
1323 | (,s)-.4 G 3.785(ob)441.545 199.2 S 1.285(ash acts the)455.33 199.2 R
|
---|
1324 | (same as ksh if started with the)72 211.2 Q F1(\255posix)2.5 E F0(or)2.5 E F1
|
---|
1325 | (\255o posix)2.5 E F0(options.)2.5 E F1 2.5(4.4.7. History)72 235.2 R F0
|
---|
1326 | (Finally)97 250.8 Q 3.372(,t)-.65 G .872(he ksh history implementation dif)
|
---|
1327 | 133.342 250.8 R .871(fers slightly from bash.)-.25 F .871
|
---|
1328 | (Each instance of bash k)5.871 F .871(eeps the)-.1 F .633
|
---|
1329 | (history list in memory and of)72 262.8 R .633(fers options to the)-.25 F F1
|
---|
1330 | (history)3.133 E F0 -.2(bu)3.133 G .634
|
---|
1331 | (iltin to write the list to or read it from a named).2 F 3.216(\214le. Ksh)72
|
---|
1332 | 274.8 R -.1(ke)3.216 G .716
|
---|
1333 | (eps the history in a \214le, which it accesses each time a command is sa).1 F
|
---|
1334 | -.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
|
---|
1335 | (etrie)449.535 274.8 Q -.15(ve)-.25 G 3.215(df).15 G(rom)487.89 274.8 Q .338
|
---|
1336 | (the history)72 286.8 R 5.338(.K)-.65 G .338
|
---|
1337 | (sh history \214les may be shared among dif)129.246 286.8 R .338
|
---|
1338 | (ferent concurrent instances of ksh, which could be a)-.25 F
|
---|
1339 | (bene\214t to the user)72 298.8 Q(.)-.55 E F1 2.5(5. F)72 322.8 R(eatur)-.25 E
|
---|
1340 | (es in Bash-2.0)-.18 E F0 .657(The ne)97 338.4 R .657
|
---|
1341 | (xt release of bash, 2.0, will be a major o)-.15 F -.15(ve)-.15 G 3.157
|
---|
1342 | (rhaul. It).15 F .656(will include man)3.157 F 3.156(yn)-.15 G 1.156 -.25(ew f)
|
---|
1343 | 419.532 338.4 T .656(eatures, for both).25 F .705(programming and interacti)72
|
---|
1344 | 350.4 R 1.005 -.15(ve u)-.25 H 3.205(se. Redundant).15 F -.15(ex)3.205 G .705
|
---|
1345 | (isting functions will be remo).15 F -.15(ve)-.15 G 3.206(d. There).15 F .706
|
---|
1346 | (are se)3.206 F -.15(ve)-.25 G .706(ral cases).15 F 1.34(where bash treats a v)
|
---|
1347 | 72 362.4 R 1.34(ariable specially to enable functionality a)-.25 F -.25(va)-.2
|
---|
1348 | G 1.34(ilable another w).25 F 1.34(ay \()-.1 F F1($nolinks)A F0(vs.)3.84 E F1
|
---|
1349 | 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
|
---|
1350 | (xample\); the special treatment of the v)-.15 E(ariable name will be remo)-.25
|
---|
1351 | E -.15(ve)-.15 G(d.).15 E F1 2.5(5.1. Arrays)72 398.4 R F0 .546(Bash-2.0 will \
|
---|
1352 | include arrays which are a superset of those in ksh, with the size limitations\
|
---|
1353 | remo)97 414 R -.15(ve)-.15 G(d.).15 E(The)72 426 Q F1(declar)3.086 E(e)-.18 E
|
---|
1354 | F0(,)A F1 -.18(re)3.086 G(adonly).18 E F0 3.086(,a)C(nd)174.768 426 Q F1
|
---|
1355 | (export)3.086 E F0 -.2(bu)3.086 G .586
|
---|
1356 | (iltins will accept options to specify arrays, and the).2 F F1 -.18(re)3.085 G
|
---|
1357 | (ad).18 E F0 -.2(bu)3.085 G .585(iltin will).2 F(ha)72 438 Q .81 -.15(ve a)-.2
|
---|
1358 | H 3.01(no).15 G .51(ption to read a list of w)110.99 438 R .51
|
---|
1359 | (ords and assign them directly to an array)-.1 F 5.51(.T)-.65 G .51
|
---|
1360 | (here will also be a ne)386.23 438 R 3.01(wa)-.25 G(rray)487.9 438 Q F2 .262
|
---|
1361 | (compound assignment)72 450 R F0 .262(syntax a)2.762 F -.25(va)-.2 G .262
|
---|
1362 | (ilable for assignment statements and the).25 F F1(declar)2.761 E(e)-.18 E F0
|
---|
1363 | -.2(bu)2.761 G 2.761(iltin. This).2 F(ne)2.761 E 2.761(ws)-.25 G(yntax)481.78
|
---|
1364 | 450 Q .441(has the form)72 462 R F2(name)2.941 E F0(=\()A F2(value1)A F0(...)
|
---|
1365 | 2.941 E F2(valueN)2.941 E F0 .441(\), where each)B F2(value)2.942 E F0 .442
|
---|
1366 | (has the form [)4.608 F F2(subscript)A F0(]=)A F2(string)A F0 5.442(.O)C .442
|
---|
1367 | (nly the)449.776 462 R F2(string)2.942 E F0 1.395(is required.)72 474 R 1.395
|
---|
1368 | (If the optional brack)6.395 F 1.395(ets and)-.1 F F2(subscript)3.894 E F0
|
---|
1369 | 1.394(are included, that inde)3.894 F 3.894(xi)-.15 G 3.894(sa)388.714 474 S
|
---|
1370 | 1.394(ssigned to, otherwise the)400.938 474 R(inde)72 486 Q 3.656(xo)-.15 G
|
---|
1371 | 3.656(ft)102.726 486 S 1.156(he element assigned is the last inde)112.492 486 R
|
---|
1372 | 3.657(xa)-.15 G 1.157(ssigned to by the statement plus one.)272.917 486 R(Inde)
|
---|
1373 | 6.157 E 1.157(xing starts at)-.15 F 2.73(zero. The)72 498 R .23
|
---|
1374 | (same syntax is accepted by)2.73 F F1(declar)2.73 E(e)-.18 E F0 5.229(.I)C(ndi)
|
---|
1375 | 269.159 498 Q .229(vidual array elements may be assigned to using the ksh)-.25
|
---|
1376 | F F2(name)72 510 Q F0([)A F2(subscript)A F0(]=)A F2(value)A F0(.)A F1 2.5
|
---|
1377 | (5.2. Dynamic)72 534 R(Loading)2.5 E F0 .348(On systems that support the)97
|
---|
1378 | 549.6 R F2(dlopen)2.848 E F0 .349(\(3\) library function, bash-2.0 will allo)B
|
---|
1379 | 2.849(wn)-.25 G .849 -.25(ew b)407.504 549.6 T .349(uiltins to be loaded).05 F
|
---|
1380 | .049(into a running shell from a shared object \214le.)72 561.6 R .049(The ne)
|
---|
1381 | 5.049 F 2.549(wb)-.25 G .049(uiltins will ha)298.999 561.6 R .348 -.15(ve a)-.2
|
---|
1382 | H .048(ccess to the rest of the shell f).15 F(acil-)-.1 E .649(ities, b)72
|
---|
1383 | 573.6 R .649(ut programmers will be subject to a fe)-.2 F 3.149(ws)-.25 G .649
|
---|
1384 | (tructural rules.)269.591 573.6 R .65(This will be pro)5.65 F .65
|
---|
1385 | (vided via a ne)-.15 F 3.15(wo)-.25 G .65(ption to)472.51 573.6 R F1(enable)72
|
---|
1386 | 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
|
---|
1387 | .889(xisting b)-.15 F .889(uiltins will change in bash-2.0.)-.2 F .888(As pre)
|
---|
1388 | 5.888 F .888(viously noted,)-.25 F F1(declar)3.388 E(e)-.18 E F0(,)A F1(export)
|
---|
1389 | 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)
|
---|
1390 | 100.153 637.2 Q F1 -.18(re)2.873 G(ad).18 E F0 .373(will accept ne)2.873 F
|
---|
1391 | 2.873(wo)-.25 G .374(ptions to specify arrays.)206.288 637.2 R(The)5.374 E F1
|
---|
1392 | (jobs)2.874 E F0 -.2(bu)2.874 G .374(iltin will be able to list only stopped).2
|
---|
1393 | F .323(or running jobs.)72 649.2 R(The)5.322 E F1(enable)2.822 E F0 .322
|
---|
1394 | (command will tak)2.822 F 2.822(ean)-.1 G -.25(ew)282.84 649.2 S F1<ad73>3.072
|
---|
1395 | E F0 .322(option to restrict its actions to the POSIX.2)2.822 F F2(spe-)2.822 E
|
---|
1396 | (cial)72 661.2 Q F0 -.2(bu)3.14 G(iltins.).2 E F1(Kill)5.64 E F0 .64
|
---|
1397 | (will be able to list signal numbers corresponding to indi)3.14 F .64
|
---|
1398 | (vidual signal names.)-.25 F .64(The read-)5.64 F .703(line library interf)72
|
---|
1399 | 673.2 R(ace,)-.1 E F1(bind)3.203 E F0 3.203(,w)C .703(ill ha)193.032 673.2 R
|
---|
1400 | 1.003 -.15(ve a)-.2 H 3.203(no).15 G .703(ption to remo)243.951 673.2 R 1.003
|
---|
1401 | -.15(ve t)-.15 H .703(he binding for an).15 F 3.203(yk)-.15 G 1.002 -.15(ey s)
|
---|
1402 | 398.032 673.2 T .702(equence \(which is not).15 F
|
---|
1403 | (the same as binding it to self-insert\).)72 685.2 Q .494(There will be tw)97
|
---|
1404 | 700.8 R 2.994(on)-.1 G .994 -.25(ew b)177.196 700.8 T .495
|
---|
1405 | (uiltin commands in bash-2.0.).05 F(The)5.495 E F1(diso)2.995 E(wn)-.1 E F0
|
---|
1406 | .495(command will remo)2.995 F .795 -.15(ve j)-.15 H .495(obs from).15 F(bash')
|
---|
1407 | 72 712.8 Q 3.445(si)-.55 G .945(nternal jobs table when job control is acti)
|
---|
1408 | 103.225 712.8 R -.15(ve)-.25 G 5.945(.A).15 G(diso)303.25 712.8 Q .944
|
---|
1409 | (wned job will not be listed by the jobs com-)-.25 F .666(mand, nor will its e)
|
---|
1410 | 72 724.8 R .666(xit status be reported.)-.15 F(Diso)5.667 E .667
|
---|
1411 | (wned jobs will not be sent a)-.25 F F1(SIGHUP)3.167 E F0 .667
|
---|
1412 | (when an interacti)3.167 F -.15(ve)-.25 G EP
|
---|
1413 | %%Page: 12 12
|
---|
1414 | %%BeginPageSetup
|
---|
1415 | BP
|
---|
1416 | %%EndPageSetup
|
---|
1417 | /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
|
---|
1418 | 3.187(xits. Most)-.15 F .687(of the shell')3.187 F 3.187(so)-.55 G .687
|
---|
1419 | (ptional or)205.423 84 R/F1 10/Times-Italic@0 SF(to)3.187 E -.1(gg)-.1 G(led).1
|
---|
1420 | E F0 .687(functionality will be folded into the ne)3.187 F(w)-.25 E/F2 10
|
---|
1421 | /Times-Bold@0 SF(shopt)3.187 E F0 -.2(bu)3.187 G(iltin.).2 E(Man)72 96 Q 3.714
|
---|
1422 | (yo)-.15 G 3.714(ft)103.894 96 S 1.214(he v)113.718 96 R 1.214
|
---|
1423 | (ariables which alter the shell')-.25 F 3.714(sb)-.55 G(eha)266.282 96 Q 1.214
|
---|
1424 | (vior when set \(re)-.2 F -.05(ga)-.15 G 1.214(rdless of their v).05 F 1.215
|
---|
1425 | (alue\) will be made)-.25 F 6(options settable with)72 108 R F2(shopt)8.5 E F0
|
---|
1426 | 11(.E)C 6(xamples of such v)218.23 108 R 6(ariables include)-.25 F F2(allo)8.5
|
---|
1427 | E(w_null_glob_expansion)-.1 E F0(,)A F2(glob_dot_\214lenames)72 120 Q F0 2.5
|
---|
1428 | (,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
|
---|
1429 | R(ariables and V)-.92 E(ariable Expansion)-.92 E F0 .047
|
---|
1430 | (Bash-2.0 will implement se)97 159.6 R -.15(ve)-.25 G .048(ral ne).15 F 2.548
|
---|
1431 | (wv)-.25 G .048(ariable e)252.988 159.6 R 2.548(xpansions. These)-.15 F .048
|
---|
1432 | (will answer se)2.548 F -.15(ve)-.25 G .048(ral of the most per).15 F(-)-.2 E
|
---|
1433 | .213(sistant requests for ne)72 171.6 R 2.713(wf)-.25 G 2.713(eatures. It)
|
---|
1434 | 172.582 171.6 R .213(will be possible to `)2.713 F .212(`indirectly reference')
|
---|
1435 | -.74 F 2.712('av)-.74 G .212(ariable with an e)398.534 171.6 R(xpansion,)-.15 E
|
---|
1436 | (lik)72 183.6 Q 3.01(eu)-.1 G(sing)94.91 183.6 Q/F3 10/Courier@0 SF .51
|
---|
1437 | (eval \\$${name})3.01 F F0 .51(to reference a v)3.01 F .51(ariable named by)
|
---|
1438 | -.25 F F3(${name})3.01 E F0 5.51(.E)C .51(xpansions will be a)394.32 183.6 R
|
---|
1439 | -.25(va)-.2 G(ilable).25 E .462(to retrie)72 195.6 R .762 -.15(ve s)-.25 H .462
|
---|
1440 | (ubstrings of v).15 F .461(ariables in an)-.25 F F1(awk)2.961 E F0(-lik)A 2.961
|
---|
1441 | (em)-.1 G .461(anner: starting at a speci\214c inde)277.692 195.6 R .461
|
---|
1442 | (x, retrie)-.15 F .461(ving some num-)-.25 F .941
|
---|
1443 | (ber of characters or the rest of the string.)72 207.6 R .941
|
---|
1444 | (It will be possible to retrie)5.941 F 1.241 -.15(ve s)-.25 H .941
|
---|
1445 | (equences of array elements lik).15 F(e)-.1 E .354(this, too.)72 219.6 R .354
|
---|
1446 | (It w)5.354 F .354(ould be nice to ha)-.1 F .654 -.15(ve a w)-.2 H .354
|
---|
1447 | (ay to replace portions of a v).05 F .353
|
---|
1448 | (ariable matching a pattern the same w)-.25 F(ay)-.1 E(leading or trailing sub\
|
---|
1449 | strings are presently stripped; that capability may be a)72 231.6 Q -.25(va)-.2
|
---|
1450 | G(ilable.).25 E .453(Another ne)97 247.2 R 2.953(we)-.25 G .453
|
---|
1451 | (xpansion will pro)156.376 247.2 R .453(vide a w)-.15 F .454
|
---|
1452 | (ay to create strings containing arbitrary characters, which is)-.1 F(incon)72
|
---|
1453 | 259.2 Q -.15(ve)-.4 G 1.636(nient in the current v).15 F 4.136(ersion. W)-.15 F
|
---|
1454 | 1.635(ords of the form $')-.8 F F1(string)A F0 4.135('w)C 1.635(ill e)355.145
|
---|
1455 | 259.2 R 1.635(xpand to)-.15 F F1(string)4.135 E F0 1.635(with backslash-)4.135
|
---|
1456 | F 1.231(escaped characters in)72 271.2 R F1(string)3.731 E F0 1.231
|
---|
1457 | (replaced as speci\214ed by the ANSI C standard.)3.731 F 1.232
|
---|
1458 | (As with other single-quoted)6.232 F
|
---|
1459 | (shell strings, the only character that may not appear in)72 283.2 Q F1(string)
|
---|
1460 | 2.5 E F0(is a single quote.)2.5 E 1.436(The shell v)97 298.8 R 1.436
|
---|
1461 | (ariables will change also.)-.25 F 3.936(An)6.436 G 1.936 -.25(ew va)272.052
|
---|
1462 | 298.8 T(riable).25 E F2(HISTIGNORE)3.936 E F0 1.435(will supersede)3.936 F F2
|
---|
1463 | (HISTCON-)3.935 E(TR)72 310.8 Q(OL)-.3 E F0(.)A F2(HISTIGNORE)5.327 E F0 .327
|
---|
1464 | (is the history analogy of)2.827 F F2(FIGNORE)2.828 E F0 2.828(:ac)C .328
|
---|
1465 | (olon-separated list of patterns specifying)339.938 310.8 R 1.082
|
---|
1466 | (commands to omit from the history list.)72 322.8 R 1.081
|
---|
1467 | (The special pattern '&' will match the pre)6.081 F 1.081
|
---|
1468 | (vious history line, to)-.25 F(pro)72 334.8 Q 1.568(vide the)-.15 F F2
|
---|
1469 | (HISTCONTR)4.068 E(OL)-.3 E F1(ignor)4.068 E(edups)-.37 E F0(beha)5.734 E(vior)
|
---|
1470 | -.2 E 6.568(.M)-.55 G(an)303.546 334.8 Q 4.069(yv)-.15 G 1.569
|
---|
1471 | (ariables which modify the shell')326.655 334.8 R 4.069(sb)-.55 G(eha)474.21
|
---|
1472 | 334.8 Q(vior)-.2 E .395(will lose their special meaning.)72 346.8 R -1.11(Va)
|
---|
1473 | 5.395 G .395(riables such as)1.11 F F2(notify)2.895 E F0(and)2.895 E F2(noclob)
|
---|
1474 | 2.895 E(ber)-.1 E F0 .395(which pro)2.895 F .395(vide functionality a)-.15 F
|
---|
1475 | -.25(va)-.2 G(il-).25 E .931
|
---|
1476 | (able via other mechanisms will no longer be treated specially)72 358.8 R 5.931
|
---|
1477 | (.O)-.65 G .931(ther v)340.06 358.8 R .932(ariables will be folded into)-.25 F
|
---|
1478 | F2(shopt)3.432 E F0(.)A(The)72 370.8 Q F2(history_contr)5.519 E(ol)-.18 E F0
|
---|
1479 | (and)5.519 E F2(hostname_completion_\214le)5.519 E F0 -.25(va)5.519 G 3.019
|
---|
1480 | (riables, superseded by).25 F F2(HISTCONTR)5.518 E(OL)-.3 E F0(and)5.518 E F2
|
---|
1481 | (HOSTFILE)72 382.8 Q F0(respecti)2.5 E -.15(ve)-.25 G(ly).15 E 2.5(,w)-.65 G
|
---|
1482 | (ill be remo)185.12 382.8 Q -.15(ve)-.15 G(d.).15 E F2 2.5(5.5. Readline)72
|
---|
1483 | 406.8 R F0(Naturally)97 422.4 Q 2.94(,t)-.65 G .44(here will be impro)142.34
|
---|
1484 | 422.4 R -.15(ve)-.15 G .441(ments to readline as well.).15 F .441
|
---|
1485 | (All of the POSIX.2)5.441 F F1(vi)2.941 E F0 .441(-mode editing com-)B .33
|
---|
1486 | (mands will be implemented; missing commands lik)72 434.4 R 2.829(e`)-.1 G .329
|
---|
1487 | (m' to sa)290.599 434.4 R .629 -.15(ve t)-.2 H .329
|
---|
1488 | (he current cursor position \().15 F F1(mark)A F0 2.829(\)a)C .329(nd the)
|
---|
1489 | 478.951 434.4 R .36(`@' command for macro e)72 446.4 R .36(xpansion will be a)
|
---|
1490 | -.15 F -.25(va)-.2 G 2.861(ilable. The).25 F .361
|
---|
1491 | (ability to set the mark and e)2.861 F .361(xchange the current)-.15 F .764
|
---|
1492 | (cursor position \()72 458.4 R F1(point)A F0 3.264(\)a)C .764
|
---|
1493 | (nd mark will be added to the readline emacs mode as well.)170.672 458.4 R .763
|
---|
1494 | (Since there are com-)5.764 F .196
|
---|
1495 | (mands to set the mark, commands to manipulate the re)72 470.4 R .197
|
---|
1496 | (gion \(the characters between the point and the mark\))-.15 F .111(will be a)
|
---|
1497 | 72 482.4 R -.25(va)-.2 G 2.611(ilable. Commands).25 F(ha)2.611 E .411 -.15
|
---|
1498 | (ve b)-.2 H .11
|
---|
1499 | (een added to the readline emacs mode for more complete ksh compati-).15 F
|
---|
1500 | (bility)72 494.4 Q 2.5(,s)-.65 G(uch as the C-])101.36 494.4 Q F1(c)A F0
|
---|
1501 | (character search command.)2.5 E F2 2.5(5.6. Con\214guration)72 518.4 R F0 .318
|
---|
1502 | (Bash w)97 534 R .318
|
---|
1503 | (as the \214rst GNU program to completely autocon\214gure.)-.1 F .319
|
---|
1504 | (Its autocon\214guration mechanism pre-)5.319 F(dates)72 546 Q F1(autoconf)4.07
|
---|
1505 | E F0 4.07(,t)C 1.569
|
---|
1506 | (he current GNU con\214guration program, and needs updating.)140.97 546 R 1.569
|
---|
1507 | (Bash-2.0 may include an)6.569 F .603
|
---|
1508 | (autoconf-based con\214guration script, if necessary ne)72 558 R 3.103(wf)-.25
|
---|
1509 | G .603(unctionality can be added to autoconf, or its limita-)294.476 558 R
|
---|
1510 | (tions bypassed.)72 570 Q F2 2.5(5.7. Miscellaneous)72 594 R F0 1.632
|
---|
1511 | (The POSIX mode will be impro)97 609.6 R -.15(ve)-.15 G 4.131(di).15 G 4.131
|
---|
1512 | (nb)254.26 609.6 S 1.631(ash-2.0; it will pro)268.391 609.6 R 1.631
|
---|
1513 | (vide a more complete superset of the)-.15 F(POSIX standard.)72 621.6 Q -.15
|
---|
1514 | (Fo)5 G 2.5(rt).15 G(he \214rst time, bash will recognize the e)163.79 621.6 Q
|
---|
1515 | (xistance of the POSIX.2)-.15 E F1(special)2.5 E F0 -.2(bu)2.5 G(iltins.).2 E
|
---|
1516 | 2.627(An)97 637.2 S .627 -.25(ew t)111.847 637.2 T .127(rap v).25 F(alue,)-.25
|
---|
1517 | E F2(DEB)2.627 E(UG)-.1 E F0 2.627(,w)C .128(ill be present, as in ksh.)218.405
|
---|
1518 | 637.2 R .128(Commands speci\214ed with a)5.128 F F2(DEB)2.628 E(UG)-.1 E F0
|
---|
1519 | .128(trap will)2.628 F 1.908(be e)72 649.2 R -.15(xe)-.15 G 1.908
|
---|
1520 | (cuted after e).15 F -.15(ve)-.25 G 1.908(ry simple command.).15 F 1.908
|
---|
1521 | (Since this mak)6.908 F 1.908(es shell script deb)-.1 F 1.908
|
---|
1522 | (uggers possible, I hope to)-.2 F(include a bash deb)72 661.2 Q
|
---|
1523 | (ugger in the bash-2.0 release.)-.2 E F2 2.5(6. A)72 685.2 R -.1(va)-1 G
|
---|
1524 | (ilability).1 E F0 5.997(The current v)97 700.8 R 5.997(ersion of bash is a)
|
---|
1525 | -.15 F -.25(va)-.2 G 5.998(ilable for anon).25 F 5.998
|
---|
1526 | (ymous FTP from prep.ai.mit.edu as)-.15 F F1(/pub/gnu/bash-1.14.2.tar)72 712.8
|
---|
1527 | Q(.gz)-1.11 E F0(.)1.666 E EP
|
---|
1528 | %%Page: 13 13
|
---|
1529 | %%BeginPageSetup
|
---|
1530 | BP
|
---|
1531 | %%EndPageSetup
|
---|
1532 | /F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(3-)288 48 S/F1 10/Times-Bold@0
|
---|
1533 | SF 2.5(7. Conclusion)72 84 R F0 .755(This paper has presented an o)97 99.6 R
|
---|
1534 | -.15(ve)-.15 G(rvie).15 E 3.255(wo)-.25 G 3.255(fb)259.27 99.6 S .755
|
---|
1535 | (ash, compared its features with those of other shells, and)270.855 99.6 R
|
---|
1536 | (hinted at features in the ne)72 111.6 Q(xt release, bash-2.0.)-.15 E .483
|
---|
1537 | (Bash is a solid replacement for sh.)97 127.2 R .483(It is suf)5.483 F .483
|
---|
1538 | (\214ciently portable to run on nearly e)-.25 F -.15(ve)-.25 G .484(ry v).15 F
|
---|
1539 | .484(ersion of)-.15 F/F2 9/Times-Roman@0 SF(UNIX)2.984 E F0 .514
|
---|
1540 | (from 4.3 BSD to SVR4.2, and se)72 139.2 R -.15(ve)-.25 G(ral).15 E F2(UNIX)
|
---|
1541 | 3.013 E F0 -.1(wo)3.013 G(rkalik).1 E .513(es, and rob)-.1 F .513
|
---|
1542 | (ust enough to replace sh on most of those)-.2 F .771(systems, It is v)72 151.2
|
---|
1543 | R .771(ery close to POSIX.2-conformant in POSIX mode, and is getting f)-.15 F
|
---|
1544 | (aster)-.1 E 5.771(.I)-.55 G 3.272(ti)436.684 151.2 S 3.272(sn)445.516 151.2 S
|
---|
1545 | .772(ot, unfortu-)457.678 151.2 R(nately)72 163.2 Q 2.663(,g)-.65 G .163
|
---|
1546 | (etting smaller)105.953 163.2 R 2.663(,b)-.4 G .163(ut there are man)170.399
|
---|
1547 | 163.2 R 2.663(yo)-.15 G .163(ptional features.)248.101 163.2 R .163(It is v)
|
---|
1548 | 5.163 F .162(ery easy to b)-.15 F .162(uild a small subset to use as)-.2 F 2.5
|
---|
1549 | (ad)72 175.2 S(irect replacement for /bin/sh.)83.94 175.2 Q .909
|
---|
1550 | (Bash has thousands of users w)97 190.8 R .909(orldwide, all of whom ha)-.1 F
|
---|
1551 | 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
|
---|
1552 | S(etter)420.53 190.8 Q 5.91(.A)-.55 G .91(nother testa-)453.38 190.8 R
|
---|
1553 | (ment to the bene\214ts of free softw)72 202.8 Q(are.)-.1 E F1 2.5(8. Refer)72
|
---|
1554 | 226.8 R(ences)-.18 E F0 .432([1] S. R. Bourne, `)72 242.4 R .432(`UNIX T)-.74 F
|
---|
1555 | .432(ime-Sharing System:)-.35 F .431(The UNIX Shell')5.431 F(',)-.74 E/F3 10
|
---|
1556 | /Times-Italic@0 SF .431(Bell System T)2.931 F(ec)-.92 E .431(hnical J)-.15 F
|
---|
1557 | (ournal)-.25 E F0 2.931(,5)C(7\(6\),)484.84 242.4 Q
|
---|
1558 | (July-August, 1978, pp. 1971-1990.)72 254.4 Q .736([2] Morris Bolsk)72 270 R
|
---|
1559 | 3.237(ya)-.15 G .737(nd Da)153.22 270 R .737(vid K)-.2 F(orn,)-.35 E F3 .737
|
---|
1560 | (The K)3.237 F .737(ornShell Command and Pr)-.4 F -.1(og)-.45 G -.15(ra).1 G
|
---|
1561 | .737(mming Langua).15 F -.1(ge)-.1 G F0 3.237(,P).1 G .737(rentice Hall,)
|
---|
1562 | 453.833 270 R(1989.)72 282 Q .142([3] Bill Jo)72 297.6 R 1.442 -.65(y, A)-.1 H
|
---|
1563 | 2.642(nI).65 G .141(ntroduction to the C Shell,)140.428 297.6 R F3 .141
|
---|
1564 | (UNIX User')2.641 F 2.641(sS)-.4 G .141(upplementary Documents)309.346 297.6 R
|
---|
1565 | F0 2.641(,U)C(ni)424.328 297.6 Q -.15(ve)-.25 G .141(rsity of Califor).15 F(-)
|
---|
1566 | -.2 E(nia at Berk)72 309.6 Q(ele)-.1 E 1.3 -.65(y, 1)-.15 H(986.).65 E .283
|
---|
1567 | ([4] IEEE,)72 325.2 R F3 .283(IEEE Standar)2.783 F 2.783(df)-.37 G .283
|
---|
1568 | (or Information T)179.692 325.2 R(ec)-.92 E(hnolo)-.15 E .283(gy -- P)-.1 F
|
---|
1569 | .283(ortable Oper)-.8 F .283(ating System Interface \(POSIX\) P)-.15 F(art)-.8
|
---|
1570 | E(2: Shell and Utilities)72 337.2 Q F0 2.5(,1)C(992.)165.06 337.2 Q F1 2.5
|
---|
1571 | (9. A)72 361.2 R(uthor Inf)-.5 E(ormation)-.25 E F0 .937(Chet Rame)97 376.8 R
|
---|
1572 | 3.437(yi)-.15 G 3.437(sas)153.724 376.8 S(oftw)172.818 376.8 Q .936
|
---|
1573 | (are engineer w)-.1 F .936(orking at Case W)-.1 F .936(estern Reserv)-.8 F
|
---|
1574 | 3.436(eU)-.15 G(ni)393.43 376.8 Q -.15(ve)-.25 G(rsity).15 E 5.936(.H)-.65 G
|
---|
1575 | 3.436(eh)443.036 376.8 S .936(as a B.S. in)455.912 376.8 R .072
|
---|
1576 | (Computer Engineering and an M.S. in Computer Science, both from CWR)72 388.8 R
|
---|
1577 | 2.573(U. He)-.4 F .073(has been w)2.573 F .073(orking on bash)-.1 F
|
---|
1578 | (for six years, and the primary maintainer for one.)72 400.8 Q EP
|
---|
1579 | %%Trailer
|
---|
1580 | end
|
---|
1581 | %%EOF
|
---|