This repository was archived by the owner on Nov 20, 2024. It is now read-only.
forked from bminor/bash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharticle.ps
1442 lines (1442 loc) · 80 KB
/
article.ps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
%%CreationDate: Tue Oct 22 11:07:52 2013
%%DocumentNeededResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.19 2
%%Pages: 11
%%PageOrder: Ascend
%%DocumentMedia: Default 612 792 0 () ()
%%Orientation: Portrait
%%EndComments
%%BeginDefaults
%%PageMedia: Default
%%EndDefaults
%%BeginProlog
%%BeginResource: procset grops 1.19 2
%!PS-Adobe-3.0 Resource-ProcSet
/setpacking where{
pop
currentpacking
true setpacking
}if
/grops 120 dict dup begin
/SC 32 def
/A/show load def
/B{0 SC 3 -1 roll widthshow}bind def
/C{0 exch ashow}bind def
/D{0 exch 0 SC 5 2 roll awidthshow}bind def
/E{0 rmoveto show}bind def
/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
/G{0 rmoveto 0 exch ashow}bind def
/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/I{0 exch rmoveto show}bind def
/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
/K{0 exch rmoveto 0 exch ashow}bind def
/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/M{rmoveto show}bind def
/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
/O{rmoveto 0 exch ashow}bind def
/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/Q{moveto show}bind def
/R{moveto 0 SC 3 -1 roll widthshow}bind def
/S{moveto 0 exch ashow}bind def
/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
/SF{
findfont exch
[exch dup 0 exch 0 exch neg 0 0]makefont
dup setfont
[exch/setfont cvx]cvx bind def
}bind def
/MF{
findfont
[5 2 roll
0 3 1 roll
neg 0 0]makefont
dup setfont
[exch/setfont cvx]cvx bind def
}bind def
/level0 0 def
/RES 0 def
/PL 0 def
/LS 0 def
/MANUAL{
statusdict begin/manualfeed true store end
}bind def
/PLG{
gsave newpath clippath pathbbox grestore
exch pop add exch pop
}bind def
/BP{
/level0 save def
1 setlinecap
1 setlinejoin
72 RES div dup scale
LS{
90 rotate
}{
0 PL translate
}ifelse
1 -1 scale
}bind def
/EP{
level0 restore
showpage
}def
/DA{
newpath arcn stroke
}bind def
/SN{
transform
.25 sub exch .25 sub exch
round .25 add exch round .25 add exch
itransform
}bind def
/DL{
SN
moveto
SN
lineto stroke
}bind def
/DC{
newpath 0 360 arc closepath
}bind def
/TM matrix def
/DE{
TM currentmatrix pop
translate scale newpath 0 0 .5 0 360 arc closepath
TM setmatrix
}bind def
/RC/rcurveto load def
/RL/rlineto load def
/ST/stroke load def
/MT/moveto load def
/CL/closepath load def
/Fr{
setrgbcolor fill
}bind def
/setcmykcolor where{
pop
/Fk{
setcmykcolor fill
}bind def
}if
/Fg{
setgray fill
}bind def
/FL/fill load def
/LW/setlinewidth load def
/Cr/setrgbcolor load def
/setcmykcolor where{
pop
/Ck/setcmykcolor load def
}if
/Cg/setgray load def
/RE{
findfont
dup maxlength 1 index/FontName known not{1 add}if dict begin
{
1 index/FID ne{def}{pop pop}ifelse
}forall
/Encoding exch def
dup/FontName exch def
currentdict end definefont pop
}bind def
/DEFS 0 def
/EBEGIN{
moveto
DEFS begin
}bind def
/EEND/end load def
/CNT 0 def
/level1 0 def
/PBEGIN{
/level1 save def
translate
div 3 1 roll div exch scale
neg exch neg exch translate
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[]0 setdash
/setstrokeadjust where{
pop
false setstrokeadjust
}if
/setoverprint where{
pop
false setoverprint
}if
newpath
/CNT countdictstack def
userdict begin
/showpage{}def
/setpagedevice{}def
}bind def
/PEND{
countdictstack CNT sub{end}repeat
level1 restore
}bind def
end def
/setpacking where{
pop
setpacking
}if
%%EndResource
%%EndProlog
%%BeginSetup
%%BeginFeature: *PageSize Default
<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
%%EndFeature
%%IncludeResource: font Times-Bold
%%IncludeResource: font Times-Italic
%%IncludeResource: font Times-Roman
%%IncludeResource: font Courier
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
/Courier@0 ENC0/Courier RE/Times-Roman@0 ENC0/Times-Roman RE
/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
BP
%%EndPageSetup
/F0 12/Times-Bold@0 SF(Bash \255 The GNU shell*)227.904 123 Q/F1 10
/Times-Italic@0 SF(Chet Rame)263.85 159 Q(y)-.3 E(Case W)221.72 171 Q
(estern Reserve Univer)-.92 E(sity)-.1 E -.15(ch)250.425 183 S
([email protected]).15 E/F2 10/Times-Bold@0 SF 2.5(1. Intr)72 219 R
(oduction)-.18 E(Bash)97 234.6 Q/F3 10/Times-Roman@0 SF .904
(is the shell, or command language interpreter)3.404 F 3.404(,t)-.4 G
.904(hat will appear in the GNU operating system.)-3.404 F 1.075
(The name is an acron)72 246.6 R 1.075(ym for the \231Bourne-Ag)-.15 F
1.075(ain SHell\232, a pun on Ste)-.05 F 1.375 -.15(ve B)-.25 H 1.075
(ourne, the author of the direct).15 F .206(ancestor of the current)72
258.6 R/F4 8/Times-Roman@0 SF(UNIX)2.706 E F3 2.706<ae73>C(hell)-2.706 E
F1(/bin/sh)2.706 E F3 2.706(,w)C .205(hich appeared in the Se)-2.706 F
-.15(ve)-.25 G .205(nth Edition Bell Labs Research v).15 F(er)-.15 E(-)
-.2 E(sion of)72 270.6 Q/F5 9/Times-Roman@0 SF(UNIX)2.5 E F3(.)A .387
(Bash is an)97 286.2 R F2(sh)2.887 E F3 .387
(\255compatible shell that incorporates useful features from the K)B
.388(orn shell \()-.35 F F2(ksh)A F3 2.888(\)a)C .388(nd the C)-2.888 F
.023(shell \()72 298.2 R F2(csh)A F3 .023
(\), described later in this article.)B .022
(It is ultimately intended to be a conformant implementation of the)
5.022 F 3.568(IEEE POSIX Shell and Utilities speci\214cation \(IEEE W)72
310.2 R 3.568(orking Group 1003.2\).)-.8 F 3.569(It of)8.569 F 3.569
(fers functional)-.25 F(impro)72 322.2 Q -.15(ve)-.15 G(ments o).15 E
-.15(ve)-.15 G 2.5(rs).15 G 2.5(hf)-2.5 G(or both interacti)-2.5 E .3
-.15(ve a)-.25 H(nd programming use.).15 E .697
(While the GNU operating system will most lik)97 337.8 R .697
(ely include a v)-.1 F .697(ersion of the Berk)-.15 F(ele)-.1 E 3.197
(ys)-.15 G .696(hell csh, Bash)-3.197 F .015(will be the def)72 349.8 R
.015(ault shell.)-.1 F(Lik)5.015 E 2.515(eo)-.1 G .015(ther GNU softw)
-2.515 F .016(are, Bash is quite portable.)-.1 F .016
(It currently runs on nearly e)5.016 F -.15(ve)-.25 G(ry).15 E -.15(ve)
72 361.8 S .523(rsion of).15 F F4(UNIX)3.023 E F3 .523(and a fe)3.023 F
3.023(wo)-.25 G .523
(ther operating systems \255 an independently-supported port e)-3.023 F
.523(xists for OS/2, and)-.15 F .706
(there are rumors of ports to DOS and W)72 373.8 R(indo)-.4 E .706
(ws NT)-.25 F 5.706(.P)-.74 G .706(orts to)-5.706 F F5(UNIX)3.206 E F3
(-lik)A 3.206(es)-.1 G .706(ystems such as QNX and Minix)-3.206 F
(are part of the distrib)72 385.8 Q(ution.)-.2 E .405
(The original author of Bash w)97 401.4 R .405(as Brian F)-.1 F .405
(ox, an emplo)-.15 F .405(yee of the Free Softw)-.1 F .405(are F)-.1 F
2.905(oundation. The)-.15 F(cur)2.905 E(-)-.2 E(rent de)72 413.4 Q -.15
(ve)-.25 G(loper and maintainer is Chet Rame).15 E 1.3 -.65(y, a v)-.15
H(olunteer who w).45 E(orks at Case W)-.1 E(estern Reserv)-.8 E 2.5(eU)
-.15 G(ni)-2.5 E -.15(ve)-.25 G(rsity).15 E(.)-.65 E F2 2.5(2. What')72
437.4 R 2.5(sP)-.37 G(OSIX, anyway?)-2.5 E F1(POSIX)97 453 Q F3 .343
(is a name originally coined by Richard Stallman for a f)2.843 F .343
(amily of open system standards based)-.1 F(on)72 465 Q F5(UNIX)3.24 E
F3 5.74(.T)C .74(here are a number of aspects of)-5.74 F F5(UNIX)3.24 E
F3 .74(under consideration for standardization, from the basic)3.24 F
.192(system services at the system call and C library le)72 477 R -.15
(ve)-.25 G 2.692(lt).15 G 2.692(oa)-2.692 G .192
(pplications and tools to system administration and)-2.692 F 2.5
(management. Each)72 489 R(area of standardization is assigned to a w)
2.5 E(orking group in the 1003 series.)-.1 E 2.814
(The POSIX Shell and Utilities standard has been de)97 504.6 R -.15(ve)
-.25 G 2.814(loped by IEEE W).15 F 2.813(orking Group 1003.2)-.8 F .254
(\(POSIX.2\).\210 It concentrates on the command interpreter interf)72
516.6 R .253(ace and utility programs commonly e)-.1 F -.15(xe)-.15 G
(cuted).15 E 1.112(from the command line or by other programs.)72 528.6
R 1.112(An initial v)6.112 F 1.113
(ersion of the standard has been appro)-.15 F -.15(ve)-.15 G 3.613(da)
.15 G(nd)-3.613 E .365(published by the IEEE, and w)72 540.6 R .365
(ork is currently underw)-.1 F .365(ay to update it.)-.1 F .365
(There are four primary areas of w)5.365 F(ork)-.1 E
(in the 1003.2 standard:)72 552.6 Q 21.5<8341>72 568.2 S .835
(spects of the shell')-21.5 F 3.335(ss)-.55 G .835
(yntax and command language.)-3.335 F 3.335(An)5.835 G .835
(umber of special b)-3.335 F .835(uiltins such as)-.2 F F2(cd)3.335 E F3
(and)3.335 E F2(exec)97 580.2 Q F3 .545(are being speci\214ed as part o\
f the shell, since their functionality usually cannot be implemented)
3.046 F(by a separate e)97 592.2 Q -.15(xe)-.15 G(cutable;).15 E 21.5
<8341>72 607.8 S .926
(set of utilities to be called by shell scripts and applications.)
-18.074 F .927(Examples are programs lik)5.927 F(e)-.1 E F1 .927
(sed, tr)3.427 F(,)-1.11 E F3(and)97 619.8 Q F1(awk.)2.797 E F3 .297
(Utilities commonly implemented as shell b)5.297 F .296
(uiltins are described in this section, such as)-.2 F F2(test)2.796 E F3
(and)97 631.8 Q F2(kill)3.422 E F3 5.922(.A)C 3.422(ne)-5.922 G .922
(xpansion of this section')-3.572 F 3.423(ss)-.55 G .923
(cope, termed the User Portability Extension, or UPE, has)-3.423 F
(standardized interacti)97 643.8 Q .3 -.15(ve p)-.25 H(rograms such as)
.15 E F1(vi)2.5 E F3(and)2.5 E F1(mailx;)2.5 E F3 21.5<8341>72 659.4 S
.288(group of functional interf)-18.712 F .287(aces to services pro)-.1
F .287(vided by the shell, such as the traditional)-.15 F/F6 10
/Courier@0 SF(system\(\))2.787 E F3 3.289(Cl)97 671.4 S .789
(ibrary function.)-3.289 F .789(There are functions to perform shell w)
5.789 F .789(ord e)-.1 F .79(xpansions, perform \214lename e)-.15 F
(xpan-)-.15 E 3.624(sion \()97 683.4 R F1(globbing)A F3 3.624
(\), obtain v)B 3.624(alues of POSIX.2 system con\214guration v)-.25 F
3.623(ariables, retrie)-.25 F 3.923 -.15(ve v)-.25 H 3.623(alues of)-.1
F .32 LW 144 691.4 72 691.4 DL F4(*An earlier v)72 703.2 Q
(ersion of this article appeared in The Linux Journal.)-.12 E(\210IEEE,)
72 715 Q/F7 8/Times-Italic@0 SF 1.231(IEEE Standar)3.231 F 3.231(df)
-.296 G 1.231(or Information T)-3.231 F(ec)-.736 E(hnolo)-.12 E 1.231
(gy -- P)-.08 F 1.231(ortable Oper)-.64 F 1.232
(ating System Interface \(POSIX\) P)-.12 F 1.232(art 2:)-.64 F
(Shell and Utilities)72 725 Q F4 2(,1)C(992.)-2 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-2-)282.17 48 Q(en)97 84 Q(vironment v)-.4 E
(ariables \()-.25 E/F1 10/Courier@0 SF(getenv\(\))A F0
(\), and other services;).833 E 21.5<8341>72 99.6 S(suite of \231de)-19
E -.15(ve)-.25 G(lopment\232 utilities such as).15 E/F2 10
/Times-Italic@0 SF(c89)2.5 E F0(\(the POSIX.2 v)2.5 E(ersion of)-.15 E
F2(cc)2.5 E F0(\), and)A F2(yacc.)2.5 E F0 .483
(Bash is concerned with the aspects of the shell')97 115.2 R 2.983(sb)
-.55 G(eha)-2.983 E .484(vior de\214ned by POSIX.2.)-.2 F .484
(The shell command)5.484 F 1.439
(language has of course been standardized, including the basic \215o)72
127.2 R 3.938(wc)-.25 G 1.438(ontrol and program e)-3.938 F -.15(xe)-.15
G 1.438(cution con-).15 F 1.284
(structs, I/O redirection and pipelining, ar)72 139.2 R 1.284
(gument handling, v)-.18 F 1.284(ariable e)-.25 F 1.284
(xpansion, and quoting.)-.15 F(The)6.285 E F2(special)3.785 E F0 -.2(bu)
72 151.2 S .676
(iltins, which must be implemented as part of the shell to pro).2 F .676
(vide the desired functionality)-.15 F 3.176(,a)-.65 G .676
(re speci\214ed)-3.176 F .7(as being part of the shell; e)72 163.2 R .7
(xamples of these are)-.15 F/F3 10/Times-Bold@0 SF -2.3 -.15(ev a)3.201
H(l).15 E F0(and)3.201 E F3(export)3.201 E F0 5.701(.O)C .701
(ther utilities appear in the sections of)-5.701 F .256(POSIX.2 not de)
72 175.2 R -.2(vo)-.25 G .256(ted to the shell which are commonly \(and\
in some cases must be\) implemented as b).2 F(uiltin)-.2 E .213
(commands, such as)72 187.2 R F3 -.18(re)2.713 G(ad).18 E F0(and)2.713 E
F3(test)2.713 E F0 5.213(.P)C .213
(OSIX.2 also speci\214es aspects of the shell')-5.213 F 2.713(si)-.55 G
(nteracti)-2.713 E .513 -.15(ve b)-.25 H(eha).15 E .214(vior as part)-.2
F .598(of the UPE, including job control and command line editing.)72
199.2 R .598(Interestingly enough, only)5.598 F F2(vi)3.098 E F0 .598
(-style line edit-)B(ing commands ha)72 211.2 Q .3 -.15(ve b)-.2 H
(een standardized;).15 E F2(emacs)2.5 E F0
(editing commands were left out due to objections.)2.5 E 1.128
(While POSIX.2 includes much of what the shell has traditionally pro)97
226.8 R 1.129(vided, some important things)-.15 F(ha)72 238.8 Q .344
-.15(ve b)-.2 H .044(een omitted as being \231be).15 F .044
(yond its scope.)-.15 F 5.043<9a54>-.7 G .043
(here is, for instance, no mention of a dif)-5.043 F .043
(ference between a)-.25 F F2(lo)72 250.8 Q(gin)-.1 E F0 1.445
(shell and an)3.945 F 3.945(yo)-.15 G 1.445(ther interacti)-3.945 F
1.745 -.15(ve s)-.25 H 1.446
(hell \(since POSIX.2 does not specify a login program\).).15 F 1.446
(No \214x)6.446 F(ed)-.15 E(startup \214les are de\214ned, either \255 \
the standard does not mention)72 262.8 Q F2(.pr)2.5 E(o\214le)-.45 E F0
(.)A F3 2.5(3. Basic)72 286.8 R(Bash featur)2.5 E(es)-.18 E F0 1.448
(Since the Bourne shell pro)97 302.4 R 1.448
(vides Bash with most of its philosophical underpinnings, Bash inherits)
-.15 F .64(most of its features and functionality from sh.)72 314.4 R
.641(Bash implements all of the traditional sh \215o)5.641 F 3.141(wc)
-.25 G .641(ontrol con-)-3.141 F .8(structs \()72 326.4 R F2(for)A F0(,)
A F2(if)3.3 E F0(,)A F2(while)3.3 E F0 3.3(,e)C 3.3(tc.\). All)-3.3 F
.799(of the Bourne shell b)3.3 F .799
(uiltins, including those not speci\214ed in the POSIX.2)-.2 F .536
(standard, appear in Bash.)72 338.4 R(Shell)5.536 E F2(functions)3.036 E
F0 3.036(,i)C .536(ntroduced in the SVR2 v)-3.036 F .537
(ersion of the Bourne shell, are similar)-.15 F .779
(to shell scripts, b)72 350.4 R .779
(ut are de\214ned using a special syntax and are e)-.2 F -.15(xe)-.15 G
.779(cuted in the same process as the calling).15 F 2.841(shell. Bash)72
362.4 R .341(has shell functions which beha)2.841 F .641 -.15(ve i)-.2 H
2.841(naf).15 G .341(ashion upw)-2.941 F .342
(ard-compatible with sh functions.)-.1 F .342(There are)5.342 F 1.447
(certain shell v)72 374.4 R 1.446
(ariables that Bash interprets in the same w)-.25 F 1.446
(ay as sh, such as)-.1 F F3(PS1)3.946 E F0(,)A F3(IFS)3.946 E F0 3.946
(,a)C(nd)-3.946 E F3 -.74(PA)3.946 G(TH)-.21 E F0 6.446(.B)C(ash)-6.446
E 1.423(implements essentially the same grammar)72 386.4 R 3.924(,p)-.4
G 1.424(arameter and v)-3.924 F 1.424(ariable e)-.25 F 1.424
(xpansion semantics, redirection, and)-.15 F 1.06
(quoting as the Bourne shell.)72 398.4 R 1.06(Where dif)6.06 F 1.06
(ferences appear between the POSIX.2 standard and traditional sh)-.25 F
(beha)72 410.4 Q(vior)-.2 E 2.5(,B)-.4 G(ash follo)-2.5 E(ws POSIX.)-.25
E 1.608(The K)97 426 R 1.608(orn Shell \()-.35 F F3(ksh)A F0 4.108(\)i)C
4.108(sad)-4.108 G 1.608(escendant of the Bourne shell written at A)
-4.108 F 1.609(T&T Bell Laboratories by)-1.11 F(Da)72 438 Q 1.059(vid K)
-.2 F 3.559(orn\207. It)-.35 F(pro)3.559 E 1.059
(vides a number of useful features that POSIX and Bash ha)-.15 F 1.359
-.15(ve a)-.2 H 3.558(dopted. Man).15 F 3.558(yo)-.15 G 3.558(ft)-3.558
G(he)-3.558 E(interacti)72 450 Q 1.312 -.15(ve f)-.25 H 1.012
(acilities in POSIX.2 ha).05 F 1.312 -.15(ve t)-.2 H 1.012
(heir roots in the ksh: for e).15 F 1.013
(xample, the POSIX and ksh job control)-.15 F -.1(fa)72 462 S .513
(cilities are nearly identical. Bash includes features from the K).1 F
.513(orn Shell for both interacti)-.35 F .813 -.15(ve u)-.25 H .513
(se and shell).15 F 3.905(programming. F)72 474 R 1.405
(or programming, Bash pro)-.15 F 1.405(vides v)-.15 F 1.405
(ariables such as)-.25 F F3(RANDOM)3.905 E F0(and)3.905 E F3(REPL)3.905
E(Y)-.92 E F0 3.905(,t)C(he)-3.905 E F3(typeset)3.905 E F0 -.2(bu)72 486
S .398(iltin, the ability to remo).2 F .698 -.15(ve s)-.15 H .398
(ubstrings from v).15 F .398
(ariables based on patterns, and shell arithmetic.)-.25 F F3(RANDOM)
5.397 E F0 -.15(ex)72 498 S .489
(pands to a random number each time it is referenced; assigning a v).15
F .49(alue to)-.25 F F3(RANDOM)2.99 E F0 .49(seeds the random)2.99 F
.055(number generator)72 510 R(.)-.55 E F3(REPL)5.055 E(Y)-.92 E F0 .054
(is the def)2.554 F .054(ault v)-.1 F .054(ariable used by the)-.25 F F3
-.18(re)2.554 G(ad).18 E F0 -.2(bu)2.554 G .054(iltin when no v).2 F
.054(ariable names are sup-)-.25 F .742(plied as ar)72 522 R 3.243
(guments. The)-.18 F F3(typeset)3.243 E F0 -.2(bu)3.243 G .743
(iltin is used to de\214ne v).2 F .743(ariables and gi)-.25 F 1.043 -.15
(ve t)-.25 H .743(hem attrib).15 F .743(utes such as)-.2 F F3 -.18(re)
3.243 G(ad-).18 E(only)72 534 Q F0 5.512(.B)C .512(ash arithmetic allo)
-5.512 F .512(ws the e)-.25 F -.25(va)-.25 G .511(luation of an e).25 F
.511(xpression and the substitution of the result.)-.15 F .511(Shell v)
5.511 F(ari-)-.25 E .222
(ables may be used as operands, and the result of an e)72 546 R .222
(xpression may be assigned to a v)-.15 F 2.722(ariable. Nearly)-.25 F
.222(all of)2.722 F(the operators from the C language are a)72 558 Q
-.25(va)-.2 G(ilable, with the same precedence rules:).25 E F1 6($e)97
576 S(cho $\(\(3 + 5 * 32\)\))-6 E(163)97 588 Q F0 -.15(Fo)72 609.6 S
3.24(ri).15 G(nteracti)-3.24 E 1.04 -.15(ve u)-.25 H .74
(se, Bash implements ksh-style aliases and b).15 F .74(uiltins such as)
-.2 F F3(fc)3.24 E F0 .74(\(discussed belo)3.24 F .74(w\) and)-.25 F F3
(jobs)3.24 E F0(.)A .291(Bash aliases allo)72 621.6 R 2.791(was)-.25 G
.291(tring to be substituted for a command name.)-2.791 F(The)5.291 E
2.791(yc)-.15 G .291(an be used to create a mnemonic)-2.791 F .568
(for a)72 633.6 R/F4 9/Times-Roman@0 SF(UNIX)3.068 E F0 .568
(command name \()3.068 F F1 .568(alias del=rm)B F0 .568(\), to e)B .567
(xpand a single w)-.15 F .567(ord to a comple)-.1 F 3.067(xc)-.15 G .567
(ommand \()-3.067 F F1(alias)A .255
(news='xterm -g 80x45 -title trn -e trn -e -S1 -N &')72 645.6 R F0 .255
(\), or to ensure that a command)B(is in)72 657.6 Q -.2(vo)-.4 G -.1(ke)
.2 G 2.5(dw).1 G(ith a basic set of options \()-2.5 E F1
(alias ls="/bin/ls -F")A F0(\).)A .293(The C shell \()97 673.2 R F3(csh)
A F0 .293(\)\207, originally written by Bill Jo)B 2.792(yw)-.1 G .292
(hile at Berk)-2.792 F(ele)-.1 E 1.592 -.65(y, i)-.15 H 2.792(sw).65 G
.292(idely used and quite popular)-2.792 F 1.499(for its interacti)72
685.2 R 1.799 -.15(ve f)-.25 H 3.999(acilities. Bash).05 F 1.499
(includes a csh-compatible history e)3.999 F 1.5
(xpansion mechanism \(\231! history\232\),)-.15 F .019(brace e)72 697.2
R .018(xpansion, access to a stack of directories via the)-.15 F F3
(pushd)2.518 E F0(,)A F3(popd)2.518 E F0 2.518(,a)C(nd)-2.518 E F3(dirs)
2.518 E F0 -.2(bu)2.518 G .018(iltins, and tilde e).2 F(xpansion,)-.15 E
1.293(to generate users' home directories.)72 709.2 R -.35(Ti)6.294 G
1.294(lde e).35 F 1.294(xpansion has also been adopted by both the K)
-.15 F 1.294(orn Shell and)-.35 F .32 LW 144 717.2 72 717.2 DL/F5 8
/Times-Roman@0 SF(\207Morris Bolsk)72 727.2 Q 2(ya)-.12 G(nd Da)-2 E
(vid K)-.16 E(orn,)-.28 E/F6 8/Times-Italic@0 SF(The K)2 E
(ornShell Command and Pr)-.32 E -.08(og)-.36 G -.12(ra).08 G
(mming Langua).12 E -.08(ge)-.08 G F5 2(,P).08 G(rentice Hall, 1989.)-2
E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-3-)282.17 48 Q(POSIX.2.)72 84 Q .148
(There were certain areas in which POSIX.2 felt standardization w)97
99.6 R .149(as necessary)-.1 F 2.649(,b)-.65 G .149(ut no e)-2.849 F
.149(xisting imple-)-.15 F 1.598(mentation pro)72 111.6 R 1.598
(vided the proper beha)-.15 F(vior)-.2 E 6.598(.T)-.55 G 1.598(he w)
-6.598 F 1.597(orking group in)-.1 F -.15(ve)-.4 G 1.597
(nted and standardized functionality in).15 F .674
(these areas, which Bash implements.)72 123.6 R(The)5.674 E/F1 10
/Times-Bold@0 SF(command)3.174 E F0 -.2(bu)3.174 G .674(iltin w).2 F
.674(as in)-.1 F -.15(ve)-.4 G .674
(nted so that shell functions could be).15 F .996(written to replace b)
72 135.6 R .996(uiltins; it mak)-.2 F .996(es the capabilities of the b)
-.1 F .995(uiltin a)-.2 F -.25(va)-.2 G .995(ilable to the function.).25
F .995(The reserv)5.995 F(ed)-.15 E -.1(wo)72 147.6 S 1.731
(rd \231!\232 w).1 F 1.731(as added to ne)-.1 F -.05(ga)-.15 G 1.731
(te the return v).05 F 1.731(alue of a command or pipeline; it w)-.25 F
1.732(as nearly impossible to)-.1 F -.15(ex)72 159.6 S .286
(press \231if not x\232 cleanly using the sh language.).15 F .286
(There e)5.286 F .286(xist multiple incompatible implementations of the)
-.15 F F1(test)72 171.6 Q F0 -.2(bu)3.163 G .663
(iltin, which tests \214les for type and other attrib).2 F .664
(utes and performs arithmetic and string comparisons.)-.2 F .5
(POSIX considered none of these correct, so the standard beha)72 183.6 R
.5(vior w)-.2 F .5(as speci\214ed in terms of the number of)-.1 F(ar)72
195.6 Q .412(guments to the command.)-.18 F .412(POSIX.2 dictates e)
5.412 F .412(xactly what will happen when four or fe)-.15 F .412(wer ar)
-.25 F .412(guments are)-.18 F(gi)72 207.6 Q -.15(ve)-.25 G 5.01(nt).15
G(o)-5.01 E F1(test)5.01 E F0 5.01(,a)C 2.51(nd lea)-5.01 F -.15(ve)-.2
G 5.01(st).15 G 2.51(he beha)-5.01 F 2.51(vior unde\214ned when more ar)
-.2 F 2.51(guments are supplied.)-.18 F 2.51(Bash uses the)7.51 F
(POSIX.2 algorithm, which w)72 219.6 Q(as concei)-.1 E -.15(ve)-.25 G
2.5(db).15 G 2.5(yD)-2.5 G -.2(av)-2.5 G(id K).2 E(orn.)-.35 E F1 2.5
(3.1. F)72 243.6 R(eatur)-.25 E(es not in the Bour)-.18 E(ne Shell)-.15
E F0 .718(There are a number of minor dif)97 259.2 R .719
(ferences between Bash and the v)-.25 F .719
(ersion of sh present on most other)-.15 F -.15(ve)72 271.2 S .874
(rsions of).15 F/F2 9/Times-Roman@0 SF(UNIX)3.374 E F0 5.873(.T)C .873
(he majority of these are due to the POSIX standard, b)-5.873 F .873
(ut some are the result of Bash)-.2 F .386
(adopting features from other shells.)72 283.2 R -.15(Fo)5.386 G 2.886
(ri).15 G .386(nstance, Bash includes the ne)-2.886 F 2.886<7799>-.25 G
.386(!\232 reserv)-2.886 F .386(ed w)-.15 F .386(ord, the)-.1 F F1
(command)2.886 E F0 -.2(bu)72 295.2 S .116(iltin, the ability of the).2
F F1 -.18(re)2.616 G(ad).18 E F0 -.2(bu)2.615 G .115
(iltin to correctly return a line ending with a backslash, symbolic ar)
.2 F(guments)-.18 E .798(to the)72 307.2 R F1(umask)3.298 E F0 -.2(bu)
3.298 G .798(iltin, v).2 F .798(ariable substring remo)-.25 F -.25(va)
-.15 G .798(l, a w).25 F .799(ay to get the length of a v)-.1 F .799
(ariable, and the ne)-.25 F 3.299(wa)-.25 G(lgo-)-3.299 E(rithm for the)
72 319.2 Q F1(test)2.5 E F0 -.2(bu)2.5 G
(iltin from the POSIX.2 standard, none of which appear in sh.).2 E 1.225
(Bash also implements the \231$\(...\)\232 command substitution syntax,\
which supersedes the sh `...` con-)97 334.8 R 2.851(struct. The)72
346.8 R .351(\231$\(...\)\232 construct e)2.851 F .351(xpands to the ou\
tput of the command contained within the parentheses, with)-.15 F .664
(trailing ne)72 358.8 R .664(wlines remo)-.25 F -.15(ve)-.15 G 3.164
(d. The).15 F .664(sh syntax is accepted for backw)3.164 F .664
(ards compatibility)-.1 F 3.164(,b)-.65 G .664
(ut the \231$\(...\)\232 form is)-3.364 F(preferred because its quoting\
rules are much simpler and it is easier to nest.)72 370.8 Q .772
(The Bourne shell does not pro)97 386.4 R .772
(vide such features as brace e)-.15 F .772
(xpansion, the ability to de\214ne a v)-.15 F(ariable)-.25 E .283
(and a function with the same name, local v)72 398.4 R .282
(ariables in shell functions, the ability to enable and disable indi-)
-.25 F 1.532(vidual b)72 410.4 R 1.532
(uiltins or write a function to replace a b)-.2 F 1.533
(uiltin, or a means to e)-.2 F 1.533(xport a shell function to a child)
-.15 F(process.)72 422.4 Q .32
(Bash has closed a long-standing shell security hole by not using the)97
438 R F1($IFS)2.82 E F0 -.25(va)2.82 G .32(riable to split each w).25 F
(ord)-.1 E 1.254(read by the shell, b)72 450 R 1.254
(ut splitting only the results of e)-.2 F 1.255
(xpansion \(ksh and the 4.4 BSD sh ha)-.15 F 1.555 -.15(ve \214)-.2 H
-.15(xe).15 G 3.755(dt).15 G 1.255(his as)-3.755 F 2.907(well\). Useful)
72 462 R(beha)2.907 E .407(vior such as a means to abort e)-.2 F -.15
(xe)-.15 G .407(cution of a script read with the \231.).15 F 2.906<9a63>
-.7 G .406(ommand using the)-2.906 F F1 -.18(re)72 474 S(tur).18 E(n)
-.15 E F0 -.2(bu)2.742 G .242(iltin or automatically e).2 F .242
(xporting v)-.15 F .243(ariables in the shell')-.25 F 2.743(se)-.55 G
-.4(nv)-2.743 G .243(ironment to children is also not present).4 F .969
(in the Bourne shell.)72 486 R .968(Bash pro)5.968 F .968
(vides a much more po)-.15 F .968(werful en)-.25 F .968
(vironment for both interacti)-.4 F 1.268 -.15(ve u)-.25 H .968
(se and pro-).15 F(gramming.)72 498 Q F1 2.5(4. Bash-speci\214c)72 522 R
-.25(Fe)2.5 G(atur).25 E(es)-.18 E F0 .491(This section details a fe)97
537.6 R 2.991(wo)-.25 G 2.991(ft)-2.991 G .491(he features which mak)
-2.991 F 2.991(eB)-.1 G .491(ash unique.)-2.991 F .492(Most of them pro)
5.491 F .492(vide impro)-.15 F -.15(ve)-.15 G(d).15 E(interacti)72 549.6
Q 1.182 -.15(ve u)-.25 H .882(se, b).15 F .882(ut a fe)-.2 F 3.382(wp)
-.25 G .882(rogramming impro)-3.382 F -.15(ve)-.15 G .882
(ments are present as well.).15 F .882(Full descriptions of these fea-)
5.882 F(tures can be found in the Bash documentation.)72 561.6 Q F1 2.5
(4.1. Startup)72 585.6 R(Files)2.5 E F0 .161(Bash e)97 601.2 R -.15(xe)
-.15 G .161(cutes startup \214les dif).15 F .161
(ferently than other shells.)-.25 F .162(The Bash beha)5.161 F .162
(vior is a compromise between)-.2 F .29
(the csh principle of startup \214les with \214x)72 613.2 R .29
(ed names e)-.15 F -.15(xe)-.15 G .29
(cuted for each shell and the sh \231minimalist\232 beha).15 F(vior)-.2
E(.)-.55 E 2.955(An interacti)72 625.2 R 3.255 -.15(ve i)-.25 H 2.955
(nstance of Bash started as a login shell reads and e).15 F -.15(xe)-.15
G(cutes).15 E/F3 10/Times-Italic@0 SF(~/.bash_pr)5.456 E(o\214le)-.45 E
F0 2.956(\(the \214le)5.456 F .954(.bash_pro\214le in the user')72 637.2
R 3.454(sh)-.55 G .953(ome directory\), if it e)-3.454 F 3.453
(xists. An)-.15 F(interacti)3.453 E 1.253 -.15(ve n)-.25 H .953
(on-login shell reads and e).15 F -.15(xe)-.15 G(cutes).15 E F3
(~/.bashr)72 649.2 Q(c)-.37 E F0 5.641(.A)C(non-interacti)-2.5 E .942
-.15(ve s)-.25 H .642(hell \(one be).15 F .642(gun to e)-.15 F -.15(xe)
-.15 G .642(cute a shell script, for e).15 F .642
(xample\) reads no \214x)-.15 F .642(ed startup)-.15 F .342(\214le, b)72
661.2 R .342(ut uses the v)-.2 F .342(alue of the v)-.25 F(ariable)-.25
E F1($ENV)2.842 E F0 2.841(,i)C 2.841(fs)-2.841 G .341
(et, as the name of a startup \214le.)-2.841 F .341
(The ksh practice of read-)5.341 F(ing)72 673.2 Q F1($ENV)3.114 E F0
.614(for e)3.114 F -.15(ve)-.25 G .614(ry shell, with the accompan).15 F
.615(ying dif)-.15 F .615(\214culty of de\214ning the proper v)-.25 F
.615(ariables and functions)-.25 F .721(for interacti)72 685.2 R 1.021
-.15(ve a)-.25 H .721(nd non-interacti).15 F 1.021 -.15(ve s)-.25 H .721
(hells or ha).15 F .721(ving the \214le read only for interacti)-.2 F
1.02 -.15(ve s)-.25 H .72(hells, w).15 F .72(as considered)-.1 F .158
(too comple)72 697.2 R 2.658(x. Ease)-.15 F .158(of use w)2.658 F .158
(on out here.)-.1 F(Interestingly)5.158 E 2.658(,t)-.65 G .158(he ne)
-2.658 F .159(xt release of ksh will change to reading)-.15 F F1($ENV)
2.659 E .32 LW 144 705.2 72 705.2 DL/F4 8/Times-Roman@0 SF .559
(\207Bill Jo)72 715.2 R 1.599 -.52(y, A)-.08 H 2.559(nI).52 G .559
(ntroduction to the C Shell,)-2.559 F/F5 8/Times-Italic@0 SF .558
(UNIX User')2.558 F 2.558(sS)-.32 G .558(upplementary Documents)-2.558 F
F4 2.558(,U)C(ni)-2.558 E -.12(ve)-.2 G .558(rsity of California at).12
F(Berk)72 725.2 Q(ele)-.08 E 1.04 -.52(y, 1)-.12 H(986.).52 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-4-)282.17 48 Q(only for interacti)72 84 Q .3
-.15(ve s)-.25 H(hells.).15 E/F1 10/Times-Bold@0 SF 2.5(4.2. New)72 108
R(Builtin Commands)2.5 E F0 1.02(There are a fe)97 123.6 R 3.52(wb)-.25
G 1.02(uiltins which are ne)-3.72 F 3.52(wo)-.25 G 3.52(rh)-3.52 G -2.25
-.2(av e)-3.52 H 1.02(been e)3.72 F 1.02(xtended in Bash.)-.15 F(The)
6.02 E F1(enable)3.52 E F0 -.2(bu)3.52 G 1.02(iltin allo).2 F(ws)-.25 E
-.2(bu)72 135.6 S .824(iltin commands to be turned on and of).2 F 3.324
(fa)-.25 G(rbitrarily)-3.324 E 5.824(.T)-.65 G 3.324(ou)-6.624 G .824
(se the v)-3.324 F .824(ersion of)-.15 F/F2 10/Times-Italic@0 SF(ec)
3.324 E(ho)-.15 E F0 .825(found in a user')3.324 F 3.325(ss)-.55 G
(earch)-3.325 E .625(path rather than the Bash b)72 147.6 R(uiltin,)-.2
E/F3 10/Courier@0 SF .625(enable -n echo)3.125 F F0(suf)3.125 E 3.125
(\214ces. The)-.25 F F1(help)3.124 E F0 -.2(bu)3.124 G .624(iltin pro).2
F .624(vides quick synopses)-.15 F .703(of the shell f)72 159.6 R .704
(acilities without requiring access to a manual page.)-.1 F F1(Builtin)
5.704 E F0 .704(is similar to)3.204 F F1(command)3.204 E F0 .704
(in that it)3.204 F .342(bypasses shell functions and directly e)72
171.6 R -.15(xe)-.15 G .342(cutes b).15 F .342(uiltin commands.)-.2 F
.342(Access to a csh-style stack of directories)5.342 F .072(is pro)72
183.6 R .073(vided via the)-.15 F F1(pushd)2.573 E F0(,)A F1(popd)2.573
E F0 2.573(,a)C(nd)-2.573 E F1(dirs)2.573 E F0 -.2(bu)2.573 G(iltins.).2
E F1(Pushd)5.073 E F0(and)2.573 E F1(popd)2.573 E F0 .073
(insert and remo)2.573 F .373 -.15(ve d)-.15 H .073(irectories from the)
.15 F 2.858(stack, respecti)72 195.6 R -.15(ve)-.25 G(ly).15 E 5.358(,a)
-.65 G(nd)-5.358 E F1(dirs)5.358 E F0 2.858(lists the stack contents.)
5.358 F 2.858(On systems that allo)7.858 F 5.358<778c>-.25 G 2.857
(ne-grained control of)-5.358 F 1.339(resources, the)72 207.6 R F1
(ulimit)3.839 E F0 -.2(bu)3.839 G 1.339
(iltin can be used to tune these settings.).2 F F1(Ulimit)6.34 E F0
(allo)3.84 E 1.34(ws a user to control, among)-.25 F 1.086
(other things, whether core dumps are to be generated, ho)72 219.6 R
3.586(wm)-.25 G 1.086(uch memory the shell or a child process is)-3.586
F(allo)72 231.6 Q .496(wed to allocate, and ho)-.25 F 2.996(wl)-.25 G
(ar)-2.996 E .496(ge a \214le created by a child process can gro)-.18 F
4.296 -.65(w. T)-.25 H(he).65 E F1(suspend)2.996 E F0 .497(command will)
2.997 F .744(stop the shell process when job control is acti)72 243.6 R
-.15(ve)-.25 G 3.243(;m).15 G .743(ost other shells do not allo)-3.243 F
3.243(wt)-.25 G(hemselv)-3.243 E .743(es to be stopped)-.15 F(lik)72
255.6 Q 2.717(et)-.1 G(hat.)-2.717 E F1 -.74(Ty)5.217 G(pe,).74 E F0
.217(the Bash answer to)2.717 F F1(which)2.717 E F0(and)2.717 E F1
(whence,)2.717 E F0(sho)2.717 E .218(ws what will happen when a w)-.25 F
.218(ord is typed as a)-.1 F(command:)72 267.6 Q F3 6($t)97 285.6 S
(ype export)-6 E(export is a shell builtin)97 297.6 Q 6($t)97 309.6 S
(ype -t export)-6 E(builtin)97 321.6 Q 6($t)97 333.6 S(ype bash)-6 E
(bash is /bin/bash)97 345.6 Q 6($t)97 357.6 S(ype cd)-6 E
(cd is a function)97 369.6 Q(cd \(\))97 381.6 Q({)97 393.6 Q
(builtin cd ${1+"$@"} && xtitle $HOST: $PWD)121 405.6 Q(})97 417.6 Q F0
-1.11(Va)72 439.2 S .682(rious modes tell what a command w)1.11 F .681
(ord is \(reserv)-.1 F .681(ed w)-.15 F .681(ord, alias, function, b)-.1
F .681(uiltin, or \214le\) or which v)-.2 F(er)-.15 E(-)-.2 E 1.15
(sion of a command will be e)72 451.2 R -.15(xe)-.15 G 1.15
(cuted based on a user').15 F 3.65(ss)-.55 G 1.15(earch path.)-3.65 F
1.15(Some of this functionality has been)6.15 F
(adopted by POSIX.2 and folded into the)72 463.2 Q F1(command)2.5 E F0
(utility)2.5 E(.)-.65 E F1 2.5(4.3. Editing)72 487.2 R(and Completion)
2.5 E F0 .682(One area in which Bash shines is command line editing.)97
502.8 R .682(Bash uses the)5.682 F F2 -.37(re)3.182 G(adline).37 E F0
.681(library to read and)3.181 F .942(edit lines when interacti)72 514.8
R -.15(ve)-.25 G 5.942(.R).15 G .942(eadline is a po)-5.942 F .942
(werful and \215e)-.25 F .942(xible input f)-.15 F .943
(acility that a user can con\214gure to)-.1 F(indi)72 526.8 Q .732
(vidual tastes.)-.25 F .732(It allo)5.732 F .732(ws lines to be edited \
using either emacs or vi commands, where those commands)-.25 F .2
(are appropriate.)72 538.8 R .2
(The full capability of emacs is not present \255 there is no w)5.2 F .2
(ay to e)-.1 F -.15(xe)-.15 G .2(cute a named command).15 F 1.15
(with M-x, for instance \255 b)72 550.8 R 1.15(ut the e)-.2 F 1.149
(xisting commands are more than adequate.)-.15 F 1.149
(The vi mode is compliant)6.149 F
(with the command line editing standardized by POSIX.2.)72 562.8 Q 1.69
(Readline is fully customizable.)97 578.4 R 1.691
(In addition to the basic commands and k)6.69 F 1.991 -.15(ey b)-.1 H
1.691(indings, the library).15 F(allo)72 590.4 Q .028
(ws users to de\214ne additional k)-.25 F .327 -.15(ey b)-.1 H .027
(indings using a startup \214le.).15 F(The)5.027 E F2(inputr)2.527 E(c)
-.37 E F0 .027(\214le, which def)2.527 F .027(aults to the \214le)-.1 F
F2(~/.inputr)72 602.4 Q(c)-.37 E F0 3.002(,i)C 3.002(sr)-3.002 G .503(e\
ad each time readline initializes, permitting users to maintain a consi\
stent interf)-3.002 F .503(ace across a)-.1 F .893(set of programs.)72
614.4 R .893(Readline includes an e)5.893 F .893(xtensible interf)-.15 F
.892(ace, so each program using the library can add its)-.1 F -.25(ow)72
626.4 S 3.56(nb).25 G 1.06(indable commands and program-speci\214c k)
-3.56 F 1.361 -.15(ey b)-.1 H 3.561(indings. Bash).15 F 1.061
(uses this f)3.561 F 1.061(acility to add bindings that)-.1 F
(perform history e)72 638.4 Q(xpansion or shell w)-.15 E(ord e)-.1 E
(xpansions on the current input line.)-.15 E .707
(Readline interprets a number of v)97 654 R .706
(ariables which further tune its beha)-.25 F(vior)-.2 E 5.706(.V)-.55 G
.706(ariables e)-6.816 F .706(xist to control)-.15 F .157
(whether or not eight-bit characters are directly read as input or con)
72 666 R -.15(ve)-.4 G .158(rted to meta-pre\214x).15 F .158(ed k)-.15 F
.458 -.15(ey s)-.1 H .158(equences \(a).15 F(meta-pre\214x)72 678 Q .082
(ed k)-.15 F .382 -.15(ey s)-.1 H .081(equence consists of the characte\
r with the eighth bit zeroed, preceded by the).15 F F2(meta-pr)2.581 E
(e\214x)-.37 E F0(character)72 690 Q 3.233(,u)-.4 G .733
(sually escape, which selects an alternate k)-3.233 F -.15(ey)-.1 G .734
(map\), to decide whether to output characters with).15 F .624
(the eighth bit set directly or as a meta-pre\214x)72 702 R .624(ed k)
-.15 F .924 -.15(ey s)-.1 H .623
(equence, whether or not to wrap to a ne).15 F 3.123(ws)-.25 G .623
(creen line)-3.123 F 1.196
(when a line being edited is longer than the screen width, the k)72 714
R -.15(ey)-.1 G 1.196(map to which subsequent k).15 F 1.496 -.15(ey b)
-.1 H(indings).15 E .531(should apply)72 726 R 3.031(,o)-.65 G 3.031(re)
-3.031 G -.15(ve)-3.281 G 3.031(nw).15 G .531
(hat happens when readline w)-3.031 F .531(ants to ring the terminal')
-.1 F 3.03(sb)-.55 G 3.03(ell. All)-3.03 F .53(of these v)3.03 F
(ariables)-.25 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-5-)282.17 48 Q
(can be set in the inputrc \214le.)72 84 Q .284
(The startup \214le understands a set of C preprocessor)97 99.6 R(-lik)
-.2 E 2.785(ec)-.1 G .285(onditional constructs which allo)-2.785 F
2.785(wv)-.25 G(ariables)-3.035 E .12(or k)72 111.6 R .42 -.15(ey b)-.1
H .119(indings to be assigned based on the application using readline, \
the terminal currently being used, or).15 F .338(the editing mode.)72
123.6 R .338(Users can add program-speci\214c bindings to mak)5.338 F
2.838(et)-.1 G .338(heir li)-2.838 F -.15(ve)-.25 G 2.838(se).15 G 2.838
(asier: I)-2.838 F(ha)2.838 E .639 -.15(ve b)-.2 H .339(indings that).15
F(let me edit the v)72 135.6 Q(alue of)-.25 E/F1 10/Times-Bold@0 SF($P)
2.5 E -.95(AT)-.74 G(H).95 E F0(and double-quote the current or pre)2.5
E(vious w)-.25 E(ord:)-.1 E/F2 10/Courier@0 SF 6(#M)97 153.6 S
(acros that are convenient for shell interaction)-6 E($if Bash)97 165.6
Q 6(#e)97 177.6 S(dit the path)-6 E
("\\C-xp": "PATH=${PATH}\\e\\C-e\\C-a\\ef\\C-f")97 189.6 Q 6(#p)97 201.6
S(repare to type a quoted word -- insert open and close double)-6 E 6
(#q)97 213.6 S(uotes and move to just after the open quote)-6 E
("\\C-x\\"": "\\"\\"\\C-b")97 225.6 Q 6(#Q)97 237.6 S
(uote the current or previous word)-6 E("\\C-xq": "\\eb\\"\\ef\\"")97
249.6 Q($endif)97 261.6 Q F0 .322(There is a readline command to re-rea\
d the \214le, so users can edit the \214le, change some bindings, and b\
e)72 283.2 R(gin)-.15 E(to use them almost immediately)72 295.2 Q(.)-.65
E .518(Bash implements the)97 310.8 R F1(bind)3.018 E F0 -.2(bu)3.018 G
.518(iltin for more dynamic control of readline than the startup \214le\
permits.).2 F F1(Bind)72 322.8 Q F0 .25(is used in se)2.75 F -.15(ve)
-.25 G .25(ral w).15 F 2.75(ays. In)-.1 F/F3 10/Times-Italic@0 SF(list)
2.75 E F0 .25(mode, it can display the current k)2.75 F .55 -.15(ey b)
-.1 H .25(indings, list all the readline edit-).15 F .149(ing directi)72
334.8 R -.15(ve)-.25 G 2.649(sa).15 G -.25(va)-2.849 G .149
(ilable for binding, list which k).25 F -.15(ey)-.1 G 2.649(si).15 G
-1.9 -.4(nv o)-2.649 H .349 -.1(ke a g).4 H -2.15 -.25(iv e).1 H 2.65
(nd).25 G(irecti)-2.65 E -.15(ve)-.25 G 2.65(,o).15 G 2.65(ro)-2.65 G
.15(utput the current set of k)-2.65 F -.15(ey)-.1 G .042(bindings in a\
format that can be incorporated directly into an inputrc \214le.)72
346.8 R(In)5.041 E F3(batc)2.541 E(h)-.15 E F0 .041
(mode, it reads a series of)2.541 F -.1(ke)72 358.8 S 2.858(yb)-.05 G
.359(indings directly from a \214le and passes them to readline.)-2.858
F .359(In its most common usage,)5.359 F F1(bind)2.859 E F0(tak)2.859 E
.359(es a sin-)-.1 F 1.117(gle string and passes it directly to readlin\
e, which interprets the line as if it had just been read from the)72
370.8 R(inputrc \214le.)72 382.8 Q(Both k)5 E .3 -.15(ey b)-.1 H
(indings and v).15 E(ariable assignments may appear in the string gi)
-.25 E -.15(ve)-.25 G 2.5(nt).15 G(o)-2.5 E F1(bind)2.5 E F0(.)A .53
(The readline library also pro)97 398.4 R .53(vides an interf)-.15 F .53
(ace for)-.1 F F3(wor)3.03 E 3.03(dc)-.37 G(ompletion)-3.03 E F0 5.53
(.W)C .53(hen the)-5.53 F F3(completion)3.03 E F0(character)3.03 E 1.261
(\(usually T)72 410.4 R 1.261(AB\) is typed, readline looks at the w)
-.93 F 1.26(ord currently being entered and computes the set of \214le-)
-.1 F .523(names of which the current w)72 422.4 R .523(ord is a v)-.1 F
.523(alid pre\214x.)-.25 F .524
(If there is only one possible completion, the rest of the)5.523 F .358
(characters are inserted directly)72 434.4 R 2.858(,o)-.65 G .358(therw\
ise the common pre\214x of the set of \214lenames is added to the curre\
nt)-2.858 F -.1(wo)72 446.4 S 3.199(rd. A).1 F .699(second T)3.199 F
.699(AB character entered immediately after a non-unique completion cau\
ses readline to list)-.93 F 1.814
(the possible completions; there is an option to ha)72 458.4 R 2.113
-.15(ve t)-.2 H 1.813(he list displayed immediately).15 F 6.813(.R)-.65
G 1.813(eadline pro)-6.813 F(vides)-.15 E .482
(hooks so that applications can pro)72 470.4 R .482
(vide speci\214c types of completion before the def)-.15 F .483
(ault \214lename completion)-.1 F .132(is attempted.)72 482.4 R .132
(This is quite \215e)5.132 F .132
(xible, though it is not completely user)-.15 F 2.632
(-programmable. Bash,)-.2 F .132(for e)2.632 F .132(xample, can)-.15 F
.37(complete \214lenames, command names \(including aliases, b)72 494.4
R .37(uiltins, shell reserv)-.2 F .37(ed w)-.15 F .37
(ords, shell functions, and)-.1 F -.15(exe)72 506.4 S .424
(cutables found in the \214le system\), shell v).15 F .424
(ariables, usernames, and hostnames.)-.25 F .423
(It uses a set of heuristics)5.424 F(that, while not perfect, is genera\
lly quite good at determining what type of completion to attempt.)72
518.4 Q F1 2.5(4.4. History)72 542.4 R F0 .144
(Access to the list of commands pre)97 558 R .144(viously entered \(the)
-.25 F F3 .144(command history)2.644 F F0 2.644(\)i)C 2.644(sp)-2.644 G
(ro)-2.644 E .144(vided jointly by Bash)-.15 F .078
(and the readline library)72 570 R 5.077(.B)-.65 G .077(ash pro)-5.077 F
.077(vides v)-.15 F .077(ariables \()-.25 F F1($HISTFILE)A F0(,)A F1
($HISTSIZE)2.577 E F0 2.577(,a)C(nd)-2.577 E F1($HISTCONTR)2.577 E(OL)
-.3 E F0 2.577(\)a)C(nd)-2.577 E(the)72 582 Q F1(history)2.759 E F0(and)
2.759 E F1(fc)2.759 E F0 -.2(bu)2.759 G .259
(iltins to manipulate the history list.).2 F .26(The v)5.259 F .26
(alue of)-.25 F F1($HISTFILE)2.76 E F0 .26(speci\214es the \214le where)
2.76 F .49(Bash writes the command history on e)72 594 R .489
(xit and reads it on startup.)-.15 F F1($HISTSIZE)5.489 E F0 .489
(is used to limit the number)2.989 F .642(of commands sa)72 606 R -.15
(ve)-.2 G 3.142(di).15 G 3.142(nt)-3.142 G .642(he history)-3.142 F(.)
-.65 E F1($HISTCONTR)5.642 E(OL)-.3 E F0(pro)3.142 E .642
(vides a crude form of control o)-.15 F -.15(ve)-.15 G 3.142(rw).15 G
.642(hich com-)-3.142 F .025(mands are sa)72 618 R -.15(ve)-.2 G 2.525
(do).15 G 2.525(nt)-2.525 G .025(he history list: a v)-2.525 F .025
(alue of)-.25 F F3(ignor)2.525 E(espace)-.37 E F0 .025(means to not sa)
2.525 F .324 -.15(ve c)-.2 H .024(ommands which be).15 F .024
(gin with a)-.15 F .927(space; a v)72 630 R .927(alue of)-.25 F F3
(ignor)3.427 E(edups)-.37 E F0 .927(means to not sa)3.427 F 1.228 -.15
(ve c)-.2 H .928(ommands identical to the last command sa).15 F -.15(ve)
-.2 G(d.).15 E F1($HIST)5.928 E(-)-.92 E(CONTR)72 642 Q(OL)-.3 E F0 -.1
(wa)3.778 G 3.778(sn).1 G(amed)-3.778 E F1($history_contr)3.778 E(ol)
-.18 E F0 1.278(in earlier v)3.778 F 1.278
(ersions of Bash; the old name is still accepted for)-.15 F(backw)72 654
Q .575(ards compatibility)-.1 F 5.575(.T)-.65 G(he)-5.575 E F1(history)
3.075 E F0 .575
(command can read or write \214les containing the history list and dis-)
3.075 F .167(play the current list contents.)72 666 R(The)5.167 E F1(fc)
2.667 E F0 -.2(bu)2.667 G .167(iltin, adopted from POSIX.2 and the K).2
F .167(orn Shell, allo)-.35 F .167(ws display and)-.25 F(re-e)72 678 Q
-.15(xe)-.15 G .58
(cution, with optional editing, of commands from the history list.).15 F
.58(The readline library of)5.58 F .58(fers a set of)-.25 F 1.255(comma\
nds to search the history list for a portion of the current input line \
or a string typed by the user)72 690 R(.)-.55 E(Finally)72 702 Q 2.535
(,t)-.65 G(he)-2.535 E F3(history)2.535 E F0(library)2.535 E 2.535(,g)
-.65 G .036(enerally incorporated directly into the readline library)
-2.535 F 2.536(,i)-.65 G .036(mplements a f)-2.536 F .036(acility for)
-.1 F 1.023(history recall, e)72 714 R 1.022(xpansion, and re-e)-.15 F
-.15(xe)-.15 G 1.022(cution of pre).15 F 1.022(vious commands v)-.25 F
1.022(ery similar to csh \(\231bang history\232, so)-.15 F
(called because the e)72 726 Q
(xclamation point introduces a history substitution\):)-.15 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-6-)282.17 48 Q/F1 10/Courier@0 SF 6($e)97 84 S
(cho a b c d e)-6 E 6(abcde)97 96 S 6($!)97 108 S 6(!fghi)-6 G
(echo a b c d e f g h i)97 120 Q 6(abcdefghi)97 132 S 6($!)97 144 S(-2)
-6 E(echo a b c d e)97 156 Q 6(abcde)97 168 S 6($e)97 180 S(cho !-2:1-4)
-6 E(echo a b c d)97 192 Q 6(abcd)97 204 S F0 1.456
(The command history is only sa)72 225.6 R -.15(ve)-.2 G 3.957(dw).15 G
1.457(hen the shell is interacti)-3.957 F -.15(ve)-.25 G 3.957(,s).15 G
3.957(oi)-3.957 G 3.957(ti)-3.957 G 3.957(sn)-3.957 G 1.457(ot a)-3.957
F -.25(va)-.2 G 1.457(ilable for use by shell).25 F(scripts.)72 237.6 Q
/F2 10/Times-Bold@0 SF 2.5(4.5. New)72 261.6 R(Shell V)2.5 E(ariables)
-.92 E F0 .59(There are a number of con)97 277.2 R -.15(ve)-.4 G .589
(nience v).15 F .589(ariables that Bash interprets to mak)-.25 F 3.089
(el)-.1 G .589(ife easier)-3.089 F 5.589(.T)-.55 G .589(hese include)
-5.589 F F2(FIGNORE)72 289.2 Q F0 3.973(,w)C 1.473
(hich is a set of \214lename suf)-3.973 F<8c78>-.25 E 1.474
(es identifying \214les to e)-.15 F 1.474
(xclude when completing \214lenames;)-.15 F F2(HOSTTYPE)72 301.2 Q F0
2.932(,w)C .432
(hich is automatically set to a string describing the type of hardw)
-2.932 F .431(are on which Bash is cur)-.1 F(-)-.2 E .335(rently e)72
313.2 R -.15(xe)-.15 G(cuting;).15 E F2(command_oriented_history)2.835 E
F0 2.835(,w)C .335(hich directs Bash to sa)-2.835 F .635 -.15(ve a)-.2 H
.336(ll lines of a multiple-line com-).15 F 1.071(mand such as a)72
325.2 R/F3 10/Times-Italic@0 SF(while)3.571 E F0(or)3.571 E F3(for)3.571
E F0 1.071(loop in a single history entry)3.571 F 3.57(,a)-.65 G(llo)
-3.57 E 1.07(wing easy re-editing; and)-.25 F F2(IGNOREEOF)3.57 E F0(,)A
.747(whose v)72 337.2 R .747(alue indicates the number of consecuti)-.25
F 1.047 -.15(ve E)-.25 H .747(OF characters that an interacti).15 F
1.048 -.15(ve s)-.25 H .748(hell will read before).15 F -.15(ex)72 349.2
S 1.432(iting \255 an easy w).15 F 1.432(ay to k)-.1 F 1.432
(eep yourself from being logged out accidentally)-.1 F 6.432(.T)-.65 G
(he)-6.432 E F2(auto_r)3.932 E(esume)-.18 E F0 -.25(va)3.932 G(riable)
.25 E .571(alters the w)72 361.2 R .571
(ay the shell treats simple command names: if job control is acti)-.1 F
-.15(ve)-.25 G 3.071(,a).15 G .571(nd this v)-3.071 F .571
(ariable is set, sin-)-.25 F(gle-w)72 373.2 Q .239(ord simple commands \
without redirections cause the shell to \214rst look for and restart a \
suspended job)-.1 F(with that name before starting a ne)72 385.2 Q 2.5
(wp)-.25 G(rocess.)-2.5 E F2 2.5(4.6. Brace)72 409.2 R(Expansion)2.5 E
F0 .653(Since sh of)97 424.8 R .653(fers no con)-.25 F -.15(ve)-.4 G
.653(nient w).15 F .653
(ay to generate arbitrary strings that share a common pre\214x or suf)
-.1 F<8c78>-.25 E 2.124(\(\214lename e)72 436.8 R 2.124
(xpansion requires that the \214lenames e)-.15 F 2.123
(xist\), Bash implements)-.15 F F3(br)4.623 E 2.123(ace e)-.15 F
(xpansion)-.2 E F0 4.623(,ac)C(apability)-4.623 E(pick)72 448.8 Q .773
(ed up from csh.)-.1 F .774(Brace e)5.773 F .774
(xpansion is similar to \214lename e)-.15 F .774(xpansion, b)-.15 F .774
(ut the strings generated need not)-.2 F 1.211(correspond to e)72 460.8
R 1.211(xisting \214les.)-.15 F 3.711(Ab)6.211 G 1.211(race e)-3.711 F
1.211(xpression consists of an optional)-.15 F F3(pr)3.71 E(eamble)-.37
E F0 3.71(,f)C(ollo)-3.71 E 1.21(wed by a pair of)-.25 F 2.938
(braces enclosing a series of comma-separated strings, and an optional)
72 472.8 R F3(postamble)5.438 E F0 7.938(.T)C 2.938(he preamble is)
-7.938 F(prepended to each string within the braces, and the postamble \
is then appended to each resulting string:)72 484.8 Q F1 6($e)97 502.8 S
(cho a{d,c,b}e)-6 E(ade ace abe)97 514.8 Q F0 .306(As this e)72 536.4 R
.306(xample demonstrates, the results of brace e)-.15 F .305
(xpansion are not sorted, as the)-.15 F 2.805(ya)-.15 G .305
(re by \214lename e)-2.805 F(xpan-)-.15 E(sion.)72 548.4 Q F2 2.5
(4.7. Pr)72 572.4 R(ocess Substitution)-.18 E F0 .457
(On systems that can support it, Bash pro)97 588 R .457(vides a f)-.15 F
.457(acility kno)-.1 F .458(wn as)-.25 F F3(pr)2.958 E .458
(ocess substitution)-.45 F F0 5.458(.P)C .458(rocess sub-)-5.458 F .347
(stitution is similar to command substitution in that its speci\214cati\
on includes a command to e)72 600 R -.15(xe)-.15 G .346(cute, b).15 F
.346(ut the)-.2 F .181(shell does not collect the command')72 612 R
2.681(so)-.55 G .181(utput and insert it into the command line.)-2.681 F
(Rather)5.181 E 2.681(,B)-.4 G .182(ash opens a pipe)-2.681 F 1.861
(to the command, which is run in the background.)72 624 R 1.861
(The shell uses named pipes \(FIFOs\) or the)6.861 F F3(/de)4.361 E
(v/fd)-.15 E F0 .961(method of naming open \214les to e)72 636 R .962(x\
pand the process substitution to a \214lename which connects to the pip\
e)-.15 F .104(when opened.)72 648 R .103
(This \214lename becomes the result of the e)5.104 F 2.603
(xpansion. Process)-.15 F .103(substitution can be used to com-)2.603 F
(pare the outputs of tw)72 660 Q 2.5(od)-.1 G(if)-2.5 E(ferent v)-.25 E
(ersions of an application as part of a re)-.15 E(gression test:)-.15 E
F1 6($c)97 678 S(mp <\(old_prog\) <\(new_prog\))-6 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-7-)282.17 48 Q/F1 10/Times-Bold@0 SF 2.5
(4.8. Pr)72 84 R(ompt Customization)-.18 E F0 2.229
(One of the more popular interacti)97 99.6 R 2.529 -.15(ve f)-.25 H
2.229(eatures that Bash pro).15 F 2.23
(vides is the ability to customize the)-.15 F 3.234(prompt. Both)72
111.6 R F1($PS1)3.234 E F0(and)3.234 E F1($PS2,)3.234 E F0 .734
(the primary and secondary prompts, are e)3.234 F .733
(xpanded before being displayed.)-.15 F -.15(Pa)72 123.6 S .804
(rameter and v).15 F .804(ariable e)-.25 F .805
(xpansion is performed when the prompt string is e)-.15 F .805
(xpanded, so an)-.15 F 3.305(ys)-.15 G .805(hell v)-3.305 F(ariable)-.25
E .729(can be put into the prompt \(e.g.,)72 135.6 R F1($SHL)3.228 E(VL)
-.92 E F0 3.228(,w)C .728(hich indicates ho)-3.228 F 3.228(wd)-.25 G
.728(eeply the current shell is nested\).)-3.228 F(Bash)5.728 E 1.895(s\
pecially interprets characters in the prompt string preceded by a backs\
lash.)72 147.6 R 1.895(Some of these backslash)6.895 F .874
(escapes are replaced with the current time, the date, the current w)72
159.6 R .874(orking directory)-.1 F 3.373(,t)-.65 G .873
(he username, and the)-3.373 F .78
(command number or history number of the command being entered.)72 171.6
R .781(There is e)5.781 F -.15(ve)-.25 G 3.281(nab).15 G .781
(ackslash escape to)-3.281 F .007
(cause the shell to change its prompt when running as root after an)72
183.6 R/F2 10/Times-Italic@0 SF(su)2.507 E F0 5.007(.B)C .007
(efore printing each primary prompt,)-5.007 F .305(Bash e)72 195.6 R
.305(xpands the v)-.15 F(ariable)-.25 E F1($PR)2.805 E(OMPT_COMMAND)-.3
E F0 .305(and, if it has a v)2.805 F .306(alue, e)-.25 F -.15(xe)-.15 G
.306(cutes the e).15 F .306(xpanded v)-.15 F .306(alue as)-.25 F 3.735
(ac)72 207.6 S 1.235(ommand, allo)-3.735 F 1.234
(wing additional prompt customization.)-.25 F -.15(Fo)6.234 G 3.734(re)
.15 G 1.234(xample, this assignment causes the current)-3.884 F(user)72
219.6 Q 2.917(,t)-.4 G .417
(he current host, the time, the last component of the current w)-2.917 F
.417(orking directory)-.1 F 2.917(,t)-.65 G .418(he le)-2.917 F -.15(ve)
-.25 G 2.918(lo).15 G 2.918(fs)-2.918 G .418(hell nest-)-2.918 F(ing, a\
nd the history number of the current command to be embedded into the pr\
imary prompt:)72 231.6 Q/F3 10/Courier@0 SF 6($P)97 249.6 S
(S1='\\u@\\h [\\t] \\W\($SHLVL:\\!\)\\$ ')-6 E
(chet@odin [21:03:44] documentation\(2:636\)$ cd ..)97 261.6 Q
(chet@odin [21:03:54] src\(2:637\)$)97 273.6 Q F0 .146(The string being\
assigned is surrounded by single quotes so that if it is e)72 295.2 R
.146(xported, the v)-.15 F .146(alue of)-.25 F F1($SHL)2.646 E(VL)-.92 E
F0(will)2.646 E(be updated by a child shell:)72 307.2 Q F3
(chet@odin [21:17:35] src\(2:638\)$ export PS1)97 325.2 Q
(chet@odin [21:17:40] src\(2:639\)$ bash)97 337.2 Q
(chet@odin [21:17:46] src\(3:696\)$)97 349.2 Q F0
(The \\$ escape is displayed as \231)72 370.8 Q F1($)A F0 2.5<9a77>C
(hen running as a normal user)-2.5 E 2.5(,b)-.4 G(ut as \231)-2.7 E F1
(#)A F0 2.5<9a77>C(hen running as root.)-2.5 E F1 2.5(4.9. File)72 394.8
R(System V)2.5 E(iews)-.37 E F0 .029(Since Berk)97 410.4 R(ele)-.1 E
2.529(yi)-.15 G .029
(ntroduced symbolic links in 4.2 BSD, one of their most anno)-2.529 F
.03(ying properties has been)-.1 F .764(the \231w)72 422.4 R .764
(arping\232 to a completely dif)-.1 F .764
(ferent area of the \214le system when using)-.25 F F1(cd)3.263 E F0
3.263(,a)C .763(nd the resultant non-intu-)-3.263 F(iti)72 434.4 Q .704
-.15(ve b)-.25 H(eha).15 E .405(vior of \231)-.2 F F1 .405(cd ..)B F0
2.905(\232. The)B/F4 9/Times-Roman@0 SF(UNIX)2.905 E F0 -.1(ke)2.905 G
.405(rnel treats symbolic links).1 F F2(physically)2.905 E F0 5.405(.W)C
.405(hen the k)-5.405 F .405(ernel is translating)-.1 F 3.223(ap)72
446.4 S .723(athname in which one component is a symbolic link, it repl\
aces all or part of the pathname while pro-)-3.223 F .668
(cessing the link.)72 458.4 R .668
(If the contents of the symbolic link be)5.668 F .669
(gin with a slash, the k)-.15 F .669(ernel replaces the pathname)-.1 F
.219(entirely; if not, the link contents replace the current component.)
72 470.4 R .219(In either case, the symbolic link is visible.)5.219 F