home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: echo
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 64 65 63 | 77 72 6c 21 6c 61 62 72 |From dec|wrl!labr|
|00000010| 65 61 21 72 75 74 67 65 | 72 73 21 75 6b 6d 61 21 |ea!rutge|rs!ukma!|
|00000020| 63 77 6a 63 63 21 68 61 | 6c 21 6e 63 6f 61 73 74 |cwjcc!ha|l!ncoast|
|00000030| 21 61 6c 6c 62 65 72 79 | 20 57 65 64 20 53 65 70 |!allbery| Wed Sep|
|00000040| 20 32 38 20 31 38 3a 32 | 33 3a 32 32 20 50 44 54 | 28 18:2|3:22 PDT|
|00000050| 20 31 39 38 38 0a 41 72 | 74 69 63 6c 65 20 36 32 | 1988.Ar|ticle 62|
|00000060| 39 20 6f 66 20 63 6f 6d | 70 2e 73 6f 75 72 63 65 |9 of com|p.source|
|00000070| 73 2e 6d 69 73 63 3a 0a | 50 61 74 68 3a 20 67 72 |s.misc:.|Path: gr|
|00000080| 61 6e 69 74 65 21 64 65 | 63 77 72 6c 21 6c 61 62 |anite!de|cwrl!lab|
|00000090| 72 65 61 21 72 75 74 67 | 65 72 73 21 75 6b 6d 61 |rea!rutg|ers!ukma|
|000000a0| 21 63 77 6a 63 63 21 68 | 61 6c 21 6e 63 6f 61 73 |!cwjcc!h|al!ncoas|
|000000b0| 74 21 61 6c 6c 62 65 72 | 79 0a 46 72 6f 6d 3a 20 |t!allber|y.From: |
|000000c0| 65 64 66 40 52 4f 43 4b | 59 32 2e 52 4f 43 4b 45 |edf@ROCK|Y2.ROCKE|
|000000d0| 46 45 4c 4c 45 52 2e 45 | 44 55 20 28 44 61 76 69 |FELLER.E|DU (Davi|
|000000e0| 64 20 4d 61 63 4b 65 6e | 7a 69 65 29 0a 4e 65 77 |d MacKen|zie).New|
|000000f0| 73 67 72 6f 75 70 73 3a | 20 63 6f 6d 70 2e 73 6f |sgroups:| comp.so|
|00000100| 75 72 63 65 73 2e 6d 69 | 73 63 0a 53 75 62 6a 65 |urces.mi|sc.Subje|
|00000110| 63 74 3a 20 76 30 34 69 | 30 38 38 3a 20 4d 65 72 |ct: v04i|088: Mer|
|00000120| 67 65 64 20 53 79 73 56 | 2f 42 53 44 20 65 63 68 |ged SysV|/BSD ech|
|00000130| 6f 0a 4d 65 73 73 61 67 | 65 2d 49 44 3a 20 3c 38 |o.Messag|e-ID: <8|
|00000140| 38 30 39 32 30 30 36 33 | 31 2e 41 41 31 39 38 39 |80920063|1.AA1989|
|00000150| 39 40 72 6f 63 6b 79 32 | 3e 0a 44 61 74 65 3a 20 |9@rocky2|>.Date: |
|00000160| 32 35 20 53 65 70 20 38 | 38 20 30 31 3a 32 33 3a |25 Sep 8|8 01:23:|
|00000170| 34 34 20 47 4d 54 0a 53 | 65 6e 64 65 72 3a 20 61 |44 GMT.S|ender: a|
|00000180| 6c 6c 62 65 72 79 40 6e | 63 6f 61 73 74 2e 55 55 |llbery@n|coast.UU|
|00000190| 43 50 0a 52 65 70 6c 79 | 2d 54 6f 3a 20 65 64 66 |CP.Reply|-To: edf|
|000001a0| 40 52 4f 43 4b 59 32 2e | 52 4f 43 4b 45 46 45 4c |@ROCKY2.|ROCKEFEL|
|000001b0| 4c 45 52 2e 45 44 55 20 | 28 44 61 76 69 64 20 4d |LER.EDU |(David M|
|000001c0| 61 63 4b 65 6e 7a 69 65 | 29 0a 4c 69 6e 65 73 3a |acKenzie|).Lines:|
|000001d0| 20 32 30 37 0a 41 70 70 | 72 6f 76 65 64 3a 20 61 | 207.App|roved: a|
|000001e0| 6c 6c 62 65 72 79 40 6e | 63 6f 61 73 74 2e 55 55 |llbery@n|coast.UU|
|000001f0| 43 50 0a 0a 50 6f 73 74 | 69 6e 67 2d 6e 75 6d 62 |CP..Post|ing-numb|
|00000200| 65 72 3a 20 56 6f 6c 75 | 6d 65 20 34 2c 20 49 73 |er: Volu|me 4, Is|
|00000210| 73 75 65 20 38 38 0a 53 | 75 62 6d 69 74 74 65 64 |sue 88.S|ubmitted|
|00000220| 2d 62 79 3a 20 22 44 61 | 76 69 64 20 4d 61 63 4b |-by: "Da|vid MacK|
|00000230| 65 6e 7a 69 65 22 20 3c | 65 64 66 40 52 4f 43 4b |enzie" <|edf@ROCK|
|00000240| 59 32 2e 52 4f 43 4b 45 | 46 45 4c 4c 45 52 2e 45 |Y2.ROCKE|FELLER.E|
|00000250| 44 55 3e 0a 41 72 63 68 | 69 76 65 2d 6e 61 6d 65 |DU>.Arch|ive-name|
|00000260| 3a 20 65 63 68 6f 0a 0a | 28 41 6e 20 2a 65 63 68 |: echo..|(An *ech|
|00000270| 6f 20 70 72 6f 67 72 61 | 6d 2a 3f 3f 3f 29 20 20 |o progra|m*???) |
|00000280| 5b 4d 79 20 73 65 6e 74 | 69 6d 65 6e 74 73 20 65 |[My sent|iments e|
|00000290| 78 61 63 74 6c 79 2e 20 | 20 2b 2b 62 73 61 5d 0a |xactly. | ++bsa].|
|000002a0| 0a 41 66 74 65 72 20 73 | 65 65 69 6e 67 20 74 68 |.After s|eeing th|
|000002b0| 65 20 28 73 79 73 74 65 | 6d 2d 29 76 65 63 68 6f |e (syste|m-)vecho|
|000002c0| 20 63 6f 6d 6d 61 6e 64 | 20 69 6e 63 6c 75 64 65 | command| include|
|000002d0| 64 20 69 6e 20 74 68 65 | 20 6c 61 74 65 73 74 20 |d in the| latest |
|000002e0| 22 6c 65 73 73 22 0a 64 | 69 73 74 72 69 62 75 74 |"less".d|istribut|
|000002f0| 69 6f 6e 20 74 6f 20 61 | 64 64 72 65 73 73 20 74 |ion to a|ddress t|
|00000300| 68 65 20 70 72 6f 62 6c | 65 6d 20 6f 66 20 42 53 |he probl|em of BS|
|00000310| 44 2f 41 54 26 54 20 65 | 63 68 6f 20 69 6e 63 6f |D/AT&T e|cho inco|
|00000320| 6d 70 61 74 69 62 69 6c | 69 74 69 65 73 2c 0a 49 |mpatibil|ities,.I|
|00000330| 20 64 65 63 69 64 65 64 | 20 74 68 61 74 20 73 6f | decided| that so|
|00000340| 6d 65 6f 6e 65 20 6d 69 | 67 68 74 20 66 69 6e 64 |meone mi|ght find|
|00000350| 20 74 68 69 73 20 75 73 | 65 66 75 6c 2e 20 20 41 | this us|eful. A|
|00000360| 73 20 66 61 72 20 61 73 | 20 49 20 6b 6e 6f 77 2c |s far as| I know,|
|00000370| 20 69 74 27 73 20 61 0a | 63 6f 6d 70 6c 65 74 65 | it's a.|complete|
|00000380| 20 69 6d 70 6c 65 6d 65 | 6e 74 61 74 69 6f 6e 20 | impleme|ntation |
|00000390| 6f 66 20 62 6f 74 68 20 | 74 68 65 20 53 79 73 74 |of both |the Syst|
|000003a0| 65 6d 20 56 20 61 6e 64 | 20 42 65 72 6b 65 6c 65 |em V and| Berkele|
|000003b0| 79 20 65 63 68 6f 27 73 | 2e 20 20 49 74 0a 73 68 |y echo's|. It.sh|
|000003c0| 6f 75 6c 64 20 62 65 20 | 65 73 70 65 63 69 61 6c |ould be |especial|
|000003d0| 6c 79 20 75 73 65 66 75 | 6c 20 66 6f 72 20 28 6e |ly usefu|l for (n|
|000003e0| 6f 6e 2d 53 75 6e 4f 73 | 29 20 42 65 72 6b 65 6c |on-SunOs|) Berkel|
|000003f0| 65 79 20 75 73 65 72 73 | 20 77 68 6f 73 65 20 65 |ey users| whose e|
|00000400| 63 68 6f 27 73 0a 61 72 | 65 20 74 68 65 20 64 75 |cho's.ar|e the du|
|00000410| 6d 62 65 72 20 6f 6e 65 | 20 61 6e 64 20 61 72 65 |mber one| and are|
|00000420| 6e 27 74 20 62 75 69 6c | 74 20 69 6e 74 6f 20 74 |n't buil|t into t|
|00000430| 68 65 20 73 68 65 6c 6c | 73 2e 20 20 49 74 27 73 |he shell|s. It's|
|00000440| 20 6e 6f 74 20 64 65 72 | 69 76 65 64 0a 66 72 6f | not der|ived.fro|
|00000450| 6d 20 41 54 26 54 20 63 | 6f 64 65 20 2e 20 2e 20 |m AT&T c|ode . . |
|00000460| 2e 20 2e 0a 0a 23 21 20 | 2f 62 69 6e 2f 73 68 0a |. ...#! |/bin/sh.|
|00000470| 23 20 54 68 69 73 20 69 | 73 20 61 20 73 68 65 6c |# This i|s a shel|
|00000480| 6c 20 61 72 63 68 69 76 | 65 2e 20 20 52 65 6d 6f |l archiv|e. Remo|
|00000490| 76 65 20 61 6e 79 74 68 | 69 6e 67 20 62 65 66 6f |ve anyth|ing befo|
|000004a0| 72 65 20 74 68 69 73 20 | 6c 69 6e 65 2c 20 74 68 |re this |line, th|
|000004b0| 65 6e 20 75 6e 70 61 63 | 6b 0a 23 20 69 74 20 62 |en unpac|k.# it b|
|000004c0| 79 20 73 61 76 69 6e 67 | 20 69 74 20 69 6e 74 6f |y saving| it into|
|000004d0| 20 61 20 66 69 6c 65 20 | 61 6e 64 20 74 79 70 69 | a file |and typi|
|000004e0| 6e 67 20 22 73 68 20 66 | 69 6c 65 22 2e 20 20 54 |ng "sh f|ile". T|
|000004f0| 6f 20 6f 76 65 72 77 72 | 69 74 65 20 65 78 69 73 |o overwr|ite exis|
|00000500| 74 69 6e 67 0a 23 20 66 | 69 6c 65 73 2c 20 74 79 |ting.# f|iles, ty|
|00000510| 70 65 20 22 73 68 20 66 | 69 6c 65 20 2d 63 22 2e |pe "sh f|ile -c".|
|00000520| 20 20 59 6f 75 20 63 61 | 6e 20 61 6c 73 6f 20 66 | You ca|n also f|
|00000530| 65 65 64 20 74 68 69 73 | 20 61 73 20 73 74 61 6e |eed this| as stan|
|00000540| 64 61 72 64 20 69 6e 70 | 75 74 20 76 69 61 0a 23 |dard inp|ut via.#|
|00000550| 20 75 6e 73 68 61 72 2c | 20 6f 72 20 62 79 20 74 | unshar,| or by t|
|00000560| 79 70 69 6e 67 20 22 73 | 68 20 3c 66 69 6c 65 22 |yping "s|h <file"|
|00000570| 2c 20 65 2e 67 2e 2e 20 | 20 49 66 20 74 68 69 73 |, e.g.. | If this|
|00000580| 20 61 72 63 68 69 76 65 | 20 69 73 20 63 6f 6d 70 | archive| is comp|
|00000590| 6c 65 74 65 2c 20 79 6f | 75 0a 23 20 77 69 6c 6c |lete, yo|u.# will|
|000005a0| 20 73 65 65 20 74 68 65 | 20 66 6f 6c 6c 6f 77 69 | see the| followi|
|000005b0| 6e 67 20 6d 65 73 73 61 | 67 65 20 61 74 20 74 68 |ng messa|ge at th|
|000005c0| 65 20 65 6e 64 3a 0a 23 | 09 09 22 45 6e 64 20 6f |e end:.#|.."End o|
|000005d0| 66 20 73 68 65 6c 6c 20 | 61 72 63 68 69 76 65 2e |f shell |archive.|
|000005e0| 22 0a 23 20 43 6f 6e 74 | 65 6e 74 73 3a 20 20 65 |".# Cont|ents: e|
|000005f0| 63 68 6f 2e 31 20 65 63 | 68 6f 2e 63 0a 23 20 57 |cho.1 ec|ho.c.# W|
|00000600| 72 61 70 70 65 64 20 62 | 79 20 64 61 76 65 40 65 |rapped b|y dave@e|
|00000610| 64 66 64 63 20 20 6f 6e | 20 54 75 65 20 53 65 70 |dfdc on| Tue Sep|
|00000620| 20 32 30 20 30 32 3a 32 | 37 3a 33 38 20 31 39 38 | 20 02:2|7:38 198|
|00000630| 38 0a 50 41 54 48 3d 2f | 62 69 6e 3a 2f 75 73 72 |8.PATH=/|bin:/usr|
|00000640| 2f 62 69 6e 3a 2f 75 73 | 72 2f 75 63 62 20 3b 20 |/bin:/us|r/ucb ; |
|00000650| 65 78 70 6f 72 74 20 50 | 41 54 48 0a 69 66 20 74 |export P|ATH.if t|
|00000660| 65 73 74 20 2d 66 20 27 | 65 63 68 6f 2e 31 27 20 |est -f '|echo.1' |
|00000670| 2d 61 20 22 24 7b 31 7d | 22 20 21 3d 20 22 2d 63 |-a "${1}|" != "-c|
|00000680| 22 20 3b 20 74 68 65 6e | 20 0a 20 20 65 63 68 6f |" ; then| . echo|
|00000690| 20 73 68 61 72 3a 20 57 | 69 6c 6c 20 6e 6f 74 20 | shar: W|ill not |
|000006a0| 63 6c 6f 62 62 65 72 20 | 65 78 69 73 74 69 6e 67 |clobber |existing|
|000006b0| 20 66 69 6c 65 20 5c 22 | 27 65 63 68 6f 2e 31 27 | file \"|'echo.1'|
|000006c0| 5c 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 73 68 61 |\".else.|echo sha|
|000006d0| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|000006e0| 27 65 63 68 6f 2e 31 27 | 5c 22 20 5c 28 38 33 32 |'echo.1'|\" \(832|
|000006f0| 20 63 68 61 72 61 63 74 | 65 72 73 5c 29 0a 73 65 | charact|ers\).se|
|00000700| 64 20 22 73 2f 5e 58 2f | 2f 22 20 3e 27 65 63 68 |d "s/^X/|/" >'ech|
|00000710| 6f 2e 31 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |o.1' <<'|END_OF_F|
|00000720| 49 4c 45 27 0a 58 2e 54 | 48 20 45 43 48 4f 20 31 |ILE'.X.T|H ECHO 1|
|00000730| 0a 58 2e 53 48 20 4e 41 | 4d 45 0a 58 65 63 68 6f |.X.SH NA|ME.Xecho|
|00000740| 20 5c 2d 20 65 63 68 6f | 20 61 72 67 75 6d 65 6e | \- echo| argumen|
|00000750| 74 73 0a 58 2e 53 48 20 | 53 59 4e 4f 50 53 49 53 |ts.X.SH |SYNOPSIS|
|00000760| 0a 58 2e 42 20 65 63 68 | 6f 0a 58 5b 0a 58 2e 42 |.X.B ech|o.X[.X.B|
|00000770| 20 5c 2d 6e 0a 58 5d 20 | 5b 0a 58 2e 42 20 73 74 | \-n.X] |[.X.B st|
|00000780| 72 69 6e 67 2e 2e 2e 0a | 58 5d 0a 58 2e 53 48 20 |ring....|X].X.SH |
|00000790| 44 45 53 43 52 49 50 54 | 49 4f 4e 0a 58 2e 50 50 |DESCRIPT|ION.X.PP|
|000007a0| 0a 58 2e 49 20 45 63 68 | 6f 0a 58 64 69 73 70 6c |.X.I Ech|o.Xdispl|
|000007b0| 61 79 73 20 69 74 73 20 | 61 72 67 75 6d 65 6e 74 |ays its |argument|
|000007c0| 73 2c 20 73 65 70 61 72 | 61 74 65 64 20 62 79 20 |s, separ|ated by |
|000007d0| 73 69 6e 67 6c 65 20 73 | 70 61 63 65 73 20 61 6e |single s|paces an|
|000007e0| 64 20 66 6f 6c 6c 6f 77 | 65 64 20 62 79 20 61 0a |d follow|ed by a.|
|000007f0| 58 6e 65 77 6c 69 6e 65 | 2c 20 6f 6e 20 74 68 65 |Xnewline|, on the|
|00000800| 20 73 74 61 6e 64 61 72 | 64 20 6f 75 74 70 75 74 | standar|d output|
|00000810| 2e 20 20 49 66 20 6e 6f | 0a 58 2e 49 20 73 74 72 |. If no|.X.I str|
|00000820| 69 6e 67 0a 58 61 72 67 | 75 6d 65 6e 74 73 20 61 |ing.Xarg|uments a|
|00000830| 72 65 20 67 69 76 65 6e | 2c 0a 58 2e 49 20 65 63 |re given|,.X.I ec|
|00000840| 68 6f 0a 58 70 72 6f 64 | 75 63 65 73 20 6f 6e 6c |ho.Xprod|uces onl|
|00000850| 79 20 74 68 65 20 6e 65 | 77 6c 69 6e 65 20 63 68 |y the ne|wline ch|
|00000860| 61 72 61 63 74 65 72 2e | 0a 58 49 66 20 74 68 65 |aracter.|.XIf the|
|00000870| 20 66 69 72 73 74 20 61 | 72 67 75 6d 65 6e 74 20 | first a|rgument |
|00000880| 69 73 0a 58 2e 49 52 20 | 5c 2d 6e 20 2c 0a 58 74 |is.X.IR |\-n ,.Xt|
|00000890| 68 65 20 74 72 61 69 6c | 69 6e 67 20 6e 65 77 6c |he trail|ing newl|
|000008a0| 69 6e 65 20 69 73 20 6f | 6d 69 74 74 65 64 2e 20 |ine is o|mitted. |
|000008b0| 20 54 68 65 0a 58 2e 49 | 20 5c 2d 6e 0a 58 69 73 | The.X.I| \-n.Xis|
|000008c0| 20 6e 6f 74 20 65 63 68 | 6f 65 64 2e 0a 58 2e 50 | not ech|oed..X.P|
|000008d0| 50 0a 58 2e 49 20 45 63 | 68 6f 0a 58 72 65 63 6f |P.X.I Ec|ho.Xreco|
|000008e0| 67 6e 69 7a 65 73 20 74 | 68 65 20 66 6f 6c 6c 6f |gnizes t|he follo|
|000008f0| 77 69 6e 67 20 62 61 63 | 6b 73 6c 61 73 68 20 65 |wing bac|kslash e|
|00000900| 73 63 61 70 65 73 20 69 | 6e 20 74 68 65 0a 58 2e |scapes i|n the.X.|
|00000910| 49 20 73 74 72 69 6e 67 | 0a 58 61 72 67 75 6d 65 |I string|.Xargume|
|00000920| 6e 74 73 3a 0a 58 2e 54 | 50 0a 58 5c 65 30 6f 6f |nts:.X.T|P.X\e0oo|
|00000930| 6f 0a 58 6f 63 74 61 6c | 20 41 53 43 49 49 20 63 |o.Xoctal| ASCII c|
|00000940| 68 61 72 61 63 74 65 72 | 20 28 6f 6f 6f 20 61 72 |haracter| (ooo ar|
|00000950| 65 20 31 2d 33 20 6f 63 | 74 61 6c 20 64 69 67 69 |e 1-3 oc|tal digi|
|00000960| 74 73 29 0a 58 2e 54 50 | 0a 58 5c 65 62 0a 58 62 |ts).X.TP|.X\eb.Xb|
|00000970| 61 63 6b 73 70 61 63 65 | 0a 58 2e 54 50 0a 58 5c |ackspace|.X.TP.X\|
|00000980| 65 63 09 0a 58 6f 6d 69 | 74 20 74 72 61 69 6c 69 |ec..Xomi|t traili|
|00000990| 6e 67 20 6e 65 77 6c 69 | 6e 65 3b 20 64 6f 6e 27 |ng newli|ne; don'|
|000009a0| 74 20 70 72 69 6e 74 20 | 61 6e 79 74 68 69 6e 67 |t print |anything|
|000009b0| 20 6d 6f 72 65 20 28 73 | 61 6d 65 20 61 73 0a 58 | more (s|ame as.X|
|000009c0| 2e 49 52 20 5c 2d 6e 20 | 29 0a 58 2e 54 50 0a 58 |.IR \-n |).X.TP.X|
|000009d0| 5c 65 66 0a 58 66 6f 72 | 6d 20 66 65 65 64 0a 58 |\ef.Xfor|m feed.X|
|000009e0| 2e 54 50 0a 58 5c 65 6e | 0a 58 6e 65 77 6c 69 6e |.TP.X\en|.Xnewlin|
|000009f0| 65 20 28 6c 69 6e 65 20 | 66 65 65 64 29 0a 58 2e |e (line |feed).X.|
|00000a00| 54 50 0a 58 5c 65 72 0a | 58 63 61 72 72 69 61 67 |TP.X\er.|Xcarriag|
|00000a10| 65 20 72 65 74 75 72 6e | 0a 58 2e 54 50 0a 58 5c |e return|.X.TP.X\|
|00000a20| 65 74 0a 58 68 6f 72 69 | 7a 6f 6e 74 61 6c 20 74 |et.Xhori|zontal t|
|00000a30| 61 62 0a 58 2e 54 50 0a | 58 5c 65 76 0a 58 76 65 |ab.X.TP.|X\ev.Xve|
|00000a40| 72 74 69 63 61 6c 20 74 | 61 62 0a 58 2e 54 50 0a |rtical t|ab.X.TP.|
|00000a50| 58 5c 65 5c 65 0a 58 62 | 61 63 6b 73 6c 61 73 68 |X\e\e.Xb|ackslash|
|00000a60| 0a 58 2e 53 48 20 22 53 | 45 45 20 41 4c 53 4f 22 |.X.SH "S|EE ALSO"|
|00000a70| 0a 58 63 61 74 28 31 76 | 29 0a 58 2e 53 48 20 41 |.Xcat(1v|).X.SH A|
|00000a80| 55 54 48 4f 52 0a 58 44 | 61 76 69 64 20 4d 61 63 |UTHOR.XD|avid Mac|
|00000a90| 4b 65 6e 7a 69 65 20 28 | 62 69 67 20 64 65 61 6c |Kenzie (|big deal|
|00000aa0| 29 0a 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 0a 69 66 |).END_OF|_FILE.if|
|00000ab0| 20 74 65 73 74 20 38 33 | 32 20 2d 6e 65 20 60 77 | test 83|2 -ne `w|
|00000ac0| 63 20 2d 63 20 3c 27 65 | 63 68 6f 2e 31 27 60 3b |c -c <'e|cho.1'`;|
|00000ad0| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 73 | then. | echo s|
|00000ae0| 68 61 72 3a 20 5c 22 27 | 65 63 68 6f 2e 31 27 5c |har: \"'|echo.1'\|
|00000af0| 22 20 75 6e 70 61 63 6b | 65 64 20 77 69 74 68 20 |" unpack|ed with |
|00000b00| 77 72 6f 6e 67 20 73 69 | 7a 65 21 0a 66 69 0a 23 |wrong si|ze!.fi.#|
|00000b10| 20 65 6e 64 20 6f 66 20 | 27 65 63 68 6f 2e 31 27 | end of |'echo.1'|
|00000b20| 0a 66 69 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |.fi.if t|est -f '|
|00000b30| 65 63 68 6f 2e 63 27 20 | 2d 61 20 22 24 7b 31 7d |echo.c' |-a "${1}|
|00000b40| 22 20 21 3d 20 22 2d 63 | 22 20 3b 20 74 68 65 6e |" != "-c|" ; then|
|00000b50| 20 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 57 | . echo| shar: W|
|00000b60| 69 6c 6c 20 6e 6f 74 20 | 63 6c 6f 62 62 65 72 20 |ill not |clobber |
|00000b70| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 5c 22 |existing| file \"|
|00000b80| 27 65 63 68 6f 2e 63 27 | 5c 22 0a 65 6c 73 65 0a |'echo.c'|\".else.|
|00000b90| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|00000ba0| 63 74 69 6e 67 20 5c 22 | 27 65 63 68 6f 2e 63 27 |cting \"|'echo.c'|
|00000bb0| 5c 22 20 5c 28 31 37 34 | 31 20 63 68 61 72 61 63 |\" \(174|1 charac|
|00000bc0| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|00000bd0| 2f 2f 22 20 3e 27 65 63 | 68 6f 2e 63 27 20 3c 3c |//" >'ec|ho.c' <<|
|00000be0| 27 45 4e 44 5f 4f 46 5f | 46 49 4c 45 27 0a 58 2f |'END_OF_|FILE'.X/|
|00000bf0| 2a 20 78 63 0a 58 25 20 | 63 63 20 2d 4f 20 65 63 |* xc.X% |cc -O ec|
|00000c00| 68 6f 2e 63 20 2d 6f 20 | 65 63 68 6f 0a 58 25 20 |ho.c -o |echo.X% |
|00000c10| 73 74 72 69 70 20 65 63 | 68 6f 0a 58 20 2a 2f 0a |strip ec|ho.X */.|
|00000c20| 58 2f 2a 0a 58 20 2a 20 | 65 63 68 6f 20 2d 20 65 |X/*.X * |echo - e|
|00000c30| 63 68 6f 20 61 72 67 75 | 6d 65 6e 74 73 0a 58 20 |cho argu|ments.X |
|00000c40| 2a 20 55 73 61 67 65 3a | 20 65 63 68 6f 20 5b 2d |* Usage:| echo [-|
|00000c50| 6e 5d 20 5b 73 74 72 69 | 6e 67 2e 2e 2e 5d 0a 58 |n] [stri|ng...].X|
|00000c60| 20 2a 0a 58 20 2a 20 49 | 66 20 74 68 65 20 66 69 | *.X * I|f the fi|
|00000c70| 72 73 74 20 61 72 67 75 | 6d 65 6e 74 20 69 73 20 |rst argu|ment is |
|00000c80| 22 2d 6e 22 2c 20 74 68 | 65 20 74 72 61 69 6c 69 |"-n", th|e traili|
|00000c90| 6e 67 20 6e 65 77 6c 69 | 6e 65 20 69 73 20 6f 6d |ng newli|ne is om|
|00000ca0| 69 74 74 65 64 2e 0a 58 | 20 2a 20 54 68 65 20 22 |itted..X| * The "|
|00000cb0| 2d 6e 22 20 69 73 20 6e | 6f 74 20 65 63 68 6f 65 |-n" is n|ot echoe|
|00000cc0| 64 2e 0a 58 20 2a 0a 58 | 20 2a 20 52 65 63 6f 67 |d..X *.X| * Recog|
|00000cd0| 6e 69 7a 65 73 20 53 79 | 73 74 65 6d 20 56 20 65 |nizes Sy|stem V e|
|00000ce0| 73 63 61 70 65 20 73 65 | 71 75 65 6e 63 65 73 3a |scape se|quences:|
|00000cf0| 0a 58 20 2a 20 5c 30 6f | 6f 6f 09 6f 63 74 61 6c |.X * \0o|oo.octal|
|00000d00| 20 41 53 43 49 49 20 63 | 68 61 72 61 63 74 65 72 | ASCII c|haracter|
|00000d10| 20 28 31 2d 33 20 64 69 | 67 69 74 73 29 0a 58 20 | (1-3 di|gits).X |
|00000d20| 2a 20 5c 62 09 09 62 61 | 63 6b 73 70 61 63 65 0a |* \b..ba|ckspace.|
|00000d30| 58 20 2a 20 5c 63 09 09 | 6f 6d 69 74 20 74 72 61 |X * \c..|omit tra|
|00000d40| 69 6c 69 6e 67 20 6e 65 | 77 6c 69 6e 65 3b 20 64 |iling ne|wline; d|
|00000d50| 6f 6e 27 74 20 70 72 69 | 6e 74 20 61 6e 79 74 68 |on't pri|nt anyth|
|00000d60| 69 6e 67 20 6d 6f 72 65 | 20 28 73 61 6d 65 20 61 |ing more| (same a|
|00000d70| 73 20 2d 6e 29 0a 58 20 | 2a 20 5c 66 09 09 66 6f |s -n).X |* \f..fo|
|00000d80| 72 6d 20 66 65 65 64 0a | 58 20 2a 20 5c 6e 09 09 |rm feed.|X * \n..|
|00000d90| 6e 65 77 6c 69 6e 65 20 | 28 6c 69 6e 65 20 66 65 |newline |(line fe|
|00000da0| 65 64 29 0a 58 20 2a 20 | 5c 72 09 09 63 61 72 72 |ed).X * |\r..carr|
|00000db0| 69 61 67 65 20 72 65 74 | 75 72 6e 0a 58 20 2a 20 |iage ret|urn.X * |
|00000dc0| 5c 74 09 09 68 6f 72 69 | 7a 6f 6e 74 61 6c 20 74 |\t..hori|zontal t|
|00000dd0| 61 62 0a 58 20 2a 20 5c | 76 09 09 76 65 72 74 69 |ab.X * \|v..verti|
|00000de0| 63 61 6c 20 74 61 62 0a | 58 20 2a 20 5c 5c 09 09 |cal tab.|X * \\..|
|00000df0| 62 61 63 6b 73 6c 61 73 | 68 0a 58 20 2a 0a 58 20 |backslas|h.X *.X |
|00000e00| 2a 20 44 61 76 69 64 20 | 4d 61 63 4b 65 6e 7a 69 |* David |MacKenzi|
|00000e10| 65 0a 58 20 2a 20 4c 61 | 74 65 73 74 20 72 65 76 |e.X * La|test rev|
|00000e20| 69 73 69 6f 6e 3a 20 30 | 38 2f 30 37 2f 38 38 0a |ision: 0|8/07/88.|
|00000e30| 58 20 2a 2f 0a 58 0a 58 | 23 69 6e 63 6c 75 64 65 |X */.X.X|#include|
|00000e40| 20 3c 73 74 64 69 6f 2e | 68 3e 0a 58 0a 58 6d 61 | <stdio.|h>.X.Xma|
|00000e50| 69 6e 28 61 72 67 63 2c | 20 61 72 67 76 29 0a 58 |in(argc,| argv).X|
|00000e60| 20 20 20 20 69 6e 74 20 | 20 20 20 20 20 20 20 20 | int | |
|00000e70| 20 20 20 20 61 72 67 63 | 3b 0a 58 20 20 20 20 63 | argc|;.X c|
|00000e80| 68 61 72 20 20 20 20 20 | 20 20 20 20 20 2a 2a 61 |har | **a|
|00000e90| 72 67 76 3b 0a 58 7b 0a | 58 20 20 20 20 76 6f 69 |rgv;.X{.|X voi|
|00000ea0| 64 20 20 20 20 20 20 20 | 20 20 20 20 20 65 63 68 |d | ech|
|00000eb0| 6f 28 29 3b 0a 58 20 20 | 20 20 72 65 67 69 73 74 |o();.X | regist|
|00000ec0| 65 72 20 69 6e 74 20 20 | 20 20 6f 70 74 69 6e 64 |er int | optind|
|00000ed0| 3b 0a 58 0a 58 20 20 20 | 20 66 6f 72 20 28 6f 70 |;.X.X | for (op|
|00000ee0| 74 69 6e 64 20 3d 20 31 | 3b 20 6f 70 74 69 6e 64 |tind = 1|; optind|
|00000ef0| 20 3c 20 61 72 67 63 3b | 20 2b 2b 6f 70 74 69 6e | < argc;| ++optin|
|00000f00| 64 29 0a 58 09 69 66 20 | 28 6f 70 74 69 6e 64 20 |d).X.if |(optind |
|00000f10| 21 3d 20 31 20 7c 7c 20 | 73 74 72 63 6d 70 28 61 |!= 1 || |strcmp(a|
|00000f20| 72 67 76 5b 6f 70 74 69 | 6e 64 5d 2c 20 22 2d 6e |rgv[opti|nd], "-n|
|00000f30| 22 29 29 20 7b 0a 58 09 | 20 20 20 20 65 63 68 6f |")) {.X.| echo|
|00000f40| 28 61 72 67 76 5b 6f 70 | 74 69 6e 64 5d 29 3b 0a |(argv[op|tind]);.|
|00000f50| 58 09 20 20 20 20 69 66 | 20 28 6f 70 74 69 6e 64 |X. if| (optind|
|00000f60| 20 3c 20 61 72 67 63 20 | 2d 20 31 29 0a 58 09 09 | < argc |- 1).X..|
|00000f70| 70 75 74 63 68 61 72 28 | 27 20 27 29 3b 0a 58 09 |putchar(|' ');.X.|
|00000f80| 7d 0a 58 20 20 20 20 69 | 66 20 28 61 72 67 63 20 |}.X i|f (argc |
|00000f90| 3d 3d 20 31 20 7c 7c 20 | 73 74 72 63 6d 70 28 61 |== 1 || |strcmp(a|
|00000fa0| 72 67 76 5b 31 5d 2c 20 | 22 2d 6e 22 29 29 0a 58 |rgv[1], |"-n")).X|
|00000fb0| 09 70 75 74 63 68 61 72 | 28 27 5c 6e 27 29 3b 0a |.putchar|('\n');.|
|00000fc0| 58 0a 58 20 20 20 20 65 | 78 69 74 28 30 29 3b 0a |X.X e|xit(0);.|
|00000fd0| 58 7d 0a 58 0a 58 76 6f | 69 64 0a 58 65 63 68 6f |X}.X.Xvo|id.Xecho|
|00000fe0| 28 73 29 0a 58 20 20 20 | 20 72 65 67 69 73 74 65 |(s).X | registe|
|00000ff0| 72 20 63 68 61 72 20 20 | 2a 73 3b 0a 58 7b 0a 58 |r char |*s;.X{.X|
|00001000| 20 20 20 20 72 65 67 69 | 73 74 65 72 20 69 6e 74 | regi|ster int|
|00001010| 20 20 20 20 69 2c 09 09 | 2f 2a 20 44 69 67 69 74 | i,..|/* Digit|
|00001020| 20 63 6f 75 6e 74 65 72 | 20 66 6f 72 20 6f 63 74 | counter| for oct|
|00001030| 61 6c 20 6e 75 6d 62 65 | 72 73 2e 20 2a 2f 0a 58 |al numbe|rs. */.X|
|00001040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001050| 20 20 20 20 6e 3b 09 09 | 2f 2a 20 56 61 6c 75 65 | n;..|/* Value|
|00001060| 20 6f 66 20 6f 63 74 61 | 6c 20 6e 75 6d 62 65 72 | of octa|l number|
|00001070| 73 2e 20 2a 2f 0a 58 0a | 58 20 20 20 20 66 6f 72 |s. */.X.|X for|
|00001080| 20 28 3b 20 2a 73 3b 20 | 2b 2b 73 29 20 7b 0a 58 | (; *s; |++s) {.X|
|00001090| 09 69 66 20 28 2a 73 20 | 21 3d 20 27 5c 5c 27 29 |.if (*s |!= '\\')|
|000010a0| 0a 58 09 20 20 20 20 70 | 75 74 63 68 61 72 28 2a |.X. p|utchar(*|
|000010b0| 73 29 3b 0a 58 09 65 6c | 73 65 0a 58 09 20 20 20 |s);.X.el|se.X. |
|000010c0| 20 73 77 69 74 63 68 20 | 28 2a 2b 2b 73 29 20 7b | switch |(*++s) {|
|000010d0| 0a 58 09 20 20 20 20 63 | 61 73 65 20 30 3a 0a 58 |.X. c|ase 0:.X|
|000010e0| 09 09 70 75 74 63 68 61 | 72 28 27 5c 5c 27 29 3b |..putcha|r('\\');|
|000010f0| 0a 58 09 09 72 65 74 75 | 72 6e 3b 0a 58 09 20 20 |.X..retu|rn;.X. |
|00001100| 20 20 63 61 73 65 20 27 | 5c 5c 27 3a 0a 58 09 09 | case '|\\':.X..|
|00001110| 70 75 74 63 68 61 72 28 | 27 5c 5c 27 29 3b 0a 58 |putchar(|'\\');.X|
|00001120| 09 09 62 72 65 61 6b 3b | 0a 58 09 20 20 20 20 63 |..break;|.X. c|
|00001130| 61 73 65 20 27 30 27 3a | 0a 58 09 09 66 6f 72 20 |ase '0':|.X..for |
|00001140| 28 69 20 3d 20 6e 20 3d | 20 30 2c 20 2b 2b 73 3b |(i = n =| 0, ++s;|
|00001150| 20 69 20 3c 20 33 20 26 | 26 20 2a 73 20 3e 3d 20 | i < 3 &|& *s >= |
|00001160| 27 30 27 20 26 26 20 2a | 73 20 3c 3d 20 27 37 27 |'0' && *|s <= '7'|
|00001170| 3b 20 2b 2b 69 2c 20 2b | 2b 73 29 0a 58 09 09 20 |; ++i, +|+s).X.. |
|00001180| 20 20 20 6e 20 2b 3d 20 | 2a 73 20 2d 20 27 30 27 | n += |*s - '0'|
|00001190| 3b 0a 58 09 09 2d 2d 73 | 3b 0a 58 09 09 70 75 74 |;.X..--s|;.X..put|
|000011a0| 63 68 61 72 28 6e 29 3b | 0a 58 09 09 62 72 65 61 |char(n);|.X..brea|
|000011b0| 6b 3b 0a 58 09 20 20 20 | 20 63 61 73 65 20 27 62 |k;.X. | case 'b|
|000011c0| 27 3a 0a 58 09 09 70 75 | 74 63 68 61 72 28 38 29 |':.X..pu|tchar(8)|
|000011d0| 3b 0a 58 09 09 62 72 65 | 61 6b 3b 0a 58 09 20 20 |;.X..bre|ak;.X. |
|000011e0| 20 20 63 61 73 65 20 27 | 63 27 3a 0a 58 09 09 65 | case '|c':.X..e|
|000011f0| 78 69 74 28 30 29 3b 0a | 58 09 20 20 20 20 63 61 |xit(0);.|X. ca|
|00001200| 73 65 20 27 66 27 3a 0a | 58 09 09 70 75 74 63 68 |se 'f':.|X..putch|
|00001210| 61 72 28 31 32 29 3b 0a | 58 09 09 62 72 65 61 6b |ar(12);.|X..break|
|00001220| 3b 0a 58 09 20 20 20 20 | 63 61 73 65 20 27 6e 27 |;.X. |case 'n'|
|00001230| 3a 0a 58 09 09 70 75 74 | 63 68 61 72 28 27 5c 6e |:.X..put|char('\n|
|00001240| 27 29 3b 0a 58 09 09 62 | 72 65 61 6b 3b 0a 58 09 |');.X..b|reak;.X.|
|00001250| 20 20 20 20 63 61 73 65 | 20 27 72 27 3a 0a 58 09 | case| 'r':.X.|
|00001260| 09 70 75 74 63 68 61 72 | 28 27 5c 72 27 29 3b 0a |.putchar|('\r');.|
|00001270| 58 09 09 62 72 65 61 6b | 3b 0a 58 09 20 20 20 20 |X..break|;.X. |
|00001280| 63 61 73 65 20 27 74 27 | 3a 0a 58 09 09 70 75 74 |case 't'|:.X..put|
|00001290| 63 68 61 72 28 27 5c 74 | 27 29 3b 0a 58 09 09 62 |char('\t|');.X..b|
|000012a0| 72 65 61 6b 3b 0a 58 09 | 20 20 20 20 63 61 73 65 |reak;.X.| case|
|000012b0| 20 27 76 27 3a 0a 58 09 | 09 70 75 74 63 68 61 72 | 'v':.X.|.putchar|
|000012c0| 28 31 31 29 3b 0a 58 09 | 09 62 72 65 61 6b 3b 0a |(11);.X.|.break;.|
|000012d0| 58 09 20 20 20 20 64 65 | 66 61 75 6c 74 3a 0a 58 |X. de|fault:.X|
|000012e0| 09 09 70 75 74 63 68 61 | 72 28 27 5c 5c 27 29 3b |..putcha|r('\\');|
|000012f0| 0a 58 09 09 70 75 74 63 | 68 61 72 28 2a 73 29 3b |.X..putc|har(*s);|
|00001300| 0a 58 09 09 62 72 65 61 | 6b 3b 0a 58 09 20 20 20 |.X..brea|k;.X. |
|00001310| 20 7d 0a 58 20 20 20 20 | 7d 0a 58 7d 0a 45 4e 44 | }.X |}.X}.END|
|00001320| 5f 4f 46 5f 46 49 4c 45 | 0a 69 66 20 74 65 73 74 |_OF_FILE|.if test|
|00001330| 20 31 37 34 31 20 2d 6e | 65 20 60 77 63 20 2d 63 | 1741 -n|e `wc -c|
|00001340| 20 3c 27 65 63 68 6f 2e | 63 27 60 3b 20 74 68 65 | <'echo.|c'`; the|
|00001350| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|00001360| 20 5c 22 27 65 63 68 6f | 2e 63 27 5c 22 20 75 6e | \"'echo|.c'\" un|
|00001370| 70 61 63 6b 65 64 20 77 | 69 74 68 20 77 72 6f 6e |packed w|ith wron|
|00001380| 67 20 73 69 7a 65 21 0a | 66 69 0a 23 20 65 6e 64 |g size!.|fi.# end|
|00001390| 20 6f 66 20 27 65 63 68 | 6f 2e 63 27 0a 66 69 0a | of 'ech|o.c'.fi.|
|000013a0| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 6e 64 20 6f |echo sha|r: End o|
|000013b0| 66 20 73 68 65 6c 6c 20 | 61 72 63 68 69 76 65 2e |f shell |archive.|
|000013c0| 0a 65 78 69 74 20 30 0a | 0a 0a |.exit 0.|.. |
+--------+-------------------------+-------------------------+--------+--------+