3759 3816 P 0 12 F 8 30 F B (Hamilton) S 167 J ( C shell) S E
3380 4872 P 0 12 F 8 18 F B (User) S 100 J ( Guide and Reference Manual) S E
5600 8012 P 0 12 F 26 14 F B (Release) S 70 J ( 2.2) S E
5437 8512 P B (October, 1993) S E
2449 12720 P 0 12 F 8 12 F B (Hamilton) S 67 J ( Laboratories, ) S E 0 12 F 8 12 F (13) S 0 12 F 0 12 F () S 144 J ( ) S 0 12 F 8 12 F (Old) S 67 J ( Farm Road, Wayland, MA 01778-3117) S
3907 13032 P (Phone 508-358-5715 ) S 0 12 F 56 12 F (\267) S 0 12 F 8 12 F () S 67 J ( FAX 508-358-1113) S
3238 13344 P ( MCI Mail 389-0321 ) S 0 12 F 56 12 F (\267) S 0 12 F 8 12 F () S 67 J ( Internet 3890321@mcimail.com) S
2752 13656 P (BIX hamilton ) S 0 12 F 56 12 F (\267) S 0 12 F 8 12 F () S 67 J ( CompuServe 70034,2025 ) S 0 12 F 56 12 F (\267) S 0 12 F 8 12 F () S 67 J ( Telex 6503890321) S 0 12 F
PE
1800 9170 P 26 10 F (Copyright) S 50 J ( ) S 0 12 F 56 10 F (\343) S 0 12 F 26 10 F () S 50 J ( 1988 - 1993 by Hamilton Laboratories.) S
1800 9616 P (All) S 85 J ( rights) S 86 J ( reserved.) S 85 J ( ) S 86 J ( No) S 85 J ( part) S 86 J ( of) S 85 J ( this) S 86 J ( publication) S 85 J ( may) S 86 J ( be) S 85 J ( reproduced,) S 86 J ( stored) S 85 J ( in) S 86 J ( a) S 85 J ( retrieval) S
1800 9882 P (system,) S 67 J ( or) S 68 J ( transmitted,) S 67 J ( in) S 68 J ( any form or by any means, electronic, mechanical, photocopying,) S
1800 10148 P (recording,) S 81 J ( or) S 82 J ( otherwise) S 81 J ( without) S 82 J ( the) S 81 J ( prior) S 82 J ( written) S 81 J ( permission) S 82 J ( from Hamilton Laboratories.) S
1800 10414 P (Printed) S 50 J ( in the United States of America.) S
1800 10860 P (AT,) S 156 J ( PS/2) S 157 J ( and OS/2 are registered trademarks of International Business Machines) S
1800 11126 P (Corporation.) S 72 J ( ) S 73 J ( Windows) S 72 J ( NT) S 73 J ( is) S 72 J ( a) S 73 J ( trademark) S 72 J ( of) S 73 J ( Microsoft) S 72 J ( Corporation. UNIX is a registered) S
1800 11392 P (trademark) S 96 J ( of) S 97 J ( UNIX) S 96 J ( System) S 97 J ( Laboratories.) S 96 J ( Hamilton C shell is a trademark of Hamilton) S
1800 11658 P (Laboratories.) S 0 12 F
PE
4946 2632 P 8 16 F B (Table) S 89 J ( of Contents) S E
2880 3498 P 0 12 F 8 12 F B (Preface) S 67 J ( ) S 0 LL 5348 J ( ) S LE () S 67 J ( v) S E
2880 3944 P B (License Agreement) S 0 LL 3934 J ( ) S LE () S 67 J ( vii) S E
2880 4390 P B (Introduction ) S 0 LL 4811 J ( ) S LE () S 67 J ( ) S E B (1) S E
2880 4836 P B (Installation Guide ) S 0 LL 4197 J ( ) S LE () S 67 J ( ) S E B (3) S E
3240 5162 P 0 12 F 26 11 F (Installation) S 55 J ( on OS/2) S 531 J ( ) S (3) S
3240 5428 P (Installation) S 55 J ( on Windows NT) S 468 J ( ) S (11) S
2880 5874 P 0 12 F 8 12 F B (Common) S 67 J ( Problems ) S 0 LL 3880 J ( ) S LE () S 67 J ( ) S E B (13) S E
2880 6320 P B (Product Support ) S 0 LL 4185 J ( ) S LE () S 67 J ( ) S E B (21) S E
2880 6766 P B (User Guide ) S 0 LL 4800 J ( ) S LE () S 67 J ( ) S E B (23) S E
3240 7092 P 0 12 F 26 11 F (The) S 55 J ( Utilities) S 608 J ( ) S (27) S
3240 7358 P (I/O) S 55 J ( Redirection and Piping) S 556 J ( ) S (41) S
3240 7624 P (The) S 55 J ( History Mechanism) S 173 J ( ) S (49) S
3240 7890 P (Variables) S 166 J ( ) S (53) S
3240 8156 P (Wildcarding) S 575 J ( ) S (61) S
3240 8422 P (Editing) S 362 J ( ) S (67) S
3240 8688 P (Quoting) S 268 J ( ) S (71) S
3240 8954 P (Expressions) S 637 J ( ) S (75) S
3240 9220 P (Aliases) S 380 J ( ) S (83) S
3240 9486 P (Programming) S 55 J ( Constructs) S 52 J ( ) S 720 J ( ) S (85) S
3240 9752 P (Scheduling) S 708 J ( ) S 720 J ( ) S (103) S
3240 10018 P (Order) S 55 J ( of Evaluation) S 572 J ( ) S (109) S
3240 10284 P (Customizing) S 55 J ( the Shell) S 372 J ( ) S (111) S
3240 10550 P (Summary) S 124 J ( ) S (121) S
2880 10996 P 0 12 F 8 12 F B (Examples) S 67 J ( ) S 0 LL 4828 J ( ) S LE () S 67 J ( ) S E B (123) S E
3240 11322 P 0 12 F 26 11 F (Factor.csh) S 97 J ( ) S (123) S
3240 11588 P (Whereis.csh) S 624 J ( ) S 720 J ( ) S (124) S
3240 11854 P (Samples) S 55 J ( Directory) S 6 J ( ) S 720 J ( ) S (125) S
2880 12300 P 0 12 F 8 12 F B (Compatibility) S 67 J ( Guide ) S 0 LL 3678 J ( ) S LE () S 67 J ( ) S E B (129) S E
2880 12746 P B (Language Reference ) S 0 LL 3588 J ( ) S LE () S 67 J ( ) S E B (137) S E
3240 13072 P 0 12 F 26 11 F (Basic) S 55 J ( Statements) S 179 J ( ) S (137) S
3240 13338 P (Condition) S 55 J ( Testing) S 40 J ( ) S 720 J ( ) S (137) S
3240 13604 P (Iteration) S 248 J ( ) S (139) S
3240 13870 P (Procedures) S 705 J ( ) S (139) S
3240 14136 P (Aliases) S 380 J ( ) S (140) S
6206 15386 P 0 12 F 8 10 F B (iii) S E 0 12 F
PE
2880 1706 P 26 11 F (Variable) S 55 J ( and Expression Manipulation) S 199 J ( ) S (140) S
2880 1972 P (Local) S 55 J ( Variables) S 305 J ( ) S (141) S
2880 2238 P (Function) S 55 J ( Keys) S 400 J ( ) S (142) S
2880 2504 P (Miscellaneous) S 55 J ( Statements) S 13 J ( ) S 720 J ( ) S (143) S
2880 2770 P (Statement) S 55 J ( Relationships) S 171 J ( ) S (144) S
2880 3036 P (I/O) S 55 J ( Redirection) S 241 J ( ) S (144) S
2880 3302 P (Expression) S 55 J ( Operators) S 416 J ( ) S (145) S
2880 3568 P (File) S 55 J ( System Tests) S 135 J ( ) S (146) S
2880 3834 P (Special) S 55 J ( Devices) S 297 J ( ) S (147) S
2880 4100 P (Wildcarding) S 55 J ( and Pattern Matching) S 561 J ( ) S (148) S
2880 4366 P (Filename) S 55 J ( Completion) S 418 J ( ) S (149) S
2880 4632 P (Command) S 55 J ( Line Editing) S 225 J ( ) S (150) S
2880 4898 P (History) S 55 J ( Recall) S 416 J ( ) S (151) S
2880 5164 P (Command) S 55 J ( Completion) S 274 J ( ) S (151) S
2880 5430 P (Quoting) S 268 J ( ) S (152) S
2880 5696 P (Escape) S 55 J ( Sequences) S 67 J ( ) S (152) S
2880 5962 P (Variable) S 55 J ( Substitution) S 455 J ( ) S (153) S
2880 6228 P (Substitution) S 55 J ( Modifiers) S 328 J ( ) S (154) S
2880 6494 P (Pathname) S 55 J ( Editing) S 47 J ( ) S 720 J ( ) S (155) S
2520 6940 P 0 12 F 8 12 F B (Predefined) S 67 J ( Variables ) S 0 LL 3574 J ( ) S LE () S 67 J ( ) S E B (157) S E
2880 7266 P 0 12 F 26 11 F (Environmental) S 55 J ( Variables) S 93 J ( ) S (157) S
2880 7532 P (Process-Wide) S 55 J ( Variables) S 226 J ( ) S (160) S
2880 7798 P (Per-Thread) S 55 J ( Variables) S 454 J ( ) S (161) S
2880 8064 P (Variables,) S 55 J ( Sorted by Name) S 636 J ( ) S (165) S
2520 8510 P 0 12 F 8 12 F B (Built-in) S 67 J ( Procedures ) S 0 LL 3733 J ( ) S LE () S 67 J ( ) S E B (171) S E
2520 8956 P B (Utilities ) S 0 LL 5080 J ( ) S LE () S 67 J ( ) S E B (175) S E
2520 9402 P B (Popular Aliases ) S 0 LL 4147 J ( ) S LE () S 67 J ( ) S E B (179) S E
2520 9848 P B (Help Information ) S 0 LL 4039 J ( ) S LE () S 67 J ( ) S E B (183) S E
2880 10174 P 0 12 F 26 11 F (Help) S 55 J ( for the shell) S 112 J ( ) S 720 J ( ) S (183) S
2880 10440 P (Help) S 55 J ( for the utilities) S 555 J ( ) S (185) S
2520 10886 P 0 12 F 8 12 F B (Index) S 67 J ( ) S 0 LL 5320 J ( ) S LE () S 67 J ( ) S E B (255) S E
6206 15386 P 0 12 F 8 10 F B (iv) S E 0 12 F
PE
2160 3952 P 8 14 F B (Preface) S E
2700 4518 P 0 12 F 26 10 F (Thank) S 52 J ( you for purchasing and using Hamilton C shell. Our goal and guarantee is your) S
2160 4784 P (satisfaction.) S
2700 5230 P (Hamilton) S 126 J ( C) S 127 J ( shell) S 126 J ( is) S 127 J ( an) S 126 J ( advanced) S 127 J ( command) S 126 J ( processing) S 127 J ( language) S 126 J ( for) S 127 J ( OS/2 and) S
2160 5496 P (Windows) S 71 J ( NT.) S 72 J ( ) S 71 J ( It's) S 72 J ( a) S 71 J ( professionally-oriented) S 72 J ( language) S 71 J ( for) S 72 J ( manipulating files, processes and) S
2160 5762 P (threads) S 62 J ( and) S 63 J ( connections) S 62 J ( between) S 63 J ( these objects. As a language, it offers what we think of as) S
2160 6028 P (the) S 115 J ( human) S 116 J ( characteristics of language: a useful vocabulary and grammar, a limitless) S
2160 6294 P (freedom) S 61 J ( of expression and the ability to describe and relate events in time. Most important,) S
2160 6560 P (it) S 71 J ( projects) S 72 J ( your) S 71 J ( influence into the future by allowing you to easily describe you want done) S
2160 6826 P (even) S 50 J ( if what you want is quite complex and dependent on future events.) S
2700 7272 P (Hamilton) S 125 J ( C shell is a full implementation of the C shell language popular on) S
2160 7538 P (engineering) S 148 J ( workstations.) S 149 J ( It) S 148 J ( was) S 149 J ( created) S 148 J ( specifically) S 149 J ( for OS/2 protected mode and) S
2160 7804 P (meticulously) S 64 J ( ported) S 65 J ( to) S 64 J ( Windows) S 65 J ( NT.) S 64 J ( ) S 65 J ( Not) S 64 J ( one) S 65 J ( of) S 64 J ( the) S 65 J ( more) S 64 J ( than 105,000 lines of code in the) S
2160 8070 P (current) S 50 J ( release was created on or ported from anything but OS/2 or NT.) S
2700 8516 P (This) S 130 J ( product) S 131 J ( complies) S 130 J ( with) S 131 J ( accepted) S 130 J ( standards) S 131 J ( for the language and with the) S
2160 8782 P (conventions) S 50 J ( of) S 51 J ( OS/2) S 50 J ( and) S 51 J ( NT.) S 50 J ( ) S 51 J ( Users) S 50 J ( with previous experience with the standard OS/2, NT or) S
2160 9048 P (DOS) S 107 J ( command) S 108 J ( processors) S 107 J ( or) S 108 J ( the) S 107 J ( original) S 108 J ( Unix) S 107 J ( C shell should find enough reasonably) S
2160 9314 P (familiar) S 50 J ( language constructs and features to make the product immediately productive.) S
5353 10160 P (Douglas A. Hamilton) S
5206 10426 P (Wayland, Massachusetts) S
5525 10692 P (December 9, 1988) S
4994 10958 P (\(Last revised October 4, 1993\)) S
6234 15386 P 0 12 F 8 10 F B (v) S E 0 12 F
PE
6206 15386 P 8 10 F B (vi) S E 0 12 F
PE
1800 1680 P 8 10 F B I (IMPORTANT) S 56 J ( -- READ CAREFULLY BEFORE OPENING. By opening this sealed package, you) S E E
1800 1920 P B I (indicate your acceptance of the following Hamilton Laboratories License Agreement.) S E E
1800 2360 P 0 12 F 8 12 F B (Hamilton) S 67 J ( Laboratories License Agreement) S E
1800 2800 P 0 12 F 26 8 F B (This) S 40 J ( is a legal agreement between you, the end user, and Hamilton Laboratories. By opening this sealed package, you are) S E
1800 3040 P B (agreeing to be bound by the terms of this agreement. If you do not agree to the terms of this agreement, promptly return the) S E
1800 3280 P B (unopened package and any accompanying items for a full refund.) S E
4557 3720 P 0 12 F 26 8 F (HAMILTON) S 40 J ( LABORATORIES SOFTWARE LICENSE) S
1800 4160 P (1. GRANT OF LICENSE. Hamilton Laboratories grants to you the right to use one copy of the enclosed Hamilton Laboratories) S
1800 4400 P (software program \(the ``SOFTWARE''\) on a single terminal connected to a single computer \(i.e., with a single CPU\). You may not) S
1800 4640 P (network the SOFTWARE or otherwise use it on more than one computer or computer terminal at the same time.) S
1800 5080 P (2. COPYRIGHT. The SOFTWARE is owned by Hamilton Laboratories or its suppliers and is protected by United States copyright) S
1800 5320 P (laws and international treaty provisions. Therefore, you must treat the SOFTWARE like any other copyrighted material \(e.g., a) S
1800 5560 P (book or musical recording\) ) S LU (except) S LE ( that you may either \(a\) make a reasonable number of copies of the SOFTWARE solely for backup) S
1800 5800 P (purposes or \(b\) transfer the SOFTWARE to a single hard disk provided the original and any other copies are kept solely for backup) S
1800 6040 P (or archival purposes. You may not copy the written materials accompanying the software.) S
1800 6480 P (3. OTHER RESTRICTIONS. You may not rent or lease the SOFTWARE, but you may transfer the SOFTWARE and accompanying) S
1800 6720 P (written materials on a permanent basis provided you retain no copies and the recipient agrees to the terms of this Agreement. You) S
1800 6960 P (may not reverse engineer, decompile or disassemble the SOFTWARE. If SOFTWARE is an update, any transfer must include the) S
1800 7200 P (update and all prior versions.) S
1800 7640 P (4. DUAL MEDIA SOFTWARE. If this SOFTWARE package contains both 3 1/2'' and 5 1/4'' disks, you may use only the disks) S
1800 7880 P (appropriate for your single-user computer. You may not use the other disks on another computer or loan, rent, lease, or transfer) S
1800 8120 P (them to another user except as part of the permanent transfer \(as provided above\) of all SOFTWARE and written materials.) S
5641 8560 P (LIMITED WARRANTY) S
1800 9000 P (LIMITED WARRANTY. Hamilton Laboratories warrants that the SOFTWARE will perform substantially in accordance with the) S
1800 9240 P (accompanying written materials for a period of 90 days from the date of purchase. Some states do not allow limitations on the) S
1800 9480 P (duration of an implied warranty, so the above may not apply to you.) S
1800 9920 P (CUSTOMER REMEDIES. Hamilton Laboratories' entire liability and your exclusive remedy shall be, at Hamilton Laboratories') S
1800 10160 P (option, either \(a\) return of the price paid or \(b\) repair or replacement of the SOFTWARE that does not meet this Limited Warranty) S
1800 10400 P (and which is returned to Hamilton Laboratories with a copy of your receipt. During the first 90 days from the date of purchase, if) S
1800 10640 P (you determine that the SOFTWARE is unsatisfactory in any way, you may return it with proof of purchase and a written) S
1800 10880 P (description of why the SOFTWARE was unsatisfactory for a full refund.) S
1800 11320 P 0 12 F 26 8 F B LU (NO) S 40 J ( OTHER WARRANTIES.) S E LE B ( Hamilton Laboratories disclaims all other warranties, either express or implied, including, but not) S E
1800 11560 P B (limited to implied warranties of merchantability and fitness for a particular purpose, with respect to the SOFTWARE and) S E
1800 11800 P B (accompanying written materials. This limited warranty gives you specific legal rights. You may have others, which vary from) S E
1800 12040 P B (state to state.) S E
1800 12480 P B LU (NO LIABILITY FOR CONSEQUENTIAL DAMAGES.) S E LE B ( In no event shall Hamilton Laboratories or its suppliers be liable for any) S E
1800 12720 P B (damages whatsoever \(including, without limitation, damages for loss of business profits, business interruption, loss of business) S E
1800 12960 P B (information, or other pecuniary loss\) arising out of the use of or inability to use this Hamilton Laboratories product, even if) S E
1800 13200 P B (Hamilton Laboratories has been advised of the possibility of such damages. Because some states do not allow the exclusion or) S E
1800 13440 P B (limitation of liability for consequential or incidental damages, the above limitation may not apply to you.) S E
1800 13880 P 0 12 F 26 8 F (This) S 40 J ( Agreement is governed by the laws of the State of Massachusetts.) S
1800 14320 P (Should you have any questions concerning this Agreement, or if you wish to contact Hamilton Laboratories for any reason, please) S
1800 14560 P (write: Hamilton Laboratories Customer Service, 13 Old Farm Road, Wayland, MA 01778-3117.) S 0 12 F
PE
PE
9738 984 P 8 12 F B (Introduction) S E
4780 2211 P 0 12 F 56 14 F 2820 J ( ) S B (\344) S E
4780 2304 P 0 12 F 8 18 F B (Hamilton) S 100 J ( C shell) S E
2160 3528 P 0 12 F 8 14 F B (Introduction) S E
2693 4032 P 0 12 F 26 10 F (Hamilton) S 118 J ( C) S 119 J ( shell) S 118 J ( is) S 119 J ( a) S 118 J ( language) S 119 J ( for) S 118 J ( interactively) S 119 J ( using) S 118 J ( OS/2 and Windows NT.) S
2160 4296 P (Compared) S 59 J ( to) S 60 J ( the) S 59 J ( standard) S 60 J ( OS/2) S 59 J ( and) S 60 J ( NT) S 59 J ( command) S 60 J ( processors,) S 59 J ( it) S 60 J ( provides a vocabulary and) S
2160 4560 P (grammar) S 97 J ( that) S 98 J ( allows) S 97 J ( much more complex activities to be described. Some of its major) S
2160 4824 P (innovations) S 50 J ( include) S
2700 5288 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Command) S 83 J ( line) S 84 J ( editing) S 83 J ( of) S 84 J ( enormous) S 83 J ( statements) S 84 J ( with) S 83 J ( arrow) S 84 J ( keys and filename) S
3240 5552 P (and) S 50 J ( command completion.) S
2700 5936 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( User-definable) S 50 J ( function keys.) S
2700 6320 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Fully) S 62 J ( recursive) S 63 J ( grammar.) S 62 J ( ) S 63 J ( Statements) S 62 J ( can) S 63 J ( be) S 62 J ( arbitrarily) S 63 J ( nested) S 62 J ( or) S 63 J ( piped) S 62 J ( without) S
3240 6584 P (concern) S 50 J ( for statement length or other arbitrary restrictions.) S
2700 6968 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Procedures) S 52 J ( and) S 53 J ( aliases.) S 52 J ( ) S 53 J ( The) S 52 J ( vocabulary) S 53 J ( of) S 52 J ( the language is meant to be extensible) S
3240 7232 P (by) S 50 J ( the user.) S
2700 7616 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Variables,) S 63 J ( arrays) S 64 J ( and) S 63 J ( expressions. Integer and floating point arithmetic, pattern) S
3240 7880 P (matching) S 56 J ( facilities) S 57 J ( and) S 56 J ( various) S 57 J ( file) S 56 J ( system tests and editing operators provide an) S
3240 8144 P (expressive) S 50 J ( grammar.) S
2700 8528 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Threads) S 91 J ( and) S 92 J ( processes.) S 91 J ( ) S 92 J ( Child) S 91 J ( threads) S 92 J ( and) S 91 J ( processes) S 92 J ( can) S 91 J ( be) S 92 J ( spawned) S 91 J ( to) S 92 J ( run) S
3240 8792 P (commands) S 50 J ( asynchronously or in the background.) S
2700 9176 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Command) S 64 J ( substitution.) S 65 J ( The) S 64 J ( output) S 65 J ( of) S 64 J ( one) S 65 J ( command can be stuffed back on the) S
3240 9440 P (command) S 50 J ( line as arguments to another.) S
2700 9824 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( History.) S 50 J ( Past commands can be recalled and edited.) S
2700 10208 P 0 12 F 56 10 F (\267) S 0 12 F 26 10 F () S 448 J ( Advanced) S 50 J ( filename wildcarding.) S
2693 10592 P (This) S 140 J ( product) S 141 J ( complies fully with industry-accepted definitions for the C shell) S
2160 10856 P (language.) S 59 J ( ) S 60 J ( The) S 59 J ( user is not asked to learn yet another new proprietary language not available) S
2160 11120 P (anywhere) S 52 J ( else.) S 53 J ( ) S 52 J ( Instead,) S 53 J ( a) S 52 J ( tested,) S 53 J ( proven) S 52 J ( framework) S 53 J ( has) S 52 J ( been adapted with modern compiler) S
2160 11384 P (technology) S 50 J ( for OS/2 and NT:) S
2700 11848 P (1.) S 390 J ( A) S 142 J ( modern top-down parser is used for better language recognition and) S
3240 12112 P (performance.) S
2700 12496 P (2.) S 390 J ( It's) S 82 J ( easier) S 83 J ( to) S 82 J ( use.) S 83 J ( ) S 82 J ( The syntax and grammar has been made flexible and more) S
3240 12760 P (consistent) S 50 J ( with other modern high level language conventions.) S
2700 13144 P (3.) S 390 J ( It) S 67 J ( knows) S 68 J ( about) S 67 J ( OS/2) S 68 J ( AND) S 67 J ( NT:) S 68 J ( HPFS,) S 67 J ( long) S 68 J ( filenames, environmental variables,) S
3240 13408 P (networks,) S 70 J ( international) S 71 J ( character) S 70 J ( sets,) S 71 J ( how) S 70 J ( to) S 71 J ( start) S 70 J ( PM) S 71 J ( applications) S 70 J ( and) S 71 J ( \(under) S
3240 13672 P (OS/2) S 50 J ( 2.x\) about 32-bit and Virtual DOS machine \(VDM\) applications.) S
2700 14056 P (4.) S 390 J ( Threads) S 116 J ( are) S 117 J ( used extensively to achieve performance and functionality not) S
3240 14320 P (possible) S 50 J ( in UNIX.) S
5881 15384 P (Page ) S (1) S 0 12 F
PE
720 984 P 8 12 F B (Introduction) S E
2340 1704 P 0 12 F 26 10 F (5.) S 390 J ( Feedback) S 50 J ( to the user, especially when reporting errors has been improved.) S
1800 2568 P 0 12 F 8 12 F B (Who) S 67 J ( is it Designed For?) S E
2333 3072 P 0 12 F 26 10 F (Most) S 97 J ( users) S 98 J ( of) S 97 J ( Hamilton) S 98 J ( C) S 97 J ( shell) S 98 J ( are relatively technically oriented computer users.) S
1800 3336 P (Often,) S 50 J ( they're software developers. They have a business need for an OS/2 or an NT system.) S
2333 3800 P (Peering) S 68 J ( over their shoulders, they typically have lots of windows open on the screen.) S
1800 4064 P (Many) S 62 J ( of) S 63 J ( the) S 62 J ( windows) S 63 J ( are) S 62 J ( running) S 63 J ( copies of this shell. Some copies are transient, created to) S
1800 4328 P (display) S 50 J ( with) S 51 J ( little) S 50 J ( snippets of information needed on the spur of the moment. Other copies of) S
1800 4592 P (the) S 105 J ( shell) S 106 J ( would) S 105 J ( be used for more long-running projects: for example, getting a ) S 0 12 F 26 10 F B (make) S E
1800 4856 P 0 12 F 26 10 F (working) S 50 J ( for a major application.) S
2333 5320 P (A) S 74 J ( shell) S 75 J ( window) S 74 J ( is like any other application window but with a different paradigm.) S
1800 5584 P (Instead) S 59 J ( of) S 60 J ( ) S 59 J ( data,) S 60 J ( rows) S 59 J ( and) S 60 J ( columns) S 59 J ( of numbers or lines of text, the object being manipulated) S
1800 5848 P (is) S 50 J ( the machine itself.) S
2333 6312 P (A) S 53 J ( good) S 54 J ( shell) S 53 J ( tackles) S 54 J ( a) S 53 J ( different) S 54 J ( problem) S 53 J ( than) S 54 J ( icons) S 53 J ( and) S 54 J ( windows.) S 53 J ( ) S 54 J ( Instead) S 53 J ( of) S 54 J ( the) S 53 J ( point-) S
1800 6576 P (and-shoot) S 56 J ( immediacy of ``do this single thing ) S 0 12 F 26 10 F B I (now) S E E 0 12 F 26 10 F (,'') S 56 J ( a shell offers language and the ability to) S
1800 6840 P (describe) S 72 J ( more) S 73 J ( customized or repetitive actions, e.g., identify a suitable set of files, perform) S
1800 7104 P (some) S 50 J ( action against them and filter the results in some interesting way.) S
5881 15384 P (Page ) S (2) S 0 12 F
PE
9872 984 P 8 12 F B (Installation) S E
5124 2184 P 0 12 F 8 14 F B (Installation) S 78 J ( Guide) S E
2160 2928 P 0 12 F 26 10 F (This) S 52 J ( section) S 53 J ( outlines) S 52 J ( how) S 53 J ( to) S 52 J ( install) S 53 J ( the) S 52 J ( Hamilton) S 53 J ( C) S 52 J ( shell) S 53 J ( on your system. If you are installing) S
2160 3192 P (the OS/2) S 54 J ( version, follow the instructions beginning on this page. To install the Windows NT) S
2160 3456 P (version) S 50 J ( of Hamilton C shell, please turn to page ) S (11) S (.) S
2160 3960 P (If) S 53 J ( you) S 54 J ( encounter) S 53 J ( problems,) S 54 J ( consult) S 53 J ( the) S 54 J ( ``Common) S 53 J ( Problems'') S 54 J ( section) S 53 J ( on page ) S (13) S ( or call us for) S
2160 4224 P (technical) S 50 J ( support as described on page ) S (21) S (.) S
4992 4944 P 0 12 F 8 14 F B (Installation) S 78 J ( on OS/2) S E
2160 5688 P 0 12 F 26 10 F (The) S 105 J ( first) S 106 J ( few) S 105 J ( steps,) S 106 J ( copying) S 105 J ( files) S 106 J ( from) S 105 J ( diskette) S 106 J ( to) S 105 J ( your) S 106 J ( hard) S 105 J ( disk) S 106 J ( and modifying your) S
2160 5952 P 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (,) S 64 J ( are) S 65 J ( the) S 64 J ( same) S 65 J ( on) S 64 J ( all) S 65 J ( releases) S 64 J ( of) S 65 J ( OS/2.) S 64 J ( The remaining steps -- those associated) S
2160 6216 P (with) S 65 J ( actually) S 66 J ( installing) S 65 J ( Hamilton) S 66 J ( C) S 65 J ( shell) S 66 J ( on) S 65 J ( your) S 66 J ( OS/2 desktop -- depend on which release) S
2160 6480 P (of) S 52 J ( OS/2) S 53 J ( you're) S 52 J ( running.) S 53 J ( We suggest a ``vanilla'' installation initially, but later you may want) S
2160 6744 P (to) S 56 J ( customize) S 57 J ( it) S 56 J ( to) S 57 J ( your) S 56 J ( own) S 57 J ( tastes.) S 56 J ( ) S 57 J ( For help with that, read the chapter on ``Customizing the) S
2160 7008 P (Shell,'') S 50 J ( beginnning on page ) S (111) S (.) S
2160 7512 P (Once) S 54 J ( you've) S 55 J ( gained) S 54 J ( familiarity) S 55 J ( with) S 54 J ( both) S 55 J ( OS/2) S 54 J ( and) S 55 J ( with) S 54 J ( the) S 55 J ( C) S 54 J ( shell,) S 55 J ( you) S 54 J ( may) S 55 J ( want to set up) S
2160 7776 P (the) S 71 J ( C) S 72 J ( shell) S 71 J ( as) S 72 J ( the) S 71 J ( ) S 72 J ( default) S 71 J ( command processor for OS/2, completely replacing ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 71 J ( as) S
2160 8040 P (described) S 54 J ( on) S 55 J ( page) S 54 J ( ) S (8) S (.) S 55 J ( ) S 54 J ( The) S 55 J ( advantage) S 54 J ( to) S 55 J ( be) S 54 J ( gained) S 55 J ( \(except) S 54 J ( under) S 55 J ( the) S 54 J ( 6.167) S 55 J ( Beta) S 54 J ( and) S 55 J ( LA builds) S
2160 8304 P (of) S 60 J ( 2.0\)) S 61 J ( is) S 60 J ( that) S 61 J ( the) S 60 J ( C) S 61 J ( shell) S 60 J ( will) S 61 J ( then) S 60 J ( be able to change its own title bar and icon when you run) S
2160 8568 P (an) S 50 J ( external command.) S
2160 9552 P 0 12 F 8 12 F B (System) S 67 J ( Requirements) S E
2160 10003 P 0 12 F 56 8 F 4434 J ( ) S (\322) S 772 J ( ) S (\322) S 2696 J ( ) S (\322) S
2160 10056 P 0 12 F 26 10 F (Installation) S 68 J ( requires) S 69 J ( a) S 68 J ( 286-,) S 69 J ( 386-) S 68 J ( or) S 69 J ( 486-based) S 68 J ( AT) S 126 J ( ) S () S 69 J ( or) S 68 J ( PS/2) S 126 J ( ) S () S 69 J ( or) S 68 J ( compatible,) S 69 J ( running OS/2) S
2160 10320 P (1.1) S 66 J ( \(Presentation) S 67 J ( Manager\)) S 66 J ( or) S 67 J ( Microsoft) S 66 J ( SDK) S 67 J ( 1.06) S 66 J ( or) S 67 J ( later.) S 66 J ( ) S 67 J ( Roughly) S 66 J ( 1.2) S 67 J ( MB) S 66 J ( of) S 67 J ( disk) S 66 J ( space) S 67 J ( is) S
2160 10584 P (used.) S
2160 11088 P (Hamilton) S 77 J ( C) S 78 J ( shell) S 77 J ( and) S 78 J ( the) S 77 J ( utilities) S 78 J ( supplied) S 77 J ( with) S 78 J ( it) S 77 J ( fully) S 78 J ( support) S 77 J ( HPFS) S 78 J ( and long filenames) S
2160 11352 P (when) S 69 J ( running) S 70 J ( under) S 69 J ( OS/2) S 70 J ( 1.2) S 69 J ( or) S 70 J ( later.) S 69 J ( They will work properly in a Presentation Manager) S
2160 11616 P (text) S 57 J ( window) S 58 J ( or full-screen and with networks such as LAN Manager or IBM LAN Server. If) S
2160 11880 P (you're) S 59 J ( using) S 60 J ( OS/2) S 59 J ( 2.x,) S 60 J ( it) S 59 J ( knows) S 60 J ( how) S 59 J ( to) S 60 J ( run 32-bit applications and start up Multiple Virtual) S
2160 12144 P (DOS) S 70 J ( machines) S 71 J ( and) S 70 J ( run) S 71 J ( Win3.x) S 70 J ( applications) S 71 J ( seamlessly) S 70 J ( on the desktop. The product is not) S
2160 12408 P (copy) S 50 J ( protected.) S
2160 13392 P 0 12 F 8 12 F B (Basic) S 67 J ( Installation, Part I \(All releases of OS/2\)) S E
2160 13896 P 0 12 F 26 10 F (1.) S 570 J ( Copy) S 62 J ( the) S 63 J ( executables) S 62 J ( in) S 63 J ( the) S 62 J ( ) S 0 12 F 0 10 F (bin) S 0 12 F 26 10 F () S 63 J ( directory) S 62 J ( into) S 63 J ( any) S 62 J ( desired) S 63 J ( directory) S 62 J ( on your search) S
2880 14160 P 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F (,) S 136 J ( so) S 137 J ( long) S 136 J ( as) S 137 J ( it) S 136 J ( appears) S 137 J ( ahead) S 136 J ( of the directory containing the standard) S
5881 15384 P (Page) S 50 J ( ) S (3) S 0 12 F
PE
720 984 P 8 12 F B (Installation) S E
2520 1704 P 0 12 F 26 10 F (IBM/Microsoft) S 64 J ( ) S 0 12 F 0 10 F (more.com) S 0 12 F 26 10 F (.) S 64 J ( \(We supply a dramatically improved ) S 0 12 F 0 10 F (more.exe) S 0 12 F 26 10 F (,) S 64 J ( which) S
2520 1968 P (should) S 69 J ( take) S 70 J ( precedence.\)) S 69 J ( ) S 70 J ( If you're creating a new directory, remember to add it to) S
2520 2232 P (your) S 50 J ( search ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 50 J ( in ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( and in the ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 50 J ( file you create next.) S
1800 2736 P (2.) S 570 J ( Edit) S 87 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (,) S 88 J ( adding) S 87 J ( statements) S 88 J ( to) S 87 J ( define) S 88 J ( whatever) S 87 J ( directory) S 88 J ( you choose to) S
2520 3000 P (designate) S 83 J ( as your ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F () S 83 J ( directory and to ensure you're configured for a sufficient) S
2520 3264 P (number) S 52 J ( of threads. The significance of a home directory is principally that it will be) S
2520 3528 P (convenient) S 77 J ( to) S 78 J ( specify) S 77 J ( pathnames) S 78 J ( relative) S 77 J ( to) S 78 J ( that) S 77 J ( directory.) S 78 J ( ) S 77 J ( The default number of) S
2520 3792 P (threads) S 63 J ( is) S 64 J ( too) S 63 J ( small) S 64 J ( if) S 63 J ( you) S 64 J ( expect to have lots of windows open. Also, be sure your) S
2520 4056 P 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 50 J ( explicitly lists ``) S 0 12 F 0 10 F (.) S 0 12 F 26 10 F ('',) S 50 J ( the current directory.) S
1800 4560 P () S 720 J ( You) S 83 J ( may) S 84 J ( also) S 83 J ( want) S 84 J ( to) S 83 J ( include) S 84 J ( definitions) S 83 J ( for) S 84 J ( ) S 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F () S 83 J ( and) S 84 J ( ) S 0 12 F 0 10 F (COLORS) S 0 12 F 26 10 F (.) S 83 J ( ) S 0 12 F 0 10 F (more.exe) S 0 12 F 26 10 F () S 83 J ( and) S
2520 4824 P (some) S 59 J ( of) S 60 J ( the) S 59 J ( other) S 60 J ( utilities) S 59 J ( look) S 60 J ( for) S 59 J ( ) S 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F () S 60 J ( to) S 59 J ( see if you want them to display text with) S
2520 5088 P (tabs) S 50 J ( expanded out to something other than the default of every 8 characters.) S
1800 5592 P () S 720 J ( By) S 50 J ( default,) S 51 J ( the) S 50 J ( C) S 51 J ( shell) S 50 J ( displays) S 51 J ( white) S 50 J ( characters) S 51 J ( on) S 50 J ( a) S 51 J ( black background. The ) S 0 12 F 0 10 F (COLORS) S
2520 5856 P 0 12 F 26 10 F (variable) S 94 J ( lets) S 95 J ( you) S 94 J ( choose) S 95 J ( something) S 94 J ( different) S 95 J ( from) S 94 J ( this) S 95 J ( set:) S 94 J ( ) S 95 J ( ) S 0 12 F 0 10 F (black) S 0 12 F 26 10 F (,) S 95 J ( ) S 0 12 F 0 10 F (red) S 0 12 F 26 10 F (,) S 95 J ( ) S 0 12 F 0 10 F (green) S 0 12 F 26 10 F (,) S
2520 6120 P 0 12 F 0 10 F (yellow) S 0 12 F 26 10 F (,) S 108 J ( ) S 0 12 F 0 10 F (blue) S 0 12 F 26 10 F (,) S 109 J ( ) S 0 12 F 0 10 F (magenta) S 0 12 F 26 10 F () S 109 J ( \(or ) S 0 12 F 0 10 F (blue) S 179 J ( red) S 0 12 F 26 10 F (\),) S 109 J ( ) S 0 12 F 0 10 F (cyan) S 0 12 F 26 10 F () S 109 J ( \(or ) S 0 12 F 0 10 F (blue) S 179 J ( green) S 0 12 F 26 10 F (\)) S 109 J ( and ) S 0 12 F 0 10 F (white) S 0 12 F 26 10 F (.) S
2520 6384 P (Foreground) S 86 J ( colors) S 87 J ( may also be ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (,) S 87 J ( ) S 0 12 F 0 10 F (dim) S 0 12 F 26 10 F (,) S 87 J ( ) S 0 12 F 0 10 F (blink) S 0 12 F 26 10 F () S 87 J ( or ) S 0 12 F 0 10 F (reverse) S 0 12 F 26 10 F (.) S 87 J ( The keyword) S
2520 6648 P (``) S 0 12 F 0 10 F (on) S 0 12 F 26 10 F ('') S 55 J ( introduces) S 56 J ( background colors. \() S 0 12 F 0 10 F (Blink) S 0 12 F 26 10 F () S 56 J ( only causes true blinking full-screen; in) S
2520 6912 P (a text window, it just makes the background brighter. Also, ) S 0 12 F 0 10 F (yellow) S 0 12 F 26 10 F () S 56 J ( is a true yellow) S
2520 7176 P (only) S 58 J ( if) S 59 J ( it's) S 58 J ( ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (.) S 59 J ( ) S 58 J ( These) S 59 J ( are) S 58 J ( OS/2) S 59 J ( limitations) S 58 J ( not) S 59 J ( related) S 58 J ( to) S 59 J ( the) S 58 J ( C) S 59 J ( shell.\)) S 58 J ( ) S 59 J ( For more) S
2520 7440 P (information) S 70 J ( on) S 71 J ( setting) S 70 J ( screen) S 71 J ( colors,) S 70 J ( please) S 71 J ( refer) S 70 J ( to the customization chapter or to) S
2520 7704 P (the) S 50 J ( ) S 0 12 F 0 10 F (colors.csh) S 0 12 F 26 10 F () S 50 J ( file in the ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 50 J ( directory.) S
1800 8208 P () S 720 J ( Here's) S 50 J ( an example of what you might add to ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (:) S
3240 8712 P 0 12 F 0 10 F (THREADS=255) S
3240 8976 P (SET) S 120 J ( HOME=D:\\DOUG) S
3240 9240 P (SET TABS=3) S
3240 9504 P (SET COLORS=WHITE ON BLUE) S
1800 9968 P 0 12 F 26 10 F () S 50 J ( ) S 670 J ( \(Please) S 107 J ( be) S 108 J ( sure) S 107 J ( your) S 108 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 107 J ( file contains only upper-case alphabetics, no) S
2520 10232 P (lower-case,) S 71 J ( if) S 72 J ( you're using OS/2 1.1. Lower-case alphabetics were known to cause) S
2520 10496 P (random) S 62 J ( OS/2) S 63 J ( system) S 62 J ( failures) S 63 J ( in) S 62 J ( that) S 63 J ( release of OS/2. This was a known bug in the) S
2520 10760 P (OS/2) S 50 J ( kernel and was not application dependent.\)) S
1800 11264 P (3.) S 570 J ( Copy) S 50 J ( the ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 50 J ( files into ``home'' directory.) S
1800 11768 P () S 720 J ( Unless) S 87 J ( you're convinced that you've set all your environmental variables in your) S
2520 12032 P 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 60 J ( \(and) S 61 J ( that) S 60 J ( your) S 61 J ( ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 60 J ( explicitly lists ``) S 0 12 F 0 10 F (.) S 0 12 F 26 10 F ('',) S 60 J ( the current directory\), use the) S
2520 12296 P 0 12 F 0 10 F (dumpenv) S 0 12 F 26 10 F () S 72 J ( utility) S 73 J ( to) S 72 J ( paste) S 73 J ( a) S 72 J ( series) S 73 J ( of) S 72 J ( ) S 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F () S 73 J ( statements) S 72 J ( into) S 73 J ( the) S 72 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 72 J ( file to) S
2520 12560 P (recreate) S 50 J ( the environment you've been using with ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (:) S
3240 13064 P 0 12 F 0 10 F (dumpenv) S 120 J ( >>login.csh) S
1800 13528 P 0 12 F 26 10 F () S 720 J ( \(To) S 80 J ( see) S 81 J ( what) S 80 J ( ) S 0 12 F 0 10 F (dumpenv) S 0 12 F 26 10 F () S 81 J ( does,) S 80 J ( look) S 81 J ( at) S 80 J ( the source code in the ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 80 J ( directory or) S
2520 13792 P (simply) S 50 J ( run ) S 0 12 F 0 10 F (dumpenv) S 0 12 F 26 10 F () S 50 J ( without redirecting the output.\)) S
5881 15384 P (Page ) S (4) S 0 12 F
PE
9872 984 P 8 12 F B (Installation) S E
2160 1704 P 0 12 F 26 10 F () S 720 J ( The) S 102 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 103 J ( and) S 102 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 103 J ( files) S 102 J ( can be edited with any ascii editor to) S
2880 1968 P (customize) S 68 J ( the) S 69 J ( shell) S 68 J ( to) S 69 J ( your) S 68 J ( needs.) S 69 J ( ) S 68 J ( The) S 69 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 68 J ( file) S 69 J ( has) S 68 J ( a) S 69 J ( lot) S 68 J ( of) S 69 J ( comments in it) S
2880 2232 P (which) S 77 J ( can) S 78 J ( take) S 77 J ( the) S 78 J ( shell) S 77 J ( a) S 78 J ( second) S 77 J ( or) S 78 J ( more) S 77 J ( to read; you'll almost certainly want to) S
2880 2496 P (delete) S 51 J ( some) S 52 J ( of) S 51 J ( them) S 52 J ( once) S 51 J ( you've) S 52 J ( read) S 51 J ( them) S 52 J ( so) S 51 J ( the) S 52 J ( shell) S 51 J ( will) S 52 J ( start) S 51 J ( up) S 52 J ( faster.) S 51 J ( ) S 52 J ( Also, any) S
2880 2760 P 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F () S 50 J ( statements that just duplicate what's in your ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( can be discarded.) S
2160 3264 P () S 720 J ( The) S 50 J ( remaining steps depend on which release of OS/2 you're running.) S
2160 4248 P 0 12 F 8 12 F B (Basic) S 67 J ( Installation, Part II \(OS/2 1.1\)) S E
2160 4752 P 0 12 F 26 10 F (4.) S 570 J ( Add) S 61 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 62 J ( with) S 61 J ( the) S 62 J ( title) S 61 J ( ``) S 0 12 F 0 10 F (Hamilton) S 132 J ( C shell) S 0 12 F 26 10 F ('') S 62 J ( to the ``Start Programs'' menu.) S
2880 5016 P (To) S 50 J ( do this, pull-down ``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 50 J ( and select ``) S 0 12 F 0 10 F (Add...) S 0 12 F 26 10 F ('') S 50 J ( from the menu bar. Fill in:) S
3600 5520 P 0 12 F 0 10 F (Program) S 120 J ( title.... Hamilton C shell) S
3600 5784 P (Path and file name ) S 0 12 F 26 10 F I (....as) S 50 J ( appropriate....) S E 0 12 F 0 10 F (\\csh.exe) S
3600 6048 P (Parameters....) S 1200 J ( -L) S
2160 6512 P 0 12 F 26 10 F () S 720 J ( The) S 59 J ( ``) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F ('') S 60 J ( part) S 59 J ( tells) S 60 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 59 J ( when) S 60 J ( it) S 59 J ( starts up that it's a ``login'' shell, which means) S
2880 6776 P (it) S 56 J ( should) S 57 J ( look) S 56 J ( for) S 57 J ( a) S 56 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 57 J ( file.) S 56 J ( \(Refer) S 57 J ( to) S 56 J ( page) S 57 J ( ) S (183) S ( for additional information on) S
2880 7040 P (other) S 50 J ( options.\)) S
2160 7544 P (5.) S 570 J ( You) S 103 J ( will) S 104 J ( likely) S 103 J ( want) S 104 J ( to) S 103 J ( create) S 104 J ( a) S 103 J ( second) S 104 J ( entry) S 103 J ( for) S 104 J ( running) S 103 J ( full-screen.) S 104 J ( It's) S 103 J ( more) S
2880 7808 P (convenient) S 62 J ( if) S 63 J ( you're) S 62 J ( mostly) S 63 J ( working) S 62 J ( with) S 63 J ( applications) S 62 J ( that) S 63 J ( only) S 62 J ( run full-screen or if) S
2880 8072 P (you) S 112 J ( want) S 113 J ( faster text display, especially scrolling. To do that, from the ``Start) S
2880 8336 P (Programs'') S 57 J ( menu,) S 58 J ( pull-down) S 57 J ( ``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 58 J ( and) S 57 J ( select) S 58 J ( ``) S 0 12 F 0 10 F (Copy...) S 0 12 F 26 10 F ('') S 57 J ( from) S 58 J ( the) S 57 J ( menu) S 58 J ( bar.) S
2880 8600 P (In) S 50 J ( the Copy Programs popup, fill in the following and push the ``) S 0 12 F 0 10 F (Copy) S 0 12 F 26 10 F ('') S 50 J ( button:) S
3600 9104 P 0 12 F 0 10 F (Change) S 120 J ( Title to: Hamilton C shell -- Full Screen) S
2160 9568 P 0 12 F 26 10 F () S 720 J ( Back) S 88 J ( in) S 89 J ( the) S 88 J ( ``Start) S 89 J ( Programs'') S 88 J ( window,) S 89 J ( select) S 88 J ( the new full screen title, pull-down) S
2880 9832 P (``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 69 J ( and) S 70 J ( select) S 69 J ( ``) S 0 12 F 0 10 F (Change...) S 0 12 F 26 10 F (''.) S 70 J ( ) S 69 J ( In) S 70 J ( the) S 69 J ( Change) S 70 J ( Program) S 69 J ( Information) S 70 J ( popup,) S
2880 10096 P (push) S 80 J ( the ``) S 0 12 F 0 10 F (Change) S 0 12 F 26 10 F ('') S 80 J ( button. This brings up the How to Run the Program popup;) S
2880 10360 P (select) S 50 J ( ``) S 0 12 F 0 10 F (Run) S 120 J ( the program full-screen) S 0 12 F 26 10 F ('') S 50 J ( and ``) S 0 12 F 0 10 F (Enter) S 0 12 F 26 10 F (''.) S
2160 10864 P (6.) S 570 J ( All) S 59 J ( the) S 60 J ( material) S 59 J ( in) S 60 J ( the) S 59 J ( ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 60 J ( directory) S 59 J ( is) S 60 J ( provided) S 59 J ( for) S 60 J ( its) S 59 J ( tutorial) S 60 J ( value;) S 59 J ( you may) S
2880 11128 P (or) S 50 J ( may not wish to copy it onto your hard disk.) S
2160 11632 P (7.) S 570 J ( Reboot) S 69 J ( your system before starting Hamilton C shell for the first time. This causes) S
2880 11896 P (the) S 50 J ( new statements in ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( to take effect.) S
5881 15384 P (Page ) S (5) S 0 12 F
PE
720 984 P 8 12 F B (Installation) S E
1800 1704 P B (Basic) S 67 J ( Installation, Part II \(OS/2 1.2 or 1.3\)) S E
1800 2208 P 0 12 F 26 10 F (4.) S 570 J ( Add) S 69 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 70 J ( with) S 69 J ( the) S 70 J ( title) S 69 J ( ``) S 0 12 F 0 10 F (Hamilton) S 140 J ( C) S 139 J ( shell) S 0 12 F 26 10 F ('') S 70 J ( to) S 69 J ( the) S 70 J ( ``Group) S 69 J ( -) S 70 J ( Main'' menu.) S
2520 2472 P (To) S 50 J ( do this, pull-down ``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 50 J ( and select ``) S 0 12 F 0 10 F (New...) S 0 12 F 26 10 F ('') S 50 J ( from the menu bar. Fill in:) S
3240 2976 P 0 12 F 0 10 F (Program) S 120 J ( title: Hamilton C shell) S
3240 3240 P (Path and file name: ) S 0 12 F 26 10 F I (....as) S 50 J ( appropriate....) S E 0 12 F 0 10 F (\\csh.exe) S
3240 3504 P (Parameters:) S 1560 J ( -L) S
1800 3968 P 0 12 F 26 10 F () S 720 J ( The) S 59 J ( ``) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F ('') S 60 J ( part) S 59 J ( tells) S 60 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 59 J ( when) S 60 J ( it) S 59 J ( starts up that it's a ``login'' shell, which means) S
2520 4232 P (it) S 56 J ( should) S 57 J ( look) S 56 J ( for) S 57 J ( a) S 56 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 57 J ( file.) S 56 J ( \(Refer) S 57 J ( to) S 56 J ( page) S 57 J ( ) S (183) S ( for additional information on) S
2520 4496 P (other) S 50 J ( options.\)) S
1800 5000 P (5.) S 570 J ( You) S 103 J ( will) S 104 J ( likely) S 103 J ( want) S 104 J ( to) S 103 J ( create) S 104 J ( a) S 103 J ( second) S 104 J ( entry) S 103 J ( for) S 104 J ( running) S 103 J ( full-screen.) S 104 J ( It's) S 103 J ( more) S
2520 5264 P (convenient) S 62 J ( if) S 63 J ( you're) S 62 J ( mostly) S 63 J ( working) S 62 J ( with) S 63 J ( applications) S 62 J ( that) S 63 J ( only) S 62 J ( run full-screen or if) S
2520 5528 P (you) S 88 J ( want) S 89 J ( faster) S 88 J ( text display, especially scrolling. To do that, from the ``Group -) S
2520 5792 P (Main'') S 65 J ( menu,) S 66 J ( pull-down) S 65 J ( ``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 66 J ( and select ``) S 0 12 F 0 10 F (Copy...) S 0 12 F 26 10 F ('') S 66 J ( from the menu bar. In) S
2520 6056 P (the) S 50 J ( Copy Programs popup, fill in the following and push the ``) S 0 12 F 0 10 F (Copy) S 0 12 F 26 10 F ('') S 50 J ( button:) S
3240 6560 P 0 12 F 0 10 F (Change) S 120 J ( Title to: Hamilton C shell -- Full Screen) S
1800 7024 P 0 12 F 26 10 F () S 720 J ( Back) S 94 J ( in the ``Group - Main'' window, select the new full screen title, pull-down) S
2520 7288 P (``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 100 J ( and) S 101 J ( select) S 100 J ( ``) S 0 12 F 0 10 F (Properties...) S 0 12 F 26 10 F ('') S 101 J ( .) S 100 J ( ) S 101 J ( In the Properties popup, push the) S
2520 7552 P (down) S 62 J ( arrow) S 63 J ( next) S 62 J ( to) S 63 J ( the) S 62 J ( ``) S 0 12 F 0 10 F (Program) S 133 J ( Type:) S 0 12 F 26 10 F ('') S 63 J ( box and select ``) S 0 12 F 0 10 F (OS/2) S 133 J ( Full Screen) S 0 12 F 26 10 F ('') S
2520 7816 P (on) S 50 J ( the list that will appear and then push the ``) S 0 12 F 0 10 F (Change) S 0 12 F 26 10 F ('') S 50 J ( button.) S
1800 8320 P (6.) S 570 J ( All) S 59 J ( the) S 60 J ( material) S 59 J ( in) S 60 J ( the) S 59 J ( ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 60 J ( directory) S 59 J ( is) S 60 J ( provided) S 59 J ( for) S 60 J ( its) S 59 J ( tutorial) S 60 J ( value;) S 59 J ( you may) S
2520 8584 P (or) S 50 J ( may not wish to copy it onto your hard disk.) S
1800 9088 P (7.) S 570 J ( Reboot) S 69 J ( your system before starting Hamilton C shell for the first time. This causes) S
2520 9352 P (the) S 50 J ( new statements in ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( to take effect.) S
5881 15384 P (Page ) S (6) S 0 12 F
PE
9872 984 P 8 12 F B (Installation) S E
2160 1704 P B (Basic) S 67 J ( Installation, Part II \(OS/2 2.x\)) S E
2160 2208 P 0 12 F 26 10 F (4.) S 570 J ( Open) S 85 J ( the) S 86 J ( Templates) S 85 J ( folder and drag a program object to the desktop \(or another) S
2880 2472 P (folder\)) S 51 J ( by) S 52 J ( pressing) S 51 J ( and) S 52 J ( holding) S 51 J ( the right mouse button as you drag. On the Program) S
2880 2736 P (page) S 50 J ( of the ``Program - Settings'' window that will appear, fill in:) S
3600 3240 P 0 12 F 0 10 F (Path) S 120 J ( and file name: ) S 0 12 F 26 10 F I (....as) S 50 J ( appropriate....) S E 0 12 F 0 10 F (\\csh.exe) S
3600 3504 P (Parameters:) S 1560 J ( -L) S
2160 3968 P 0 12 F 26 10 F () S 720 J ( The) S 59 J ( ``) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F ('') S 60 J ( part) S 59 J ( tells) S 60 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 59 J ( when) S 60 J ( it) S 59 J ( starts up that it's a ``login'' shell, which means) S
2880 4232 P (it) S 56 J ( should) S 57 J ( look) S 56 J ( for) S 57 J ( a) S 56 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 57 J ( file.) S 56 J ( \(Refer) S 57 J ( to) S 56 J ( page) S 57 J ( ) S (183) S ( for additional information on) S
2880 4496 P (other) S 50 J ( options.\)) S
2160 5000 P (5.) S 570 J ( On) S 50 J ( the Window page of the Settings, you will probably want to set) S
3600 5504 P 0 12 F 0 10 F (Minimized) S 120 J ( button behavior: Minimize window to desktop) S
3600 5968 P (Object open behavior: Create new window) S
2160 6432 P 0 12 F 26 10 F () S 720 J ( Doing) S 50 J ( this will let you conveniently open up lots of copies of the C shell as needed.) S
2160 6936 P (6.) S 570 J ( On) S 50 J ( the General page of the Settings, set) S
3600 7440 P 0 12 F 0 10 F (Title:) S 2160 J ( Hamilton) S 120 J ( C shell) S
2160 7904 P 0 12 F 26 10 F () S 720 J ( Close) S 50 J ( the Settings by pressing ) S 0 12 F 0 10 F (Alt-F4) S 0 12 F 26 10 F (.) S
2160 8408 P (7.) S 570 J ( You) S 103 J ( will) S 104 J ( likely) S 103 J ( want) S 104 J ( to) S 103 J ( create) S 104 J ( a) S 103 J ( second) S 104 J ( entry) S 103 J ( for) S 104 J ( running) S 103 J ( full-screen.) S 104 J ( It's) S 103 J ( more) S
2880 8672 P (convenient) S 62 J ( if) S 63 J ( you're) S 62 J ( mostly) S 63 J ( working) S 62 J ( with) S 63 J ( applications) S 62 J ( that) S 63 J ( only) S 62 J ( run full-screen or if) S
2880 8936 P (you) S 71 J ( want) S 72 J ( faster) S 71 J ( text) S 72 J ( display,) S 71 J ( especially) S 72 J ( scrolling.) S 71 J ( ) S 72 J ( To) S 71 J ( do) S 72 J ( that,) S 71 J ( copy the C shell icon) S
2880 9200 P (you) S 66 J ( just) S 67 J ( created) S 66 J ( by) S 67 J ( right-clicking) S 66 J ( on) S 67 J ( it) S 66 J ( and) S 67 J ( selecting) S 66 J ( ``) S 0 12 F 0 10 F (Copy...) S 0 12 F 26 10 F ('') S 67 J ( and) S 66 J ( then) S 67 J ( choosing) S
2880 9464 P (an) S 63 J ( appropriate) S 64 J ( destination) S 63 J ( folder) S 64 J ( \(probably) S 63 J ( the) S 64 J ( desktop\)) S 63 J ( for) S 64 J ( the copy. You can also) S
2880 9728 P (copy) S 80 J ( the) S 81 J ( icon) S 80 J ( by) S 81 J ( pressing) S 80 J ( and) S 81 J ( holding) S 80 J ( the) S 81 J ( Ctrl) S 80 J ( key) S 81 J ( while) S 80 J ( dragging) S 81 J ( with the right) S
2880 9992 P (mouse) S 50 J ( button.) S
2160 10496 P (8.) S 570 J ( Once) S 144 J ( you've) S 145 J ( made) S 144 J ( the) S 145 J ( copy,) S 144 J ( right-click) S 145 J ( on) S 144 J ( it) S 145 J ( and) S 144 J ( select) S 145 J ( ``) S 0 12 F 0 10 F (Open) S 0 12 F 26 10 F ('') S 144 J ( and) S 145 J ( then) S
2880 10760 P (``) S 0 12 F 0 10 F (Settings) S 0 12 F 26 10 F (''.) S 62 J ( ) S 63 J ( On) S 62 J ( the ``) S 0 12 F 0 10 F (Session) S 0 12 F 26 10 F ('') S 62 J ( page, select ``) S 0 12 F 0 10 F (OS/2) S 132 J ( full screen) S 0 12 F 26 10 F (''.) S 62 J ( Then go to) S
2880 11024 P (the) S 50 J ( ``) S 0 12 F 0 10 F (General) S 0 12 F 26 10 F ('') S 50 J ( page and type a new title:) S
3600 11528 P 0 12 F 0 10 F (Title:) S 2160 J ( Hamilton) S 120 J ( C shell) S
3600 11792 P () S 2880 J ( Full) S 120 J ( Screen) S
2160 12256 P 0 12 F 26 10 F () S 720 J ( Close) S 50 J ( the Settings window for the copy by pressing ) S 0 12 F 0 10 F (Alt-F4) S 0 12 F 26 10 F (.) S
2160 12760 P (9.) S 570 J ( All) S 59 J ( the) S 60 J ( material) S 59 J ( in) S 60 J ( the) S 59 J ( ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 60 J ( directory) S 59 J ( is) S 60 J ( provided) S 59 J ( for) S 60 J ( its) S 59 J ( tutorial) S 60 J ( value;) S 59 J ( you may) S
2880 13024 P (or) S 50 J ( may not wish to copy it onto your hard disk.) S
2160 13528 P (10.) S 470 J ( Reboot) S 69 J ( your system before starting Hamilton C shell for the first time. This causes) S
2880 13792 P (the) S 50 J ( new statements in ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( to take effect.) S
5881 15384 P (Page ) S (7) S 0 12 F
PE
720 984 P 8 12 F B (Installation) S E
1800 1704 P B (Installation) S 67 J ( as the Default Command Processor) S E
1800 2208 P 0 12 F 26 10 F (The) S 75 J ( C) S 76 J ( shell) S 75 J ( can) S 76 J ( also) S 75 J ( be) S 76 J ( installed) S 75 J ( as) S 76 J ( the) S 75 J ( default) S 76 J ( command) S 75 J ( processor) S 76 J ( OS/2 protected mode,) S
1800 2472 P (meaning) S 60 J ( you) S 61 J ( specify) S 60 J ( it,) S 61 J ( not) S 60 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 61 J ( in) S 60 J ( your) S 61 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (.) S 60 J ( ) S 61 J ( The) S 60 J ( principal) S 61 J ( advantage) S 60 J ( is) S 61 J ( that) S
1800 2736 P (when) S 52 J ( the) S 53 J ( when) S 52 J ( the) S 53 J ( C) S 52 J ( shell) S 53 J ( is) S 52 J ( run) S 53 J ( as) S 52 J ( the) S 53 J ( default) S 52 J ( command) S 53 J ( processor,) S 52 J ( PM) S 53 J ( allows the C shell to) S
1800 3000 P (change) S 63 J ( its) S 64 J ( own) S 63 J ( title) S 64 J ( bar and, under OS/2 1.3 or 2.x \(but not the 6.167 Beta or LA builds\), its) S
1800 3264 P (own) S 50 J ( icon) S 51 J ( to) S 50 J ( show) S 51 J ( what) S 50 J ( it's) S 51 J ( running.) S 50 J ( ) S 51 J ( This) S 50 J ( can) S 51 J ( be) S 50 J ( quite) S 51 J ( helpful) S 50 J ( if) S 51 J ( you) S 50 J ( have) S 51 J ( lots) S 50 J ( of) S 51 J ( copies) S 50 J ( of) S 51 J ( the) S
1800 3528 P (shell) S 50 J ( running minimized and would like to know what each one is doing.) S
1800 4032 P (The) S 89 J ( disadvantage) S 90 J ( is) S 89 J ( that) S 90 J ( the) S 89 J ( installation) S 90 J ( is) S 89 J ( slightly messy and it does disable ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S
1800 4296 P (ability) S 64 J ( to) S 65 J ( change) S 64 J ( its) S 65 J ( title) S 64 J ( bar) S 65 J ( and icon. For these reasons, most users will want to wait until) S
1800 4560 P (they've) S 50 J ( gained some familiarity with the C shell and with OS/2 before installing it this way.) S
1800 5064 P (To) S 61 J ( install) S 62 J ( the) S 61 J ( C) S 62 J ( shell as the default command processor, follow the instructions for the basic) S
1800 5328 P (installation) S 50 J ( but then make these changes, as appropriate for your system:) S
1800 6312 P 0 12 F 8 12 F B (Default) S 67 J ( Command Processor Installation Procedure \(OS/2 1.2 or 1.3\)) S E
1800 6816 P 0 12 F 26 10 F (1.) S 570 J ( Edit) S 91 J ( the) S 92 J ( ) S 0 12 F 0 10 F (PROTSHELL) S 0 12 F 26 10 F () S 91 J ( line) S 92 J ( in) S 91 J ( your) S 92 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (,) S 91 J ( replacing) S 92 J ( the) S 91 J ( pathname and any) S
2520 7080 P (parameters) S 51 J ( for) S 52 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 51 J ( \(remembering) S 52 J ( what) S 51 J ( they) S 52 J ( were\)) S 51 J ( with) S 52 J ( the) S 51 J ( pathname) S 52 J ( for) S 51 J ( the C) S
2520 7344 P (shell) S 50 J ( and a ) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F () S 50 J ( \(login\) parameter. The resulting line should look something like this:) S
2112 7848 P 0 12 F 0 8 F (PROTSHELL=C:\\OS2\\PMSHELL.EXE) S 96 J ( C:\\OS2\\OS2.INI C:\\OS2\\OS2SYS.INI C:\\OS2\\BIN\\CSH.EXE -L) S
1800 8312 P 0 12 F 26 10 F (2.) S 570 J ( Change) S 52 J ( the) S 53 J ( pathname) S 52 J ( you) S 53 J ( specify) S 52 J ( for) S 53 J ( the) S 52 J ( C) S 53 J ( shell) S 52 J ( in) S 53 J ( Start) S 52 J ( Programs) S 53 J ( or) S 52 J ( Group-Main) S 53 J ( to) S
2520 8576 P 0 12 F 0 10 F (*) S 0 12 F 26 10 F () S 79 J ( \(an) S 80 J ( asterisk\).) S 79 J ( ) S 80 J ( Also,) S 79 J ( change) S 80 J ( the) S 79 J ( parameters) S 80 J ( line to be either blank \(1.1 or 1.2\) or) S
2520 8840 P (\(1.3\):) S
3240 9344 P 0 12 F 0 10 F (/K) S 120 J ( "%*") S
1800 9808 P 0 12 F 26 10 F (3.) S 570 J ( Change) S 89 J ( the) S 90 J ( entries) S 89 J ( \(probably) S 90 J ( named) S 89 J ( ``OS/2) S 90 J ( Window'') S 89 J ( or) S 90 J ( ``OS/2 Full Screen''\) in) S
2520 10072 P (Group-Main) S 89 J ( or) S 90 J ( Start) S 89 J ( Programs for ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 89 J ( to fill in the complete pathname for) S
2520 10336 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 72 J ( instead) S 73 J ( of) S 72 J ( an) S 73 J ( asterisk.) S 72 J ( ) S 73 J ( Set) S 72 J ( the) S 73 J ( parameters) S 72 J ( to) S 73 J ( whatever) S 72 J ( you had specified) S
2520 10600 P (following) S 104 J ( the) S 105 J ( pathname) S 104 J ( for ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 104 J ( \(if anything\) in your ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 104 J ( before) S
2520 10864 P (changing) S 50 J ( it in step 1.) S
1800 11368 P (4.) S 570 J ( Change) S 54 J ( any) S 55 J ( entries) S 54 J ( in) S 55 J ( any) S 54 J ( of) S 55 J ( your) S 54 J ( program) S 55 J ( groups) S 54 J ( which invoke ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F () S 54 J ( scripts to run) S
2520 11632 P (them) S 80 J ( via) S 81 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 80 J ( explicitly.) S 81 J ( ) S 80 J ( For) S 81 J ( example,) S 80 J ( if) S 81 J ( you) S 80 J ( had) S 81 J ( an entry that specified the) S
2520 11896 P (program) S 50 J ( ``) S 0 12 F 0 10 F (c:\\myapp\\foo.cmd) S 0 12 F 26 10 F ('',) S 50 J ( change that to:) S
3240 12400 P 0 12 F 0 10 F (Path) S 120 J ( and file name: c:\\os2\\cmd.exe) S
3240 12664 P (Parameters: /C c:\\myapp\\foo.cmd ) S 0 12 F 26 10 F I (...any) S 50 J ( additional parameters...) S E
1800 13128 P 0 12 F 26 10 F (5.) S 570 J ( Reboot.) S
5881 15384 P (Page) S 50 J ( ) S (8) S 0 12 F
PE
9872 984 P 8 12 F B (Installation) S E
2160 1704 P B (Default) S 67 J ( Command Processor Installation Procedure \(OS/2 2.x\)) S E
2160 2208 P 0 12 F 26 10 F (1.) S 570 J ( Edit) S 67 J ( your) S 68 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 67 J ( to) S 68 J ( set) S 67 J ( ) S 0 12 F 0 10 F (OS2_SHELL) S 0 12 F 26 10 F () S 68 J ( to) S 67 J ( point) S 68 J ( to) S 67 J ( the) S 68 J ( C shell, specifying the ) S 0 12 F 0 10 F (-L) S
2880 2472 P 0 12 F 26 10 F (\(login\)) S 50 J ( option, e.g.,) S
3600 2976 P 0 12 F 0 10 F (set) S 120 J ( OS2_SHELL=c:\\hamilton\\bin\\csh.exe -L) S
2160 3440 P 0 12 F 26 10 F (2.) S 570 J ( Modify) S 71 J ( the) S 72 J ( Settings) S 71 J ( for) S 72 J ( the) S 71 J ( OS/2) S 72 J ( Window) S 71 J ( and) S 72 J ( OS/2 Full Screen icons to show the) S
2880 3704 P (full) S 94 J ( path) S 95 J ( for) S 94 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 95 J ( \(e.g.,) S 94 J ( ``) S 0 12 F 0 10 F (c:\\os2\\cmd.exe) S 0 12 F 26 10 F (''\)) S 94 J ( rather than an asterisk on the) S
2880 3968 P (Program) S 50 J ( page.) S
2160 4472 P (3.) S 570 J ( Modify) S 72 J ( the) S 73 J ( Settings for the Hamilton C shell icons to specify an asterisk pathname) S
2880 4736 P (\(meaning) S 93 J ( the) S 94 J ( default) S 93 J ( shell\), deleting any mention of any startup parameters and) S
2880 5000 P (explicitly) S 50 J ( specifying the C shell icon rather than the default icon:) S
2880 5504 P (a.) S 570 J ( Right-click) S 50 J ( on the icon and open the Settings.) S
2880 6008 P (b.) S 559 J ( On) S 50 J ( the Program page, set) S
3600 6512 P 0 12 F 0 10 F (Path) S 120 J ( and file name: *) S
3600 6776 P (Parameters:) S
2880 7240 P 0 12 F 26 10 F (c.) S 581 J ( Select) S 50 J ( ``) S 0 12 F 0 10 F (Find...) S 0 12 F 26 10 F ('') S 50 J ( next to the icon display.) S
2880 7744 P (d.) S 548 J ( Select) S 50 J ( ``) S 0 12 F 0 10 F (Locate) S 0 12 F 26 10 F ('') S 50 J ( on the Find screen.) S
2880 8248 P (e.) S 574 J ( Select) S 50 J ( the ``) S 0 12 F 0 10 F (Path) S 0 12 F 26 10 F ('') S 50 J ( page on the Locate Folder screen.) S
2880 8752 P (f.) S 603 J ( Type) S 76 J ( the) S 77 J ( pathname) S 76 J ( of) S 77 J ( the) S 76 J ( directory) S 77 J ( containing) S 76 J ( the C shell's ) S 0 12 F 0 10 F (csh.ico) S 0 12 F 26 10 F () S 76 J ( icon) S
3600 9016 P (file.) S 50 J ( \(E.g., ``) S 0 12 F 0 10 F (c:\\hamilton\\bin) S 0 12 F 26 10 F (''.\)) S
2880 9520 P (g.) S 559 J ( Press) S 50 J ( the ``) S 0 12 F 0 10 F (OK) S 0 12 F 26 10 F ('') S 50 J ( button on the Locate Folder screen.) S
2880 10024 P (h.) S 554 J ( Type) S 50 J ( ``) S 0 12 F 0 10 F (csh.ico) S 0 12 F 26 10 F ('') S 50 J ( in the Name field on the Find screen.) S
2880 10528 P (i.) S 612 J ( Press) S 50 J ( the ``) S 0 12 F 0 10 F (Find) S 0 12 F 26 10 F ('') S 50 J ( button.) S
2880 11032 P (j.) S 623 J ( The) S 89 J ( Find) S 90 J ( Results) S 89 J ( screen should appear with the C shell icon highlighted.) S
3600 11296 P (Press) S 50 J ( the ``) S 0 12 F 0 10 F (OK) S 0 12 F 26 10 F ('') S 50 J ( button.) S
2880 11800 P (k.) S 559 J ( Back) S 72 J ( in) S 73 J ( the) S 72 J ( General) S 73 J ( Settings) S 72 J ( screen,) S 73 J ( you) S 72 J ( should) S 73 J ( now) S 72 J ( see) S 73 J ( the) S 72 J ( C shell's icon.) S
3600 12064 P (Press) S 50 J ( ) S 0 12 F 0 10 F (Alt-F4) S 0 12 F 26 10 F () S 50 J ( to close the screen.) S
2160 12568 P (4.) S 570 J ( When) S 83 J ( you) S 84 J ( reboot,) S 83 J ( the) S 84 J ( C shell will be the default shell and it will appear with its) S
2880 12832 P (correct) S 50 J ( icon both for starting and when you minimize it.) S
5881 15384 P (Page ) S (9) S 0 12 F
PE
720 984 P 8 12 F B (Installation) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (10) S 0 12 F
PE
9872 984 P 8 12 F B (Installation) S E
4471 2184 P 0 12 F 8 14 F B (Installation) S 78 J ( on Windows NT) S E
2160 2928 P 0 12 F 26 10 F (This) S 50 J ( section describes how to install the Windows NT version of Hamilton C shell.) S
2160 3912 P 0 12 F 8 12 F B (System) S 67 J ( Requirements:) S E
2160 4416 P 0 12 F 26 10 F (Installation) S 62 J ( requires) S 63 J ( a) S 62 J ( 386-,) S 63 J ( 486-) S 62 J ( or) S 63 J ( Pentium-based) S 62 J ( machine) S 63 J ( for) S 62 J ( the) S 63 J ( Intel) S 62 J ( x86 version, a MIPS) S
2160 4680 P (R4000-) S 73 J ( or) S 74 J ( R4400-based) S 73 J ( machine) S 74 J ( for) S 73 J ( the) S 74 J ( MIPS) S 73 J ( version) S 74 J ( or) S 73 J ( a) S 74 J ( DEC) S 73 J ( Alpha AXP-based machine) S
2160 4944 P (for) S 58 J ( the) S 59 J ( Alpha) S 58 J ( version) S 59 J ( of) S 58 J ( Hamilton) S 59 J ( C) S 58 J ( shell.) S 59 J ( ) S 58 J ( The) S 59 J ( machine) S 58 J ( must be running the final release of) S
2160 5208 P (Windows) S 66 J ( NT,) S 67 J ( build) S 66 J ( 511) S 67 J ( \(on) S 66 J ( Intel) S 67 J ( or) S 66 J ( MIPS\)) S 67 J ( or 528 \(Alpha\) or later. Roughly 2.1 MB of disk) S
2160 5472 P (space) S 50 J ( is used on an Intel machine, 3.5MB on a MIPS or 4.3MB on an Alpha.) S
2160 6456 P 0 12 F 8 12 F B (Basic) S 67 J ( Installation:) S E
2160 6960 P 0 12 F 26 10 F (1.) S 570 J ( Copy) S 62 J ( the) S 63 J ( contents) S 62 J ( of) S 63 J ( the) S 62 J ( ) S 0 12 F 0 10 F (bin) S 0 12 F 26 10 F () S 63 J ( and) S 62 J ( ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 63 J ( directories onto your hard disk, putting) S
2880 7224 P (them) S 90 J ( anywhere) S 91 J ( you) S 90 J ( like.) S 91 J ( \(Notice that the ) S 0 12 F 0 10 F (bin) S 0 12 F 26 10 F () S 91 J ( directory is too big to fit on one) S
2880 7488 P (diskette;) S 53 J ( you'll) S 54 J ( have) S 53 J ( to) S 54 J ( merge) S 53 J ( the) S 54 J ( two) S 53 J ( or) S 54 J ( more) S 53 J ( diskettes,) S 54 J ( depending) S 53 J ( on which system) S
2880 7752 P (you) S 50 J ( have.\)) S
2160 8256 P (2.) S 570 J ( Copy) S 121 J ( the) S 122 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 121 J ( and) S 122 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 121 J ( files) S 122 J ( into) S 121 J ( any) S 122 J ( directory) S 121 J ( you) S 122 J ( care to) S
2880 8520 P (designate) S 118 J ( as) S 119 J ( your) S 118 J ( ``home'') S 119 J ( directory.) S 118 J ( ) S 119 J ( The) S 118 J ( significance) S 119 J ( of) S 118 J ( a) S 119 J ( home directory is) S
2880 8784 P (principally) S 50 J ( that it will be convenient to specify pathnames relative to this directory.) S
2160 9288 P (3.) S 570 J ( Edit) S 57 J ( the) S 58 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 57 J ( and ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 57 J ( files, customizing them to meet your needs.) S
2880 9552 P (The) S 60 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 61 J ( file) S 60 J ( has) S 61 J ( a) S 60 J ( lot) S 61 J ( of) S 60 J ( comments) S 61 J ( in) S 60 J ( it) S 61 J ( which) S 60 J ( can) S 61 J ( take) S 60 J ( the) S 61 J ( shell) S 60 J ( a) S 61 J ( second) S 60 J ( or) S
2880 9816 P (more) S 77 J ( to) S 78 J ( read) S 77 J ( each) S 78 J ( time) S 77 J ( it) S 78 J ( starts) S 77 J ( up;) S 78 J ( you'll) S 77 J ( almost) S 78 J ( certainly) S 77 J ( want) S 78 J ( to) S 77 J ( delete some of) S
2880 10080 P (these) S 50 J ( comments once you've read them so the shell will start up faster.) S
2160 10584 P (4.) S 570 J ( Edit) S 68 J ( the) S 69 J ( environment) S 68 J ( variables) S 69 J ( by) S 68 J ( opening) S 69 J ( the) S 68 J ( Control) S 69 J ( Panel and then, within that,) S
2880 10848 P (opening) S 50 J ( the system icon.) S
2160 11352 P () S 720 J ( To) S 109 J ( define) S 110 J ( a) S 109 J ( variable) S 110 J ( through) S 109 J ( the) S 110 J ( Control) S 109 J ( Panel,) S 110 J ( type) S 109 J ( the variable name in the) S
2880 11616 P (``Variable:'') S 50 J ( fill-in box, the value in the ``Value:'' box and click on the ``Set'' button.) S
2880 12120 P (a.) S 570 J ( Create) S 73 J ( or) S 74 J ( edit) S 73 J ( your) S 74 J ( entry) S 73 J ( for) S 74 J ( the) S 73 J ( ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 74 J ( variable, adding the full pathnames) S
3600 12384 P (for) S 50 J ( the C shell's ) S 0 12 F 0 10 F (bin) S 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 50 J ( directories to the list.) S
2880 12888 P (b.) S 559 J ( Create) S 75 J ( an) S 76 J ( entry) S 75 J ( for) S 76 J ( the) S 75 J ( ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F () S 76 J ( environment) S 75 J ( variable,) S 76 J ( setting) S 75 J ( its) S 76 J ( value as the) S
3600 13152 P (full) S 165 J ( pathname) S 166 J ( of) S 165 J ( the) S 166 J ( directory) S 165 J ( where you placed ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 165 J ( and) S
3600 13416 P 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F (.) S
5831 15384 P (Page) S 50 J ( ) S (11) S 0 12 F
PE
720 984 P 8 12 F B (Installation) S E
2520 1704 P 0 12 F 26 10 F (c.) S 581 J ( You) S 70 J ( may) S 71 J ( also) S 70 J ( want) S 71 J ( to) S 70 J ( include) S 71 J ( definitions) S 70 J ( for) S 71 J ( ) S 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F () S 70 J ( and ) S 0 12 F 0 10 F (COLORS) S 0 12 F 26 10 F (.) S 70 J ( The shell) S
3240 1968 P (and) S 52 J ( all) S 53 J ( the) S 52 J ( utilities) S 53 J ( look) S 52 J ( for) S 53 J ( ) S 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F () S 52 J ( to) S 53 J ( see) S 52 J ( if) S 53 J ( you) S 52 J ( want) S 53 J ( them) S 52 J ( to) S 53 J ( display text with) S
3240 2232 P (tabs) S 50 J ( expanded out to something other than the default of every 8 characters.) S
2520 2736 P () S 720 J ( By) S 54 J ( default,) S 55 J ( the) S 54 J ( C) S 55 J ( shell) S 54 J ( displays) S 55 J ( white) S 54 J ( characters) S 55 J ( on) S 54 J ( a) S 55 J ( black) S 54 J ( background.) S 55 J ( The) S
3240 3000 P 0 12 F 0 10 F (COLORS) S 0 12 F 26 10 F () S 76 J ( variable lets you choose a combination from this set: ) S 0 12 F 0 10 F (black) S 0 12 F 26 10 F (,) S 76 J ( ) S 0 12 F 0 10 F (red) S 0 12 F 26 10 F (,) S
3240 3264 P 0 12 F 0 10 F (green) S 0 12 F 26 10 F (,) S 81 J ( ) S 0 12 F 0 10 F (yellow) S 0 12 F 26 10 F (,) S 82 J ( ) S 0 12 F 0 10 F (blue) S 0 12 F 26 10 F (,) S 81 J ( ) S 0 12 F 0 10 F (magenta) S 0 12 F 26 10 F () S 82 J ( \(or) S 81 J ( ) S 0 12 F 0 10 F (blue) S 152 J ( red) S 0 12 F 26 10 F (\),) S 81 J ( ) S 0 12 F 0 10 F (cyan) S 0 12 F 26 10 F () S 82 J ( \(or ) S 0 12 F 0 10 F (blue) S 152 J ( green) S 0 12 F 26 10 F (\)) S
3240 3528 P (and) S 109 J ( ) S 0 12 F 0 10 F (white) S 0 12 F 26 10 F (.) S 110 J ( Foreground collows may also be ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (,) S 110 J ( ) S 0 12 F 0 10 F (dim) S 0 12 F 26 10 F (,) S 110 J ( ) S 0 12 F 0 10 F (blink) S 0 12 F 26 10 F () S 110 J ( or) S
3240 3792 P 0 12 F 0 10 F (reverse) S 0 12 F 26 10 F (.) S 70 J ( ) S 71 J ( The) S 70 J ( keyword) S 71 J ( ``) S 0 12 F 0 10 F (on) S 0 12 F 26 10 F ('') S 70 J ( introduces) S 71 J ( background colors. \() S 0 12 F 0 10 F (Blink) S 0 12 F 26 10 F () S 71 J ( only) S
3240 4056 P (causes) S 136 J ( true) S 137 J ( blinking) S 136 J ( full-screen;) S 137 J ( in) S 136 J ( a) S 137 J ( text) S 136 J ( window,) S 137 J ( it just makes the) S
3240 4320 P (background) S 89 J ( brighter.) S 90 J ( ) S 89 J ( Also,) S 90 J ( ) S 0 12 F 0 10 F (yellow) S 0 12 F 26 10 F () S 89 J ( is) S 90 J ( a) S 89 J ( true) S 90 J ( yellow) S 89 J ( only if it's ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (.) S
3240 4584 P (These) S 50 J ( are system limitations not related to the C shell.\)) S
2520 5088 P () S 720 J ( Other) S 83 J ( color) S 84 J ( settings) S 83 J ( you might want to specify now or at some later time) S
3240 5352 P (through) S 66 J ( the) S 67 J ( Control) S 66 J ( Panel) S 67 J ( are ) S 0 12 F 0 10 F (MOREPROMPT) S 0 12 F 26 10 F (,) S 67 J ( ) S 0 12 F 0 10 F (MOREFILLIN) S 0 12 F 26 10 F () S 67 J ( and ) S 0 12 F 0 10 F (MOREERROR) S
3240 5616 P 0 12 F 26 10 F (\(for) S 106 J ( customizing the ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 106 J ( utility's command line\) and ) S 0 12 F 0 10 F (DELETIONS) S 0 12 F 26 10 F () S 106 J ( and) S
3240 5880 P 0 12 F 0 10 F (ADDITIONS) S 0 12 F 26 10 F () S 50 J ( \(for customizing the ) S 0 12 F 0 10 F (diff) S 0 12 F 26 10 F () S 50 J ( utility\).) S
2520 6384 P () S 720 J ( For) S 124 J ( more) S 125 J ( information) S 124 J ( on setting screen colors, please refer to the the) S
3240 6648 P 0 12 F 0 10 F (colors.csh) S 0 12 F 26 10 F () S 50 J ( file in the ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 50 J ( directory or to the Customization chapter.) S
1800 7152 P () S 720 J ( Here's) S 50 J ( an example of the settings you might specify:) S
3240 7656 P 0 12 F 0 10 F (HOME=d:\\doug) S
3240 7920 P (PATH=d:\\hamilton\\bin;d:\\hamilton;samples) S
3240 8184 P (COLORS=white) S 120 J ( on blue) S
3240 8448 P (TABS=3) S
3240 8712 P (ADDITIONS=bright white on green) S
3240 8976 P (DELETIONS=bright white on red) S
3240 9240 P (MOREPROMPT=red on white) S
3240 9504 P (MOREFILLIN=black) S
3240 9768 P (MOREERROR=bright white on red) S
1800 10232 P 0 12 F 26 10 F (5.) S 570 J ( Add) S 50 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 51 J ( with) S 50 J ( the) S 51 J ( title) S 50 J ( ``Hamilton) S 51 J ( C shell'' to the Program Manager. To do this,) S
2520 10496 P (pull-down) S 58 J ( ``File'') S 59 J ( and) S 58 J ( select ``New''. A pop-up will appear asking that you confirm) S
2520 10760 P (this) S 50 J ( will be a new Program Item. On the next pop-up, fill in:) S
3240 11264 P 0 12 F 0 10 F (Description:) S 1440 J ( Hamilton) S 120 J ( C shell) S
3240 11528 P (Command Line:) S 1320 J ( ....as) S 120 J ( appropriate....\\csh.exe -L) S
1800 11992 P 0 12 F 26 10 F () S 720 J ( The) S 59 J ( ``) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F ('') S 60 J ( part) S 59 J ( tells) S 60 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 59 J ( when) S 60 J ( it) S 59 J ( starts up that it's a ``login'' shell, which means) S
2520 12256 P (it) S 50 J ( should look for a ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 50 J ( file.) S
5831 15384 P (Page ) S (12) S 0 12 F
PE
8940 984 P 8 12 F B (Common) S 67 J ( Problems) S E
5016 2184 P 0 12 F 8 14 F B (Common) S 78 J ( Problems) S E
2160 3408 P 0 12 F 8 12 F B (When) S 67 J ( I try to start the C shell in a new window, it dies and goes away) S E
2160 3672 P B (before I can read its messages.) S E
2160 4176 P 0 12 F 26 10 F (You've) S 52 J ( probably) S 53 J ( made) S 52 J ( an) S 53 J ( error) S 52 J ( on) S 53 J ( the) S 52 J ( ``) S 0 12 F 0 10 F (Parameters) S 0 12 F 26 10 F ('') S 53 J ( line) S 52 J ( under) S 53 J ( OS/2) S 52 J ( or) S 53 J ( in) S 52 J ( the) S 53 J ( ``Command) S
2160 4440 P (Line'') S 87 J ( under) S 88 J ( NT.) S 87 J ( ) S 88 J ( Under) S 87 J ( NT,) S 88 J ( select) S 87 J ( the) S 88 J ( icon) S 87 J ( for) S 88 J ( Hamilton) S 87 J ( C shell and press Alt-Enter to) S
2160 4704 P (examine) S 50 J ( the properties.) S
2160 5168 P (Under) S 67 J ( OS/2,) S 68 J ( you) S 67 J ( can) S 68 J ( force) S 67 J ( the) S 68 J ( window) S 67 J ( will) S 68 J ( to) S 67 J ( stay) S 68 J ( up) S 67 J ( after) S 68 J ( the shell exits so you can read) S
2160 5432 P (the) S 50 J ( message by following the instructions appropriate for your system:) S
2160 5896 P (OS/2) S 71 J ( 1.1: Go to the ``How to Run the Program'' screen by clicking on the C shell entry in) S
2880 6160 P (``Start) S 52 J ( Programs'') S 53 J ( and) S 52 J ( pulling) S 53 J ( down) S 52 J ( ``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 53 J ( then) S 52 J ( selecting) S 53 J ( ``) S 0 12 F 0 10 F (Change...) S 0 12 F 26 10 F (''.) S 52 J ( Click) S
2880 6424 P (on) S 50 J ( the check box beside ``) S 0 12 F 0 10 F (Close) S 120 J ( the window...) S 0 12 F 26 10 F ('') S 50 J ( and press ) S 0 12 F 0 10 F (Enter) S 0 12 F 26 10 F (.) S
2160 6928 P (OS/2) S 53 J ( 1.2) S 54 J ( or) S 53 J ( 1.3:) S 54 J ( ) S 53 J ( Click) S 54 J ( on) S 53 J ( the) S 54 J ( C) S 53 J ( shell) S 54 J ( entry) S 53 J ( in ``Group - Main'', pulling down ``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 53 J ( and) S
2880 7192 P (selecting) S 75 J ( ``) S 0 12 F 0 10 F (Properties) S 0 12 F 26 10 F (''.) S 76 J ( Push the ``) S 0 12 F 0 10 F (Options...) S 0 12 F 26 10 F ('') S 76 J ( button and click on the check) S
2880 7456 P (box) S 50 J ( next to ``) S 0 12 F 0 10 F (Close) S 120 J ( window on exit) S 0 12 F 26 10 F ('',) S 50 J ( removing the ) S 0 12 F 0 10 F (X) S 0 12 F 26 10 F (.) S
2160 7960 P (OS/2) S 89 J ( 2.x:) S 90 J ( ) S 89 J ( Right-click) S 90 J ( on) S 89 J ( the) S 90 J ( icon) S 89 J ( and) S 90 J ( select) S 89 J ( ``) S 0 12 F 0 10 F (Open) S 0 12 F 26 10 F ('') S 90 J ( followed) S 89 J ( by) S 90 J ( ``) S 0 12 F 0 10 F (Settings) S 0 12 F 26 10 F (.'') S 89 J ( On the) S
2880 8224 P (Session) S 58 J ( page,) S 59 J ( click) S 58 J ( on) S 59 J ( the) S 58 J ( check) S 59 J ( box) S 58 J ( next) S 59 J ( to) S 58 J ( ``) S 0 12 F 0 10 F (Close) S 129 J ( window) S 128 J ( on) S 129 J ( exit) S 0 12 F 26 10 F ('',) S 59 J ( removing) S
2880 8488 P (the) S 50 J ( check.) S
2160 9472 P 0 12 F 8 12 F B (The) S 67 J ( shell doesn't know how to run an external command.) S E
2693 9976 P 0 12 F 26 10 F (One) S 68 J ( of) S 69 J ( the environmental variables, particularly ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F (,) S 69 J ( ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 69 J ( or ) S 0 12 F 0 10 F (COMSPEC) S 0 12 F 26 10 F () S 69 J ( is probably) S
2160 10240 P (set) S 75 J ( incorrectly.) S 76 J ( ) S 75 J ( Typical) S 76 J ( symptoms) S 75 J ( are) S 76 J ( that) S 75 J ( the) S 76 J ( shell) S 75 J ( doesn't) S 76 J ( seem to know how to find an) S
2160 10504 P (external) S 77 J ( command) S 78 J ( or) S 77 J ( that) S 78 J ( it) S 77 J ( doesn't) S 78 J ( know) S 77 J ( how) S 78 J ( to) S 77 J ( run) S 78 J ( a) S 77 J ( ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F () S 78 J ( file, etc. Another variation) S
2160 10768 P (might) S 106 J ( be) S 107 J ( that) S 106 J ( it) S 107 J ( runs) S 106 J ( the) S 107 J ( old) S 106 J ( IBM ) S 0 12 F 0 10 F (more.com) S 0 12 F 26 10 F () S 106 J ( rather than the new ) S 0 12 F 0 10 F (more.exe) S 0 12 F 26 10 F (.) S 106 J ( If you) S
2160 11032 P (experience) S 50 J ( symptoms like these, first check that these variables are set sensibly.) S
2693 11496 P (The) S 58 J ( other) S 59 J ( common) S 58 J ( possibility) S 59 J ( under OS/2 1.x is that you're using a network and have) S
2160 11760 P (execute,) S 53 J ( but) S 54 J ( not) S 53 J ( read) S 54 J ( access) S 53 J ( to) S 54 J ( the) S 53 J ( application) S 54 J ( you're) S 53 J ( trying) S 54 J ( to) S 53 J ( run.) S 54 J ( ) S 53 J ( Due) S 54 J ( to) S 53 J ( a) S 54 J ( bug) S 53 J ( in) S 54 J ( the OS/2) S
2160 12024 P (1.x) S 62 J ( kernel,) S 63 J ( the) S 62 J ( C) S 63 J ( shell) S 62 J ( cannot) S 63 J ( use) S 62 J ( the) S 63 J ( kernel's) S 62 J ( DosQAppType) S 63 J ( function) S 62 J ( to determine whether) S
2160 12288 P (the) S 122 J ( application) S 123 J ( should) S 122 J ( be) S 123 J ( started) S 122 J ( full-screen,) S 123 J ( in) S 122 J ( a) S 123 J ( text) S 122 J ( window) S 123 J ( or) S 122 J ( as) S 123 J ( a) S 122 J ( PM) S 123 J ( graphics) S
2160 12552 P (application.) S 75 J ( ) S 76 J ( Instead,) S 75 J ( the C shell is forced to read the application's ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 75 J ( header itself; if it) S
2160 12816 P (can't) S 50 J ( read it, it can't run it. The solution is to be sure you have read access.) S
5831 15384 P (Page ) S (13) S 0 12 F
PE
720 984 P 8 12 F B (Common) S 67 J ( Problems) S E
1800 1704 P B (The shell won't run my new program.) S E
2333 2208 P 0 12 F 26 10 F (Path) S 52 J ( hashing) S 53 J ( can) S 52 J ( sometimes) S 53 J ( produce) S 52 J ( surprising results if you create a newer version in) S
1800 2472 P (your) S 64 J ( current) S 65 J ( directory) S 64 J ( of) S 65 J ( a) S 64 J ( command) S 65 J ( that) S 64 J ( already exists in another of your path directories.) S
1800 2736 P (The) S 86 J ( shell) S 87 J ( won't) S 86 J ( know) S 87 J ( you've) S 86 J ( done this; its hash will still only list the older version. To) S
1800 3000 P (overcome) S 50 J ( this problem, use either the ) S 0 12 F 0 10 F (rehash) S 0 12 F 26 10 F () S 50 J ( or ) S 0 12 F 0 10 F (unhash) S 0 12 F 26 10 F () S 50 J ( commands.) S
1800 3944 P 0 12 F 8 12 F B (The) S 67 J ( shell won't execute commands in the current directory.) S E
2333 4448 P 0 12 F 26 10 F (Your) S 73 J ( should) S 74 J ( add) S 73 J ( the) S 74 J ( current) S 73 J ( directory) S 74 J ( to) S 73 J ( the list of directories in the) S 0 12 F 0 10 F () S 143 J ( PATH) S 0 12 F 26 10 F () S 73 J ( variable.) S
1800 4712 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 65 J ( always) S 66 J ( checks) S 65 J ( the) S 66 J ( current) S 65 J ( directory) S 66 J ( before) S 65 J ( looking) S 66 J ( in) S 65 J ( any) S 66 J ( of the ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 66 J ( directories.) S
1800 4976 P (Hamilton) S 56 J ( C) S 57 J ( shell) S 56 J ( does) S 57 J ( not) S 56 J ( make) S 57 J ( this) S 56 J ( assumption;) S 57 J ( if) S 56 J ( you) S 57 J ( want) S 56 J ( the current directory to be first) S
1800 5240 P (one) S 50 J ( checked, you should specify it explicitly as ``) S 0 12 F 0 10 F (.) S 0 12 F 26 10 F ('') S 50 J ( at the beginning of the list. For example:) S
2520 5704 P 0 12 F 0 10 F (setenv) S 120 J ( PATH = '.;c:\\os2;c:\\os2\\bin') S
1800 6648 P 0 12 F 8 12 F B (The) S 67 J ( shell keeps running the old version my shell procedure.) S E
2333 7152 P 0 12 F 26 10 F (If) S 75 J ( you) S 76 J ( define) S 75 J ( a) S 76 J ( shell) S 75 J ( procedure) S 76 J ( with) S 75 J ( ) S 0 12 F 0 10 F (proc) S 0 12 F 26 10 F () S 76 J ( in) S 75 J ( a ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F () S 75 J ( script file and then execute the) S
1800 7416 P (script,) S 57 J ( the) S 58 J ( procedure) S 57 J ( is) S 58 J ( compiled) S 57 J ( into) S 58 J ( an) S 57 J ( internal) S 58 J ( form that's much faster to run and it's kept) S
1800 7680 P (around) S 75 J ( in) S 76 J ( memory) S 75 J ( to) S 76 J ( make) S 75 J ( it) S 76 J ( run) S 75 J ( the) S 76 J ( next) S 75 J ( time) S 76 J ( even) S 75 J ( faster.) S 76 J ( ) S 75 J ( If) S 76 J ( you change the text in the) S
1800 7944 P (script) S 58 J ( file) S 59 J ( but) S 58 J ( don't) S 59 J ( explicitly) S 58 J ( throw) S 59 J ( away) S 58 J ( the old definition using ) S 0 12 F 0 10 F (unproc) S 0 12 F 26 10 F (,) S 58 J ( the C shell won't) S
1800 8208 P (know) S 50 J ( it's supposed to recompile.) S
1800 9152 P 0 12 F 8 12 F B (The) S 67 J ( shell won't run any cmd.exe internal commands.) S E
2333 9656 P 0 12 F 26 10 F (Most) S 76 J ( probably,) S 77 J ( the) S 76 J ( shell) S 77 J ( is) S 76 J ( unable) S 77 J ( to) S 76 J ( find) S 77 J ( your) S 76 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 77 J ( file) S 76 J ( when) S 77 J ( it) S 76 J ( starts) S 77 J ( up.) S
1800 9920 P (This) S 87 J ( is) S 88 J ( the) S 87 J ( file) S 88 J ( that) S 87 J ( should) S 88 J ( hold) S 87 J ( the aliases the shell uses to intercept ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S 87 J ( built-in) S
1800 10184 P (commands.) S 56 J ( Check to see that your ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F () S 56 J ( variable is set to the directory where you've placed) S
1800 10448 P 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 50 J ( and that your ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 50 J ( file isn't garbled.) S
1800 11392 P 0 12 F 8 12 F B (When) S 67 J ( I start an application from the C shell, it dies immediately.) S E
2333 11896 P 0 12 F 26 10 F (Under) S 61 J ( OS/2,) S 62 J ( if) S 61 J ( you) S 62 J ( find) S 61 J ( that) S 62 J ( an) S 61 J ( application) S 62 J ( dies) S 61 J ( immediately) S 62 J ( after) S 61 J ( starting,) S 62 J ( check) S 61 J ( that) S
1800 12160 P (the) S 70 J ( ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 71 J ( file) S 70 J ( is) S 71 J ( properly) S 70 J ( marked) S 71 J ( with) S 70 J ( its) S 71 J ( type, i.e., full-screen, PM text windowable or PM) S
1800 12424 P (graphics.) S 57 J ( ) S 58 J ( The) S 57 J ( shell) S 58 J ( tries) S 57 J ( to) S 58 J ( start) S 57 J ( up) S 58 J ( an) S 57 J ( application) S 58 J ( in) S 57 J ( accordance) S 58 J ( with) S 57 J ( the way it's marked; if) S
1800 12688 P (it's) S 89 J ( marked) S 90 J ( wrong,) S 89 J ( the) S 90 J ( application) S 89 J ( just) S 90 J ( won't) S 89 J ( run.) S 90 J ( ) S 89 J ( Even) S 90 J ( very) S 89 J ( recently, a number of PM) S
1800 12952 P (applications) S 54 J ( including) S 55 J ( even) S 54 J ( ) S 0 12 F 0 10 F (e.exe) S 0 12 F 26 10 F (,) S 55 J ( the) S 54 J ( System Editor, were being shipped unmarked, which) S
1800 13216 P (by) S 67 J ( convention) S 68 J ( is) S 67 J ( supposed) S 68 J ( to) S 67 J ( mean) S 68 J ( full-screen.) S 67 J ( ) S 68 J ( To) S 67 J ( look) S 68 J ( at) S 67 J ( or) S 68 J ( change) S 67 J ( how) S 68 J ( an application is) S
1800 13480 P (marked,) S 50 J ( use the ) S 0 12 F 0 10 F (markexe.exe) S 0 12 F 26 10 F () S 50 J ( utility. \(Type ``) S 0 12 F 0 10 F (markexe) S 120 J ( -h) S 0 12 F 26 10 F ('') S 50 J ( for help.\)) S
2333 13944 P (Another) S 63 J ( possibility) S 64 J ( is) S 63 J ( that) S 64 J ( the) S 63 J ( application) S 64 J ( has) S 63 J ( a) S 64 J ( bug) S 63 J ( that) S 64 J ( makes) S 63 J ( it) S 64 J ( fail) S 63 J ( if) S 64 J ( the maximum) S
1800 14208 P (file) S 55 J ( handle) S 56 J ( count) S 55 J ( it) S 56 J ( inherits from its parent process is greater than 20. This problem has been) S
5831 15384 P (Page) S 50 J ( ) S (14) S 0 12 F
PE
8940 984 P 8 12 F B (Common) S 67 J ( Problems) S E
2160 1704 P 0 12 F 26 10 F (seen) S 62 J ( in) S 63 J ( some) S 62 J ( past) S 63 J ( releases of the Microsoft linker \(discussed below\) and of WordPerfect, for) S
2160 1968 P (example.) S 62 J ( ) S 63 J ( You) S 62 J ( can) S 63 J ( force) S 62 J ( the) S 63 J ( C) S 62 J ( shell) S 63 J ( ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 62 J ( to) S 63 J ( bump) S 62 J ( the) S 63 J ( file) S 62 J ( limit) S 63 J ( when) S 62 J ( it) S 63 J ( starts up using the ) S 0 12 F 0 10 F (-Z) S
2160 2232 P 0 12 F 26 10 F (option) S 73 J ( but) S 74 J ( this) S 73 J ( option) S 74 J ( only) S 73 J ( works) S 74 J ( from) S 73 J ( the) S 74 J ( Start) S 73 J ( Programs) S 74 J ( \(1.1\)) S 73 J ( or) S 74 J ( Group) S 73 J ( \(1.2\)) S 74 J ( menus, not) S
2160 2496 P (from) S 78 J ( the) S 79 J ( command) S 78 J ( line.) S 79 J ( ) S 78 J ( \(A) S 79 J ( process) S 78 J ( always) S 79 J ( inherits its initial maximum file handle count) S
2160 2760 P (from) S 50 J ( its parent; from there, a process can only raise its own limit, never lower it.\)) S
2160 3704 P 0 12 F 8 12 F B (The) S 67 J ( Microsoft OS/2 linker fails under the C shell even though it works) S E
2160 3968 P B (fine under cmd.exe.) S E
2693 4472 P 0 12 F 26 10 F (Microsoft) S 59 J ( has) S 60 J ( determined) S 59 J ( there) S 60 J ( was) S 59 J ( a) S 60 J ( bug) S 59 J ( in) S 60 J ( the version of the C library used to build) S
2160 4736 P (the) S 55 J ( ) S 0 12 F 0 10 F (link.exe) S 0 12 F 26 10 F () S 56 J ( distributed) S 55 J ( with) S 56 J ( MS) S 55 J ( C) S 56 J ( 5.1.) S 55 J ( ) S 56 J ( The) S 55 J ( linker) S 56 J ( can) S 55 J ( fail) S 56 J ( if) S 55 J ( it's run as a child of a process) S
2160 5000 P (that) S 65 J ( has) S 66 J ( a) S 65 J ( maximum) S 66 J ( file) S 65 J ( handle) S 66 J ( count) S 65 J ( greater) S 66 J ( than) S 65 J ( 20;) S 66 J ( this) S 65 J ( is) S 66 J ( a) S 65 J ( problem) S 66 J ( because) S 65 J ( the) S 66 J ( C) S 65 J ( shell) S
2160 5264 P (sets) S 63 J ( its) S 64 J ( maximum) S 63 J ( to) S 64 J ( 255.) S 63 J ( ) S 64 J ( If) S 63 J ( you're) S 64 J ( encountering this problem, try patching your ) S 0 12 F 0 10 F (link.exe) S
2160 5528 P 0 12 F 26 10 F (file) S 50 J ( with the ) S 0 12 F 0 10 F (patchlnk.exe) S 0 12 F 26 10 F () S 50 J ( utility. \(Type ``) S 0 12 F 0 10 F (patchlnk) S 120 J ( -h) S 0 12 F 26 10 F ('') S 50 J ( for help.\)) S
2160 6472 P 0 12 F 8 12 F B (When) S 67 J ( I try to run Microsoft's make.exe in the background it hangs.) S E
2693 6976 P 0 12 F 26 10 F (This) S 78 J ( is) S 79 J ( a) S 78 J ( known) S 79 J ( problem) S 78 J ( under OS/2 with make and certain other applications that) S
2160 7240 P (need) S 59 J ( to) S 60 J ( spawn) S 59 J ( child) S 60 J ( processes) S 59 J ( of) S 60 J ( their) S 59 J ( own.) S 60 J ( ) S 59 J ( The) S 60 J ( OS/2) S 59 J ( process) S 60 J ( initialization and completion) S
2160 7504 P (logic) S 64 J ( requests) S 65 J ( a) S 64 J ( semaphore) S 65 J ( in) S 64 J ( ) S 0 12 F 0 10 F (KBDCALLS.DLL) S 0 12 F 26 10 F () S 64 J ( that's already owned by whatever process in) S
2160 7768 P (that) S 76 J ( window is already sleeping in a ) S 0 12 F 0 10 F (KbdCharIn) S 0 12 F 26 10 F () S 76 J ( call. Until another keystroke is pressed,) S
2160 8032 P (that) S 58 J ( semaphore) S 59 J ( is never released and the background processes are never allowed to cleanly) S
2160 8296 P (exit.) S 51 J ( ) S 52 J ( This) S 51 J ( problem has been fixed in OS/2 2.x and through CSD 5050 for OS/2 1.3 with a new) S
2160 8560 P 0 12 F 0 10 F (KBDCALLS.DLL) S 0 12 F 26 10 F (.) S 71 J ( ) S 72 J ( That) S 71 J ( DLL) S 72 J ( for 1.3 is available on request from Hamilton Laboratories and) S
2160 8824 P (can) S 50 J ( be downloaded from the listings area in the ``hamilton'' conference on BIX.) S
2160 9768 P 0 12 F 8 12 F B (copy) S 67 J ( or rename *.* doesn't work right.) S E
2693 10272 P 0 12 F 0 10 F (copy) S 0 12 F 26 10 F (,) S 0 12 F 0 10 F () S 147 J ( xcopy) S 0 12 F 26 10 F (,) S 78 J ( ) S 0 12 F 0 10 F (rename) S 0 12 F 26 10 F () S 77 J ( and) S 78 J ( ) S 0 12 F 0 10 F (del) S 0 12 F 26 10 F () S 77 J ( like) S 78 J ( to) S 77 J ( do their own wildcard expansion. To make) S
2160 10536 P (them) S 75 J ( work) S 76 J ( sensibly,) S 75 J ( be) S 76 J ( sure) S 75 J ( your ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 75 J ( file includes and that you use the aliases) S
2160 10800 P (and) S 133 J ( procedure) S 134 J ( definitions) S 133 J ( we) S 134 J ( supply) S 133 J ( to) S 134 J ( intercept) S 133 J ( these) S 134 J ( commands) S 133 J ( to) S 134 J ( turn) S 133 J ( off shell) S
2160 11064 P (wildcarding) S 54 J ( just) S 55 J ( long) S 54 J ( enough) S 55 J ( to) S 54 J ( run them. These definitions can also serve as a model if you) S
2160 11328 P (discover) S 57 J ( other) S 58 J ( applications) S 57 J ( that) S 58 J ( must) S 57 J ( do) S 58 J ( their) S 57 J ( own wildcarding. For more information, refer) S
2160 11592 P (to) S 50 J ( the discussion on page ) S (65) S (.) S
2160 12536 P 0 12 F 8 12 F B (The) S 67 J ( -! option doesn't work.) S E
2693 13040 P 0 12 F 26 10 F (The) S 51 J ( exclamation) S 52 J ( point) S 51 J ( is) S 52 J ( a) S 51 J ( special) S 52 J ( character) S 51 J ( for) S 52 J ( the) S 51 J ( shell.) S 52 J ( ) S 51 J ( The) S 52 J ( shell) S 51 J ( lets) S 52 J ( you) S 51 J ( pick) S 52 J ( up) S 51 J ( text) S
2160 13304 P (out) S 59 J ( of) S 60 J ( previous) S 59 J ( commands) S 60 J ( using) S 59 J ( history) S 60 J ( references) S 59 J ( that) S 60 J ( begin) S 59 J ( with ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F ('') S 59 J ( followed by a string) S
2160 13568 P (that) S 63 J ( tells) S 64 J ( what) S 63 J ( text) S 64 J ( you're) S 63 J ( retrieving.) S 64 J ( ) S 63 J ( To) S 64 J ( avoid) S 63 J ( having) S 64 J ( an) S 63 J ( exclamation) S 64 J ( confused as a history) S
2160 13832 P (reference,) S 53 J ( be) S 54 J ( sure) S 53 J ( the) S 54 J ( exclamation) S 53 J ( is) S 54 J ( at) S 53 J ( the) S 54 J ( end) S 53 J ( of) S 54 J ( a) S 53 J ( word,) S 54 J ( so) S 53 J ( the) S 54 J ( next character is a space or a) S
2160 14096 P (tab.) S
5831 15384 P (Page) S 50 J ( ) S (15) S 0 12 F
PE
720 984 P 8 12 F B (Common) S 67 J ( Problems) S E
1800 1704 P B (grep '^foo' doesn't work.) S E
2333 2208 P 0 12 F 26 10 F (The) S 65 J ( circumflex) S 66 J ( has) S 65 J ( special) S 66 J ( meaning) S 65 J ( as) S 66 J ( the escape character to the C shell, even inside) S
1800 2472 P (quotes.) S 62 J ( If you want to pass a literal ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('') S 62 J ( to ) S 0 12 F 0 10 F (grep) S 0 12 F 26 10 F () S 62 J ( \(or anything else\) from the command line,) S
1800 2736 P (you) S 50 J ( must type ``) S 0 12 F 0 10 F (^^) S 0 12 F 26 10 F ('') S 50 J ( unless the immediately preceding character was ``) S 0 12 F 0 10 F ([) S 0 12 F 26 10 F (''.) S
1800 3680 P 0 12 F 8 12 F B (When) S 67 J ( I list a directory over the network, not everything shows up.) S E
2333 4184 P 0 12 F 26 10 F (This) S 53 J ( is) S 54 J ( a) S 53 J ( known) S 54 J ( bug) S 53 J ( in the OS/2 networking code, not the C shell. The problem occurs) S
1800 4448 P (if) S 67 J ( \(1\)) S 68 J ( the) S 67 J ( directory) S 68 J ( is) S 67 J ( read) S 68 J ( over) S 67 J ( a) S 68 J ( network,) S 67 J ( \(2\)) S 68 J ( directory) S 67 J ( entries) S 68 J ( are) S 67 J ( being) S 68 J ( read) S 67 J ( in blocks \(for) S
1800 4712 P (higher) S 50 J ( performance\)) S 51 J ( rather) S 50 J ( than) S 51 J ( one-at-a-time) S 50 J ( and) S 51 J ( \(3\)) S 50 J ( the) S 51 J ( total) S 50 J ( number) S 51 J ( of) S 50 J ( characters) S 51 J ( in) S 50 J ( all) S 51 J ( the) S
1800 4976 P (filenames) S 57 J ( in) S 58 J ( that) S 57 J ( directory) S 58 J ( happens) S 57 J ( to be just right. In all cases observed, adding or deleting) S
1800 5240 P (any) S 60 J ( arbitrary) S 61 J ( entry) S 60 J ( in) S 61 J ( the) S 60 J ( directory makes the problem go away. The bug affects the C shell) S
1800 5504 P (and) S 75 J ( its) S 76 J ( utilities) S 75 J ( because) S 76 J ( they) S 75 J ( use) S 76 J ( blocked) S 75 J ( reads;) S 76 J ( simpler) S 75 J ( programs) S 76 J ( like) S 75 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S 76 J ( ) S 0 12 F 0 10 F (DIR) S 0 12 F 26 10 F () S 76 J ( are) S
1800 5768 P (unaffected) S 50 J ( because they read one entry at a time.) S
2333 6232 P (The) S 117 J ( bug appears to have been introduced in IBM OS/2 EE CSD WR04098 and) S
1800 6496 P (Microsoft) S 50 J ( Lan) S 51 J ( Manager) S 50 J ( 2.0,) S 51 J ( both) S 50 J ( issued) S 51 J ( around) S 50 J ( year-end,) S 51 J ( 1990.) S 50 J ( IBM has verified the problem) S
1800 6760 P (and) S 56 J ( has) S 57 J ( developed) S 56 J ( a) S 57 J ( fix,) S 56 J ( which) S 57 J ( is) S 56 J ( now) S 57 J ( shipping) S 56 J ( as) S 57 J ( part) S 56 J ( of) S 57 J ( OS/2) S 56 J ( EE) S 57 J ( 1.3.) S 56 J ( ) S 57 J ( If you encounter the) S
1800 7024 P (problem) S 72 J ( and) S 73 J ( you're) S 72 J ( an) S 73 J ( IBM) S 72 J ( customer,) S 73 J ( you) S 72 J ( should) S 73 J ( call) S 72 J ( 1-800-237-5511) S 73 J ( or) S 72 J ( contact) S 73 J ( your) S 72 J ( local) S
1800 7288 P (IBM representative) S 73 J ( and) S 72 J ( ask) S 73 J ( for) S 72 J ( a copy of the new ) S 0 12 F 0 10 F (netwksta.sys) S 0 12 F 26 10 F () S 72 J ( file being distributed as) S
1800 7552 P (APAR) S 82 J ( IC02287.) S 83 J ( ) S 82 J ( You) S 83 J ( can) S 82 J ( also download this file from the listings area of the ``hamilton'') S
1800 7816 P (vendor) S 50 J ( support conference on Bix or contact us directly and we'll mail you a copy.) S
2333 8280 P (In) S 97 J ( the) S 98 J ( meantime,) S 97 J ( this) S 98 J ( release contains a work-around for disabling the block read) S
1800 8544 P (feature.) S 50 J ( If you create an environmental variable, ) S 0 12 F 0 10 F (NETWORKBUG) S 0 12 F 26 10 F (,) S 50 J ( and set it equal to 1, directory) S
1800 8808 P (reads) S 66 J ( will) S 67 J ( be) S 66 J ( done) S 67 J ( only) S 66 J ( one-at-a-time,) S 67 J ( ensuring) S 66 J ( correct) S 67 J ( results) S 66 J ( at) S 67 J ( all) S 66 J ( times,) S 67 J ( albeit) S 66 J ( with some) S
1800 9072 P (degradation) S 50 J ( in performance. You can do this either from the C shell:) S
2520 9536 P 0 12 F 0 10 F (setenv) S 120 J ( NETWORKBUG = 1) S
1800 10000 P 0 12 F 26 10 F (or) S 50 J ( in your ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (:) S
2520 10464 P 0 12 F 0 10 F (SET) S 120 J ( NETWORKBUG=1) S
1800 11408 P 0 12 F 8 12 F B (du,) S 67 J ( pwd and vol waste time sitting and spinning when they hit a) S E
1800 11672 P B (removable drive that's empty.) S E
2333 12176 P 0 12 F 26 10 F (If) S 55 J ( you) S 56 J ( have) S 55 J ( a) S 56 J ( removable) S 55 J ( media) S 56 J ( device) S 55 J ( other) S 56 J ( than) S 55 J ( ) S 0 12 F 0 10 F (A:) S 0 12 F 26 10 F () S 56 J ( or) S 55 J ( ) S 0 12 F 0 10 F (B:) S 0 12 F 26 10 F (,) S 55 J ( these utilities will normally) S
1800 12440 P (try) S 69 J ( to report them. That's probably not you want, at least not usually; you can specify just) S
1800 12704 P (the) S 50 J ( set of drives you do want reported using the ) S 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F () S 50 J ( environmental variable.) S
5831 15384 P (Page ) S (16) S 0 12 F
PE
8940 984 P 8 12 F B (Common) S 67 J ( Problems) S E
2160 1704 P B (cd /foo doesn't work.) S E
2693 2208 P 0 12 F 26 10 F (Hamilton) S 51 J ( C) S 52 J ( shell) S 51 J ( tries) S 52 J ( to) S 51 J ( serve users coming both UNIX and MS-DOS backgrounds. To) S
2160 2472 P (do) S 63 J ( this,) S 64 J ( the) S 63 J ( C) S 64 J ( shell) S 63 J ( and) S 64 J ( all) S 63 J ( the) S 64 J ( utilities) S 63 J ( accept) S 64 J ( command) S 63 J ( line) S 64 J ( options) S 63 J ( to) S 64 J ( start with either ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('') S
2160 2736 P (\(UNIX-style\)) S 70 J ( or ``) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F ('') S 70 J ( \(DOS-style\). It also recognizes filenames typed with either forward or) S
2160 3000 P (backward) S 94 J ( slashes.) S 95 J ( ) S 94 J ( But) S 95 J ( when) S 94 J ( you) S 95 J ( type) S 94 J ( ``) S 0 12 F 0 10 F (cd) S 120 J ( /foo) S 0 12 F 26 10 F ('',) S 95 J ( it guesses wrong and thinks you're) S
2160 3264 P (trying) S 50 J ( to give it a command line option that it can't recognize.) S
2693 3728 P (If) S 70 J ( this) S 71 J ( is) S 70 J ( really not what you intend, set the ) S 0 12 F 0 10 F (SWITCHCHARS) S 0 12 F 26 10 F () S 70 J ( environmental variable to) S
2160 3992 P (just) S 105 J ( the) S 106 J ( specific) S 105 J ( characters) S 106 J ( you) S 105 J ( want) S 106 J ( recognized. E.g., you might include this in your) S
2160 4256 P 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( to have only ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('') S 50 J ( recognized:) S
2880 4720 P 0 12 F 0 10 F (set) S 120 J ( SWITCHCHARS=-) S
2160 5664 P 0 12 F 8 12 F B (I've) S 67 J ( just installed OS/2 1.2 and suddenly my environment variables don't) S E
2160 5928 P B (work.) S E
2693 6432 P 0 12 F 26 10 F (The) S 97 J ( auto) S 98 J ( install) S 97 J ( program) S 98 J ( distributed) S 97 J ( with) S 98 J ( the) S 97 J ( fall,) S 98 J ( 1989) S 97 J ( releases) S 98 J ( of) S 97 J ( OS/2) S 98 J ( 1.2 from) S
2160 6696 P (Microsoft) S 99 J ( and) S 100 J ( IBM) S 99 J ( has) S 100 J ( a) S 99 J ( bug.) S 100 J ( ) S 99 J ( It) S 100 J ( tries) S 99 J ( to) S 100 J ( automatically) S 99 J ( convert) S 100 J ( entries) S 99 J ( on) S 100 J ( the) S 99 J ( 1.1) S 100 J ( Start) S
2160 6960 P (Programs) S 109 J ( menu) S 110 J ( into) S 109 J ( corresponding) S 110 J ( entries) S 109 J ( on) S 110 J ( the) S 109 J ( new) S 110 J ( 1.2) S 109 J ( Group Main menu. If the) S
2160 7224 P (parameters) S 89 J ( line) S 90 J ( for) S 89 J ( starting) S 90 J ( a) S 89 J ( program) S 90 J ( has text on it \(as the C shell's does\), the entry is) S
2160 7488 P (garbled) S 71 J ( even) S 72 J ( though) S 71 J ( it) S 72 J ( looks) S 71 J ( correct) S 72 J ( and) S 71 J ( causes) S 72 J ( a) S 71 J ( garbled) S 72 J ( environment) S 71 J ( to) S 72 J ( be) S 71 J ( passed to the) S
2160 7752 P (shell.) S 54 J ( ) S 55 J ( Editing) S 54 J ( the) S 55 J ( entry) S 54 J ( does) S 55 J ( not) S 54 J ( fix) S 55 J ( the) S 54 J ( problem.) S 55 J ( ) S 54 J ( The) S 55 J ( only) S 54 J ( solution is to delete the entry and) S
2160 8016 P (rekey) S 50 J ( it from scratch.) S
2160 8960 P 0 12 F 8 12 F B (I) S 67 J ( can't set my own screen colors.) S E
2693 9464 P 0 12 F 26 10 F (Yes,) S 75 J ( you) S 76 J ( can) S 75 J ( \(finally,) S 76 J ( in) S 75 J ( this) S 76 J ( latest) S 75 J ( release.\)) S 76 J ( ) S 75 J ( But) S 76 J ( you cannot do it just by embedding) S
2160 9728 P (ANSI) S 64 J ( escape) S 65 J ( sequences) S 64 J ( into) S 65 J ( your) S 64 J ( prompt) S 65 J ( since) S 64 J ( the) S 65 J ( C) S 64 J ( shell) S 65 J ( will) S 64 J ( immediately) S 65 J ( reset the colors) S
2160 9992 P (back) S 74 J ( to) S 75 J ( what) S 74 J ( it) S 75 J ( thinks) S 74 J ( they) S 75 J ( should be. To set your own preferences for screen colors, you) S
2160 10256 P (must) S 50 J ( use) S 51 J ( the) S 50 J ( ) S 0 12 F 0 10 F (COLORS) S 0 12 F 26 10 F () S 51 J ( environmental) S 50 J ( variable.) S 51 J ( ) S 50 J ( See) S 51 J ( the chapter on customizing the shell or the) S
2160 10520 P 0 12 F 0 10 F (colors.csh) S 0 12 F 26 10 F () S 50 J ( script in the ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 50 J ( directory for more information.) S
2160 11464 P 0 12 F 8 12 F B (The) S 67 J ( C shell's icon won't display in Group-Main.) S E
2693 11968 P 0 12 F 26 10 F (If) S 87 J ( you) S 88 J ( install) S 87 J ( the) S 88 J ( C) S 87 J ( shell) S 88 J ( as) S 87 J ( the) S 88 J ( default) S 87 J ( command) S 88 J ( processor) S 87 J ( by specifying it on the) S
2160 12232 P 0 12 F 0 10 F (PROTSHELL) S 0 12 F 26 10 F () S 61 J ( line in config.sys and entering its path as ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 61 J ( in Group-Main, you will see only) S
2160 12496 P (the) S 56 J ( default) S 57 J ( OS/2) S 56 J ( icon in Group-Main if you select View Icon. If you start, then minimize the) S
2160 12760 P (C) S 51 J ( shell,) S 52 J ( it) S 51 J ( will) S 52 J ( have) S 51 J ( the) S 52 J ( correct) S 51 J ( icon,) S 52 J ( however.) S 51 J ( ) S 52 J ( This) S 51 J ( has) S 52 J ( been) S 51 J ( reported) S 52 J ( to) S 51 J ( IBM.) S 52 J ( ) S 51 J ( Their) S 52 J ( response) S
2160 13024 P (is) S 66 J ( that,) S 67 J ( by) S 66 J ( design,) S 67 J ( when) S 66 J ( the) S 67 J ( path is an ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F (,'') S 67 J ( the Group code does not attempt to resolve the) S
2160 13288 P (actual) S 59 J ( pathname) S 60 J ( \(and) S 59 J ( whether) S 60 J ( there's) S 59 J ( any) S 60 J ( icon) S 59 J ( associated with it\) until you actually click on) S
2160 13552 P (the) S 75 J ( entry) S 76 J ( to) S 75 J ( start) S 76 J ( it.) S 75 J ( ) S 76 J ( They) S 75 J ( agree) S 76 J ( this) S 75 J ( means) S 76 J ( you) S 75 J ( will) S 76 J ( not) S 75 J ( see) S 76 J ( the) S 75 J ( correct icon in the Group) S
2160 13816 P (menu) S 50 J ( but claim this is what they intended and that it's not a bug.) S
5831 15384 P (Page ) S (17) S 0 12 F
PE
720 984 P 8 12 F B (Common) S 67 J ( Problems) S E
1800 1704 P B (more crashes on the OS/2 2.0 Beta and LA Releases.) S E
2333 2208 P 0 12 F 26 10 F (The) S 77 J ( dynamic) S 78 J ( link) S 77 J ( library) S 78 J ( supporting) S 77 J ( 8514) S 78 J ( displays in the beta and LA releases from) S
1800 2472 P (IBM) S 110 J ( has) S 111 J ( a) S 110 J ( bug) S 111 J ( which) S 110 J ( causes) S 111 J ( some) S 110 J ( VIO) S 111 J ( applications,) S 110 J ( including) S 111 J ( ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (,) S 110 J ( to crash with a) S
1800 2736 P (protection) S 101 J ( violation) S 102 J ( if) S 101 J ( they're) S 102 J ( run) S 101 J ( in) S 102 J ( a) S 101 J ( text) S 102 J ( window.) S 101 J ( ) S 102 J ( They) S 101 J ( work) S 102 J ( fine) S 101 J ( full-screen.) S 102 J ( This) S
1800 3000 P (problem) S 50 J ( has been fixed in the GA build.) S
1800 3944 P 0 12 F 8 12 F B (more) S 67 J ( hangs or exits prematurely on the OS/2 2.0 6.167 and LA releases.) S E
2333 4448 P 0 12 F 26 10 F (Under) S 78 J ( the) S 79 J ( 6.167) S 78 J ( and) S 79 J ( LA) S 78 J ( releases,) S 79 J ( the) S 78 J ( 8514) S 79 J ( display) S 78 J ( driver) S 79 J ( is) S 78 J ( completely) S 79 J ( unusable. It) S
1800 4712 P (even) S 60 J ( has) S 61 J ( problems) S 60 J ( repainting) S 61 J ( the) S 60 J ( screen) S 61 J ( after a menu has been closed or displaying icons in) S
1800 4976 P (the) S 50 J ( templates folder. It even causes ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 50 J ( to hang the whole system if you have an 8514.) S
2333 5440 P (But) S 55 J ( even) S 56 J ( using) S 55 J ( the) S 56 J ( VGA) S 55 J ( driver,) S 56 J ( random problems will be observed due, apparently, to) S
1800 5704 P (bugs) S 93 J ( in) S 94 J ( the) S 93 J ( keyboard) S 94 J ( driver.) S 93 J ( ) S 94 J ( Depending) S 93 J ( on) S 94 J ( what's) S 93 J ( fed) S 94 J ( to) S 93 J ( it) S 94 J ( through) S 93 J ( a) S 94 J ( pipe, ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 94 J ( will) S
1800 5968 P (occasionally) S 60 J ( prematurely) S 61 J ( exit) S 60 J ( after) S 61 J ( the) S 60 J ( first) S 61 J ( screenful.) S 60 J ( ) S 61 J ( All these problems have been fixed in) S
1800 6232 P (the) S 50 J ( GA release.) S
1800 7176 P 0 12 F 8 12 F B (The) S 67 J ( C shell can't change its title bar or icon under the OS/2 2.0 6.167) S E
1800 7440 P B (Beta and LA releases.) S E
2333 7944 P 0 12 F 26 10 F (This) S 55 J ( functionality) S 56 J ( was) S 55 J ( disabled) S 56 J ( in) S 55 J ( the) S 56 J ( 6.167) S 55 J ( Beta) S 56 J ( and) S 55 J ( LA) S 56 J ( releases as part of the work to) S
1800 8208 P (add) S 50 J ( the Workplace Shell. This problem has been fixed in the GA release.) S
1800 9152 P 0 12 F 8 12 F B (Alt-Enter) S 67 J ( doesn't work to grab commands from the history list under) S E
1800 9416 P B (Windows NT and the OS/2 2.0 6.167 Beta Release.) S E
2333 9920 P 0 12 F 26 10 F (Under) S 75 J ( Windows) S 76 J ( NT) S 75 J ( and) S 76 J ( OS/2) S 75 J ( 2.0) S 76 J ( 6.167,) S 75 J ( Alt-Enter) S 76 J ( is) S 75 J ( gobbled) S 76 J ( up) S 75 J ( by) S 76 J ( the) S 75 J ( system) S 76 J ( as) S 75 J ( a) S
1800 10184 P (keystroke) S 73 J ( combination) S 74 J ( used) S 73 J ( to) S 74 J ( signal) S 73 J ( that) S 74 J ( an) S 73 J ( application) S 74 J ( should) S 73 J ( be toggled back and forth) S
1800 10448 P (between) S 66 J ( the) S 67 J ( desktop) S 66 J ( and) S 67 J ( a) S 66 J ( full-screen) S 67 J ( session.) S 66 J ( Under the these systens, you'll have to type) S
1800 10712 P (Ctrl-Shift-Enter) S 50 J ( instead.) S
1800 11656 P 0 12 F 8 12 F B (The) S 67 J ( C shell \(and lots of other applications\) only have default icons) S E
1800 11920 P B (under the OS/2 2.0 6.167 Beta and LA Releases.) S E
2333 12424 P 0 12 F 26 10 F (The) S 63 J ( Workplace) S 64 J ( Shell) S 63 J ( does not support ) S 0 12 F 0 10 F (.ico) S 0 12 F 26 10 F () S 63 J ( files. All icons for text applications must) S
1800 12688 P (be) S 55 J ( stored) S 56 J ( in) S 55 J ( the) S 56 J ( extended attributes. The latest builds of the C shell have the icon both in the) S
1800 12952 P (EA) S 85 J ( and in an ) S 0 12 F 0 10 F (.ico) S 0 12 F 26 10 F () S 85 J ( file but if you copied the C shell onto your disk with a utility \(e.g..,) S
1800 13216 P (something) S 50 J ( other than ) S 0 12 F 0 10 F (cp) S 0 12 F 26 10 F (\)) S 50 J ( that does not support EA's, that information probably got lost.) S
2333 13680 P (To put) S 51 J ( an) S 50 J ( icon) S 51 J ( into) S 50 J ( the) S 51 J ( extended) S 50 J ( attributes,) S 51 J ( use) S 50 J ( the) S 51 J ( OS/2) S 50 J ( 1.3) S 51 J ( File) S 50 J ( Manager,) S 51 J ( selecting the) S
1800 13944 P (file,) S 50 J ( pulling down ``) S 0 12 F 0 10 F (Properties) S 0 12 F 26 10 F ('') S 50 J ( and selecting ``) S 0 12 F 0 10 F (Icon...) S 0 12 F 26 10 F (''.) S
5831 15384 P (Page) S 50 J ( ) S (18) S 0 12 F
PE
8940 984 P 8 12 F B (Common) S 67 J ( Problems) S E
2160 1704 P B (I just installed the C shell as the PROTSHELL and now when I start) S E
2160 1968 P B (Commmunications Manager, it dies immediately.) S E
2693 2472 P 0 12 F 26 10 F (Communications) S 60 J ( Manager) S 61 J ( is) S 60 J ( invoked via a ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F () S 60 J ( script file. Follow the instructions in) S
2160 2736 P (step) S 50 J ( 4 on page ) S (8) S ( to rewrite that entry to start that script explicitly via ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S
2160 3680 P 0 12 F 8 12 F B (I) S 67 J ( can't wildcard filenames with $, quoted or escaped characters in them.) S E
2693 4184 P 0 12 F 26 10 F (Yes,) S 69 J ( you can \(finally, in this latest release.\) To do so, just quote or escape the special) S
2160 4448 P (characters.) S 50 J ( E.g., to get all the files that begin with ) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F (,) S 50 J ( you might type ) S 0 12 F 0 10 F (^$*) S 0 12 F 26 10 F () S 50 J ( or ) S 0 12 F 0 10 F ('$'*) S 0 12 F 26 10 F () S 50 J ( .) S
2160 5392 P 0 12 F 8 12 F B (I) S 67 J ( can't run the C shell inside an Epsilon editor window.) S E
2693 5896 P 0 12 F 26 10 F (The) S 51 J ( Epsilon) S 52 J ( editor) S 51 J ( tries) S 52 J ( to) S 51 J ( run) S 52 J ( whatever) S 51 J ( command) S 52 J ( processor) S 51 J ( you) S 52 J ( use) S 51 J ( by creating a full-) S
2160 6160 P (screen) S 69 J ( session) S 70 J ( and) S 69 J ( doing) S 70 J ( a) S 69 J ( ) S 0 12 F 0 10 F (KbdRegister) S 0 12 F 26 10 F () S 70 J ( to) S 69 J ( intercept) S 70 J ( the) S 69 J ( ) S 0 12 F 0 10 F (KbdStringIn) S 0 12 F 26 10 F () S 70 J ( API entry so that) S
2160 6424 P (Epsilon) S 60 J ( can) S 61 J ( feed) S 60 J ( it) S 61 J ( whatever) S 60 J ( you) S 61 J ( type) S 60 J ( in) S 61 J ( the) S 60 J ( editor) S 61 J ( window.) S 60 J ( ) S 61 J ( Output) S 60 J ( \() S 0 12 F 0 10 F (stdout) S 0 12 F 26 10 F () S 61 J ( and ) S 0 12 F 0 10 F (stderr) S 0 12 F 26 10 F (\)) S
2160 6688 P (from) S 50 J ( the child session is redirected over a pipe back to the editor.) S
2693 7152 P (There) S 58 J ( are a couple problems in their approach: \(1\) They neglected to consider that not) S
2160 7416 P (all) S 74 J ( applications) S 75 J ( use) S 74 J ( ) S 0 12 F 0 10 F (KbdStringIn) S 0 12 F 26 10 F (;) S 75 J ( if) S 74 J ( ) S 0 12 F 0 10 F (stdin) S 0 12 F 26 10 F () S 75 J ( is) S 74 J ( attached) S 75 J ( to) S 74 J ( a) S 75 J ( keyboard,) S 74 J ( the) S 75 J ( C) S 74 J ( shell reads a) S
2160 7680 P (keystroke) S 86 J ( at) S 87 J ( a) S 86 J ( time) S 87 J ( using) S 86 J ( ) S 0 12 F 0 10 F (KbdCharIn) S 0 12 F 26 10 F () S 87 J ( and) S 86 J ( those) S 87 J ( calls) S 86 J ( still end up tied to that full-screen) S
2160 7944 P (session) S 58 J ( rather) S 59 J ( than) S 58 J ( being redirected. \(If ) S 0 12 F 0 10 F (stdin) S 0 12 F 26 10 F () S 58 J ( is attached to anything else, it uses ) S 0 12 F 0 10 F (DosRead) S
2160 8208 P 0 12 F 26 10 F (calls.\)) S 65 J ( ) S 66 J ( The) S 65 J ( authors) S 66 J ( of) S 65 J ( Epsilon) S 66 J ( really) S 65 J ( should) S 66 J ( have) S 65 J ( intercepted the whole set of ) S 0 12 F 0 10 F (Kbd) S 0 12 F 26 10 F () S 65 J ( calls, not) S
2160 8472 P (just) S 117 J ( one) S 118 J ( of) S 117 J ( them.) S 118 J ( ) S 117 J ( \(2\)) S 118 J ( Not) S 117 J ( all) S 118 J ( applications) S 117 J ( write) S 118 J ( their) S 117 J ( output) S 118 J ( to) S 117 J ( ) S 0 12 F 0 10 F (stdout) S 0 12 F 26 10 F () S 117 J ( or ) S 0 12 F 0 10 F (stderr) S 0 12 F 26 10 F (;) S
2160 8736 P (applications) S 78 J ( like ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (,) S 78 J ( that use ) S 0 12 F 0 10 F (Vio) S 0 12 F 26 10 F () S 78 J ( output, won't run properly. Their output appears in) S
2160 9000 P (that) S 82 J ( full-screen) S 83 J ( session, not back in the editor window. Epsilon really should be doing a) S
2160 9264 P 0 12 F 0 10 F (VioRegister) S 0 12 F 26 10 F () S 50 J ( to grab the ) S 0 12 F 0 10 F (Vio) S 0 12 F 26 10 F () S 50 J ( output also.) S
2693 9728 P (We) S 96 J ( are) S 97 J ( working) S 96 J ( with) S 97 J ( Lugaru) S 96 J ( Software) S 97 J ( \(the) S 96 J ( authors) S 97 J ( of) S 96 J ( Epsilon\)) S 97 J ( on) S 96 J ( a) S 97 J ( solution that) S
2160 9992 P (should) S 104 J ( be) S 105 J ( available) S 104 J ( shortly.) S 105 J ( ) S 104 J ( A) S 105 J ( partial) S 104 J ( workaround) S 105 J ( is) S 104 J ( to) S 105 J ( tell) S 104 J ( Epsilon) S 105 J ( to) S 104 J ( use) S 105 J ( a) S 104 J ( separate) S
2160 10256 P (program,) S 58 J ( which just reads input and pipes it to the C shell. Marty Klos at IBM has written a) S
2160 10520 P (small) S 88 J ( C) S 89 J ( program to do that and placed it in the public domain. A copy is available on) S
2160 10784 P (request from) S 90 J ( us) S 89 J ( or) S 90 J ( may) S 89 J ( be) S 90 J ( downloaded) S 89 J ( from) S 90 J ( the) S 89 J ( listings) S 90 J ( area) S 89 J ( of) S 90 J ( the) S 89 J ( ``hamilton'') S 90 J ( vendor) S
2160 11048 P (support) S 50 J ( conference on BIX.) S
2160 11992 P 0 12 F 8 12 F B (rm) S 67 J ( doesn't remove anything, it just puts everything in a hidden) S E
2160 12256 P B (directory.) S E
2693 12760 P 0 12 F 26 10 F (You're) S 75 J ( using) S 76 J ( the) S 75 J ( notorious) S 76 J ( Microsoft) S 75 J ( ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F () S 76 J ( command instead of the Hamilton ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F (.) S 76 J ( The) S
2160 13024 P (Microsoft) S 97 J ( ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F () S 98 J ( doesn't) S 97 J ( remove) S 98 J ( anything;) S 97 J ( it) S 98 J ( just) S 97 J ( puts things in a hidden system directory.) S
2160 13288 P (Hamilton) S 54 J ( ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F () S 55 J ( is) S 54 J ( actually) S 55 J ( in) S 54 J ( ) S 0 12 F 0 10 F (hrm.exe) S 0 12 F 26 10 F () S 55 J ( under) S 54 J ( Windows) S 55 J ( NT) S 54 J ( and) S 55 J ( should) S 54 J ( be aliased to ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F () S 54 J ( in your) S
2160 13552 P 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 50 J ( file. Fix that and then, to get rid of all those ``deleted'' directories:) S
2880 14016 P 0 12 F 0 10 F (cd) S 120 J ( \\; rm -x `ls -1ra +H | dim | grep 'deleted$'`) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (19) S 0 12 F
PE
720 984 P 8 12 F B (Common) S 67 J ( Problems) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (20) S 0 12 F
PE
10219 984 P 8 12 F B (Support) S E
5195 2184 P 0 12 F 8 14 F B (Product) S 78 J ( Support) S E
2693 2928 P 0 12 F 26 10 F (If) S 84 J ( you) S 85 J ( encounter) S 84 J ( problems) S 85 J ( or) S 84 J ( would like to make suggestions for a future revision,) S
2160 3192 P (please) S 50 J ( contact us by any of the following or by regular mail; we promise a prompt response.) S
4752 3656 P (Phone:) S 976 J ( ) S 0 12 F 0 10 F (508-358-5715) S
4752 3920 P 0 12 F 26 10 F (FAX:) S 1134 J ( ) S 0 12 F 0 10 F (508-358-1113) S
4752 4184 P 0 12 F 26 10 F (MCI) S 50 J ( Mail:) S 681 J ( ) S 0 12 F 0 10 F (389-0321) S
4752 4448 P 0 12 F 26 10 F (Telex:) S 1058 J ( ) S 0 12 F 0 10 F (6503890321) S
4752 4712 P 0 12 F 26 10 F (BIX:) S 1212 J ( ) S 0 12 F 0 10 F (hamilton) S
4752 4976 P 0 12 F 26 10 F (CompuServe:) S 376 J ( ) S 0 12 F 0 10 F (70034,2025) S
4752 5240 P 0 12 F 26 10 F (Internet:) S 834 J ( ) S 0 12 F 0 10 F (3890321@mcimail.com) S
2693 5744 P 0 12 F 26 10 F (Also,) S 54 J ( on) S 55 J ( Bix,) S 54 J ( we) S 55 J ( have) S 54 J ( a vendor support conference. Do a ``join hamilton'' once you get) S
2160 6008 P (on) S 50 J ( or follow the menus into the conference system.) S
2160 6952 P 0 12 F 8 12 F B (Bug) S 67 J ( Reports) S E
2693 7456 P 0 12 F 26 10 F (If) S 75 J ( you) S 76 J ( encounter) S 75 J ( what) S 76 J ( you) S 75 J ( believe) S 76 J ( to) S 75 J ( be) S 76 J ( a) S 75 J ( bug,) S 76 J ( please) S 75 J ( try to experiment to see what) S
2160 7720 P (specific) S 54 J ( command) S 55 J ( or) S 54 J ( command) S 55 J ( sequence) S 54 J ( seems) S 55 J ( to) S 54 J ( be) S 55 J ( failing) S 54 J ( before calling. A problem that's) S
2160 7984 P (easily) S 71 J ( reproducible) S 72 J ( is obviously easier to fix. Built in to Hamilton C shell are a number of) S
2160 8248 P (consistency) S 132 J ( checks) S 133 J ( to) S 132 J ( trap) S 133 J ( bugs) S 132 J ( before) S 133 J ( they) S 132 J ( cause) S 133 J ( damage) S 132 J ( and) S 133 J ( to) S 132 J ( snapshot enough) S
2160 8512 P (information) S 53 J ( to) S 54 J ( help) S 53 J ( us) S 54 J ( diagnose) S 53 J ( and) S 54 J ( repair) S 53 J ( the) S 54 J ( problem.) S 53 J ( If the shell is actually crashing, look) S
2160 8776 P (to) S 69 J ( see) S 70 J ( if) S 69 J ( a) S 70 J ( new) S 69 J ( entry has been added to the error log, ) S 0 12 F 0 10 F (crash.csh) S 0 12 F 26 10 F (,) S 69 J ( in your home directory;) S
2160 9040 P (that) S 50 J ( information will be useful.) S
2693 9504 P (When) S 73 J ( you) S 74 J ( call,) S 73 J ( we'll) S 74 J ( try to provide an immediate workaround if there is one. If the) S
2160 9768 P (problem) S 102 J ( is serious but straight-forwardly correctable, we can generally offer an interim) S
2160 10032 P (release) S 52 J ( at) S 53 J ( no charge to fix that specific problem. At the very least, we try to schedule it for an) S
2160 10296 P (upcoming) S 50 J ( general release.) S
2160 11240 P 0 12 F 8 12 F B (Future) S 67 J ( Enhancements) S E
2693 11744 P 0 12 F 26 10 F (Work) S 67 J ( continues) S 68 J ( on) S 67 J ( additional) S 68 J ( features) S 67 J ( and) S 68 J ( enhancements.) S 67 J ( ) S 68 J ( As they become available,) S
2160 12008 P (we) S 50 J ( want you to have them.) S
2693 12472 P (Please) S 77 J ( return) S 78 J ( the) S 77 J ( registration form by mail or FAX. Without that, we often have no) S
2160 12736 P (way) S 64 J ( of) S 65 J ( knowing) S 64 J ( who) S 65 J ( you) S 64 J ( are to send updates to. This is particularly true if your copy was) S
2160 13000 P (purchased) S 68 J ( through) S 69 J ( your company's purchasing department or through a retail distributor.) S
2160 13264 P (Also,) S 50 J ( we look forward to your feedback as we strive to improve the product.) S
5831 15384 P (Page ) S (21) S 0 12 F
PE
720 984 P 8 12 F B (Support) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (22) S 0 12 F
PE
9406 984 P 8 12 F B (Getting) S 67 J ( Started) S E
5446 2304 P 0 12 F 8 16 F B (User) S 89 J ( Guide) S E
2160 3528 P 0 12 F 8 12 F B (Getting) S 67 J ( Started) S E
2693 4032 P 0 12 F 26 10 F (Starting) S 70 J ( Hamilton) S 71 J ( C) S 70 J ( shell) S 71 J ( is) S 70 J ( simple:) S 71 J ( ) S 70 J ( select) S 71 J ( it) S 70 J ( from) S 71 J ( the) S 70 J ( Start) S 71 J ( Programs) S 70 J ( window) S 71 J ( or) S 70 J ( the) S
2160 4296 P (Program) S 57 J ( Selector) S 58 J ( or) S 57 J ( type ``) S 0 12 F 0 10 F (csh) S 0 12 F 26 10 F ('') S 57 J ( as a command to ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S 57 J ( After the initial greeting, you'll) S
2160 4560 P (see) S 50 J ( the first prompt: \(The underscore is meant to be the cursor.\)) S
2880 5024 P 0 12 F 0 10 F (Hamilton) S 120 J ( C shell\(tm\) Release 2.2) S
2880 5288 P (Copyright \(c\) 1988-1993 by Hamilton Laboratories. All rights) S
2880 5552 P (reserved.) S
2880 5816 P (1 D% _) S
2693 6280 P 0 12 F 26 10 F (This) S 80 J ( tells) S 81 J ( you) S 80 J ( that it will remember what you type as command number 1 and that) S
2160 6544 P (your) S 60 J ( current) S 61 J ( drive) S 60 J ( is) S 61 J ( D.) S 60 J ( ) S 61 J ( The) S 60 J ( ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F ('') S 61 J ( is) S 60 J ( traditional;) S 61 J ( rather) S 60 J ( like) S 61 J ( the) S 60 J ( ``>'' for DOS. Naturally, you) S
2160 6808 P (can change) S 61 J ( your) S 60 J ( prompt) S 61 J ( if) S 60 J ( you) S 61 J ( want,) S 60 J ( to) S 61 J ( be) S 60 J ( anything) S 61 J ( you) S 60 J ( like.) S 61 J ( ) S 60 J ( For) S 61 J ( example,) S 60 J ( to) S 61 J ( get a prompt) S
2160 7019 P 0 12 F 26 8 F 4274 J ( ) S (\324) S
2160 7072 P 0 12 F 26 10 F (that) S 50 J ( looks like one you might get from ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F 80 J ( ) S (:) S
2880 7536 P 0 12 F 0 10 F (1) S 120 J ( D% set prompt1 = '[$upper\(cwd\)] ') S
2880 7800 P ([D:\\DOUG] _) S
2693 8264 P 0 12 F 26 10 F (This) S 52 J ( works) S 53 J ( by) S 52 J ( taking) S 53 J ( the) S 52 J ( value) S 53 J ( of) S 52 J ( the) S 53 J ( ) S 0 12 F 0 10 F (cwd) S 0 12 F 26 10 F () S 52 J ( \(current) S 53 J ( working directory\) variable, turning) S
2160 8528 P (it) S 92 J ( to upper case using one of the built-in procedures and pasting left and right brackets) S
2160 8792 P (around) S 53 J ( it.) S 54 J ( ) S 53 J ( The) S 54 J ( value) S 53 J ( is) S 54 J ( recalculated) S 53 J ( each) S 54 J ( time) S 53 J ( a) S 54 J ( prompt) S 53 J ( is) S 54 J ( given, so it always displays an up-) S
2160 9056 P (to-date) S 50 J ( value. \(Lists of all the built-in variables and procedures are given in later sections.\)) S
2693 9520 P (To set it back:) S
2880 9984 P 0 12 F 0 10 F ([D:\\DOUG]) S 120 J ( set prompt1 = '$@ $CDISK% ') S
2880 10248 P (3 D% _) S
2160 11192 P 0 12 F 8 12 F B (Basic) S 67 J ( Statements) S E
2693 11696 P 0 12 F 26 10 F (Generally) S 51 J ( speaking, whatever commands you might have typed into) S 0 12 F 26 11 F () S 56 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 51 J ( will still) S
2160 11960 P (work) S 50 J ( here. Even an ``internal'') S 0 12 F 26 11 F () S 55 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 50 J ( function like) S 0 12 F 26 11 F () S 55 J ( ) S 0 12 F 0 10 F (dir) S 0 12 F 26 10 F () S 50 J ( works:) S
2880 12424 P 0 12 F 0 10 F (3) S 120 J ( D% dir) S
2880 12952 P ( The volume label in drive D is USER.) S
2880 13216 P ( Directory of D:\\DOUG\\SH\\DOCS\\SCRIPT\\HELLO) S
2160 13560 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 13867 P 0 12 F 26 8 F (\324) S
2160 13920 P 80 J ( ) S () S 280 J ( We) S 49 J ( introduce) S 50 J ( this) S 49 J ( is) S 50 J ( as) S 49 J ( the) S 50 J ( first) S 49 J ( example) S 50 J ( with) S 49 J ( some) S 50 J ( trepidation:) S 49 J ( ) S 50 J ( the) S 49 J ( prompt) S 50 J ( seems) S 49 J ( to) S 50 J ( be) S 49 J ( the) S 50 J ( first) S 49 J ( thing people) S
2520 14160 P (want) S 45 J ( to) S 46 J ( change.) S 45 J ( ) S 46 J ( But) S 45 J ( it) S 46 J ( can) S 45 J ( also) S 46 J ( be) S 45 J ( one) S 46 J ( of) S 45 J ( the) S 46 J ( more) S 45 J ( daunting) S 46 J ( projects if you're getting started. This example is) S
2520 14400 P (offered) S 40 J ( more in the spirit of assurance that, with a little experience, the prompt can be set to anything you like.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (23) S 0 12 F
PE
720 984 P 8 12 F B (Getting) S 67 J ( Started) S E
2520 1968 P 0 12 F 0 10 F (.) S 120 J ( <DIR> 2-23-89 2:13p) S
2520 2232 P (.. <DIR> 2-23-89 2:13p) S
2520 2496 P (HELLO C 72 2-23-89 12:56p) S
2520 2760 P (HELLO EXE 7731 2-23-89 12:57p) S
2520 3024 P (MEMOS <DIR> 2-23-89 1:46p) S
2520 3288 P ( 5 File\(s\) 1581056 bytes free) S
2520 3552 P (4 D% _) S
2333 4016 P 0 12 F 26 10 F (If) S 72 J ( the) S 73 J ( command) S 72 J ( you) S 73 J ( type) S 72 J ( refers) S 73 J ( to) S 72 J ( a) S 73 J ( ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F () S 72 J ( batch) S 73 J ( file or a ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 73 J ( internal function,) S
1800 4280 P (Hamilton) S 68 J ( C) S 69 J ( shell) S 68 J ( passes) S 69 J ( it) S 68 J ( to) S 69 J ( a) S 68 J ( child) S 69 J ( process) S 68 J ( running ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 68 J ( for evaluation. \() S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S
1800 4544 P (built-in) S 154 J ( functions) S 155 J ( are) S 154 J ( intercepted) S 155 J ( with aliases defined in your ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 155 J ( file.\)) S
1800 4808 P (Everything) S 54 J ( else) S 55 J ( is) S 54 J ( evaluated) S 55 J ( directly) S 54 J ( by) S 55 J ( Hamilton) S 54 J ( C shell. For example, if you type the name) S
1800 5072 P (of) S 50 J ( an) S 51 J ( ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 50 J ( file,) S 51 J ( the) S 50 J ( appropriate) S 51 J ( ) S 0 12 F 0 10 F (DosExecPgm\() S 120 J ( \)) S 0 12 F 26 10 F () S 51 J ( or) S 50 J ( ) S 0 12 F 0 10 F (DosStartSession\() S 121 J ( \)) S 0 12 F 26 10 F () S 51 J ( call to the OS/2) S
1800 5336 P (kernel) S 92 J ( or) S 93 J ( ) S 0 12 F 0 10 F (CreateProcess\() S 162 J ( \)) S 0 12 F 26 10 F () S 93 J ( call) S 92 J ( to) S 93 J ( the) S 92 J ( NT) S 93 J ( kernel) S 92 J ( to) S 93 J ( start) S 92 J ( that program will be done) S
1800 5600 P (directly) S 50 J ( by Hamilton C shell.) S
2333 6064 P (A) S 53 J ( bit-mapped) S 54 J ( hash) S 53 J ( mechanism) S 54 J ( is) S 53 J ( used) S 54 J ( so that when you type the name of a command,) S
1800 6328 P (the) S 63 J ( shell) S 64 J ( zeroes) S 63 J ( right in on file you mean. It doesn't have to check every path directory for) S
1800 6592 P (every) S 90 J ( possible) S 91 J ( extension.) S 90 J ( ) S 91 J ( Naturally,) S 90 J ( if) S 91 J ( you type a command that doesn't exist, the shell) S
1800 6856 P (complains:) S
2520 7320 P 0 12 F 0 10 F (4) S 120 J ( D% zork) S
2520 7584 P (csh: Couldn't find an executable file named 'zork'.) S
2333 8048 P 0 12 F 26 10 F (By) S 101 J ( being) S 102 J ( more) S 101 J ( than) S 102 J ( merely) S 101 J ( a) S 102 J ( ``wrapper'') S 101 J ( around) S 102 J ( an) S 101 J ( existing) S 102 J ( command) S 101 J ( processor,) S
1800 8312 P (several) S 103 J ( advantages) S 104 J ( are) S 103 J ( created:) S 104 J ( ) S 103 J ( \(1\)) S 104 J ( performance is understandably \(and visibly!\) much) S
1800 8576 P (higher) S 90 J ( and) S 91 J ( \(2\) limitations on command line lengths, etc., become the relatively generous) S
1800 8840 P (limits) S 50 J ( of OS/2 and NT, rather than the restrictive limits of ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S
1800 9784 P 0 12 F 8 12 F B (Customizing) S 67 J ( the Screen Colors) S E
2333 10288 P 0 12 F 26 10 F (The) S 117 J ( C) S 118 J ( shell's) S 117 J ( default) S 118 J ( screen) S 117 J ( colors) S 118 J ( are) S 117 J ( white) S 118 J ( characters) S 117 J ( on) S 118 J ( a) S 117 J ( black background.) S
1800 10552 P (Highlighting) S 71 J ( and) S 72 J ( color) S 71 J ( are) S 72 J ( used) S 71 J ( to) S 72 J ( make) S 71 J ( some) S 72 J ( things) S 71 J ( \(special) S 72 J ( files,) S 71 J ( etc.\)) S 72 J ( stand) S 71 J ( out.) S 72 J ( ) S 71 J ( All the) S
1800 10816 P (use) S 68 J ( of) S 69 J ( color) S 68 J ( or) S 69 J ( highlighting) S 68 J ( is) S 69 J ( completely) S 68 J ( customizable.) S 69 J ( ) S 68 J ( You can choose anything you like.) S
1800 11080 P (The) S 87 J ( chapter) S 88 J ( on) S 87 J ( customization) S 88 J ( will) S 87 J ( go) S 88 J ( into) S 87 J ( this) S 88 J ( in detail, but for now, let's suppose we'd) S
1800 11344 P (simply) S 92 J ( like) S 93 J ( to) S 92 J ( pick) S 93 J ( something) S 92 J ( a) S 93 J ( little) S 92 J ( easier on the eyes, like white characters on a blue) S
1800 11608 P (background:) S
2520 12072 P 0 12 F 0 10 F (5) S 120 J ( D% setenv COLORS = white on blue) S
1800 13016 P 0 12 F 8 12 F B (Command) S 67 J ( Line Editing) S E
2333 13520 P 0 12 F 26 10 F (With) S 61 J ( command line editing, you'll notice immediately how much easier it is do things) S
1800 13784 P (quickly) S 79 J ( without) S 80 J ( a) S 79 J ( lot) S 80 J ( of) S 79 J ( retyping.) S 80 J ( ) S 79 J ( As) S 80 J ( you) S 79 J ( try) S 80 J ( the) S 79 J ( examples,) S 80 J ( notice) S 79 J ( how) S 80 J ( the) S 79 J ( arrow, insert,) S
1800 14048 P (delete,) S 58 J ( home,) S 59 J ( end) S 58 J ( and) S 59 J ( other) S 58 J ( keys) S 59 J ( can) S 58 J ( be) S 59 J ( used) S 58 J ( to) S 59 J ( recall) S 58 J ( previous) S 59 J ( commands) S 58 J ( or) S 59 J ( make changes) S
1800 14312 P (anywhere) S 50 J ( on the line.) S
5831 15384 P (Page ) S (24) S 0 12 F
PE
9406 984 P 8 12 F B (Getting) S 67 J ( Started) S E
2693 1704 P 0 12 F 26 10 F (Command) S 71 J ( line) S 72 J ( editing) S 71 J ( is) S 72 J ( like) S 71 J ( having) S 72 J ( a) S 71 J ( full-screen) S 72 J ( editor) S 71 J ( pasted) S 72 J ( onto) S 71 J ( the front end of) S
2160 1968 P (the) S 99 J ( shell.) S 100 J ( ) S 99 J ( Key) S 100 J ( bindings) S 99 J ( are intuitive and follow accepted conventions. You can create) S
2160 2232 P (enormous) S 65 J ( commands) S 66 J ( that) S 65 J ( stretch) S 66 J ( over) S 65 J ( screen) S 66 J ( after) S 65 J ( screen) S 66 J ( and) S 65 J ( move around with the arrow) S
2160 2496 P (keys,) S 66 J ( inserting) S 67 J ( or) S 66 J ( deleting) S 67 J ( anywhere. Watch changes ripple almost instantly down even an) S
2160 2760 P (entire) S 64 J ( screenful) S 65 J ( of) S 64 J ( text.) S 65 J ( ) S 64 J ( We think you'll find our command line editing superior to ) S 0 12 F 26 10 F I (anything) S E
2160 3024 P 0 12 F 26 10 F (you've) S 50 J ( seen or used elsewhere.) S
2693 3488 P (The basic key assignments are:) S
2693 3952 P (<Insert>) S 1410 J ( Toggle) S 50 J ( between insert and overstrike modes. \(The cursor is) S
4853 4216 P (thicker when you're inserting.\)) S
2693 4624 P (<Home> <End>) S 618 J ( Beginning/end) S 50 J ( of command line.) S
2693 5032 P 0 12 F 56 12 F B (\254) S E 0 12 F 26 10 F () S 50 J ( ) S 0 12 F 56 12 F B (\256) S E 0 12 F 26 10 F () S 1536 J ( One) S 50 J ( character left/right.) S
2693 5440 P 0 12 F 56 12 F B (\255) S E 0 12 F 26 10 F () S 50 J ( ) S 0 12 F 56 12 F B (\257) S E 0 12 F 26 10 F () S 1720 J ( Up/down) S 50 J ( one command in the history list.) S
2693 5848 P (Pressing) S 95 J ( Ctrl) S 96 J ( with) S 95 J ( the) S 96 J ( arrow) S 95 J ( keys lets you move by words or lines. Pressing Alt) S
2160 6112 P (instead) S 68 J ( does) S 69 J ( word) S 68 J ( or) S 69 J ( line) S 68 J ( deletion.) S 69 J ( ) S 68 J ( \(The) S 69 J ( convention) S 68 J ( we) S 69 J ( follow is that the Alt key is a little) S
2160 6376 P (``more) S 50 J ( powerful'' than the Ctrl key.\)) S
2693 6840 P (What) S 65 J ( you) S 66 J ( last) S 65 J ( deleted) S 66 J ( is) S 65 J ( kept) S 66 J ( in a scrap buffer and can be pasted back elsewhere. To) S
2160 7104 P (paste) S 52 J ( something) S 53 J ( from) S 52 J ( the) S 53 J ( scrap) S 52 J ( buffer) S 53 J ( back into the command line, move the cursor to where) S
2160 7368 P (you) S 50 J ( want it done and press:) S
2693 7832 P (Ctrl-<Insert>) S 999 J ( Paste) S 50 J ( one word at a time.) S
2693 8240 P (Alt-<Insert>) S 1064 J ( Paste) S 50 J ( the whole thing.) S
2160 9128 P 0 12 F 8 12 F B (Command) S 67 J ( Completion) S E
2693 9632 P 0 12 F 26 10 F (In) S 62 J ( addition) S 63 J ( to) S 62 J ( backing) S 63 J ( up) S 62 J ( through) S 63 J ( your) S 62 J ( previous) S 63 J ( commands) S 62 J ( one) S 63 J ( at) S 62 J ( a) S 63 J ( time with ) S 0 12 F 56 12 F B (\255) S E 0 12 F 26 10 F () S 63 J ( and) S
2160 9896 P 0 12 F 56 12 F B (\257) S E 0 12 F 26 10 F (,) S 68 J ( you) S 69 J ( can) S 68 J ( also) S 69 J ( ask) S 68 J ( the) S 69 J ( shell) S 68 J ( to) S 69 J ( search back through any previous commands you've typed) S
2160 10160 P (for) S 86 J ( the) S 87 J ( last) S 86 J ( command) S 87 J ( that) S 86 J ( either) S 87 J ( started) S 86 J ( with) S 87 J ( or) S 86 J ( contained) S 87 J ( the) S 86 J ( characters) S 87 J ( in) S 86 J ( the previous) S
2160 10424 P (word.) S
2693 10888 P (Ctrl-<Enter>) S 1029 J ( means) S 50 J ( ``look for a command that ) S 0 12 F 26 10 F I (started) S E 0 12 F 26 10 F () S 50 J ( with ...,'' and) S
2693 11296 P (Alt-<Enter>) S 1094 J ( \(again,) S 50 J ( a little ``stronger''\) means ``look for a command that) S
4853 11560 P (contained the string ) S 0 12 F 26 10 F I (anywhere) S E 0 12 F 26 10 F (.'') S 50 J ( \(On NT, it's necessary to type) S
4853 11824 P (Ctrl-Shift-<Enter> because Alt-<Enter> is grabbed by the) S
4853 12088 P (system to mean switch to full-screen.\)) S
2693 12496 P (Repeatedly) S 67 J ( pressing) S 68 J ( these) S 67 J ( keys) S 68 J ( cycles up through all the matching commands you've) S
2160 12760 P (previously) S 81 J ( typed.) S 82 J ( ) S 81 J ( Command) S 82 J ( completion) S 81 J ( uses) S 82 J ( something) S 81 J ( called) S 82 J ( the) S 81 J ( history mechanism to) S
2160 13024 P (recall) S 50 J ( commands) S 51 J ( you've) S 50 J ( previously) S 51 J ( typed.) S 50 J ( Later, we'll devote a whole chapter to some of the) S
2160 13288 P (more advanced uses of history.) S
5831 15384 P (Page ) S (25) S 0 12 F
PE
720 984 P 8 12 F B (Getting) S 67 J ( Started) S E
1800 1704 P B (Filename Completion) S E
2333 2208 P 0 12 F 26 10 F (Filename) S 98 J ( completion) S 99 J ( is) S 98 J ( another) S 99 J ( ``creature) S 98 J ( comfort:'') S 99 J ( you) S 98 J ( type) S 99 J ( just) S 98 J ( a) S 99 J ( fragment) S 98 J ( of) S 99 J ( a) S
1800 2472 P (filename) S 77 J ( and) S 78 J ( let) S 77 J ( the) S 78 J ( shell) S 77 J ( fill) S 78 J ( in) S 77 J ( the) S 78 J ( rest.) S 77 J ( ) S 78 J ( The) S 77 J ( two) S 78 J ( variations) S 77 J ( are using the F key for basic) S
1800 2736 P (filename) S 50 J ( completion or the D key if you want all the duplicates listed.) S
2333 3200 P (Alt-F or Ctrl-F) S 893 J ( Filename) S 50 J ( completion.) S
2333 3608 P () S 2160 J ( Look) S 50 J ( for a filename that starts with preceding characters. If it) S
4493 3872 P (matches a single file, fill in the rest of the name.) S
2333 4280 P () S 2160 J ( If) S 50 J ( more than one file matched, show the part that was the same) S
4493 4544 P (for all, highlighted in green. \(Bright red means there were no) S
4493 4808 P (matches at all.\)) S
2333 5216 P (Alt-D or Ctrl-D) S 805 J ( Duplicate) S 50 J ( completions.) S
2333 5624 P () S 2160 J ( Show) S 50 J ( any/all matching filenames, one after the other with) S
4493 5888 P (spaces between.) S
2333 6296 P (Filename) S 58 J ( completion is actually done with wildcarding. Unlike ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (,) S 58 J ( Hamilton C) S
1800 6560 P (shell) S 96 J ( does) S 97 J ( any) S 96 J ( wildcarding before excuting the command you type. It uses a powerful) S
1800 6824 P (recursive) S 67 J ( pattern) S 68 J ( match) S 67 J ( algorithm) S 68 J ( that) S 67 J ( guarantees) S 68 J ( sensible) S 67 J ( matches) S 68 J ( even) S 67 J ( if) S 68 J ( you) S 67 J ( type) S 68 J ( a) S 67 J ( very) S
1800 7088 P (complex) S 50 J ( pattern. Wildcarding is the subject of a whole chapter up ahead.) S
1800 8032 P 0 12 F 8 12 F B (The) S 67 J ( Tour Begins Here) S E
2333 8536 P 0 12 F 26 10 F (The) S 104 J ( following) S 105 J ( chapters) S 104 J ( introduce) S 105 J ( the) S 104 J ( various facilities Hamilton C shell provides,) S
1800 8800 P (starting) S 50 J ( with some of its basic vocabulary: the simple utilities that come with it.) S
2333 9264 P (Following) S 88 J ( discussion) S 89 J ( shifts) S 88 J ( to) S 89 J ( the) S 88 J ( intrinsic,) S 89 J ( internal functions provided by the shell) S
1800 9528 P (itself:) S 129 J ( ) S 130 J ( i/o) S 129 J ( redirection,) S 130 J ( pipes and command substitution; the history mechanism and) S
1800 9792 P (wildcarding.) S
2333 10256 P (Intermediate) S 54 J ( level) S 55 J ( discussion) S 54 J ( follows,) S 55 J ( describing expressions, variables and aliases and) S
1800 10520 P (the) S 126 J ( editing) S 127 J ( and) S 126 J ( quoting) S 127 J ( facilities.) S 126 J ( ) S 127 J ( The) S 126 J ( process) S 127 J ( and thread scheduling mechanism is) S
1800 10784 P (described,) S 50 J ( outlining how an activity can be placed in the background.) S
2333 11248 P (The) S 95 J ( tour) S 96 J ( will) S 95 J ( then) S 96 J ( cross) S 95 J ( the) S 96 J ( threshold) S 95 J ( from) S 96 J ( discussion of individual statements to) S
1800 11512 P (discussion) S 93 J ( of) S 94 J ( structures) S 93 J ( of) S 94 J ( statements.) S 93 J ( ) S 94 J ( Structures) S 93 J ( for) S 94 J ( iteration) S 93 J ( and) S 94 J ( condition-testing) S 93 J ( and) S
1800 11776 P (procedural) S 50 J ( abstraction will be introduced.) S
2333 12240 P (Finally,) S 73 J ( we'll) S 74 J ( wrap) S 73 J ( up) S 74 J ( with discussion of how to customize the shell together with a) S
1800 12504 P (section) S 63 J ( detailing) S 64 J ( specific) S 63 J ( compatibility) S 64 J ( issues) S 63 J ( between) S 64 J ( the) S 63 J ( Hamilton and original Berkeley C) S
1800 12768 P (shells.) S
5831 15384 P (Page) S 50 J ( ) S (26) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
5506 2184 P 0 12 F 8 14 F B (The) S 78 J ( Utilities) S E
2693 2928 P 0 12 F 26 10 F (Hamilton) S 50 J ( C) S 51 J ( shell) S 50 J ( comes) S 51 J ( with) S 50 J ( a) S 51 J ( lot) S 50 J ( of) S 51 J ( utilities) S 50 J ( that) S 51 J ( form some of its vocabulary. They do) S
2160 3192 P (small,) S 67 J ( but) S 68 J ( oft-needed) S 67 J ( functions,) S 68 J ( often) S 67 J ( in) S 68 J ( a) S 67 J ( novel,) S 68 J ( faster) S 67 J ( or) S 68 J ( more) S 67 J ( convenient) S 68 J ( way) S 67 J ( than) S 68 J ( you'd) S
2160 3456 P (find) S 54 J ( in) S 55 J ( ``plain) S 54 J ( vanilla'') S 55 J ( OS/2) S 54 J ( or) S 55 J ( NT.) S 54 J ( ) S 55 J ( This) S 54 J ( section) S 55 J ( provides) S 54 J ( a) S 55 J ( quick) S 54 J ( tour,) S 55 J ( outlining) S 54 J ( some of the) S
2160 3720 P (capabilities) S 50 J ( and conventions.) S
2160 4664 P 0 12 F 8 12 F B (ls:) S 440 J ( List) S 67 J ( files) S E
2693 5168 P 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 50 J ( is a somewhat nicer way to list a directory:) S
2880 5632 P 0 12 F 0 10 F (6) S 120 J ( D% ls) S
2880 5896 P 0 12 F 0 10 F B (memos) S E 0 12 F 0 10 F () S 120 J ( hello.c hello.exe ) S 0 12 F 0 10 F I (sysstuff) S E
2160 6360 P 0 12 F 26 10 F (Subdirectories) S 59 J ( are) S 60 J ( highlighted) S 59 J ( \(shown) S 60 J ( here) S 59 J ( in) S 60 J ( ) S 0 12 F 0 10 F B (bold) S E 0 12 F 26 10 F (.\)) S 59 J ( If a file or directory has the system bit) S
2160 6571 P 0 12 F 26 8 F 6221 J ( ) S (\324) S
2160 6624 P 0 12 F 26 10 F (set,) S 120 J ( it's) S 121 J ( still) S 120 J ( listed, displayed in green \(shown here in ) S 0 12 F 0 10 F I (italic) S E 0 12 F 26 10 F (.\)) S 80 J ( ) S () S 120 J ( Normally, ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 120 J ( lists) S
2160 6888 P (everything) S 50 J ( in lower case for better readability. In long format:) S
2880 7352 P 0 12 F 0 10 F (7) S 120 J ( D% ls -l) S
2880 7616 P (D---- Feb 23 13:46 - ) S 0 12 F 0 10 F B (memos) S E
2880 7880 P 0 12 F 0 10 F (---A-) S 120 J ( Feb 23 12:56 72 hello.c) S
2880 8144 P (---A- Feb 23 12:57 7731 hello.exe) S
2880 8408 P (-S-A- Feb 23 13:22 15 ) S 0 12 F 0 10 F I (sysstuff) S E
2693 8872 P 0 12 F 26 10 F (Conventionally,) S 76 J ( ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 77 J ( lists) S 76 J ( things) S 77 J ( alphabetically, with directories ahead of files. There) S
2160 9136 P (might) S 50 J ( be hidden files or directories, but to see them you have to ask:) S
2880 9600 P 0 12 F 0 10 F (8) S 120 J ( D% ls +H) S
2880 9864 P 0 12 F 0 10 F B (memos) S E 0 12 F 0 10 F () S 120 J ( hello.c hello.exe ) S 0 12 F 0 10 F I (hiding) S 120 J ( sysstuff) S E
2160 10808 P 0 12 F 8 12 F B (Conventions) S E
2693 11312 P 0 12 F 26 10 F (To) S 50 J ( find out how any of the utilities work, just use the ) S 0 12 F 0 10 F (-h) S 0 12 F 26 10 F () S 50 J ( option. For example,) S
2880 11776 P 0 12 F 0 10 F (9) S 120 J ( D% ls -h) S
2160 12240 P 0 12 F 26 10 F (tells) S 55 J ( about) S 56 J ( options) S 55 J ( for) S 56 J ( more) S 55 J ( detailed) S 56 J ( listings, sorting the list by date or by size, selecting only) S
2160 12504 P (certain) S 73 J ( types) S 74 J ( of) S 73 J ( files,) S 74 J ( etc.) S 73 J ( ) S 74 J ( ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 73 J ( is) S 74 J ( a) S 73 J ( read-only) S 74 J ( activity;) S 73 J ( it) S 74 J ( ) S 0 12 F 26 10 F B I (never) S E E 0 12 F 26 10 F () S 73 J ( makes any changes to the file) S
2160 12768 P (system.) S 62 J ( ) S 63 J ( Lists) S 62 J ( are) S 63 J ( always) S 62 J ( sorted) S 63 J ( in) S 62 J ( memory;) S 63 J ( its speed and flexibility completely obsolete the) S
2160 13032 P (old) S 50 J ( \(and dangerous\) ``directory sort'' utilities popular on DOS.) S
2160 13800 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 14107 P 0 12 F 26 8 F (\324) S
2160 14160 P 80 J ( ) S () S 280 J ( All) S 47 J ( our) S 48 J ( examples) S 47 J ( will) S 48 J ( be) S 47 J ( given) S 48 J ( in terms of the default screen colors. But these are easily changed to your own) S
2520 14400 P (preferences.) S 40 J ( See the chapter on customization or the ) S 0 12 F 0 8 F (colors.csh) S 0 12 F 26 8 F () S 40 J ( script file in the ) S 0 12 F 0 8 F (samples) S 0 12 F 26 8 F () S 40 J ( directory.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (27) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
2333 1704 P 0 12 F 26 10 F (The) S 97 J ( names) S 98 J ( of) S 97 J ( the utilities were chosen to be consistent with the names of similar) S
1800 1968 P (functions) S 77 J ( on) S 78 J ( UNIX,) S 77 J ( where) S 78 J ( they) S 77 J ( provided) S 78 J ( much) S 77 J ( of) S 78 J ( the) S 77 J ( vocabularly) S 78 J ( of) S 77 J ( the) S 78 J ( original) S 77 J ( UNIX) S 78 J ( C) S
1800 2232 P (shell.) S 64 J ( ) S 65 J ( But) S 64 J ( changing) S 65 J ( the) S 64 J ( name) S 65 J ( of) S 64 J ( a) S 65 J ( utility) S 64 J ( is) S 65 J ( a) S 64 J ( simple) S 65 J ( matter:) S 64 J ( ) S 65 J ( just) S 64 J ( rename) S 65 J ( the corresponding) S
1800 2496 P 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 50 J ( file or, better still, create an alias \(discussed later.\)) S
2333 2960 P (By) S 95 J ( convention,) S 96 J ( the) S 95 J ( utilities) S 96 J ( expect) S 95 J ( options) S 96 J ( to) S 95 J ( come) S 96 J ( ahead) S 95 J ( of) S 96 J ( any) S 95 J ( files) S 96 J ( you specify.) S
1800 3224 P (Options) S 55 J ( ) S 0 12 F 26 10 F I (are) S E 0 12 F 26 10 F () S 56 J ( case-sensitive.) S 55 J ( ) S 56 J ( We've) S 55 J ( tried) S 56 J ( to) S 55 J ( use) S 56 J ( mneumonic) S 55 J ( letters) S 56 J ( for) S 55 J ( options) S 56 J ( \(e.g.,) S 55 J ( ) S 0 12 F 0 10 F (h) S 0 12 F 26 10 F () S 56 J ( for help\)) S
1800 3488 P (and) S 74 J ( to) S 75 J ( use) S 74 J ( the same letter to mean the same thing across related utilities; achieving that is) S
1800 3752 P (simply) S 50 J ( more feasible with 52, not just 26 characters to choose from.) S
2333 4216 P (Our) S 53 J ( examples) S 54 J ( generally) S 53 J ( show) S 54 J ( options) S 53 J ( introduced) S 54 J ( with) S 53 J ( ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('',) S 54 J ( but) S 53 J ( you) S 54 J ( could) S 53 J ( equally) S 54 J ( well) S
1800 4480 P (follow) S 60 J ( the) S 61 J ( DOS-style) S 60 J ( convention) S 61 J ( of) S 60 J ( using) S 61 J ( ``/'') S 60 J ( if) S 61 J ( you) S 60 J ( prefer.) S 61 J ( ) S 60 J ( If indeed you want only ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('') S 60 J ( or) S
1800 4744 P (only) S 124 J ( ``/'') S 125 J ( interpreted) S 124 J ( as) S 125 J ( an option character, this can be set with the ) S 0 12 F 0 10 F (SWITCHCHARS) S
1800 5008 P 0 12 F 26 10 F (environmental) S 64 J ( variable,) S 65 J ( which) S 64 J ( can) S 65 J ( be) S 64 J ( set either from the C shell or from your ) S 0 12 F 0 10 F (config.sys) S
1800 5272 P 0 12 F 26 10 F (file) S 50 J ( on) S 51 J ( OS/2) S 50 J ( or) S 51 J ( from) S 50 J ( the) S 51 J ( Control) S 50 J ( Panel) S 51 J ( on) S 50 J ( NT.) S 51 J ( ) S 50 J ( Sadly,) S 51 J ( it) S 50 J ( won't) S 51 J ( have) S 50 J ( any) S 51 J ( effect) S 50 J ( on the standard) S
1800 5536 P (OS/2) S 58 J ( or) S 59 J ( NT) S 58 J ( commands) S 59 J ( like) S 58 J ( ) S 0 12 F 0 10 F (dir) S 0 12 F 26 10 F () S 59 J ( or) S 58 J ( ) S 0 12 F 0 10 F (xcopy) S 0 12 F 26 10 F () S 59 J ( or) S 58 J ( on) S 59 J ( applications) S 58 J ( you) S 59 J ( purchase) S 58 J ( elsewhere,) S 59 J ( but) S 58 J ( it) S
1800 5800 P (will) S 75 J ( work) S 76 J ( on) S 75 J ( all the commands supplied with the C shell. For example, to have only ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('') S
1800 6064 P (recognized) S 50 J ( as an option character, you might type this into the C shell:) S
2520 6528 P 0 12 F 0 10 F (10) S 120 J ( D% setenv SWITCHCHARS = -) S
1800 6992 P 0 12 F 26 10 F (or) S 50 J ( put this into ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 50 J ( \(rebooting to make it take effect\):) S
2520 7456 P 0 12 F 0 10 F (set) S 120 J ( SWITCHCHARS=-) S
2333 7920 P 0 12 F 26 10 F (You) S 62 J ( can) S 63 J ( type) S 62 J ( options) S 63 J ( in) S 62 J ( any order \(except where one overrides another, in which case) S
1800 8184 P (the) S 58 J ( last) S 59 J ( setting) S 58 J ( is) S 59 J ( used\)) S 58 J ( and) S 59 J ( you) S 58 J ( group them together or type them separately as you choose.) S
1800 8448 P (For) S 64 J ( example,) S 65 J ( ``) S 0 12 F 0 10 F (ls) S 120 J ( -L -d -w) S 0 12 F 26 10 F ('') S 64 J ( is) S 65 J ( exactly) S 64 J ( the) S 65 J ( same) S 64 J ( as) S 65 J ( ``) S 0 12 F 0 10 F (ls) S 120 J ( -dwL) S 0 12 F 26 10 F ('') S 64 J ( and produces a very long) S
1800 8712 P (format) S 80 J ( \(very) S 81 J ( detailed\)) S 80 J ( list of the current directory, sorted by date \(newest ones last\), with) S
1800 8976 P (sizes) S 70 J ( of) S 71 J ( any) S 70 J ( directories) S 71 J ( filled) S 70 J ( in) S 71 J ( by) S 70 J ( walking down through the directory tree, adding up all) S
1800 9240 P (the) S 50 J ( sizes of all the files found there.) S
2333 9704 P (You) S 52 J ( can) S 53 J ( always) S 52 J ( unambiguously) S 53 J ( end) S 52 J ( the) S 53 J ( options) S 52 J ( with) S 53 J ( ``) S 0 12 F 0 10 F (--) S 0 12 F 26 10 F ('') S 53 J ( in case you have a filename) S
1800 9968 P (or) S 61 J ( an) S 62 J ( argument) S 61 J ( string) S 62 J ( that) S 61 J ( begins with one of option-introducing characters. Also, since the) S
1800 10232 P (shell) S 50 J ( does) S 51 J ( the) S 50 J ( wildcard) S 51 J ( expansion,) S 50 J ( it's) S 51 J ( a) S 50 J ( bit) S 51 J ( more) S 50 J ( convenient) S 51 J ( and) S 50 J ( faster) S 51 J ( for the utilities to look) S
1800 10496 P (for) S 55 J ( any) S 56 J ( options) S 55 J ( right) S 56 J ( at) S 55 J ( the) S 56 J ( beginning) S 55 J ( of) S 56 J ( what) S 55 J ( could) S 56 J ( be) S 55 J ( a) S 56 J ( very) S 55 J ( long) S 56 J ( list) S 55 J ( \(up) S 56 J ( to) S 55 J ( 64) S 56 J ( kilobytes\)) S 55 J ( of) S
1800 10760 P (filenames) S 50 J ( or other command-line text.) S
2333 11224 P (We'll) S 84 J ( always) S 85 J ( follow) S 84 J ( the) S 85 J ( OS/2) S 84 J ( and) S 85 J ( NT) S 84 J ( convention) S 85 J ( of) S 84 J ( using ``) S 0 12 F 0 10 F (\\) S 0 12 F 26 10 F ('') S 84 J ( in filenames in this) S
1800 11488 P (book) S 78 J ( and we generally advise that you do too, not so much because the C shell cares but) S
1800 11752 P (because) S 50 J ( so) S 51 J ( much) S 50 J ( other) S 51 J ( OS/2) S 50 J ( and) S 51 J ( NT) S 50 J ( software) S 51 J ( does.) S 50 J ( ) S 51 J ( To) S 50 J ( some) S 51 J ( fair) S 50 J ( degree,) S 51 J ( it's) S 50 J ( a) S 51 J ( case of ``when) S
1800 12016 P (in) S 68 J ( Rome,) S 69 J ( doing) S 68 J ( as) S 69 J ( the) S 68 J ( Romans) S 69 J ( do.'') S 68 J ( ) S 69 J ( But) S 68 J ( if) S 69 J ( you) S 68 J ( really) S 69 J ( do prefer, you can generally use ``/'') S
1800 12280 P (with) S 80 J ( the) S 81 J ( C) S 80 J ( shell) S 81 J ( and) S 80 J ( all) S 81 J ( the utilities. Do remember, however, that if you type a filename) S
1800 12544 P (starting) S 51 J ( with) S 52 J ( ``) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F ('') S 51 J ( to) S 52 J ( mean) S 51 J ( the) S 52 J ( root,) S 51 J ( you) S 52 J ( have) S 51 J ( to) S 52 J ( be) S 51 J ( careful) S 52 J ( that) S 51 J ( it) S 52 J ( can't) S 51 J ( be) S 52 J ( confused) S 51 J ( as) S 52 J ( the start) S
1800 12808 P (of) S 50 J ( an option. \(This is a good use for the ``) S 0 12 F 0 10 F (--) S 0 12 F 26 10 F ('') S 50 J ( option or the ) S 0 12 F 0 10 F (SWITCHCHARS) S 0 12 F 26 10 F () S 50 J ( variable.\)) S
5831 15384 P (Page ) S (28) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
2160 1704 P B (echo) S E
2693 2208 P 0 12 F 0 10 F (echo) S 0 12 F 26 10 F () S 66 J ( is) S 67 J ( a) S 66 J ( little) S 67 J ( different) S 66 J ( than) S 67 J ( the) S 66 J ( vanilla) S 67 J ( OS/2) S 66 J ( or) S 67 J ( NT) S 66 J ( ) S 0 12 F 0 10 F (echo) S 0 12 F 26 10 F (.) S 66 J ( It does only one thing: it) S
2160 2472 P (prints) S 58 J ( whatever arguments words you give it; there's no ) S 0 12 F 0 10 F (echo) S 128 J ( on) S 0 12 F 26 10 F () S 58 J ( or ) S 0 12 F 0 10 F (echo) S 128 J ( off) S 0 12 F 26 10 F (-style) S 58 J ( status) S
2160 2736 P (reporting) S 81 J ( function.) S 82 J ( ) S 81 J ( But it does offer much finer control over what gets printed: you can) S
2160 3000 P (write) S 50 J ( binary values, choose not to append a new line and write to stderr instead stdout.) S
2693 3464 P (Here's) S 55 J ( an) S 56 J ( example where the ANSI escape sequences turning brightness on and off are) S
2160 3728 P (embedded) S 61 J ( into) S 62 J ( a) S 61 J ( string being echoed. The ANSI escape character is octal 033; binary values) S
2160 3992 P (or) S 50 J ( special characters like ``) S 0 12 F 0 10 F ([) S 0 12 F 26 10 F ('') S 50 J ( are introduced by the ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('') S 50 J ( shell escape.) S
2880 4456 P 0 12 F 0 10 F (11) S 120 J ( D% echo Have a ^033^[1mnice^033^[0m day.) S
2880 4720 P (Have a ) S 0 12 F 0 10 F B (nice) S E 0 12 F 0 10 F () S 120 J ( day.) S
2693 5184 P 0 12 F 26 10 F (\(Processing) S 72 J ( of) S 73 J ( the) S 72 J ( ) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F () S 73 J ( escape) S 72 J ( sequences) S 73 J ( is done by the shell before any command ever) S
2160 5448 P (sees) S 62 J ( it.) S 63 J ( ) S 62 J ( As) S 63 J ( a) S 62 J ( result,) S 63 J ( you can use escape sequences to construct command line arguments for) S
2160 5712 P (any) S 77 J ( command;) S 78 J ( this) S 77 J ( feature) S 78 J ( is) S 77 J ( introduced) S 78 J ( here) S 77 J ( only) S 78 J ( because) S 77 J ( it) S 78 J ( tends to be most often used) S
2160 5976 P (with) S 50 J ( ) S 0 12 F 0 10 F (echo) S 0 12 F 26 10 F (.\)) S
2160 6920 P 0 12 F 8 12 F B (mv,) S 67 J ( cp and rm: Move, copy and remove) S E
2693 7424 P 0 12 F 26 10 F (The) S 93 J ( ) S 0 12 F 0 10 F (mv) S 0 12 F 26 10 F () S 94 J ( \(move\),) S 93 J ( ) S 0 12 F 0 10 F (cp) S 0 12 F 26 10 F () S 94 J ( \(copy\)) S 93 J ( and) S 94 J ( ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F () S 93 J ( \(remove\)) S 94 J ( trio) S 93 J ( allows) S 94 J ( ) S 93 J ( files) S 94 J ( and) S 93 J ( directories to be) S
2160 7688 P (treated) S 50 J ( as simple objects.) S
2693 8152 P 0 12 F 0 10 F (mv) S 0 12 F 26 10 F () S 52 J ( will) S 53 J ( move) S 52 J ( either) S 53 J ( files) S 52 J ( or) S 53 J ( directories treating them simply as objects, even across disk) S
2160 8416 P (partitions.) S 55 J ( In this example, the two ) S 0 12 F 0 10 F (hello) S 0 12 F 26 10 F () S 55 J ( files are moved into a new directory, illustrating) S
2160 8680 P (how) S 77 J ( ) S 0 12 F 0 10 F (mv) S 0 12 F 26 10 F () S 78 J ( understands) S 77 J ( that) S 78 J ( if) S 77 J ( there's) S 78 J ( a) S 77 J ( many-to-one) S 78 J ( relationship,) S 77 J ( the) S 78 J ( destination) S 77 J ( has) S 78 J ( to) S 77 J ( be) S 78 J ( a) S
2160 8944 P (directory.) S
2880 9408 P 0 12 F 0 10 F (12) S 120 J ( D% mv hello* hello) S
2880 9672 P (13 D% ls) S
2880 9936 P 0 12 F 0 10 F B (hello) S 120 J ( memos) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F I (sysstuff) S E
2880 10200 P 0 12 F 0 10 F (14) S 120 J ( D% ls hello) S
2880 10464 P (hello.c hello.exe) S
2693 10928 P 0 12 F 26 10 F (Similarly,) S 0 12 F 26 11 F () S 68 J ( ) S 0 12 F 0 10 F (cp) S 0 12 F 26 10 F () S 64 J ( ) S 63 J ( will) S 64 J ( copy) S 63 J ( a file or even an entire directory. The copies) S 0 12 F 26 11 F () S 68 J ( ) S 0 12 F 0 10 F (cp) S 0 12 F 26 10 F () S 63 J ( produces are) S
2160 11139 P 0 12 F 26 8 F 4751 J ( ) S (\324) S
2160 11192 P 0 12 F 26 10 F (always) S 74 J ( exact) S 75 J ( logical) S 74 J ( copies,) S 75 J ( with) S 74 J ( correct) S 75 J ( timestamps) S 80 J ( ) S () S 74 J ( and attribute bits and including any) S
2160 11456 P (hidden) S 50 J ( or system files.) S
2880 11920 P 0 12 F 0 10 F (15) S 120 J ( D% cp hello newhello) S
2880 12184 P (16 D% ls) S
2880 12448 P 0 12 F 0 10 F B (hello) S 120 J ( memos newhello) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F I (sysstuff) S E
2880 12712 P 0 12 F 0 10 F (17) S 120 J ( D% ls -l hello) S
2880 12976 P (---A- Feb 23 12:56 72 hello.c) S
2880 13240 P (---A- Feb 23 12:57 7731 hello.exe) S
2880 13504 P (18 D% ls -l newhello) S
2160 13800 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 14107 P 0 12 F 26 8 F (\324) S
2160 14160 P 80 J ( ) S () S 280 J ( Files) S 50 J ( only) S 51 J ( under) S 50 J ( OS/2) S 51 J ( 1.1.) S 50 J ( ) S 51 J ( New) S 50 J ( directories) S 51 J ( always) S 50 J ( get) S 51 J ( the) S 50 J ( current) S 51 J ( timestamp) S 50 J ( unless) S 51 J ( you're) S 50 J ( running OS/2 1.2) S
2520 14400 P (or) S 40 J ( later.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (29) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
2520 1704 P 0 12 F 0 10 F (---A-) S 120 J ( Feb 23 12:56 72 hello.c) S
2520 1968 P (---A- Feb 23 12:57 7731 hello.exe) S
1800 2432 P (cp) S 0 12 F 26 10 F () S 89 J ( does) S 90 J ( not) S 89 J ( consider) S 90 J ( it) S 89 J ( an) S 90 J ( error) S 89 J ( to) S 90 J ( copy) S 89 J ( over) S 90 J ( an) S 89 J ( existing) S 90 J ( file) S 89 J ( unless) S 90 J ( the) S 89 J ( file) S 90 J ( about to be) S
1800 2696 P (overwritten) S 50 J ( has its read-only bit set.) S
2333 3160 P (Finally,) S 62 J ( ) S 0 12 F 0 10 F (rm) S 0 12 F 26 10 F () S 63 J ( ) S 62 J ( can) S 63 J ( be) S 62 J ( used) S 63 J ( to) S 62 J ( remove) S 63 J ( a) S 62 J ( file) S 63 J ( or) S 62 J ( even an entire directory. But it does insist) S
1800 3424 P (that) S 93 J ( you) S 94 J ( tell) S 93 J ( it) S 94 J ( you really mean it if you ask to remove a directory that's not empty or) S
1800 3688 P (anything) S 50 J ( that's marked with the system bit.) S
2520 4152 P 0 12 F 0 10 F (19) S 120 J ( D% rm sysstuff) S
2520 4416 P (rm: Can't remove system file 'systuff' without -S option.) S
2520 4680 P (20 D% rm -S sysstuff) S
2520 4944 P (21 D% ls) S
2520 5208 P 0 12 F 0 10 F B (hello) S 120 J ( memos newhello) S E
2520 5472 P 0 12 F 0 10 F (22) S 120 J ( D% rm newhello) S
2520 5736 P (rm: Can't remove non-empty directory 'newhello' without -r) S
2520 6000 P (option.) S
2520 6264 P (23 D% rm -r newhello) S
2520 6528 P (24 D% ls) S
2520 6792 P 0 12 F 0 10 F B (hello) S 120 J ( memos) S E
2333 7256 P 0 12 F 26 10 F (As) S 51 J ( you) S 52 J ( can) S 51 J ( see) S 52 J ( from) S 51 J ( these examples, the general style of the utilities is fairly terse. Like) S
1800 7520 P (the proverbial) S 52 J ( Vermonter,) S 51 J ( they) S 52 J ( don't) S 51 J ( say) S 52 J ( anything unless they've got something to say. Even) S
1800 7784 P (copying) S 66 J ( or removing a directory happens without fanfare as long as the appropriate ``yes, I) S
1800 8048 P (really) S 50 J ( mean it'' options are supplied.) S
1800 8992 P 0 12 F 8 12 F B (more) S E
2333 9496 P 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 54 J ( is) S 55 J ( an) S 54 J ( especially) S 55 J ( fast) S 54 J ( browsing) S 55 J ( filter.) S 54 J ( ) S 55 J ( There) S 54 J ( are) S 55 J ( two) S 54 J ( ways) S 55 J ( to use ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S 55 J ( The first is) S
1800 9760 P (in) S 84 J ( a) S 85 J ( pipeline,) S 84 J ( the) S 85 J ( way ``vanilla'' ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 85 J ( might be used when you suspect the data may be) S
1800 10024 P (longer) S 50 J ( than a screenful:) S
2520 10488 P 0 12 F 0 10 F (25) S 120 J ( D% ls -l c:\\os2\\bin | more) S
2520 10752 P (:) S
2520 11016 P (:) S
1800 11480 P 0 12 F 26 10 F (If) S 82 J ( the) S 83 J ( output turns out to be less than a screenful, it's as though you'd just typed the ) S 0 12 F 0 10 F (ls) S
1800 11744 P 0 12 F 26 10 F (command) S 80 J ( by) S 81 J ( itself.) S 80 J ( ) S 81 J ( In) S 80 J ( fact,) S 81 J ( there's) S 80 J ( not) S 81 J ( even a noticeable performance penalty. But if it's) S
1800 12008 P (more) S 72 J ( than) S 73 J ( a) S 72 J ( screenful,) S 73 J ( ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 72 J ( switches to an interactive mode where you can use the arrow) S
1800 12272 P (keys,) S 50 J ( etc., to browse up and down through the listing.) S
2333 12736 P 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 50 J ( can also be used for browsing a list of the files you give it on the command line:) S
2520 13200 P 0 12 F 0 10 F (26) S 120 J ( D% more *.c) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (30) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
2693 1651 P 0 12 F 26 8 F 7505 J ( ) S (\324) S
2693 1704 P 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 59 J ( incorporates) S 60 J ( the) S 59 J ( Berkeley) S 60 J ( notion) S 59 J ( referred) S 60 J ( to,) S 59 J ( tongue-in-cheek,) S 60 J ( as) S 59 J ( ``more) S 60 J ( is) S 59 J ( less) S 80 J ( ) S ('':) S
2160 1968 P (it's) S 60 J ( a) S 61 J ( good) S 60 J ( paging) S 61 J ( filter) S 60 J ( that) S 61 J ( lets) S 60 J ( you) S 61 J ( go) S 60 J ( forwards) S 61 J ( and) S 60 J ( backwards.) S 61 J ( It also offers a number of) S
2160 2232 P (different) S 50 J ( ways) S 51 J ( of) S 50 J ( looking) S 51 J ( at) S 50 J ( or) S 51 J ( searching) S 50 J ( the) S 51 J ( data) S 50 J ( including) S 51 J ( binary, as control characters, line-) S
2160 2496 P (numbered,) S 50 J ( etc. Perhaps most important, it's ) S 0 12 F 26 10 F I (fast) S E 0 12 F 26 10 F (.) S
2693 2960 P (Part) S 89 J ( of) S 90 J ( ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F ('s) S 89 J ( speed) S 90 J ( comes) S 89 J ( from) S 90 J ( an) S 89 J ( internal) S 90 J ( cache) S 89 J ( of) S 90 J ( about) S 89 J ( 11K) S 90 J ( characters of text) S
2160 3224 P (coupled) S 75 J ( to) S 76 J ( an indexing structure that it builds on the fly as it reads the input. When you) S
2160 3488 P (move) S 73 J ( forward) S 74 J ( or) S 73 J ( backward) S 74 J ( within) S 73 J ( the) S 74 J ( cache, screen redraw rates are the limiting factor in) S
2160 3752 P (performance.) S 82 J ( ) S 83 J ( Outside) S 82 J ( of) S 83 J ( range) S 82 J ( of) S 83 J ( the cache, if the input is from a disk file, the indexing) S
2160 4016 P (structure,) S 50 J ( technically an ISAM, tells ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 50 J ( how to seek to the new location.) S
2693 4480 P (There) S 92 J ( is) S 93 J ( also) S 92 J ( a) S 93 J ( ``huge'') S 92 J ( version) S 93 J ( of) S 92 J ( ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (,) S 93 J ( called) S 92 J ( ) S 0 12 F 0 10 F (moreh) S 0 12 F 26 10 F (,) S 93 J ( that) S 92 J ( was) S 93 J ( compiled) S 92 J ( in large) S
2160 4744 P (model) S 76 J ( and) S 77 J ( while) S 76 J ( slightly slower, has the advantage of caching up to about 4M characters.) S
2160 5008 P 0 12 F 0 10 F (moreh) S 0 12 F 26 10 F () S 62 J ( can) S 63 J ( be) S 62 J ( useful) S 63 J ( when) S 62 J ( speed) S 63 J ( is) S 62 J ( less) S 63 J ( important) S 62 J ( than) S 63 J ( being) S 62 J ( able) S 63 J ( to) S 62 J ( scroll) S 63 J ( all) S 62 J ( the) S 63 J ( way) S 62 J ( back) S
2160 5272 P (through) S 50 J ( a large amount of text coming through a pipe.) S
2160 6216 P 0 12 F 8 12 F B (touch) S E
2693 6667 P 0 12 F 26 8 F 6454 J ( ) S (\325) S
2693 6720 P 0 12 F 0 10 F (touch) S 0 12 F 26 10 F () S 68 J ( lets) S 69 J ( you) S 68 J ( change) S 69 J ( the) S 68 J ( timestamps) S 69 J ( of) S 68 J ( individual) S 69 J ( files or directories) S 80 J ( ) S () S 69 J ( or, using the) S
2160 6984 P 0 12 F 0 10 F (-r) S 0 12 F 26 10 F () S 50 J ( \(recursive\) option, of everything in a whole directory tree.) S
2693 7448 P (If) S 91 J ( the) S 92 J ( desired) S 91 J ( timestamp) S 92 J ( isn't) S 91 J ( given,) S 92 J ( ) S 0 12 F 0 10 F (touch) S 0 12 F 26 10 F () S 91 J ( uses the current time. If the filename) S
2160 7712 P (doesn't) S 50 J ( exist, it's created as a zero-length file.) S
2880 8176 P 0 12 F 0 10 F (27) S 120 J ( D% ls) S
2880 8440 P 0 12 F 0 10 F B (hello) S 120 J ( memos) S E
2880 8704 P 0 12 F 0 10 F (28) S 120 J ( D% touch zork) S
2880 8968 P (29 D% ls) S
2880 9232 P (hello memos zork) S
2160 10176 P 0 12 F 8 12 F B (chmod) S E
2693 10680 P 0 12 F 0 10 F (chmod) S 0 12 F 26 10 F () S 100 J ( lets) S 101 J ( you) S 100 J ( set a file's attributes but leaves the timestamp alone. Here is an) S
2160 10944 P (example,) S 50 J ( first setting the system bit \(making it show up in green\), then making it hidden:) S
2880 11408 P 0 12 F 0 10 F (30) S 120 J ( D% chmod +S zork) S
2880 11672 P (31 D% ls) S
2880 11936 P 0 12 F 0 10 F B (hello) S 120 J ( memos) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F I (zork) S E
2880 12200 P 0 12 F 0 10 F (32) S 120 J ( D% chmod +H zork) S
2880 12464 P (33 D% ls) S
2880 12728 P 0 12 F 0 10 F B (hello) S 120 J ( memos) S E
2160 13080 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 13387 P 0 12 F 26 8 F (\324) S
2160 13440 P 80 J ( ) S () S 280 J ( The) S 54 J ( story) S 55 J ( is) S 54 J ( now) S 55 J ( a) S 54 J ( part) S 55 J ( of) S 54 J ( computer) S 55 J ( folk) S 54 J ( history:) S 55 J ( ) S 54 J ( at) S 55 J ( first,) S 54 J ( ) S 0 12 F 0 8 F (more) S 0 12 F 26 8 F () S 54 J ( only went forward. Then someone created a) S
2520 13680 P (filter) S 50 J ( that) S 51 J ( went) S 50 J ( backwards,) S 51 J ( which) S 50 J ( he) S 51 J ( aptly) S 50 J ( named ) S 0 12 F 0 8 F (less) S 0 12 F 26 8 F (.) S 50 J ( When later versions of Berkeley's ) S 0 12 F 0 8 F (more) S 0 12 F 26 8 F () S 50 J ( incorporated) S
2520 13920 P (this) S 40 J ( feature, they were heralded by announcements that, finally, ``more was less.'') S
2160 14107 P (\325) S
2160 14160 P ( On) S 86 J ( an) S 87 J ( OS/2) S 86 J ( 1.1) S 87 J ( system,) S 86 J ( the) S 87 J ( kernel) S 86 J ( allows) S 87 J ( you) S 86 J ( to) S 87 J ( change) S 86 J ( the) S 87 J ( timestamps) S 86 J ( only on files, not directories.) S
2520 14400 P 0 12 F 0 8 F (touch) S 0 12 F 26 8 F ('ing) S 40 J ( a directory does nothing unless you use the ) S 0 12 F 0 8 F (-r) S 0 12 F 26 8 F () S 40 J ( option to recursively ) S 0 12 F 0 8 F (touch) S 0 12 F 26 8 F () S 40 J ( the directory's contents.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (31) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
1800 1704 P 0 12 F 26 10 F (Of) S 50 J ( course, the file is still there and you can continue to manipulate its attributes:) S
2520 2168 P 0 12 F 0 10 F (34) S 120 J ( D% ls -l zork) S
2520 2432 P (-SHA- Feb 23 13:16 0 zork) S
2520 2696 P (35 D% ls +a) S
2520 2960 P 0 12 F 0 10 F B (.) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F B (hello) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F I (zork) S E
2520 3224 P 0 12 F 0 10 F B (..) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F B (memos) S E
2520 3488 P 0 12 F 0 10 F (36) S 120 J ( D% chmod +R zork) S
2520 3752 P (37 D% ls -l zork) S
2520 4016 P (-SHAR Feb 23 13:16 0 ) S 0 12 F 0 10 F I (zork) S E
2333 4480 P 0 12 F 26 10 F (Many) S 61 J ( users) S 62 J ( will) S 61 J ( find that a file's system bit is more useful than they'd thought before.) S
1800 4744 P (With) S 56 J ( ) S 0 12 F 0 10 F (chmod) S 0 12 F 26 10 F (,) S 57 J ( it's) S 56 J ( easy) S 57 J ( to) S 56 J ( set) S 57 J ( or) S 56 J ( clear) S 57 J ( the) S 56 J ( bit) S 57 J ( and) S 56 J ( setting) S 57 J ( it) S 56 J ( doesn't) S 57 J ( make) S 56 J ( the file hidden. Quite) S
1800 5008 P (the) S 69 J ( contrary,) S 70 J ( ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 69 J ( makes) S 70 J ( it) S 69 J ( stands) S 70 J ( out) S 69 J ( in) S 70 J ( green.) S 69 J ( ) S 70 J ( Also,) S 69 J ( a) S 70 J ( file) S 69 J ( marked ``system'' is a little safer) S
1800 5272 P (from) S 51 J ( accidental) S 52 J ( deletion) S 51 J ( or) S 52 J ( overwriting.) S 51 J ( ) S 52 J ( These) S 51 J ( are often convenient characteristics to attach a) S
1800 5536 P (few) S 69 J ( specific) S 70 J ( files) S 69 J ( within) S 70 J ( a) S 69 J ( large) S 70 J ( directory.) S 69 J ( For example, the author tends to routinely mark) S
1800 5800 P 0 12 F 0 10 F (make) S 0 12 F 26 10 F () S 50 J ( files within a C source code directory as ``system'' just so they'll stand out.) S
1800 6744 P 0 12 F 8 12 F B (du,) S 67 J ( vol and pwd) S E
2333 7248 P 0 12 F 0 10 F (du) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (vol) S 0 12 F 26 10 F () S 64 J ( and) S 63 J ( ) S 0 12 F 0 10 F (pwd) S 0 12 F 26 10 F () S 64 J ( provide) S 63 J ( quick) S 64 J ( snapshots) S 63 J ( of) S 64 J ( your disk partitions: ) S 0 12 F 0 10 F (du) S 0 12 F 26 10 F () S 64 J ( tells how much) S
1800 7512 P (of) S 60 J ( the) S 61 J ( partition is used; ) S 0 12 F 0 10 F (vol) S 0 12 F 26 10 F () S 61 J ( displays the label; and ) S 0 12 F 0 10 F (pwd) S 0 12 F 26 10 F () S 61 J ( shows the current directory on each) S
1800 7776 P (partition.) S
2520 8240 P 0 12 F 0 10 F (38) S 120 J ( D% du) S
2520 8504 P (c: 31.904 M Total = 29.465 M Used + 2.439 M \( 7.65%\) Free root) S
2520 8768 P 0 12 F 0 10 F B (d:) S 120 J ( 23.920 M Total = 22.438 M Used + 1.482 M \( 6.20%\) Free user) S E
2520 9032 P 0 12 F 0 10 F (e:) S 120 J ( 13.957 M Total = 8.520 M Used + 5.438 M \(38.96%\) Free misc) S
2520 9296 P (39 D% pwd) S
2520 9560 P (c:\\os2\\include) S
2520 9824 P 0 12 F 0 10 F B (d:\\doug\\sh\\docs) S E
2520 10088 P 0 12 F 0 10 F (e:\\tmp) S
2520 10352 P (40) S 120 J ( D% vol) S
2520 10616 P (c: Jan 24 22:32:10 1988 root) S
2520 10880 P 0 12 F 0 10 F B (d:) S 120 J ( Nov 27 20:34:58 1988 user) S E
2520 11144 P 0 12 F 0 10 F (e:) S 120 J ( Jan 17 17:12:20 1988 misc) S
2333 11608 P 0 12 F 26 10 F (A) S 78 J ( common) S 79 J ( convention) S 78 J ( observed) S 79 J ( by) S 78 J ( the) S 79 J ( utilities) S 78 J ( is) S 79 J ( that) S 78 J ( if) S 79 J ( one) S 78 J ( entry) S 79 J ( on) S 78 J ( a) S 79 J ( list) S 78 J ( is) S 79 J ( more) S
1800 11872 P (current) S 57 J ( or) S 58 J ( special) S 57 J ( than) S 58 J ( the) S 57 J ( others,) S 58 J ( it's) S 57 J ( highlighted.) S 58 J ( ) S 0 12 F 0 10 F (du) S 0 12 F 26 10 F (,) S 58 J ( ) S 0 12 F 0 10 F (vol) S 0 12 F 26 10 F () S 58 J ( and ) S 0 12 F 0 10 F (pwd) S 0 12 F 26 10 F () S 58 J ( each highlight the entry) S
1800 12136 P (describing) S 50 J ( the current disk.) S
2333 12600 P (For) S 64 J ( the) S 65 J ( benefit) S 64 J ( of) S 65 J ( those) S 64 J ( who) S 65 J ( have) S 64 J ( lots) S 65 J ( of) S 64 J ( partitions,) S 65 J ( some) S 64 J ( of) S 65 J ( which) S 64 J ( they) S 65 J ( don't want to) S
1800 12864 P (bother) S 73 J ( listing) S 74 J ( all) S 73 J ( the) S 74 J ( time,) S 73 J ( ) S 0 12 F 0 10 F (du) S 0 12 F 26 10 F (,) S 74 J ( ) S 0 12 F 0 10 F (vol) S 0 12 F 26 10 F () S 73 J ( and) S 74 J ( ) S 0 12 F 0 10 F (pwd) S 0 12 F 26 10 F () S 73 J ( look) S 74 J ( for) S 73 J ( a) S 74 J ( ) S 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F () S 74 J ( environmental variable) S
1800 13128 P (which) S 51 J ( can) S 52 J ( be) S 51 J ( used) S 52 J ( to) S 51 J ( mask) S 52 J ( off just the drive you want. This is especially useful for excluding) S
1800 13392 P (drives) S 51 J ( that) S 52 J ( take removable media; if they're empty, they can waste a lot of time trying to read) S
1800 13656 P (a) S 50 J ( diskette that's not there.) S
5831 15384 P (Page ) S (32) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
2160 1704 P B (dirs,) S 67 J ( pushd, popd and rotd) S E
2693 2208 P 0 12 F 26 10 F (The) S 58 J ( shell) S 59 J ( provides) S 58 J ( a) S 59 J ( built-in) S 58 J ( mechanism) S 59 J ( for) S 58 J ( keeping) S 59 J ( several) S 58 J ( directories) S 59 J ( ``handy.'') S 58 J ( ) S 59 J ( This) S
2160 2472 P (mechanism) S 84 J ( is) S 85 J ( the) S 84 J ( directory stack, which always contains a list of fully-qualified directory) S
2160 2736 P (pathnames with) S 85 J ( the) S 84 J ( current) S 85 J ( directory) S 84 J ( at) S 85 J ( the) S 84 J ( top.) S 85 J ( ) S 84 J ( You) S 85 J ( can display the list with the ) S 0 12 F 0 10 F (dirs) S
2160 3000 P 0 12 F 26 10 F (command:) S
2880 3464 P 0 12 F 0 10 F (41) S 120 J ( D% dirs) S
2880 3728 P 0 12 F 0 10 F B (d:\\doug\\sh\\docs) S E
2693 4192 P 0 12 F 26 10 F (Initially) S 61 J ( the) S 62 J ( list) S 61 J ( contains) S 62 J ( only) S 61 J ( your) S 62 J ( current) S 61 J ( directory.) S 62 J ( ) S 61 J ( When) S 62 J ( you) S 61 J ( push) S 62 J ( a) S 61 J ( new directory) S
2160 4456 P (on) S 60 J ( the) S 61 J ( stack) S 60 J ( with) S 61 J ( ) S 0 12 F 0 10 F (pushd) S 0 12 F 26 10 F (,) S 60 J ( that becomes your new current disk and current directory. ) S 0 12 F 0 10 F (pushd) S
2160 4720 P 0 12 F 26 10 F (also) S 50 J ( reports the resulting stack contents.) S
2880 5184 P 0 12 F 0 10 F (42) S 120 J ( D% pushd c:) S
2880 5448 P 0 12 F 0 10 F B (c:\\os2\\include) S E
2880 5712 P 0 12 F 0 10 F (d:\\doug\\sh\\docs) S
2880 5976 P (43) S 120 J ( C% pushd e:) S
2880 6240 P 0 12 F 0 10 F B (e:\\tmp) S E
2880 6504 P 0 12 F 0 10 F (c:\\os2\\include) S
2880 6768 P (d:\\doug\\sh\\docs) S
2693 7232 P 0 12 F 26 10 F (Calling) S 50 J ( ) S 0 12 F 0 10 F (pushd) S 0 12 F 26 10 F () S 50 J ( without any arguments just swaps the top two directories:) S
2880 7696 P 0 12 F 0 10 F (44) S 120 J ( E% pushd) S
2880 7960 P 0 12 F 0 10 F B (c:\\os2\\include) S E
2880 8224 P 0 12 F 0 10 F (e:\\tmp) S
2880 8488 P (d:\\doug\\sh\\docs) S
2693 8952 P 0 12 F 26 10 F (Popping) S 85 J ( elements) S 86 J ( off) S 85 J ( the) S 86 J ( stack) S 85 J ( is) S 86 J ( done) S 85 J ( with) S 86 J ( ) S 0 12 F 0 10 F (popd) S 0 12 F 26 10 F (,) S 86 J ( which also reports the resulting) S
2160 9216 P (stack.) S
2880 9680 P 0 12 F 0 10 F (45) S 120 J ( C% popd) S
2880 9944 P 0 12 F 0 10 F B (e:\\tmp) S E
2880 10208 P 0 12 F 0 10 F (d:\\doug\\sh\\docs) S
2693 10672 P 0 12 F 26 10 F (The) S 59 J ( stack can also be rotated with ) S 0 12 F 0 10 F (rotd) S 0 12 F 26 10 F (.) S 59 J ( \(We'll push another directory first so we can) S
2160 10936 P (see) S 50 J ( that rotation is ) S 0 12 F 26 10 F I (upward) S E 0 12 F 26 10 F (,) S 50 J ( with the top item going to the bottom of the stack.\)) S
2880 11400 P 0 12 F 0 10 F (46) S 120 J ( E% pushd \\) S
2880 11664 P 0 12 F 0 10 F B (e:\\) S E
2880 11928 P 0 12 F 0 10 F (e:\\tmp) S
2880 12192 P (d:\\doug\\sh\\docs) S
2880 12456 P (47) S 120 J ( E% rotd) S
2880 12720 P 0 12 F 0 10 F B (e:\\tmp) S E
2880 12984 P 0 12 F 0 10 F (d:\\doug\\sh\\docs) S
2880 13248 P (e:\\) S
2693 13712 P 0 12 F 26 10 F (You) S 65 J ( can) S 66 J ( pop) S 65 J ( multiple) S 66 J ( directory) S 65 J ( entries) S 66 J ( at) S 65 J ( once,) S 66 J ( but if you ask to pop more than exist,) S
2160 13976 P (you'll) S 50 J ( get a message:) S
5831 15384 P (Page ) S (33) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
2520 1704 P 0 12 F 0 10 F (48) S 120 J ( E% popd 5) S
2520 1968 P (csh: The built-in popd command can only accept a integer) S
2520 2232 P (argument n, where n > 0 && n < number of elements on the) S
2520 2496 P (directory stack. The default for n is 1.) S
2520 2760 P (49 E% popd) S
2520 3024 P 0 12 F 0 10 F B (d:\\doug\\sh\\docs) S E
2520 3288 P 0 12 F 0 10 F (e:\\) S
1800 4232 P 0 12 F 8 12 F B (fgrep) S 67 J ( and grep) S E
2333 4736 P 0 12 F 0 10 F (fgrep) S 0 12 F 26 10 F () S 126 J ( and) S 127 J ( ) S 0 12 F 0 10 F (grep) S 0 12 F 26 10 F () S 126 J ( are fast string search utilities. Their names and the regular) S
1800 5000 P (expression) S 50 J ( syntax are traditional; it's an accepted standard and we've followed it.) S
2333 5464 P () S 87 J ( ) S 0 12 F 0 10 F (fgrep) S 0 12 F 26 10 F () S 88 J ( and) S 87 J ( ) S 0 12 F 0 10 F (grep) S 0 12 F 26 10 F () S 88 J ( are used to scan through long lists of files or filter data coming) S
1800 5728 P (through) S 75 J ( a) S 76 J ( pipe) S 75 J ( for) S 76 J ( strings) S 75 J ( or) S 76 J ( patterns) S 75 J ( you) S 76 J ( specify.) S 75 J ( ) S 76 J ( They'll) S 75 J ( quickly) S 76 J ( report) S 75 J ( all) S 76 J ( the matching) S
1800 5992 P (lines.) S 52 J ( ) S 53 J ( If) S 52 J ( you like, you can get more or less detail in the output, e.g., have line numbers shown) S
1800 6256 P (or) S 50 J ( just get a total count of all the matches.) S
2333 6720 P 0 12 F 0 10 F (fgrep) S 0 12 F 26 10 F () S 53 J ( and) S 54 J ( ) S 0 12 F 0 10 F (grep) S 0 12 F 26 10 F () S 53 J ( both) S 54 J ( have) S 53 J ( the) S 54 J ( ability) S 53 J ( to) S 54 J ( look for a large number of patterns in parallel) S
1800 6984 P (\(using) S 68 J ( the ) S 0 12 F 0 10 F (-s) S 0 12 F 26 10 F () S 68 J ( or ) S 0 12 F 0 10 F (-f) S 0 12 F 26 10 F () S 68 J ( options\) with almost no discernable performance degredation. They're) S
1800 7248 P (very) S 62 J ( fast.) S 63 J ( ) S 62 J ( Both) S 63 J ( precompile) S 62 J ( and) S 63 J ( optimize) S 62 J ( their) S 63 J ( search) S 62 J ( patterns, use direct kernel api calls for) S
1800 7512 P (all) S 59 J ( i/o) S 60 J ( and) S 59 J ( use a very high performance buffering structure to allow extremely fast scanning) S
1800 7776 P (of) S 50 J ( large amounts of data.) S
1800 8720 P 0 12 F 8 12 F B (fgrep) S E
2333 9224 P 0 12 F 0 10 F (fgrep) S 0 12 F 26 10 F () S 78 J ( is) S 79 J ( the) S 78 J ( simpler) S 79 J ( and) S 78 J ( slightly) S 79 J ( faster) S 78 J ( of the two search utilities. It does a simple) S
1800 9488 P (string) S 64 J ( compare) S 65 J ( between) S 64 J ( the) S 65 J ( string) S 64 J ( you're) S 65 J ( looking) S 64 J ( for) S 65 J ( and) S 64 J ( the) S 65 J ( characters) S 64 J ( on) S 65 J ( each) S 64 J ( line.) S 65 J ( ) S 64 J ( If the) S
1800 9752 P (search) S 51 J ( string) S 52 J ( is) S 51 J ( found) S 52 J ( anywhere) S 51 J ( on) S 52 J ( the) S 51 J ( line,) S 52 J ( it's) S 51 J ( a) S 52 J ( match.) S 51 J ( ) S 52 J ( There) S 51 J ( are) S 52 J ( some) S 51 J ( options for ignoring) S
1800 10016 P (differences) S 62 J ( in) S 63 J ( upper-/lower-case) S 62 J ( or) S 63 J ( in) S 62 J ( the) S 63 J ( amount) S 62 J ( of) S 63 J ( white space \(spaces and tabs\) between) S
1800 10280 P (words) S 50 J ( but but mostly it's quite simple comparison.) S
2333 10744 P (Here's) S 75 J ( an) S 76 J ( example) S 75 J ( of using ) S 0 12 F 0 10 F (fgrep) S 0 12 F 26 10 F () S 75 J ( to search a very simple personal phone directory) S
1800 11008 P (where) S 57 J ( each record is just a line of text and we'll search it . \(Later we'll learn how to package) S
1800 11272 P (things) S 91 J ( like) S 92 J ( this) S 91 J ( up) S 92 J ( into) S 91 J ( aliases) S 92 J ( or shell procedures so you can call them with just a few) S
1800 11536 P (keystrokes.\)) S
2520 12000 P 0 12 F 0 10 F (50) S 120 J ( D% fgrep -i doctor \\phone) S
2520 12264 P (Doctor James Gardner 508-999-0000 12 Canton St) S
2520 12528 P (Doctor Karen Strickland 508-721-1223 N.E. Medical Offices) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (34) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
2160 1704 P B (grep) S E
2693 2208 P 0 12 F 0 10 F (grep) S 0 12 F 26 10 F () S 82 J ( looks) S 83 J ( for) S 82 J ( special patterns called regular expressions, which are similar to \(but) S
2160 2472 P (slightly) S 64 J ( different) S 65 J ( from\)) S 64 J ( filename) S 65 J ( wildcarding.) S 64 J ( The grammar is recursive, meaning a regular) S
2160 2736 P (expression) S 50 J ( to be matched can be written, in turn, as a nested series of regular expressions:) S
2707 3200 P 0 12 F 26 10 F I (c) S E 0 12 F 26 10 F () S 812 J ( Any) S 50 J ( ordinary character matches itself.) S
2707 3560 P 0 12 F 0 10 F (\\) S 0 12 F 26 10 F I (c) S E 0 12 F 26 10 F () S 692 J ( Match) S 50 J ( the literal character ) S 0 12 F 26 10 F I (c) S E 0 12 F 26 10 F (.) S
2707 3920 P 0 12 F 0 10 F (^) S 0 12 F 26 10 F () S 773 J ( Beginning) S 50 J ( of line.) S
2707 4280 P 0 12 F 0 10 F ($) S 0 12 F 26 10 F () S 773 J ( End) S 50 J ( of line.) S
2707 4640 P 0 12 F 0 10 F (.) S 0 12 F 26 10 F () S 773 J ( Match) S 50 J ( any single character.) S
2707 5000 P 0 12 F 0 10 F ([) S 0 12 F 26 10 F (...) S 0 12 F 0 10 F (]) S 0 12 F 26 10 F () S 503 J ( Match) S 50 J ( any single character in the list.) S
2707 5360 P 0 12 F 0 10 F ([^) S 0 12 F 26 10 F (...) S 0 12 F 0 10 F (]) S 0 12 F 26 10 F () S 383 J ( Match) S 50 J ( any single character not in the list.) S
2707 5720 P 0 12 F 0 10 F (\\) S 0 12 F 26 10 F I (n) S E 0 12 F 26 10 F () S 662 J ( Match) S 50 J ( whatever literal text the ) S 0 12 F 26 10 F I (n) S E 0 12 F 26 10 F ('th) S 50 J ( tagged ) S 0 12 F 0 10 F (\\\() S 0 12 F 26 10 F (...) S 0 12 F 0 10 F (\\\)) S 0 12 F 26 10 F () S 50 J ( expression matched.) S
2707 6080 P 0 12 F 26 10 F I (r) S E 0 12 F 0 10 F (*) S 0 12 F 26 10 F () S 695 J ( Match) S 50 J ( zero or more occurrences of ) S 0 12 F 26 10 F I (r) S E 0 12 F 26 10 F (.) S
2707 6440 P 0 12 F 26 10 F I (r1r2) S E 0 12 F 26 10 F () S 537 J ( Match) S 50 J ( expression ) S 0 12 F 26 10 F I (r1) S E 0 12 F 26 10 F () S 50 J ( followed by ) S 0 12 F 26 10 F I (r2) S E 0 12 F 26 10 F (.) S
2707 6800 P 0 12 F 0 10 F (\\\() S 0 12 F 26 10 F I (r) S E 0 12 F 0 10 F (\\\)) S 0 12 F 26 10 F () S 335 J ( Tagged) S 122 J ( regular) S 123 J ( expression. Match the pattern inside the ) S 0 12 F 0 10 F (\\\() S 0 12 F 26 10 F (...) S 0 12 F 0 10 F (\\\)) S 0 12 F 26 10 F (,) S 123 J ( and) S
3600 7064 P (remember) S 50 J ( the literal text that matched.) S
2693 7424 P (At) S 55 J ( the) S 56 J ( lowest) S 55 J ( layer,) S 56 J ( you) S 55 J ( give) S 56 J ( a) S 55 J ( character) S 56 J ( or) S 55 J ( set) S 56 J ( of) S 55 J ( characters) S 56 J ( to) S 55 J ( be) S 56 J ( matched) S 55 J ( anchored, if) S
2160 7688 P (you) S 73 J ( want,) S 74 J ( to) S 73 J ( match) S 74 J ( just) S 73 J ( the) S 74 J ( beginning) S 73 J ( or) S 74 J ( just) S 73 J ( the) S 74 J ( end) S 73 J ( of) S 74 J ( a) S 73 J ( line.) S 74 J ( ) S 73 J ( At) S 74 J ( the) S 73 J ( next layer, the ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S
2160 7952 P (character) S 50 J ( lets you match a variable number of repetitions of a pattern.) S
2693 8416 P (When) S 61 J ( you) S 62 J ( type) S 61 J ( a) S 62 J ( regular) S 61 J ( expression) S 62 J ( on) S 61 J ( the command line, keep in mind: \(1\) Many of) S
2160 8680 P (the) S 53 J ( characters) S 54 J ( have) S 53 J ( special meaning to the C shell and have to be inside quotes. \(2\) You have) S
2160 8944 P (to) S 50 J ( type) S 51 J ( two) S 50 J ( ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('s'') S 51 J ( to) S 50 J ( get) S 51 J ( just) S 50 J ( one because ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('') S 50 J ( is the shell's literal escape character. \(3\) ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 50 J ( is a) S
2160 9208 P 0 12 F 26 10 F I (postfix) S E 0 12 F 26 10 F () S 63 J ( operator.) S 64 J ( ) S 63 J ( It) S 64 J ( operates on the preceding regular expression; by itself, it is ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 64 J ( a ``match) S
2160 9472 P (zero) S 50 J ( or more characters'' wildcard character as you may be used to with filenames.) S
2693 9936 P (Here's) S 86 J ( an) S 87 J ( example of searching through all the source code for a large application,) S
2160 10200 P (looking) S 115 J ( for) S 116 J ( all) S 115 J ( occurrences) S 116 J ( of) S 115 J ( lines) S 116 J ( that) S 115 J ( begin) S 116 J ( with) S 115 J ( ``) S 0 12 F 0 10 F (statement) S 0 12 F 26 10 F ('') S 116 J ( followed) S 115 J ( by a ``) S 0 12 F 0 10 F (y) S 0 12 F 26 10 F ('') S
2160 10464 P (somewhere) S 67 J ( on) S 68 J ( the) S 67 J ( line) S 68 J ( and) S 67 J ( showing) S 68 J ( the) S 67 J ( line) S 68 J ( numbers) S 67 J ( of) S 68 J ( any) S 67 J ( matches. \(The ) S 0 12 F 0 10 F (-s) S 0 12 F 26 10 F () S 67 J ( option tells) S
2160 10728 P (pushd) S 50 J ( and popd to work silently.\)) S
2880 11192 P 0 12 F 0 10 F (51) S 120 J ( D% pushd -s ~\\sh) S
2880 11456 P (52 D% grep -n '^^statement.*y' *.c) S
2880 11720 P (allocate.c:418:statement_obj *allocate_statement\(size, type\)) S
2880 11984 P (53 D% popd -s) S
2160 12928 P 0 12 F 8 12 F B (sed) S E
2693 13432 P 0 12 F 0 10 F (sed) S 0 12 F 26 10 F () S 64 J ( is) S 65 J ( a) S 64 J ( stream) S 65 J ( editor.) S 64 J ( ) S 65 J ( Just) S 64 J ( as) S 65 J ( you) S 64 J ( might) S 65 J ( think) S 64 J ( of) S 65 J ( using) S 64 J ( a regular editor to edit a file,) S
2160 13696 P (deleting) S 51 J ( or) S 52 J ( inserting) S 51 J ( lines,) S 52 J ( doing) S 51 J ( search/replace) S 52 J ( operations,) S 51 J ( etc.,) S 52 J ( ) S 0 12 F 0 10 F (sed) S 0 12 F 26 10 F () S 51 J ( lets) S 52 J ( you) S 51 J ( edit) S 52 J ( a stream of) S
2160 13960 P (data:) S 51 J ( ) S 52 J ( individual) S 51 J ( lines) S 52 J ( are) S 51 J ( read) S 52 J ( from) S 51 J ( stdin,) S 52 J ( edited) S 51 J ( according) S 52 J ( to) S 51 J ( the) S 52 J ( script) S 51 J ( you give and written) S
5831 15384 P (Page) S 50 J ( ) S (35) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
1800 1704 P 0 12 F 26 10 F (to) S 64 J ( stdout.) S 65 J ( ) S 64 J ( A) S 65 J ( very) S 64 J ( simple) S 65 J ( sort) S 64 J ( of) S 65 J ( script) S 64 J ( might) S 65 J ( be) S 64 J ( given) S 65 J ( right) S 64 J ( on) S 65 J ( the) S 64 J ( command) S 65 J ( line.) S 64 J ( ) S 65 J ( Here's) S 64 J ( a) S
1800 1968 P (simple) S 50 J ( search/replace:) S
2520 2432 P 0 12 F 0 10 F (54) S 120 J ( D% echo hello world | sed s/world/everybody/) S
2520 2696 P (hello everybody) S
2333 3160 P (sed) S 0 12 F 26 10 F () S 56 J ( uses) S 57 J ( the) S 56 J ( same) S 57 J ( regular) S 56 J ( expressions) S 57 J ( used) S 56 J ( by) S 57 J ( ) S 0 12 F 0 10 F (grep) S 0 12 F 26 10 F (.) S 56 J ( ) S 57 J ( It's) S 56 J ( possible) S 57 J ( to) S 56 J ( pick) S 57 J ( up pieces of) S
1800 3424 P (the) S 60 J ( input) S 61 J ( as) S 60 J ( tagged) S 61 J ( expressions) S 60 J ( and) S 61 J ( move) S 60 J ( them) S 61 J ( around.) S 60 J ( ) S 61 J ( In) S 60 J ( this) S 61 J ( example,) S 60 J ( the) S 61 J ( two) S 60 J ( strings) S 61 J ( on) S
1800 3688 P (either) S 92 J ( side of the space are tagged, then swapped around. Quotes are used around the) S
1800 3952 P (search/replace) S 63 J ( command) S 64 J ( so) S 63 J ( the) S 64 J ( C) S 63 J ( shell) S 64 J ( will) S 63 J ( treat) S 64 J ( it) S 63 J ( as) S 64 J ( one) S 63 J ( long) S 64 J ( literal) S 63 J ( string) S 64 J ( to) S 63 J ( be) S 64 J ( passed to) S
1800 4216 P (sed.) S 79 J ( ) S 80 J ( \(Parentheses,) S 79 J ( spaces) S 80 J ( and) S 79 J ( asterisks) S 80 J ( otherwise) S 79 J ( have) S 80 J ( special) S 79 J ( meaning.\)) S 80 J ( ) S 79 J ( Notice) S 80 J ( how) S 79 J ( the) S
1800 4480 P (``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 50 J ( construct, meaning match zero or more occurrences actually matches as many repetitions) S
1800 4744 P (as possible.) S
2520 5208 P 0 12 F 0 10 F (55) S 120 J ( D% echo hello world | sed 's/\\\(.*\\\) \\\(.*\\\)/\\2 \\1/') S
2520 5472 P (world hello) S
2333 5936 P 0 12 F 26 10 F (For) S 90 J ( more) S 91 J ( complex) S 90 J ( operations,) S 91 J ( ) S 0 12 F 0 10 F (sed) S 0 12 F 26 10 F () S 90 J ( offers) S 91 J ( a) S 90 J ( wide) S 91 J ( array) S 90 J ( of) S 91 J ( operators) S 90 J ( including even) S
1800 6200 P (conditional) S 51 J ( branches) S 52 J ( and) S 51 J ( a) S 52 J ( hold) S 51 J ( buffer) S 52 J ( where) S 51 J ( a) S 52 J ( string) S 51 J ( can) S 52 J ( be saved temporarily from one line) S
1800 6464 P (to) S 50 J ( the next. If your script is very long, the ) S 0 12 F 0 10 F (-f) S 0 12 F 26 10 F () S 50 J ( option lets you specify it in a file.) S
1800 7408 P 0 12 F 8 12 F B (diff) S E
2333 7912 P 0 12 F 0 10 F (diff) S 0 12 F 26 10 F () S 64 J ( is) S 65 J ( an) S 64 J ( extremely) S 65 J ( fast) S 64 J ( and) S 65 J ( flexible) S 64 J ( utility) S 65 J ( for) S 64 J ( quickly) S 65 J ( comparing) S 64 J ( ascii) S 65 J ( files, looking) S
1800 8176 P (for) S 62 J ( differences.) S 63 J ( ) S 62 J ( In) S 63 J ( the) S 62 J ( simplest) S 63 J ( form,) S 62 J ( you simply give it two filenames corresponding to the) S
1800 8440 P (old) S 85 J ( and) S 86 J ( new) S 85 J ( versions) S 86 J ( and let it go to work, reporting sections that have been deleted or) S
1800 8704 P (added) S 98 J ( in) S 99 J ( a traditional format. For example, as a software developer, I might use it to) S
1800 8968 P (compare) S 50 J ( old and new versions of a C program:) S
2520 9432 P 0 12 F 0 10 F (56) S 120 J ( D% diff archive\\parse.c parse.c) S
2520 9696 P (1493 c 1493) S
2520 9960 P (< d->inline_cnt = src->inline_cnt++;) S
2520 10224 P (---) S
2520 10488 P (> d->inline_cnt = ++src->inline_cnt;) S
1800 10952 P 0 12 F 26 10 F (Each) S 60 J ( change) S 61 J ( is) S 60 J ( reported) S 61 J ( in) S 60 J ( terms) S 61 J ( of) S 60 J ( the) S 61 J ( line) S 60 J ( number or range in the old version, whether it's) S
1800 11216 P (an) S 72 J ( addition,) S 73 J ( change) S 72 J ( or) S 73 J ( deletion,) S 72 J ( the) S 73 J ( line numbers in the new version and then the affected) S
1800 11480 P (lines) S 50 J ( from each file, separated by a line of ``---''.) S
2333 11944 P 0 12 F 0 10 F (diff) S 0 12 F 26 10 F () S 59 J ( supports) S 60 J ( the) S 59 J ( traditional) S 60 J ( options for ignoring differences in upper-/lower-case or) S
1800 12208 P (in) S 65 J ( the) S 66 J ( amount) S 65 J ( of) S 66 J ( white) S 65 J ( space) S 66 J ( on) S 65 J ( the) S 66 J ( line,) S 65 J ( for recursively comparing entire directory trees of) S
1800 12472 P (files,) S 50 J ( etc.) S
2333 12936 P (One) S 51 J ( of) S 52 J ( ) S 0 12 F 0 10 F (diff) S 0 12 F 26 10 F ('s) S 51 J ( most) S 52 J ( novel) S 51 J ( features is its ability with the ) S 0 12 F 0 10 F (-!) S 0 12 F 26 10 F () S 51 J ( option to generate a merged) S
1800 13200 P (listing) S 69 J ( where) S 70 J ( text) S 69 J ( that's) S 70 J ( deleted) S 69 J ( is) S 70 J ( shown) S 69 J ( in) S 70 J ( red,) S 69 J ( new) S 70 J ( text) S 69 J ( is) S 70 J ( shown) S 69 J ( in green and the rest is) S
1800 13464 P (displayed) S 62 J ( normally.) S 63 J ( ) S 62 J ( This) S 63 J ( makes) S 62 J ( it extremely easy to view your changes in context. \(To use) S
1800 13728 P (this) S 81 J ( option,) S 82 J ( remember) S 81 J ( that) S 82 J ( ``!'') S 81 J ( is) S 82 J ( a) S 81 J ( special) S 82 J ( character to the shell; type it at the end of the) S
1800 13992 P (option) S 50 J ( list so there'll be a space following.\)) S
5831 15384 P (Page ) S (36) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
2160 1704 P B (head) S 67 J ( and tail) S E
2693 2208 P 0 12 F 0 10 F (head) S 0 12 F 26 10 F () S 57 J ( and) S 58 J ( ) S 0 12 F 0 10 F (tail) S 0 12 F 26 10 F () S 58 J ( are used to display just the first or last few lines or characters of a file.) S
2160 2472 P (Normally,) S 50 J ( they expand any tabs into spaces so you don't need to filter them through ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S
2693 2936 P 0 12 F 0 10 F (tail) S 0 12 F 26 10 F () S 74 J ( is) S 75 J ( particularly) S 74 J ( interesting.) S 75 J ( ) S 74 J ( If) S 75 J ( all) S 74 J ( you) S 75 J ( want) S 74 J ( is) S 75 J ( the end of a very large file, ) S 0 12 F 0 10 F (tail) S
2160 3200 P 0 12 F 26 10 F (doesn't) S 66 J ( waste) S 67 J ( time) S 66 J ( reading) S 67 J ( the) S 66 J ( whole) S 67 J ( file) S 66 J ( from) S 67 J ( start) S 66 J ( to) S 67 J ( finish. Instead, it jumps right to the) S
2160 3464 P (end) S 58 J ( and) S 59 J ( reads) S 58 J ( it) S 59 J ( backwards!) S 58 J ( ) S 59 J ( If) S 58 J ( the) S 59 J ( file is truly large \(on the order of several megabytes\) and) S
2160 3728 P (all) S 50 J ( you) S 51 J ( want) S 50 J ( is) S 51 J ( a) S 50 J ( little) S 51 J ( bit) S 50 J ( off) S 51 J ( the) S 50 J ( end,) S 51 J ( this) S 50 J ( is) S 51 J ( the) S 50 J ( difference) S 51 J ( between) S 50 J ( chugging) S 51 J ( along) S 50 J ( for several) S
2160 3992 P (seconds versus getting an almost instantaneous response.) S
2693 4456 P 0 12 F 0 10 F (tail) S 0 12 F 26 10 F () S 65 J ( also) S 66 J ( has a ) S 0 12 F 0 10 F (-f) S 0 12 F 26 10 F () S 66 J ( follow option. What that means is that when it gets to the end of) S
2160 4720 P (file,) S 64 J ( it) S 65 J ( enters) S 64 J ( an) S 65 J ( endless) S 64 J ( loop,) S 65 J ( sleeping) S 64 J ( for a second, then waking up to see if more has been) S
2160 4984 P (added.) S 63 J ( ) S 64 J ( This) S 63 J ( is) S 64 J ( particularly) S 63 J ( useful) S 64 J ( if,) S 63 J ( e.g.,) S 64 J ( you) S 63 J ( have) S 64 J ( an) S 63 J ( operation, say a large ) S 0 12 F 0 10 F (make) S 0 12 F 26 10 F (,) S 63 J ( active in) S
2160 5248 P (one) S 60 J ( window with its output redirected to a file. From another window you can periodically) S
2160 5512 P (check) S 50 J ( in on the progress by typing:) S
2880 5976 P 0 12 F 0 10 F (57) S 120 J ( D% tail -f e:\\tmp\\make.log) S
2880 6240 P (:) S
2880 6504 P (^C) S
2160 6968 P (tail) S 0 12 F 26 10 F () S 72 J ( lets) S 73 J ( you) S 72 J ( watch) S 73 J ( lines) S 72 J ( get) S 73 J ( added without consuming much processor resource \(since it) S
2160 7232 P (sleeps) S 94 J ( in) S 95 J ( the) S 94 J ( kernel) S 95 J ( most) S 94 J ( of the time\) so you can watch a background activity progress) S
2160 7496 P (without) S 51 J ( affecting) S 52 J ( its) S 51 J ( performance.) S 52 J ( ) S 51 J ( After) S 52 J ( you've watched for a while, just type ) S 0 12 F 0 10 F (^C) S 0 12 F 26 10 F () S 52 J ( to interrupt) S
2160 7760 P (and) S 117 J ( get) S 118 J ( out.) S 117 J ( ) S 118 J ( The) S 117 J ( interrupt) S 118 J ( only) S 117 J ( goes to the tail program; the application off in the) S
2160 8024 P (background) S 74 J ( or) S 75 J ( in) S 74 J ( another) S 75 J ( window) S 74 J ( creating the file is not affected and will go on about its) S
2160 8288 P (business) S 50 J ( until you come back once again to check on it.) S
2160 9232 P 0 12 F 8 12 F B (cut) S E
2693 9736 P 0 12 F 0 10 F (cut) S 0 12 F 26 10 F () S 67 J ( is) S 68 J ( a) S 67 J ( simple) S 68 J ( filter) S 67 J ( for) S 68 J ( selecting) S 67 J ( out) S 68 J ( just) S 67 J ( certain) S 68 J ( fields) S 67 J ( or) S 68 J ( character) S 67 J ( positions) S 68 J ( of each) S
2160 10000 P (line of) S 69 J ( input.) S 68 J ( ) S 69 J ( You) S 68 J ( choose) S 69 J ( what) S 68 J ( characters) S 69 J ( should) S 68 J ( be) S 69 J ( interpreted) S 68 J ( as) S 69 J ( the) S 68 J ( field) S 69 J ( delimiters and) S
2160 10264 P (which fields) S 70 J ( should) S 69 J ( be) S 70 J ( copied) S 69 J ( to) S 70 J ( the) S 69 J ( output.) S 70 J ( For example, if you kept your phone book in) S
2160 10528 P 0 12 F 0 10 F (\\phone) S 0 12 F 26 10 F (,) S 50 J ( you might strip off just the first word from each line to get everyone's first names:) S
2880 10992 P 0 12 F 0 10 F (58) S 120 J ( D% cut -f1 -d' ' \\phone) S
2880 11256 P (Ed) S
2880 11520 P (Helen) S
2880 11784 P (Jack) S
2880 12048 P (Vickie) S
2880 12312 P (:) S
2160 12776 P 0 12 F 26 10 F (The) S 97 J ( ) S 0 12 F 0 10 F (-f) S 0 12 F 26 10 F () S 98 J ( option) S 97 J ( means) S 98 J ( you want to count by fields, selecting the first field and that the) S
2160 13040 P (delimiter) S 50 J ( is a space character. \(Notice the quotes around the space.\)) S
5831 15384 P (Page ) S (37) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
1800 1704 P B (split) S E
2333 2208 P 0 12 F 0 10 F (split) S 0 12 F 26 10 F () S 69 J ( lets) S 70 J ( you) S 69 J ( break) S 70 J ( up) S 69 J ( a) S 70 J ( large file into smaller, fixed-size pieces counting either by) S
1800 2472 P (lines) S 76 J ( or) S 77 J ( by) S 76 J ( characters.) S 77 J ( ) S 76 J ( Each) S 77 J ( of) S 76 J ( the) S 77 J ( smaller) S 76 J ( files) S 77 J ( it) S 76 J ( creates) S 77 J ( are numbered, e.g., ) S 0 12 F 0 10 F (chunk.001) S 0 12 F 26 10 F (,) S
1800 2736 P 0 12 F 0 10 F (chunk.002) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (chunk.003) S 0 12 F 26 10 F (,) S 50 J ( etc.) S
2333 3200 P (One) S 73 J ( example of where you might use split might be if you had a very large file you) S
1800 3464 P (wanted) S 54 J ( to) S 55 J ( transmit) S 54 J ( over) S 55 J ( a) S 54 J ( modem.) S 55 J ( If the line dropped suddenly, you wouldn't want to have) S
1800 3728 P (to) S 67 J ( start) S 68 J ( all) S 67 J ( over) S 68 J ( on) S 67 J ( a 2M file. If you split it first into 200K chunks, you'd stand to lose a lot) S
1800 3992 P (less.) S 57 J ( ) S 58 J ( Another) S 57 J ( example) S 58 J ( might) S 57 J ( be) S 58 J ( if) S 57 J ( you) S 58 J ( had) S 57 J ( a) S 58 J ( truly) S 57 J ( enormous) S 58 J ( text) S 57 J ( file) S 58 J ( that) S 57 J ( was) S 58 J ( just too big to) S
1800 4256 P (easily) S 57 J ( edit) S 58 J ( with) S 57 J ( your) S 58 J ( favorite) S 57 J ( editor.) S 58 J ( ) S 57 J ( Splitting) S 58 J ( it) S 57 J ( up) S 58 J ( into) S 57 J ( chunks) S 58 J ( of) S 57 J ( only) S 58 J ( 10K) S 57 J ( lines) S 58 J ( each) S 57 J ( might) S
1800 4520 P (be) S 50 J ( a solution.) S
1800 5464 P 0 12 F 8 12 F B (tabs) S E
2333 5968 P 0 12 F 0 10 F (tabs) S 0 12 F 26 10 F () S 76 J ( lets) S 77 J ( you) S 76 J ( expand) S 77 J ( or) S 76 J ( unexpand) S 77 J ( tab) S 76 J ( characters) S 77 J ( based) S 76 J ( on) S 77 J ( a set of tab settings you) S
1800 6232 P (give) S 50 J ( it.) S 51 J ( ) S 50 J ( Tab) S 51 J ( settings) S 50 J ( are) S 51 J ( religious.) S 50 J ( ) S 51 J ( I) S 50 J ( like) S 51 J ( them) S 50 J ( every) S 51 J ( 3) S 50 J ( spaces) S 51 J ( but) S 50 J ( you probably like something) S
1800 6496 P (else.) S 72 J ( ) S 73 J ( If) S 72 J ( you're) S 73 J ( composing) S 72 J ( something) S 73 J ( to) S 72 J ( be) S 73 J ( sent as email or posted on a bulletin board, it's) S
1800 6760 P (probably) S 50 J ( nice to expand it out before you send it so everyone sees what you see.) S
1800 7704 P 0 12 F 8 12 F B (tr) S E
2333 8208 P 0 12 F 0 10 F (tr) S 0 12 F 26 10 F () S 101 J ( is) S 102 J ( a) S 101 J ( another) S 102 J ( simple) S 101 J ( filter) S 102 J ( for) S 101 J ( translating) S 102 J ( characters from input to output. For) S
1800 8472 P (example,) S 50 J ( you could translate everything from lower to upper case by typing:) S
2520 8936 P 0 12 F 0 10 F (59) S 120 J ( D% tr a-z A-Z) S
2520 9200 P (hello world) S
2520 9464 P (HELLO WORLD) S
2520 9728 P (^Z) S
1800 10192 P 0 12 F 26 10 F (We) S 58 J ( typed) S 59 J ( the) S 58 J ( first) S 0 12 F 0 10 F () S 129 J ( hello) S 128 J ( world) S 0 12 F 26 10 F () S 59 J ( and) S 58 J ( ) S 0 12 F 0 10 F (tr) S 0 12 F 26 10 F () S 59 J ( has just echoed it in upper case. ) S 0 12 F 0 10 F (^Z) S 0 12 F 26 10 F () S 59 J ( is the end-of-) S
1800 10456 P (file) S 50 J ( character defined by OS/2 and NT.) S
2333 10920 P 0 12 F 0 10 F (tr) S 0 12 F 26 10 F () S 85 J ( also has a number of options for squeezing out repeated sequences of the same) S
1800 11184 P (character) S 82 J ( or) S 83 J ( editing) S 82 J ( out) S 83 J ( just) S 82 J ( certain) S 83 J ( characters) S 82 J ( and) S 83 J ( even) S 82 J ( for normalizing the text in a file,) S
1800 11448 P (ensuring) S 65 J ( that) S 66 J ( every) S 65 J ( line) S 66 J ( ends) S 65 J ( with) S 66 J ( a) S 65 J ( carriage return/line feed combination. That's handy if) S
1800 11712 P (you're) S 50 J ( importing a file from another operating system.) S
1800 12656 P 0 12 F 8 12 F B () S 67 J ( strings) S E
2333 13160 P 0 12 F 0 10 F (strings) S 0 12 F 26 10 F () S 92 J ( lets) S 93 J ( you) S 92 J ( simply) S 93 J ( list) S 92 J ( out) S 93 J ( all) S 92 J ( the) S 93 J ( ASCII strings in an otherwise binary file.) S
1800 13424 P (Sometimes) S 77 J ( this) S 78 J ( can) S 77 J ( be useful for spelunking around through a file when you're really not) S
1800 13688 P (sure) S 58 J ( at) S 59 J ( all) S 58 J ( just) S 59 J ( what's) S 58 J ( inside) S 59 J ( it.) S 58 J ( ) S 59 J ( Various) S 58 J ( options) S 59 J ( are) S 58 J ( available) S 59 J ( to) S 58 J ( trimming) S 59 J ( the) S 58 J ( output) S 59 J ( so only) S
1800 13952 P (strings) S 50 J ( of a minimum length, etc., will be shown. For example,) S
5831 15384 P (Page ) S (38) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
2880 1704 P 0 12 F 0 10 F (60) S 120 J ( D% strings hello.exe) S
2880 1968 P (!This program cannot be run in DOS mode.) S
2880 2232 P (:) S
2880 2496 P (Hello, world) S
2880 2760 P (:) S
2693 3224 P 0 12 F 26 10 F (Another) S 105 J ( example) S 106 J ( might be if you suspected an application was carrying a virus.) S
2160 3488 P (Naturally,) S 64 J ( ) S 0 12 F 0 10 F (strings) S 0 12 F 26 10 F () S 65 J ( can't) S 64 J ( guarantee) S 65 J ( something's free of any virus, but on the other hand, if) S
2160 3752 P (you) S 50 J ( scan it with ) S 0 12 F 0 10 F (strings) S 0 12 F 26 10 F () S 50 J ( and find something like this, obviously you should be careful:) S
2880 4216 P 0 12 F 0 10 F (61) S 120 J ( D% strings a:suspect.exe) S
2880 4480 P (:) S
2880 4744 P (Aha! Gotcha! I just blew away your hard disk!) S
2160 5688 P 0 12 F 8 12 F B (dskread) S 67 J ( and dskwrite) S E
2693 6192 P 0 12 F 26 10 F (This) S 50 J ( pair) S 51 J ( of) S 50 J ( utilities can be used to quickly copy, format or mass duplicate diskettes in a) S
2160 6456 P (single) S 77 J ( pass.) S 78 J ( ) S 77 J ( Here's) S 78 J ( an) S 77 J ( example) S 78 J ( using) S 77 J ( ) S 0 12 F 0 10 F (dskread) S 0 12 F 26 10 F () S 78 J ( to) S 77 J ( read) S 78 J ( a whole diskette image onto your) S
2160 6720 P (hard) S 57 J ( disk) S 58 J ( and) S 57 J ( then) S 58 J ( write) S 57 J ( it) S 58 J ( back) S 57 J ( out) S 58 J ( onto) S 57 J ( a) S 58 J ( new) S 57 J ( floppy) S 58 J ( with) S 57 J ( ) S 0 12 F 0 10 F (dskwrite) S 0 12 F 26 10 F (.) S 58 J ( ) S 57 J ( The) S 58 J ( ) S 0 12 F 0 10 F (dskwrite) S 128 J ( -a) S
2160 6984 P 0 12 F 26 10 F (option) S 50 J ( means) S 51 J ( autoformat,) S 50 J ( i.e.,) S 51 J ( if) S 50 J ( the) S 51 J ( new) S 50 J ( disk) S 51 J ( isn't) S 50 J ( already) S 51 J ( formatted,) S 50 J ( format) S 51 J ( each track as it's) S
2160 7248 P (written.) S 68 J ( ) S 69 J ( The) S 68 J ( ) S 0 12 F 0 10 F (-v) S 0 12 F 26 10 F () S 69 J ( option) S 68 J ( means) S 69 J ( read) S 68 J ( back) S 69 J ( and) S 68 J ( verify each write to be sure a good copy was) S
2160 7512 P (made.) S
2880 7976 P 0 12 F 0 10 F (62) S 120 J ( D% dskread a: >disk.image # Read the whole diskette) S
2880 8240 P (63 D% dskwrite -av a: <disk.image # Make a new copy) S
2693 8704 P 0 12 F 26 10 F (To) S 83 J ( make) S 84 J ( more copies, you simply keep putting new diskettes in and rerunning the) S
2160 8968 P 0 12 F 0 10 F (dskwrite) S 0 12 F 26 10 F (.) S 76 J ( ) S 77 J ( Since) S 76 J ( the) S 77 J ( entire) S 76 J ( diskette) S 77 J ( image, including the boot sector is captured onto the) S
2160 9232 P (hard) S 64 J ( disk) S 65 J ( by) S 64 J ( ) S 0 12 F 0 10 F (dskread) S 0 12 F 26 10 F (,) S 65 J ( it's possible to email a bootable diskette image, even compressing it) S
2160 9496 P (first) S 50 J ( with one of the popular compression utilities such as ) S 0 12 F 0 10 F (arc) S 0 12 F 26 10 F () S 50 J ( or ) S 0 12 F 0 10 F (pkzip) S 0 12 F 26 10 F (.) S
2693 9960 P 0 12 F 0 10 F (dskread) S 0 12 F 26 10 F () S 59 J ( and) S 60 J ( ) S 0 12 F 0 10 F (dskwrite) S 0 12 F 26 10 F () S 59 J ( can) S 60 J ( also) S 59 J ( be) S 60 J ( used) S 59 J ( to) S 60 J ( copy) S 59 J ( a) S 60 J ( very) S 59 J ( large) S 60 J ( file) S 59 J ( onto) S 60 J ( a) S 59 J ( whole) S 60 J ( series) S
2160 10224 P (of) S 72 J ( diskettes) S 73 J ( and) S 72 J ( restore) S 73 J ( it) S 72 J ( later) S 73 J ( as) S 72 J ( a) S 73 J ( single) S 72 J ( file.) S 73 J ( ) S 72 J ( E.g.,) S 73 J ( to) S 72 J ( back) S 73 J ( up) S 72 J ( your hard disk, you might) S
2160 10488 P (compress) S 93 J ( whole) S 94 J ( directories) S 93 J ( using) S 94 J ( one) S 93 J ( of) S 94 J ( the) S 93 J ( popular compression utilities and write the) S
2160 10752 P (resulting) S 53 J ( archive) S 54 J ( file) S 53 J ( out) S 54 J ( as) S 53 J ( 1.2MB) S 54 J ( \(or,) S 53 J ( as) S 54 J ( appropriate,) S 53 J ( 1.4MB\)) S 54 J ( chunks) S 53 J ( onto) S 54 J ( separate) S 53 J ( diskettes.) S
2160 11016 P (To) S 59 J ( restore) S 60 J ( the) S 59 J ( file,) S 60 J ( just) S 59 J ( ) S 0 12 F 0 10 F (cat) S 0 12 F 26 10 F () S 60 J ( or) S 59 J ( ) S 0 12 F 0 10 F (dskread) S 0 12 F 26 10 F () S 60 J ( the) S 59 J ( pieces) S 60 J ( together) S 59 J ( again. \(But if you do try this, be) S
2160 11280 P (sure) S 56 J ( the) S 57 J ( compression) S 56 J ( utility) S 57 J ( you) S 56 J ( use) S 57 J ( can) S 56 J ( handle) S 57 J ( any) S 56 J ( long filenames or system or hidden files) S
2160 11544 P (you) S 50 J ( have lurking in your directories.\)) S
2693 12008 P (Here's) S 77 J ( an) S 78 J ( example) S 77 J ( of) S 78 J ( writing) S 77 J ( a) S 78 J ( very) S 77 J ( large) S 78 J ( ) S 0 12 F 0 10 F (.zip) S 0 12 F 26 10 F () S 77 J ( file) S 78 J ( to) S 77 J ( a series of diskettes. The ) S 0 12 F 0 10 F (-c) S
2160 12272 P 0 12 F 26 10 F (option) S 92 J ( means) S 93 J ( it) S 92 J ( should continue with as many diskettes as it takes to hold all the data,) S
2160 12536 P (prompting) S 71 J ( you) S 72 J ( for) S 71 J ( each) S 72 J ( new) S 71 J ( diskette) S 72 J ( when) S 71 J ( it) S 72 J ( needs) S 71 J ( it.) S 72 J ( ) S 71 J ( The) S 72 J ( ) S 0 12 F 0 10 F (-d) S 0 12 F 26 10 F () S 71 J ( option causes it to write a) S
2160 12800 P (dummy) S 55 J ( file) S 56 J ( system) S 55 J ( around) S 56 J ( the data \(so it still looks like a regular OS/2 or NT diskette\). The) S
2160 13064 P 0 12 F 0 10 F (-n) S 0 12 F 26 10 F () S 53 J ( option) S 54 J ( takes an argument specifying the name given the file being created on the diskette.) S
2160 13328 P (In) S 74 J ( this) S 75 J ( example,) S 74 J ( the) S 75 J ( first) S 74 J ( diskette) S 75 J ( will) S 74 J ( have) S 75 J ( a) S 74 J ( file named ``) S 0 12 F 0 10 F (big.001) S 0 12 F 26 10 F ('',) S 74 J ( the second will have) S
2160 13592 P (``) S 0 12 F 0 10 F (big.002) S 0 12 F 26 10 F ('',) S 50 J ( etc. Once again, the ) S 0 12 F 0 10 F (-av) S 0 12 F 26 10 F () S 50 J ( options mean autoformat and verify each write.) S
2880 14056 P 0 12 F 0 10 F (64) S 120 J ( D% dskwrite -avcd -n big a: < g:big.zip) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (39) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
2333 1704 P 0 12 F 26 10 F (To) S 51 J ( get) S 52 J ( it) S 51 J ( all) S 52 J ( back,) S 51 J ( you) S 52 J ( could) S 51 J ( simply) S 52 J ( copy) S 51 J ( all) S 52 J ( the) S 51 J ( pieces individually onto your hard disk) S
1800 1968 P (and) S 50 J ( then ) S 0 12 F 0 10 F (cat) S 0 12 F 26 10 F () S 50 J ( them together or use ) S 0 12 F 0 10 F (dskread) S 0 12 F 26 10 F () S 50 J ( to do it for you:) S
2520 2432 P 0 12 F 0 10 F (65) S 120 J ( D% dskread -dc -n big a: > g:big.zip) S
1800 3376 P 0 12 F 8 12 F B (Other) S 67 J ( Utilities) S E
2333 3880 P 0 12 F 26 10 F (Other) S 66 J ( utilities) S 67 J ( provide) S 66 J ( means for sleeping for a timed period, counting the number of) S
1800 4144 P (words) S 57 J ( in) S 58 J ( a) S 57 J ( file) S 58 J ( and) S 57 J ( so) S 58 J ( on.) S 57 J ( ) S 58 J ( Part) S 57 J ( of) S 58 J ( the appeal of Hamilton C shell is that it's relatively easy to) S
1800 4408 P (continue) S 108 J ( expanding) S 109 J ( the) S 108 J ( vocabularly) S 109 J ( with) S 108 J ( simple) S 109 J ( utilities) S 108 J ( that) S 109 J ( may) S 108 J ( each) S 109 J ( be only a few) S
1800 4672 P (hundred) S 50 J ( lines long.) S
2333 5136 P (This) S 58 J ( has) S 59 J ( been) S 58 J ( a) S 59 J ( fast) S 58 J ( introduction.) S 59 J ( ) S 58 J ( Fortunately,) S 59 J ( you) S 58 J ( don't have to learn the utilities just) S
1800 5400 P (from) S 99 J ( the) S 100 J ( book.) S 99 J ( ) S 100 J ( All) S 99 J ( have) S 100 J ( on-line) S 99 J ( information) S 100 J ( available) S 99 J ( with) S 100 J ( ) S 0 12 F 0 10 F (-h) S 0 12 F 26 10 F (.) S 99 J ( ) S 100 J ( We) S 99 J ( encourage) S 100 J ( you) S 99 J ( to) S
1800 5664 P (experiment.) S
2333 6128 P (As) S 71 J ( this) S 72 J ( is) S 71 J ( being) S 72 J ( written,) S 71 J ( we're still giving thought to additional utilities. If you have) S
1800 6392 P (favorites) S 50 J ( you'd like to see included or maybe offered as new products, please contact us.) S
5831 15384 P (Page ) S (40) S 0 12 F
PE
9432 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
4548 2184 P 0 12 F 8 14 F B (I/O) S 78 J ( Redirection and Piping) S E
2160 3408 P 0 12 F 8 12 F B (I/O) S 67 J ( Redirection) S E
2693 3912 P 0 12 F 26 10 F (You) S 76 J ( can) S 77 J ( redirect) S 76 J ( or) S 77 J ( pipe) S 76 J ( i/o) S 77 J ( in) S 76 J ( much) S 77 J ( the) S 76 J ( way) S 77 J ( you) S 76 J ( might) S 77 J ( under) S 76 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S 77 J ( ) S 76 J ( Here's a) S
2160 4176 P (simple) S 108 J ( example) S 109 J ( redirecting) S 108 J ( stdout) S 109 J ( from the word count of the famous ``Hello, world'') S
2160 4440 P (program.) S 50 J ( ) S 0 12 F 0 10 F (cat) S 0 12 F 26 10 F () S 50 J ( just copies from any files you tell it or, by default, from stdin to stdout.) S
2880 4904 P 0 12 F 0 10 F (66) S 120 J ( E% cd hello) S
2880 5168 P (67 D% ls) S
2880 5432 P (hello.c hello.exe) S
2880 5696 P (68 D% cat hello.c) S
2880 5960 P (#include <stdio.h>) S
2880 6224 P (main \(\)) S
2880 6488 P ( {) S
2880 6752 P ( printf\("Hello, world.\\n"\);) S
2880 7016 P ( }) S
2880 7280 P (69 D% wc hello.c >hello.wc) S
2880 7544 P (70 D% cat <hello.wc) S
2880 7808 P ( 5 8 72 hello.c) S
2160 8272 P 0 12 F 26 10 F (\() S 0 12 F 0 10 F (wc) S 0 12 F 26 10 F () S 50 J ( tells us that ) S 0 12 F 0 10 F (hello.c) S 0 12 F 26 10 F () S 50 J ( has 5 lines, containing 8 words, totalling 72 characters.\)) S
2693 8736 P (If) S 56 J ( the) S 57 J ( file) S 56 J ( you) S 57 J ( write to with ``) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F ('') S 57 J ( exists, it's first truncated to zero length \(discarding the) S
2160 9000 P (old) S 72 J ( contents\);) S 73 J ( if) S 72 J ( the) S 73 J ( file) S 72 J ( doesn't) S 73 J ( exist,) S 72 J ( it's) S 73 J ( created.) S 72 J ( With ``) S 0 12 F 0 10 F (<) S 0 12 F 26 10 F ('',) S 72 J ( it's an error if the file doesn't) S
2160 9264 P (exist.) S
2693 9728 P (Data) S 50 J ( can be appended to a file with the ``) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F ('') S 50 J ( operator:) S
2880 10192 P 0 12 F 0 10 F (71) S 120 J ( D% echo that^'s all folks >>hello.wc) S
2880 10456 P (72 D% cat hello.wc) S
2880 10720 P ( 5 8 72 hello.c) S
2880 10984 P (that's all folks) S
2880 11248 P (73 D% _) S
2160 11712 P 0 12 F 26 10 F (When) S 55 J ( you) S 56 J ( append) S 55 J ( with) S 56 J ( ``) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F ('',) S 55 J ( if) S 56 J ( the) S 55 J ( file) S 56 J ( exists, data is written onto the end; if it doesn't exist,) S
2160 11976 P (it's) S 76 J ( created. \(The single quote character has special meaning to the shell on the command) S
2160 12240 P (line;) S 50 J ( the special meaning is turned off by the shell's escape character,``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F (''.\)) S
2160 13184 P 0 12 F 8 12 F B (noclobber) S E
2693 13688 P 0 12 F 26 10 F (Not) S 77 J ( everyone) S 78 J ( is) S 77 J ( comfortable) S 78 J ( with) S 77 J ( letting) S 78 J ( the) S 77 J ( shell) S 78 J ( glibly) S 77 J ( toss away an existing file if) S
2160 13952 P (you) S 50 J ( type) S 51 J ( ``) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F ('') S 51 J ( when you meant ``) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F ('') S 51 J ( or lose it somewhere if you mistype an existing filename) S
5831 15384 P (Page) S 50 J ( ) S (41) S 0 12 F
PE
720 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
1800 1704 P 0 12 F 26 10 F (with) S 52 J ( ``) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F (''.) S 53 J ( ) S 52 J ( The ) S 0 12 F 0 10 F (noclobber) S 0 12 F 26 10 F () S 52 J ( variable lets you tell the shell you want this to be caught, so you) S
1800 1968 P (can) S 50 J ( decide if this was really what you meant.) S
2333 2432 P (If you set ) S 0 12 F 0 10 F (noclobber) S 0 12 F 26 10 F (,) S 50 J ( you have to type ``) S 0 12 F 0 10 F (>!) S 0 12 F 26 10 F ('') S 50 J ( to redirect to an existing file:) S
2520 2896 P 0 12 F 0 10 F (73) S 120 J ( D% set noclobber = 1) S
2520 3160 P (74 D% echo trash this file > hello.c) S
2520 3424 P (csh: Couldn't open 'hello.c' as a redirected standard output.) S
1800 3888 P 0 12 F 26 10 F (Come) S 50 J ( to think of it, let's ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 50 J ( overwrite that file.) S
2333 4352 P (Similarly if you want to append to something that doesn't already exist:) S
2520 4816 P 0 12 F 0 10 F (75) S 120 J ( D% echo appended data >> newdata) S
2520 5080 P (csh: Couldn't open 'newdata' as a redirected standard output.) S
2520 5344 P (76 D% echo appended data >>! newdata) S
2520 5608 P (77 D% cat newdata) S
2520 5872 P (appended data) S
2520 6136 P (78 D% rm newdata) S
1800 7080 P 0 12 F 8 12 F B (Protection) S 67 J ( Attributes) S E
2333 7584 P 0 12 F 26 10 F (If) S 75 J ( a) S 76 J ( file) S 75 J ( has) S 76 J ( any) S 75 J ( of) S 76 J ( the) S 75 J ( special) S 76 J ( protection) S 75 J ( attributes,) S 76 J ( hidden,) S 75 J ( read-only or system, set,) S
1800 7848 P (you) S 77 J ( cannot) S 78 J ( overwrite) S 77 J ( it) S 78 J ( by) S 77 J ( redirecting) S 78 J ( i/o to it. Even when you type ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F ('',) S 78 J ( you still can't.) S
1800 8112 P (Before) S 50 J ( you can redirect to it, you must clear all these attribute bits.) S
2520 8576 P 0 12 F 0 10 F (79) S 120 J ( D% ls -l zork) S
2520 8840 P (-SHAR Feb 23 13:16 0 ) S 0 12 F 0 10 F I (zork) S E
2520 9104 P 0 12 F 0 10 F (80) S 120 J ( D% echo new zork data >! zork) S
2520 9368 P (csh: Couldn't open 'zork' as a redirected standard output.) S
2520 9632 P (81 D% chmod -R zork) S
2520 9896 P (82 D% echo new zork data >! zork) S
2520 10160 P (csh: Couldn't open 'zork' as a redirected standard output.) S
2520 10424 P (83 D% chmod -SH zork) S
2520 10688 P (84 D% ls -l zork) S
2520 10952 P (---A- Feb 23 13:16 0 zork) S
2520 11216 P (85 D% echo new zork data > zork) S
2520 11480 P (86 D% _) S
1800 12424 P 0 12 F 8 12 F B (Stdout) S 67 J ( and Stderr) S E
2333 12928 P 0 12 F 26 10 F (Redirecting) S 89 J ( both stdout and stderr together is done by adding an ampersand. For) S
1800 13192 P (example,) S 91 J ( using) S 92 J ( ) S 0 12 F 0 10 F (echo) S 0 12 F 26 10 F ('s) S 91 J ( ``) S 0 12 F 0 10 F (-2) S 0 12 F 26 10 F ('') S 92 J ( option) S 91 J ( to) S 92 J ( deliberately) S 91 J ( write) S 92 J ( to) S 91 J ( stderr) S 92 J ( and parentheses for a) S
1800 13456 P (simple) S 50 J ( grouping:) S
2520 13920 P 0 12 F 0 10 F (86) S 120 J ( D% \(echo -2 error; echo standard\) > zork) S
2520 14184 P (error) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (42) S 0 12 F
PE
9432 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
2880 1704 P 0 12 F 0 10 F (87) S 120 J ( D% cat zork) S
2880 1968 P (standard) S
2880 2232 P (88 D% \(echo -2 error; echo standard\) >& zork) S
2880 2496 P (89 D% cat zork) S
2880 2760 P (error) S
2880 3024 P (standard) S
2880 3288 P (90 D% _) S
2693 3752 P 0 12 F 26 10 F (Separately) S 86 J ( redirecting) S 87 J ( stderr) S 86 J ( and) S 87 J ( stdout) S 86 J ( to) S 87 J ( different) S 86 J ( files) S 87 J ( is) S 86 J ( a) S 87 J ( little) S 86 J ( tricky:) S 87 J ( first you) S
2160 4016 P (redirect) S 58 J ( them) S 59 J ( both,) S 58 J ( then) S 59 J ( redirect) S 58 J ( stdout) S 59 J ( by) S 58 J ( itself.) S 59 J ( ) S 58 J ( Here's) S 59 J ( an example running the C compiler) S
2160 4280 P (with) S 50 J ( stdout to ) S 0 12 F 0 10 F (log) S 0 12 F 26 10 F () S 50 J ( and stderr going to ) S 0 12 F 0 10 F (errors) S 0 12 F 26 10 F (.) S
2880 4744 P 0 12 F 0 10 F (90) S 120 J ( D% cl hello.c >& errors > log) S
2160 5208 P 0 12 F 26 10 F (You) S 72 J ( can) S 73 J ( type) S 72 J ( as) S 73 J ( many) S 72 J ( i/o) S 73 J ( redirections) S 72 J ( in) S 73 J ( a) S 72 J ( row) S 73 J ( as) S 72 J ( you) S 73 J ( like.) S 72 J ( ) S 73 J ( The) S 72 J ( shell) S 73 J ( evaluates them one) S
2160 5472 P (after) S 67 J ( another.) S 68 J ( ) S 67 J ( If) S 68 J ( you) S 67 J ( redirect) S 68 J ( to) S 67 J ( a) S 68 J ( new) S 67 J ( file,) S 68 J ( then) S 67 J ( redirect) S 68 J ( to) S 67 J ( something) S 68 J ( else,) S 67 J ( the) S 68 J ( effect) S 67 J ( is just) S
2160 5736 P (like) S 50 J ( ) S 0 12 F 0 10 F (touch) S 0 12 F 26 10 F ('ing) S 50 J ( the file.) S
2160 6680 P 0 12 F 8 12 F B (Pipes) S E
2693 7184 P 0 12 F 26 10 F (Pipes) S 59 J ( are) S 60 J ( a) S 59 J ( way) S 60 J ( of) S 59 J ( connecting) S 60 J ( a) S 59 J ( series) S 60 J ( of activities together so that the output of one is) S
2160 7448 P (read) S 66 J ( as) S 67 J ( input) S 66 J ( to) S 67 J ( the) S 66 J ( next. Each of the activities runs asynchronously and concurrently with) S
2160 7712 P (the) S 50 J ( others. Data is passed completely in memory and is very fast.) S
2693 8176 P (The) S 79 J ( syntax) S 80 J ( is) S 79 J ( similar) S 80 J ( to) S 79 J ( i/o) S 80 J ( redirection in its use of the ``) S 0 12 F 0 10 F (&) S 0 12 F 26 10 F ('') S 80 J ( character. To pipe just) S
2160 8440 P (stdout,) S 50 J ( use ``) S 0 12 F 0 10 F (|) S 0 12 F 26 10 F ('') S 50 J ( by itself:) S
2880 8904 P 0 12 F 0 10 F (91) S 120 J ( D% ls -L | more) S
2160 9368 P 0 12 F 26 10 F (To) S 50 J ( pipe both stdout and stderr together, use ``) S 0 12 F 0 10 F (|&) S 0 12 F 26 10 F ('':) S
2880 9832 P 0 12 F 0 10 F (92) S 120 J ( D% cl hello\\hello.c |& more) S
2693 10296 P 0 12 F 26 10 F (The) S 53 J ( leftmost) S 54 J ( part) S 53 J ( of) S 54 J ( the) S 53 J ( pipeline) S 54 J ( is) S 53 J ( evaluated directly by the shell's current thread. The) S
2160 10560 P (successive) S 56 J ( right) S 57 J ( parts) S 56 J ( are) S 57 J ( evaluated by child threads. \(This is so that piping a command that) S
2160 10824 P (lists) S 76 J ( status) S 77 J ( information) S 76 J ( on) S 77 J ( the current thread through a filter like ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 77 J ( operates sensibly.\)) S
2160 11088 P (Each) S 85 J ( part) S 86 J ( of) S 85 J ( the) S 86 J ( pipeline) S 85 J ( can) S 86 J ( be) S 85 J ( an) S 86 J ( arbitrarily) S 85 J ( complex) S 86 J ( statement,) S 85 J ( perhaps) S 86 J ( even) S 85 J ( run) S 86 J ( as a) S
2160 11352 P (separate) S 50 J ( OS/2 screen group or in a separate NT window.) S
2693 11816 P (Pipes) S 97 J ( are) S 98 J ( much) S 97 J ( faster) S 98 J ( and) S 97 J ( more) S 98 J ( responsive) S 97 J ( than) S 98 J ( with) S 97 J ( vanilla OS/2 or NT due to) S
2160 12080 P (improved) S 60 J ( buffering) S 61 J ( and) S 60 J ( scheduling) S 61 J ( technology.) S 60 J ( ) S 61 J ( A) S 60 J ( long) S 61 J ( pipeline) S 60 J ( finishes much faster. Also,) S
2160 12344 P (when) S 113 J ( you) S 114 J ( type) S 113 J ( ) S 0 12 F 0 10 F (^C) S 0 12 F 26 10 F () S 114 J ( to) S 113 J ( interrupt,) S 114 J ( it) S 113 J ( comes) S 114 J ( back) S 113 J ( immediately) S 114 J ( without a lot of nuisance) S
2160 12608 P (messages.) S
5831 15384 P (Page) S 50 J ( ) S (43) S 0 12 F
PE
720 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
1800 1704 P B (Command Substitution) S E
2333 2208 P 0 12 F 26 10 F (A) S 70 J ( particularly) S 71 J ( novel) S 70 J ( way) S 71 J ( of) S 70 J ( piping) S 71 J ( statements) S 70 J ( together) S 71 J ( is) S 70 J ( to) S 71 J ( use) S 70 J ( the) S 71 J ( output) S 70 J ( of) S 71 J ( one as) S
1800 2472 P (command) S 50 J ( line) S 51 J ( arguments) S 50 J ( of) S 51 J ( another.) S 50 J ( This is called command substitution and you indicate it) S
1800 2736 P (by typing backquotes, ) S 0 12 F 0 10 F (`...`) S 0 12 F 26 10 F (,) S 50 J ( around a command.) S
2520 3200 P 0 12 F 0 10 F (93) S 120 J ( D% ls +a) S
2520 3464 P 0 12 F 0 10 F B (.) S 120 J ( hello) S E 0 12 F 0 10 F () S 120 J ( zork) S
2520 3728 P 0 12 F 0 10 F B (..) S 120 J ( memos) S E
2520 3992 P 0 12 F 0 10 F (94) S 120 J ( D% echo `ls +a`) S
2520 4256 P (. hello zork .. memos) S
2520 4520 P (95 D% _) S
2333 4984 P 0 12 F 26 10 F (When) S 51 J ( command) S 52 J ( substitution) S 51 J ( is) S 52 J ( done,) S 51 J ( all) S 52 J ( the) S 51 J ( extra) S 52 J ( ``white) S 51 J ( space'' \(space characters, tabs) S
1800 5248 P (and) S 58 J ( newlines\)) S 59 J ( is squeezed out. Also, any ANSI escape sequences that might have turned on) S
1800 5512 P (highlighting) S 108 J ( or) S 109 J ( color,) S 108 J ( etc.,) S 109 J ( are) S 108 J ( deleted.) S 109 J ( ) S 108 J ( You) S 109 J ( just) S 108 J ( get) S 109 J ( the) S 108 J ( list) S 109 J ( of) S 108 J ( words) S 109 J ( the) S 108 J ( backquoted) S
1800 5776 P (command) S 57 J ( wrote) S 58 J ( to) S 57 J ( stdout.) S 58 J ( ) S 57 J ( In) S 58 J ( this) S 57 J ( example,) S 58 J ( the) S 57 J ( order) S 58 J ( of) S 57 J ( the files is a bit scrambled when the) S
1800 6040 P (line ends) S 58 J ( are) S 57 J ( removed;) S 58 J ( the ) S 0 12 F 0 10 F (-1) S 0 12 F 26 10 F () S 58 J ( \(numeric one\) single column option can fix this. \(Try it again) S
1800 6304 P (using) S 50 J ( ) S 0 12 F 0 10 F (ls) S 120 J ( +a1) S 0 12 F 26 10 F () S 50 J ( inside the backquotes.\)) S
2333 6768 P (Command) S 119 J ( substitution) S 120 J ( is) S 119 J ( especially) S 120 J ( useful) S 119 J ( anywhere) S 120 J ( you need to give a list of) S
1800 7032 P (filenames) S 55 J ( as) S 56 J ( arguments) S 55 J ( to) S 56 J ( a) S 55 J ( command.) S 56 J ( ) S 55 J ( Here's an example using ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 55 J ( to give a detailed listing) S
1800 7296 P (of) S 50 J ( the two ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 50 J ( filters, the old and the new:) S
2520 7760 P 0 12 F 0 10 F (95) S 120 J ( D% whereis more) S
2520 8024 P (c:\\hamilton\\more.exe) S
2520 8288 P (c:\\os2\\more.com) S
2520 8552 P (96 D% ls -l `whereis more`) S
2520 8816 P (---A- Mar 20 8:00 20123 c:\\hamilton\\more.exe) S
2520 9080 P (---A- Oct 26 12:00 31658 c:\\os2\\more.com) S
1800 9544 P 0 12 F 26 10 F (\(Our) S 50 J ( more is ``less filling and tastes better.''\)) S
2333 10008 P (The) S 64 J ( string) S 65 J ( inside) S 64 J ( the) S 65 J ( backquotes) S 64 J ( is) S 65 J ( passed) S 64 J ( directly) S 65 J ( to) S 64 J ( a child thread for interpretation.) S
1800 10272 P (If) S 50 J ( there) S 51 J ( are) S 50 J ( any variable substitutions inside the backquotes, they're done by the child, not the) S
1800 10536 P (parent.) S 79 J ( ) S 80 J ( This) S 79 J ( lets) S 80 J ( you) S 79 J ( easily embed ) S 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 79 J ( loops and other programming constructs into the) S
1800 10800 P (command) S 50 J ( substitution.) S
2333 11264 P (Inside) S 56 J ( backquotes,) S 57 J ( only) S 56 J ( the) S 57 J ( backquote character needs to be escaped to avoid having it) S
1800 11528 P (processed) S 50 J ( by the parent thread.) S
1800 12472 P 0 12 F 8 12 F B (Inline) S 67 J ( Data) S E
2333 12976 P 0 12 F 26 10 F (A) S 50 J ( novel) S 51 J ( variation) S 50 J ( on) S 51 J ( i/o) S 50 J ( redirection) S 51 J ( is) S 50 J ( inline) S 51 J ( data,) S 50 J ( also) S 51 J ( called ``here'' documents: literal) S
1800 13240 P (text) S 50 J ( you want the shell to feed a command as stdin. Here's an example:) S
5831 15384 P (Page ) S (44) S 0 12 F
PE
9432 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
2880 1704 P 0 12 F 0 10 F (97) S 120 J ( D% cat <<eof) S
2880 1968 P (98 D? \(this is the inline data\)) S
2880 2232 P (99 D? eof) S
2880 2496 P (\(this is the inline data\)) S
2880 2760 P (100 D% _) S
2160 3224 P 0 12 F 26 10 F (The) S 54 J ( ``) S 0 12 F 0 10 F (<<) S 0 12 F 26 10 F ('') S 55 J ( operator) S 54 J ( is) S 55 J ( followed) S 54 J ( by) S 55 J ( a) S 54 J ( string) S 55 J ( the) S 54 J ( shell) S 55 J ( is) S 54 J ( asked) S 55 J ( to) S 54 J ( look) S 55 J ( for) S 54 J ( to) S 55 J ( mark) S 54 J ( the) S 55 J ( end of the) S
2160 3488 P (inline) S 79 J ( data.) S 80 J ( ) S 79 J ( The) S 80 J ( end-of-data) S 79 J ( string) S 80 J ( can) S 79 J ( be) S 80 J ( virtually) S 79 J ( anything) S 80 J ( you like, including wildcard) S
2160 3752 P (characters,) S 105 J ( dollar) S 106 J ( signs,) S 105 J ( etc.;) S 106 J ( their) S 105 J ( normal) S 106 J ( meaning) S 105 J ( is) S 106 J ( turned off and they're treated as) S
2160 4016 P (ordinary) S 53 J ( literal) S 54 J ( characters.) S 53 J ( ) S 54 J ( Only) S 53 J ( quote) S 54 J ( or escape characters have any special meaning, which) S
2160 4280 P (is) S 50 J ( to) S 51 J ( turn) S 50 J ( off) S 51 J ( substitutions) S 50 J ( in) S 51 J ( the) S 50 J ( inline) S 51 J ( text) S 50 J ( \(as) S 51 J ( we'll discuss in a moment\). Continuation lines) S
2160 4544 P (as) S 106 J ( the) S 107 J ( shell) S 106 J ( collects) S 107 J ( the) S 106 J ( inline) S 107 J ( data) S 106 J ( get) S 107 J ( a) S 106 J ( different) S 107 J ( prompt,) S 106 J ( controlled) S 107 J ( by the ) S 0 12 F 0 10 F (prompt2) S
2160 4808 P 0 12 F 26 10 F (variable.) S 84 J ( ) S 85 J ( Once) S 84 J ( the) S 85 J ( data) S 84 J ( has been collected in memory, it's written through a pipe to the) S
2160 5072 P (command.) S
2693 5536 P (One) S 56 J ( very) S 57 J ( convenient) S 56 J ( use) S 57 J ( of) S 56 J ( inline) S 57 J ( data is when you want to quickly search for any one) S
2160 5800 P (of) S 58 J ( a) S 59 J ( number) S 58 J ( of) S 59 J ( important) S 58 J ( words) S 59 J ( in) S 58 J ( a) S 59 J ( large) S 58 J ( library.) S 59 J ( ) S 58 J ( E.g.,) S 59 J ( to) S 58 J ( scan) S 59 J ( for) S 58 J ( some specific strings in a) S
2160 6064 P (set) S 50 J ( of C files:) S
2880 6528 P 0 12 F 0 10 F (100) S 120 J ( D% fgrep -ns <<xxx ~\\sh\\*.c) S
2880 6792 P (101 D? DosOpen) S
2880 7056 P (102 D? DosClose) S
2880 7320 P (103 D? DosRead) S
2880 7584 P (104 D? DosWrite) S
2880 7848 P (105 D? xxx) S
2880 8112 P (: ) S 0 12 F 26 10 F I (search) S 50 J ( results) S E
2693 8576 P 0 12 F 26 10 F (In) S 59 J ( situations where the inline data is being created inside a larger structure, the data is) S
2160 8840 P (assumed) S 50 J ( to) S 51 J ( start) S 50 J ( on) S 51 J ( the) S 50 J ( first) S 51 J ( line) S 50 J ( following) S 51 J ( a) S 50 J ( break) S 51 J ( between statements. For example, inside a) S
2160 9104 P 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 50 J ( loop:) S
2880 9568 P 0 12 F 0 10 F (106) S 120 J ( D% for i = 1 to 3 do) S
2880 9832 P (107 D? cat <<eof; echo i = $i) S
2880 10096 P (108 D? \(this is the inline data\)) S
2880 10360 P (109 D? eof) S
2880 10624 P (110 D? end) S
2880 10888 P (\(this is the inline data\)\000) S
2880 11152 P (i = 1) S
2880 11416 P (\(this is the inline data\)\000) S
2880 11680 P (i = 2) S
2880 11944 P (\(this is the inline data\)\000) S
2880 12208 P (i = 3) S
2693 12672 P 0 12 F 26 10 F (If) S 63 J ( you) S 64 J ( want to put several inline i/o redirections on the same line, type the associated) S
2160 12936 P (inline) S 73 J ( data) S 74 J ( sections, each with its own terminating string, in the same left-to-right order in) S
2160 13200 P (which) S 50 J ( they appeared.) S
2693 13664 P (So) S 54 J ( far,) S 55 J ( we've) S 54 J ( just) S 55 J ( shown) S 54 J ( examples) S 55 J ( involving static text. But it's also possible to ask the) S
2160 13928 P (shell) S 50 J ( to do command and variable substitutions on the inline text:) S
5831 15384 P (Page ) S (45) S 0 12 F
PE
720 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
2520 1704 P 0 12 F 0 10 F (111) S 120 J ( D% cat << ***) S
2520 1968 P (112 D? The ^$home directory is $home.) S
2520 2232 P (113 D? Today's date is `date`.) S
2520 2496 P (114 D? ***) S
2520 2760 P (The $home directory is d:\\doug) S
2520 3024 P (Today's date is Wed Mar 17 1993 14:40:51.12.) S
2520 3288 P (115 D% _) S
2333 3752 P 0 12 F 26 10 F (Notice) S 62 J ( that) S 63 J ( although) S 62 J ( substitutions) S 63 J ( and) S 62 J ( escape) S 63 J ( characters) S 62 J ( inside) S 63 J ( the) S 62 J ( here) S 63 J ( document) S 62 J ( are) S
1800 4016 P (processed,) S 50 J ( quotes \(both single and double\) are not.) S
2333 4480 P ([The) S 109 J ( C) S 110 J ( shell) S 109 J ( implements) S 110 J ( here) S 109 J ( documents) S 110 J ( by spawning a child thread to do any) S
1800 4744 P (substitutions) S 74 J ( and) S 75 J ( write) S 74 J ( the) S 75 J ( results) S 74 J ( into) S 75 J ( a pipe feeding the current thread as it continues to) S
1800 5008 P (evaluate) S 63 J ( the) S 64 J ( statement.) S 63 J ( ) S 64 J ( If) S 63 J ( the) S 64 J ( here) S 63 J ( document) S 64 J ( contains) S 63 J ( references) S 64 J ( to shared variables, they'll) S
1800 5272 P (be) S 63 J ( evaluated) S 64 J ( by) S 63 J ( that) S 64 J ( other) S 63 J ( thread.) S 64 J ( ) S 63 J ( And) S 64 J ( unless) S 63 J ( they're) S 64 J ( local) S 63 J ( variables,) S 64 J ( the) S 63 J ( values) S 64 J ( will) S 63 J ( not be) S
1800 5536 P (snapshotted) S 69 J ( when) S 70 J ( the) S 69 J ( here) S 70 J ( document thread is created. If the current thread \(or any other) S
1800 5800 P (thread\)) S 66 J ( continues) S 67 J ( to) S 66 J ( make) S 67 J ( changes) S 66 J ( to) S 67 J ( a) S 66 J ( variable after the here document thread is spawned) S
1800 6064 P (but) S 87 J ( before) S 88 J ( it) S 87 J ( evaluates) S 88 J ( the) S 87 J ( variable,) S 88 J ( the) S 87 J ( here) S 88 J ( document) S 87 J ( will) S 88 J ( contain) S 87 J ( the) S 88 J ( new,) S 87 J ( not the old) S
1800 6328 P (value.]) S
2333 6792 P (Command) S 69 J ( and) S 70 J ( variable) S 69 J ( substitution and escape processing inside a here document is) S
1800 7056 P (turned) S 51 J ( off) S 52 J ( if) S 51 J ( any) S 52 J ( part) S 51 J ( of) S 52 J ( the) S 51 J ( end-of-data) S 52 J ( string) S 51 J ( following) S 52 J ( the) S 51 J ( ) S 0 12 F 0 10 F (<<) S 0 12 F 26 10 F () S 52 J ( is) S 51 J ( quoted \(with single, double) S
1800 7320 P (or) S 50 J ( backquotes\) or escaped:) S
2520 7784 P 0 12 F 0 10 F (115) S 120 J ( D% cat <<^***) S
2520 8048 P (116 D? The ^$home directory is $home.) S
2520 8312 P (117 D? Today's date is `date`.) S
2520 8576 P (118 D? ***) S
2520 8840 P (The ^$home directory is $home) S
2520 9104 P (Today's date is `date`.) S
2520 9368 P (119 D% _) S
1800 10312 P 0 12 F 8 12 F B (Inline) S 67 J ( Data in Scripts) S E
2333 10816 P 0 12 F 26 10 F (Inline) S 61 J ( data can be especially useful if you're writing a script file or passing commands) S
1800 11080 P (to) S 82 J ( the) S 83 J ( shell) S 82 J ( through) S 83 J ( a) S 82 J ( pipe.) S 83 J ( ) S 82 J ( In) S 83 J ( either) S 82 J ( of) S 83 J ( these) S 82 J ( cases,) S 83 J ( the) S 82 J ( low-level) S 83 J ( DosReads to the OS/2) S
1800 11344 P (kernel) S 75 J ( \(or WriteFiles to the NT kernel\) cannot be depended on to stop at the end of a line) S
1800 11608 P (because) S 109 J ( pipes) S 110 J ( and) S 109 J ( files are considered block-oriented rather than line-oriented like the) S
1800 11872 P (keyboard.) S 51 J ( ) S 52 J ( If) S 51 J ( too) S 52 J ( many) S 51 J ( characters) S 52 J ( are) S 51 J ( read,) S 52 J ( there's) S 51 J ( no) S 52 J ( simple) S 51 J ( way) S 52 J ( to) S 51 J ( back) S 52 J ( up.) S 51 J ( ) S 52 J ( For) S 51 J ( this reason,) S
1800 12136 P (it's) S 71 J ( not) S 72 J ( realistic) S 71 J ( to) S 72 J ( write) S 71 J ( a) S 72 J ( script) S 71 J ( where) S 72 J ( a child process is supposed to inherit stdin pointed) S
1800 12400 P (into) S 50 J ( the script file. In a script file, this is ) S 0 12 F 26 10 F B I (not) S E E 0 12 F 26 10 F () S 50 J ( reliable:) S
5831 15384 P (Page ) S (46) S 0 12 F
PE
9432 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
2880 1704 P 0 12 F 0 10 F (:) S
2880 1968 P (:) S
2880 2232 P (csh) S
2880 2496 P (echo) S 120 J ( hello) S
2880 2760 P (exit) S
2880 3024 P (:) S
2880 3288 P (:) S
2160 3752 P 0 12 F 26 10 F (The) S 50 J ( file) S 51 J ( descriptor) S 50 J ( the) S 51 J ( child) S 50 J ( process) S 51 J ( inherits) S 50 J ( will) S 51 J ( likely) S 50 J ( not) S 51 J ( be) S 50 J ( pointing) S 51 J ( at the ``) S 0 12 F 0 10 F (echo) S 121 J ( hello) S 0 12 F 26 10 F ('';) S
2160 4016 P (when) S 77 J ( it) S 78 J ( exits,) S 77 J ( the) S 78 J ( parent) S 77 J ( will likely not find it pointed just past the ``) S 0 12 F 0 10 F (exit) S 0 12 F 26 10 F (''.) S 77 J ( This type of) S
2160 4280 P (script) S 50 J ( ) S 0 12 F 26 10 F B I (should) S E E 0 12 F 26 10 F () S 50 J ( be written as:) S
2880 4744 P 0 12 F 0 10 F (:) S
2880 5008 P (:) S
2880 5272 P (csh) S 120 J ( <<eof) S
2880 5536 P (echo hello) S
2880 5800 P (exit) S
2880 6064 P (eof) S
2880 6328 P (:) S
2880 6592 P (:) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (47) S 0 12 F
PE
720 984 P 8 12 F B (I/O) S 67 J ( Redirection) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (48) S 0 12 F
PE
10314 984 P 8 12 F B (History) S E
4727 2184 P 0 12 F 8 14 F B (The) S 78 J ( History Mechanism) S E
2160 3408 P 0 12 F 8 12 F B (History) S E
2693 3912 P 0 12 F 26 10 F (The) S 72 J ( history) S 73 J ( mechanism) S 72 J ( lets you recall and rerun earlier commands. To see what it's) S
2160 4176 P (remembered,) S 103 J ( ) S 104 J ( use) S 103 J ( the) S 104 J ( ) S 0 12 F 0 10 F (history) S 0 12 F 26 10 F () S 103 J ( command) S 104 J ( or) S 103 J ( its) S 104 J ( usual) S 103 J ( alias) S 104 J ( ) S 0 12 F 0 10 F (h) S 0 12 F 26 10 F (,) S 103 J ( which) S 104 J ( might) S 103 J ( show) S 104 J ( you) S
2160 4440 P (something) S 50 J ( like the following:) S
2880 4904 P 0 12 F 0 10 F (119) S 120 J ( D% history 12) S
2880 5168 P ( 108 \(this is the inline data\)) S
2880 5432 P ( 109 eof) S
2880 5696 P ( 110 end) S
2880 5960 P ( 111 cat << ***) S
2880 6224 P ( 112 The ^$home directory is $home.) S
2880 6488 P ( 113 Today's date is `date`.) S
2880 6752 P ( 114 ***) S
2880 7016 P ( 115 cat << ^***) S
2880 7280 P ( 116 The ^$home directory is $home.) S
2880 7544 P ( 117 Today's date is `date`.) S
2880 7808 P ( 118 ***) S
2880 8072 P ( 119 history 12) S
2880 8336 P (120 D% _) S
2693 8800 P 0 12 F 26 10 F (The) S 87 J ( history) S 88 J ( list) S 87 J ( won't) S 88 J ( be) S 87 J ( quite) S 88 J ( what) S 87 J ( you) S 88 J ( typed:) S 87 J ( it'll) S 88 J ( be) S 87 J ( broken into separate words) S
2160 9064 P (wherever) S 62 J ( ) S 63 J ( one) S 62 J ( of) S 63 J ( the) S 62 J ( special) S 63 J ( tokens,) S 62 J ( ) S 0 12 F 0 10 F (&) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (|) S 0 12 F 26 10 F (,) S 62 J ( ) S 0 12 F 0 10 F (;) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F (,) S 62 J ( ) S 0 12 F 0 10 F (<) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (,) S 62 J ( ) S 0 12 F 0 10 F (\)) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (&&) S 0 12 F 26 10 F (,) S 62 J ( ) S 0 12 F 0 10 F (||) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F () S 62 J ( or ) S 0 12 F 0 10 F (<<) S 0 12 F 26 10 F (,) S 62 J ( occurs. Only inline) S
2160 9328 P (data) S 59 J ( escapes) S 60 J ( being) S 59 J ( broken) S 60 J ( up) S 59 J ( into) S 60 J ( words) S 59 J ( this) S 60 J ( way.) S 59 J ( ) S 60 J ( Each) S 59 J ( command) S 60 J ( may) S 59 J ( be) S 60 J ( thought of as an) S
2160 9539 P 0 12 F 26 8 F 2802 J ( ) S (\324) S
2160 9592 P 0 12 F 26 10 F (array) S 50 J ( of words, indexed from 0.) S
2693 10056 P (To) S 71 J ( reuse) S 72 J ( the) S 71 J ( text or maybe just a few words from a previous command, you type an) S
2160 10320 P (exclamation) S 82 J ( point,) S 83 J ( ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F ('',) S 82 J ( followed) S 83 J ( by) S 82 J ( a) S 83 J ( few) S 82 J ( characters) S 83 J ( to) S 82 J ( identify) S 83 J ( what) S 82 J ( you) S 83 J ( want to reuse.) S
2160 10584 P (You) S 60 J ( can) S 61 J ( do) S 60 J ( this anywhere and whatever you select is just stuffed back on the command line) S
2160 10848 P (to) S 54 J ( be) S 55 J ( interpreted) S 54 J ( as) S 55 J ( whatever) S 54 J ( the) S 55 J ( context) S 54 J ( suggests. For convenience, the exclamation point is) S
2160 11112 P (not) S 50 J ( treated) S 51 J ( as) S 50 J ( a history reference if it's followed by white space \(a space, tab or newline\) or by) S
2160 11376 P (``) S 0 12 F 0 10 F (=) S 0 12 F 26 10 F ('',) S 50 J ( ``) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F ('') S 50 J ( or ``) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (''.) S
2160 12320 P 0 12 F 8 12 F B (Retrieving) S 67 J ( a Whole Command Line) S E
2693 12824 P 0 12 F 26 10 F (There) S 51 J ( several) S 52 J ( ways) S 51 J ( of) S 52 J ( picking) S 51 J ( up) S 52 J ( a) S 51 J ( whole) S 52 J ( command) S 51 J ( line.) S 52 J ( ) S 51 J ( You) S 52 J ( already) S 51 J ( know) S 52 J ( how) S 51 J ( to) S 52 J ( do) S
2160 13088 P (it) S 78 J ( interactively) S 79 J ( with arrow keys and command completion. You can also use a shorthand) S
2160 13352 P (notation) S 62 J ( that) S 63 J ( can) S 62 J ( be) S 63 J ( more) S 62 J ( convenient) S 63 J ( if) S 62 J ( you) S 63 J ( want) S 62 J ( to) S 63 J ( do) S 62 J ( something) S 63 J ( a bit more complex. The) S
2160 13616 P (simplest) S 50 J ( shorthand is ``) S 0 12 F 0 10 F (!!) S 0 12 F 26 10 F ('',) S 50 J ( which picks up the text of the immediately preceding command:) S
2160 14040 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 14347 P 0 12 F 26 8 F (\324) S
2160 14400 P 80 J ( ) S () S 280 J ( Array) S 40 J ( indices always start with zero.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (49) S 0 12 F
PE
720 984 P 8 12 F B (History) S E
2520 1704 P 0 12 F 0 10 F (120) S 120 J ( D% echo !!) S
2520 1968 P (echo history 12) S
2520 2232 P (history 12) S
2520 2496 P (121 D% !!) S
2520 2760 P (echo history 12) S
2520 3024 P (history 12) S
2520 3288 P (122 D% _) S
1800 3752 P 0 12 F 26 10 F (The) S 51 J ( shell) S 52 J ( first) S 51 J ( echoes) S 52 J ( your) S 51 J ( command) S 52 J ( showing) S 51 J ( the) S 52 J ( effects) S 51 J ( of) S 52 J ( the) S 51 J ( substitutions) S 52 J ( and) S 51 J ( then runs it.) S
1800 4016 P (The) S 50 J ( other) S 51 J ( quick) S 50 J ( ways) S 51 J ( of) S 50 J ( referring) S 51 J ( to) S 50 J ( a) S 51 J ( whole command line from history are by the command) S
1800 4280 P (number,) S
2520 4744 P 0 12 F 0 10 F (122) S 120 J ( D% !96) S
2520 5008 P (ls -l whereis more`) S
2520 5272 P (---A- Nov 28 16:57 24743 c:\\os2\\bin\\more.exe) S
2520 5536 P (---A- Oct 21 1987 48354 c:\\os2\\cmds\\more.com) S
1800 5947 P 0 12 F 26 8 F 4261 J ( ) S (\324) S
1800 6000 P 0 12 F 26 10 F (relative) S 50 J ( to the immediately preceding command) S 80 J ( ) S (,) S
2520 6464 P 0 12 F 0 10 F (123) S 120 J ( D% echo one) S
2520 6728 P (one) S
2520 6992 P (124 D% echo two) S
2520 7256 P (two) S
2520 7520 P (125 D% echo three) S
2520 7784 P (three) S
2520 8048 P (126 D% !-1) S
2520 8312 P (echo two) S
2520 8576 P (two) S
2520 8840 P (127 D% _) S
1800 9304 P 0 12 F 26 10 F (or) S 66 J ( by) S 67 J ( mentioning) S 66 J ( some) S 67 J ( of) S 66 J ( the) S 67 J ( text) S 66 J ( to look for. A question mark after the exclamation point) S
1800 9568 P (means) S 50 J ( you'll accept the match anywhere on the line; otherwise it has to be at the start.) S
2520 10032 P 0 12 F 0 10 F (128) S 120 J ( D% !h) S
2520 10296 P (history 12) S
2520 10560 P ( 116 The ^$home directory is $home.) S
2520 10824 P ( 117 Today's date is `date`.) S
2520 11088 P ( 118 ***) S
2520 11352 P ( 119 history 12) S
2520 11616 P ( 120 echo history 12) S
2520 11880 P ( 121 echo history 12) S
2520 12144 P ( 122 ls -l `whereis more`) S
2520 12408 P ( 123 echo one) S
2520 12672 P ( 124 echo two) S
2520 12936 P ( 125 echo three) S
1800 13560 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
1800 13867 P 0 12 F 26 8 F (\324) S
1800 13920 P 80 J ( ) S () S 280 J ( In) S 78 J ( this) S 79 J ( context,) S 78 J ( the) S 79 J ( history) S 78 J ( list) S 79 J ( can) S 78 J ( be) S 79 J ( thought) S 78 J ( of) S 79 J ( as) S 78 J ( an) S 79 J ( array) S 78 J ( starting) S 79 J ( with) S 78 J ( the) S 79 J ( zeroth element being the) S
2160 14160 P (immediately) S 49 J ( preceding) S 50 J ( command) S 49 J ( line.) S 50 J ( The negative index captures the notion of counting backwards in time) S
2160 14400 P (and) S 40 J ( differentiates the syntax from references by command number. See also the ) S 0 12 F 0 8 F (bsdhistory) S 0 12 F 26 8 F () S 40 J ( variable.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (50) S 0 12 F
PE
10314 984 P 8 12 F B (History) S E
2880 1704 P 0 12 F 0 10 F () S 120 J ( 126 echo two) S
2880 1968 P ( 127 history 12) S
2160 2432 P 0 12 F 26 10 F (A) S 59 J ( search string ends at the first word boundary. This is so it's convenient to type additional) S
2160 2696 P (text) S 50 J ( following without having it be confused as part of the search string. For example:) S
2880 3160 P 0 12 F 0 10 F (128) S 120 J ( D% !?one;!?two;!?thr) S
2880 3424 P (echo one ; echo two ; echo three) S
2880 3688 P (one) S
2880 3952 P (two) S
2880 4216 P (three) S
2880 4480 P (129 D% _) S
2160 5424 P 0 12 F 8 12 F B (Retrieving) S 67 J ( Individual Words) S E
2693 5928 P 0 12 F 26 10 F (To) S 86 J ( pick) S 87 J ( off) S 86 J ( individual) S 87 J ( words) S 86 J ( of the immediately preceding command, there's some) S
2160 6192 P (convenient) S 50 J ( shorthand. ``) S 0 12 F 0 10 F (!*) S 0 12 F 26 10 F ('') S 50 J ( gets all the argument words:) S
2880 6656 P 0 12 F 0 10 F (129) S 120 J ( D% echo now is the time) S
2880 6920 P (now is the time) S
2880 7184 P (130 D% echo Finally, !* to begin) S
2880 7448 P (echo Finally, now is the time to begin) S
2880 7712 P (Finally, now is the time to begin) S
2880 7976 P (131 D% _) S
2160 8440 P 0 12 F 26 10 F (``) S 0 12 F 0 10 F (!$) S 0 12 F 26 10 F ('') S 50 J ( gets just the last word:) S
2880 8904 P 0 12 F 0 10 F (131) S 120 J ( D% echo the last word was !$.) S
2880 9168 P (echo the last word was begin.) S
2880 9432 P (the last word was begin.) S
2880 9696 P (132 D% _) S
2160 10160 P 0 12 F 26 10 F (and) S 50 J ( ``) S 0 12 F 0 10 F (!^) S 0 12 F 26 10 F ('') S 50 J ( gets just the first argument word:) S
2880 10624 P 0 12 F 0 10 F (132) S 120 J ( D% echo ===!^=== time is here) S
2880 10888 P (echo ===the=== time is here) S
2880 11152 P (===the=== time is here) S
2880 11416 P (133 D% _) S
2160 11880 P 0 12 F 26 10 F (Notice) S 50 J ( that a history substitution can be smashed right up against other literal text.) S
2693 12344 P (In) S 58 J ( the) S 59 J ( chapter) S 58 J ( on) S 59 J ( editing,) S 58 J ( additional) S 59 J ( facilities) S 58 J ( for) S 59 J ( selecting) S 58 J ( individual words or doing a) S
2160 12608 P (search/replace) S 50 J ( will be introduced.) S
2160 13552 P 0 12 F 8 12 F B (History) S 67 J ( Short-Form) S E
2693 14056 P 0 12 F 26 10 F (Recognizing) S 140 J ( how) S 141 J ( frequently) S 140 J ( one) S 141 J ( would) S 140 J ( like) S 141 J ( to) S 140 J ( make) S 141 J ( a) S 140 J ( simple change to the) S
2160 14320 P (immediately) S 66 J ( preceding) S 67 J ( command) S 66 J ( to) S 67 J ( correct) S 66 J ( a) S 67 J ( typo,) S 66 J ( the) S 67 J ( history mechanism provides a short) S
5831 15384 P (Page) S 50 J ( ) S (51) S 0 12 F
PE
720 984 P 8 12 F B (History) S E
1800 1704 P 0 12 F 26 10 F (form) S 72 J ( for) S 73 J ( just) S 72 J ( that purpose. ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F ('') S 72 J ( typed as the first character on the command line indicates) S
1800 1968 P (that) S 50 J ( a search/replace pair follows:) S
2520 2432 P 0 12 F 0 10 F (133) S 120 J ( D% echo hello world) S
2520 2696 P (hello world) S
2520 2960 P (134 D% %world%friends%) S
2520 3224 P (echo hello friends) S
2520 3488 P (hello friends) S
2333 3952 P 0 12 F 26 10 F (Typing) S 50 J ( ``) S 0 12 F 0 10 F (%%) S 0 12 F 26 10 F ('') S 50 J ( matches the beginning of the line:) S
2520 4416 P 0 12 F 0 10 F (135) S 120 J ( D% %%echo %) S
2520 4680 P (echo echo hello friends) S
2520 4944 P (echo hello friends) S
2333 5408 P 0 12 F 26 10 F (It's) S 86 J ( also) S 87 J ( possible) S 86 J ( to) S 87 J ( refer) S 86 J ( to) S 87 J ( the) S 86 J ( search string in the replacement string by using an) S
1800 5672 P (ampersand.) S 50 J ( ) S 51 J ( \(This) S 50 J ( example) S 51 J ( also) S 50 J ( illustrates) S 51 J ( that) S 50 J ( the) S 51 J ( trailing) S 50 J ( ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F ('') S 51 J ( isn't required unless you want) S
1800 5936 P (to) S 50 J ( explicitly mark the end of the replacement.\)) S
2520 6400 P 0 12 F 0 10 F (136) S 120 J ( D% %friends%family, & and neighbors) S
2520 6664 P (echo echo hello family, friends and neighbors) S
2520 6928 P (echo hello family, friends and neighbors) S
2520 7192 P (137 D% _) S
2333 7656 P 0 12 F 26 10 F (Obviously,) S 107 J ( that) S 108 J ( raises) S 107 J ( the) S 108 J ( question:) S 107 J ( ) S 108 J ( how) S 107 J ( do) S 108 J ( you) S 107 J ( put) S 108 J ( a) S 107 J ( literal) S 108 J ( ampersand in the) S
1800 7920 P (replacement?) S 50 J ( Simple. Just quote it with ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('',) S 50 J ( the shell escape character.) S
2520 8384 P 0 12 F 0 10 F (137) S 120 J ( D% %and%^&) S
2520 8648 P (echo hello family, friends & neighbors) S
2520 8912 P (hello family, friends & neighbors) S
2520 9176 P (138 D% _) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (52) S 0 12 F
PE
10074 984 P 8 12 F B (Variables) S E
5676 2184 P 0 12 F 8 14 F B (Variables) S E
2693 2928 P 0 12 F 26 10 F (As) S 99 J ( with) S 100 J ( any) S 99 J ( conventional) S 100 J ( programming) S 99 J ( language,) S 100 J ( the) S 99 J ( shell) S 100 J ( provides) S 99 J ( a) S 100 J ( facility for) S
2160 3192 P (storing) S 50 J ( values in variables.) S
2160 4136 P 0 12 F 8 12 F B (Environmental) S 67 J ( Variables) S E
2693 4640 P 0 12 F 26 10 F (Some) S 55 J ( of) S 56 J ( the) S 55 J ( variables) S 56 J ( are) S 55 J ( part of the environment, passed along to any child process or) S
2160 4904 P (screen) S 64 J ( group. Many of the environment variables will have been created just this way, e.g.,) S
2160 5168 P (set) S 73 J ( to) S 74 J ( a) S 73 J ( value) S 74 J ( passed) S 73 J ( along) S 74 J ( when) S 73 J ( you) S 74 J ( start) S 73 J ( the) S 74 J ( C) S 73 J ( shell) S 74 J ( from) S 73 J ( Group) S 74 J ( Main) S 73 J ( \(on) S 74 J ( OS/2\) or the) S
2160 5432 P (Program) S 71 J ( Manager \(on NT\). To list those currently defined, use the ) S 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F () S 71 J ( command. \(If) S
2160 5696 P (you're) S 57 J ( using) S 58 J ( Windows) S 57 J ( NT,) S 58 J ( mentally) S 57 J ( edit) S 58 J ( this) S 57 J ( example to imagine it says ) S 0 12 F 0 10 F (nt) S 0 12 F 26 10 F () S 57 J ( everywhere you) S
2160 5960 P (see) S 50 J ( ) S 0 12 F 0 10 F (os2) S 0 12 F 26 10 F (.\)) S
2880 6424 P 0 12 F 0 10 F (138) S 120 J ( D% setenv) S
2880 6688 P (COMSPEC c:\\os2\\cmd.exe) S
2880 6952 P (COLORS white on blue) S
2880 7216 P (DPATH c:\\os2;c:\\os2\\system;c:\\os2\\install;c:\\;) S
2880 7480 P (HOME d:\\doug) S
2880 7744 P (INCLUDE c:\\os2\\include) S
2880 8008 P (LIB c:\\os2\\lib) S
2880 8272 P (PATH .;c:\\os2\\bin;c:\\os2\\cmds;c:\\os2) S
2880 8536 P (PROMPT $iOS/2 $n$g) S
2880 8800 P (PROMPT1 $@ $CDISK%) S
2880 9064 P (PROMPT2 $@ $CDISK?) S
2880 9328 P (SHELL c:\\os2\\bin\\csh.exe) S
2880 9592 P (TABS 3) S
2880 9856 P (TMP e:\\tmp) S
2693 10320 P 0 12 F 26 10 F (Variable) S 61 J ( names) S 62 J ( are) S 61 J ( case-sensitive) S 62 J ( on) S 61 J ( OS/2) S 62 J ( but) S 61 J ( case-) S 0 12 F 26 10 F I (in) S E 0 12 F 26 10 F (sensitive) S 62 J ( on NT. They can be of) S
2160 10584 P (arbitrary) S 80 J ( length.) S 81 J ( ) S 80 J ( A) S 81 J ( name) S 80 J ( must) S 81 J ( start) S 80 J ( with) S 81 J ( an) S 80 J ( upper-) S 81 J ( or) S 80 J ( lower-case) S 81 J ( alphabetic) S 80 J ( character or) S
2160 10848 P (underscore) S 60 J ( ) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (``) S 0 12 F 0 10 F (_) S 0 12 F 26 10 F (''\)) S 61 J ( or) S 60 J ( at-sign) S 61 J ( ) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (``) S 0 12 F 0 10 F (@) S 0 12 F 26 10 F (''\);) S 61 J ( remaining characters may any of these or decimal digits.) S
2160 11112 P (Many) S 113 J ( of) S 114 J ( the) S 113 J ( environmental) S 114 J ( variables) S 113 J ( have) S 114 J ( specific) S 113 J ( meanings.) S 114 J ( ) S 113 J ( For example, the ) S 0 12 F 0 10 F (PATH) S
2160 11376 P 0 12 F 26 10 F (variable) S 67 J ( tells) S 68 J ( where) S 67 J ( to) S 68 J ( look) S 67 J ( for) S 68 J ( executable) S 67 J ( files,) S 68 J ( etc.) S 67 J ( ) S 68 J ( Details) S 67 J ( describing) S 68 J ( the meaning of each) S
2160 11640 P (variable) S 50 J ( are given in the language reference section.) S
2693 12104 P (The) S 52 J ( ) S 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F () S 53 J ( command) S 52 J ( can) S 53 J ( also) S 52 J ( be) S 53 J ( used) S 52 J ( to) S 53 J ( create) S 52 J ( a) S 53 J ( new) S 52 J ( environmental) S 53 J ( variable or alter) S
2160 12368 P (or) S 50 J ( display the value of an existing one:) S
2880 12832 P 0 12 F 0 10 F (139) S 120 J ( D% setenv zork = this is the zork variable) S
2880 13096 P (140 D% setenv zork) S
2880 13360 P (zork this is the zork variable) S
2880 13624 P (141 D% _) S
2693 14088 P 0 12 F 26 10 F (If) S 58 J ( the) S 59 J ( list) S 58 J ( of) S 59 J ( words) S 58 J ( being) S 59 J ( assigned) S 58 J ( to) S 59 J ( the) S 58 J ( variable includes any special tokens, it's often) S
2160 14352 P (useful) S 50 J ( to) S 51 J ( use) S 50 J ( the) S 51 J ( parenthesized) S 50 J ( variant) S 51 J ( of) S 50 J ( ) S 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F (.) S 51 J ( ) S 50 J ( In this example, the ``) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F ('') S 50 J ( would have been) S
5831 15384 P (Page ) S (53) S 0 12 F
PE
720 984 P 8 12 F B (Variables) S E
1800 1704 P 0 12 F 26 10 F (confused) S 53 J ( as) S 54 J ( an) S 53 J ( i/o) S 54 J ( redirection) S 53 J ( if) S 54 J ( it) S 53 J ( weren't inside parenthesis. Notice that the parenthesis are) S
1800 1968 P (stripped) S 50 J ( off before the assignment is made.) S
2520 2432 P 0 12 F 0 10 F (141) S 120 J ( D% setenv greatest = \(At Berkeley, they say 4.3 > V\)) S
2520 2696 P (142 D% setenv greatest) S
2520 2960 P (greatest At Berkeley, they say 4.3 > V) S
2333 3424 P 0 12 F 26 10 F (Even) S 52 J ( though) S 53 J ( the) S 52 J ( special) S 53 J ( meaning) S 52 J ( is) S 53 J ( lost,) S 52 J ( text) S 53 J ( inside) S 52 J ( the) S 53 J ( parenthesis) S 52 J ( is) S 53 J ( still) S 52 J ( broken) S 53 J ( down) S
1800 3688 P (into) S 50 J ( words, as shown in this example:) S
2520 4152 P 0 12 F 0 10 F (143) S 120 J ( D% setenv pdirs = \(.;c:\\os2\\bin;c:\\os2\\cmds;c:\\os2;\)) S
2520 4416 P (144 D% setenv pdirs) S
2520 4680 P (pdirs . ; c:\\os2\\bin ; c:\\os2\\cmds ; c:\\os2) S
2333 5144 P 0 12 F 26 10 F (\(To) S 50 J ( avoid) S 51 J ( having) S 50 J ( the) S 51 J ( text) S 50 J ( broken) S 51 J ( up) S 50 J ( into) S 51 J ( words,) S 50 J ( use) S 51 J ( single or double quotes around the) S
1800 5408 P (string) S 50 J ( instead.\)) S
1800 6352 P 0 12 F 8 12 F B (Set) S 67 J ( Variables) S E
2333 6856 P 0 12 F 26 10 F (Set) S 56 J ( variables) S 57 J ( do) S 56 J ( not) S 57 J ( get) S 56 J ( passed) S 57 J ( to) S 56 J ( a) S 57 J ( child) S 56 J ( process but are shared among all threads. To) S
1800 7120 P (get) S 50 J ( a list of those currently defined, use the ) S 0 12 F 0 10 F (set) S 0 12 F 26 10 F () S 50 J ( command:) S
2520 7584 P 0 12 F 0 10 F (145) S 120 J ( D% set) S
2520 7848 P (CDISK D) S
2520 8112 P (argv) S
2520 8376 P (cdhome 0) S
2520 8640 P (cdisk d) S
2520 8904 P (:) S
2520 9168 P (:) S
2520 9432 P (path . c:\\os2\\bin c:\\os2\\cmds c:\\os2) S
2520 9696 P (precision 6) S
2520 9960 P (:) S
2520 10224 P (:) S
2333 10688 P 0 12 F 26 10 F (Some) S 75 J ( of) S 76 J ( the) S 75 J ( set) S 76 J ( variables) S 75 J ( are) S 76 J ( linked to the environmental variables: you change one,) S
1800 10952 P (and) S 69 J ( the) S 70 J ( other) S 69 J ( changes too. For example, ) S 0 12 F 0 10 F (path) S 0 12 F 26 10 F () S 69 J ( contains the same information as ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 69 J ( but,) S
1800 11216 P (because) S 50 J ( it's been parsed into individual words, it's often a bit more useful.) S
2333 11680 P (On) S 72 J ( NT,) S 73 J ( this) S 72 J ( linkage) S 73 J ( can) S 72 J ( pose) S 73 J ( a) S 72 J ( bit) S 73 J ( of) S 72 J ( a) S 73 J ( problem.) S 72 J ( ) S 73 J ( Since) S 72 J ( the) S 73 J ( convention) S 72 J ( on) S 73 J ( NT) S 72 J ( is) S 73 J ( that) S
1800 11944 P (environmental) S 117 J ( variables) S 118 J ( are supposed to be case-insensitive, there clearly is a conflict) S
1800 12208 P (between,) S 60 J ( for) S 61 J ( example,) S 60 J ( the) S 61 J ( ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 60 J ( environmental) S 61 J ( and) S 60 J ( ) S 0 12 F 0 10 F (path) S 0 12 F 26 10 F () S 61 J ( set) S 60 J ( variables.) S 61 J ( ) S 60 J ( The) S 61 J ( C) S 60 J ( shell) S 61 J ( resolves) S
1800 12472 P (this) S 90 J ( by) S 91 J ( making) S 90 J ( the) S 91 J ( set,) S 90 J ( unset) S 91 J ( and) S 90 J ( @) S 91 J ( statements) S 90 J ( case-sensitive) S 91 J ( \(so) S 90 J ( you) S 91 J ( can) S 90 J ( still) S 91 J ( create) S 90 J ( set) S
1800 12736 P (variables) S 59 J ( that) S 60 J ( differ) S 59 J ( from) S 60 J ( environmental) S 59 J ( variables) S 60 J ( only) S 59 J ( by case\) but the setenv and unsetenv) S
1800 13000 P (and) S 70 J ( $var) S 71 J ( and) S 70 J ( other variable references first try case-sensitive, then case insensitive variable) S
1800 13264 P (lookups.) S
2333 13728 P (Many) S 55 J ( of) S 56 J ( the) S 55 J ( set) S 56 J ( variables) S 55 J ( are) S 56 J ( pre-defined) S 55 J ( by) S 56 J ( the) S 55 J ( shell) S 56 J ( to) S 55 J ( control) S 56 J ( various aspects of how) S
1800 13992 P (errors) S 64 J ( are handled, etc. In some cases, each thread maintains its own copy. For example, it) S
1800 14256 P (wouldn't) S 65 J ( do) S 66 J ( to) S 65 J ( insist that all threads must use the same value for the ) S 0 12 F 0 10 F (cwd) S 0 12 F 26 10 F () S 65 J ( \(current working) S
5831 15384 P (Page) S 50 J ( ) S (54) S 0 12 F
PE
10074 984 P 8 12 F B (Variables) S E
2160 1704 P 0 12 F 26 10 F (directory\)) S 67 J ( variable!) S 68 J ( ) S 67 J ( The) S 68 J ( rest) S 67 J ( of) S 68 J ( the) S 67 J ( variables,) S 68 J ( including) S 67 J ( any) S 68 J ( defined by the user, are shared) S
2160 1968 P (among) S 97 J ( all) S 98 J ( threads:) S 97 J ( ) S 98 J ( if) S 97 J ( one) S 98 J ( thread) S 97 J ( changes) S 98 J ( a) S 97 J ( value,) S 98 J ( all) S 97 J ( the) S 98 J ( other) S 97 J ( threads) S 98 J ( see) S 97 J ( the) S 98 J ( change) S
2160 2232 P (immediately.) S 90 J ( ) S 91 J ( As) S 90 J ( we'll) S 91 J ( see) S 90 J ( later,) S 91 J ( this has some implications when spawning background) S
2160 2496 P (activities.) S
2693 2960 P (In) S 50 J ( other respects, ) S 0 12 F 0 10 F (set) S 0 12 F 26 10 F () S 50 J ( works just like ) S 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F (:) S
2880 3424 P 0 12 F 0 10 F (146) S 120 J ( D% set privatezork = this is the private zork variable) S
2880 3688 P (147 D% set privatezork) S
2880 3952 P (privatezork this is the private zork variable) S
2880 4216 P (148 D% _) S
2693 4680 P 0 12 F 26 10 F (Once) S 68 J ( a) S 69 J ( variable) S 68 J ( has) S 69 J ( been) S 68 J ( created) S 69 J ( as) S 68 J ( either) S 69 J ( a) S 68 J ( set) S 69 J ( or) S 68 J ( an) S 69 J ( environmental variable, it stays) S
2160 4944 P (that) S 61 J ( way:) S 62 J ( ) S 61 J ( to change it from set to environmental, you must first ) S 0 12 F 0 10 F (unset) S 0 12 F 26 10 F () S 61 J ( \() S 0 12 F 0 10 F (unsetenv) S 0 12 F 26 10 F (\)) S 61 J ( it, then) S
2160 5208 P (redefine) S 50 J ( it.) S
2160 6152 P 0 12 F 8 12 F B (Local) S 67 J ( Variables) S E
2693 6656 P 0 12 F 26 10 F (We) S 85 J ( just) S 86 J ( mentioned) S 85 J ( that not all the pre-defined set variables are shared. Individual) S
2160 6920 P (threads) S 68 J ( get) S 69 J ( their) S 68 J ( own) S 69 J ( private) S 68 J ( copies) S 69 J ( of) S 68 J ( some) S 69 J ( because) S 68 J ( to) S 69 J ( do) S 68 J ( otherwise) S 69 J ( wouldn't) S 68 J ( be sensible.) S
2160 7184 P (Sometimes) S 62 J ( you) S 63 J ( need) S 62 J ( the) S 63 J ( same) S 62 J ( sort) S 63 J ( of) S 62 J ( control) S 63 J ( over) S 62 J ( the) S 63 J ( variables) S 62 J ( you) S 63 J ( create.) S 62 J ( You don't want) S
2160 7448 P (to) S 50 J ( share a variable with other threads or even with commands outside a very narrow context.) S
2693 7912 P (You) S 84 J ( accomplish) S 85 J ( this) S 84 J ( making) S 85 J ( the) S 84 J ( variable) S 85 J ( local,) S 84 J ( which) S 85 J ( means) S 84 J ( it's) S 85 J ( hidden) S 84 J ( from) S 85 J ( outer) S
2160 8176 P (control) S 75 J ( blocks) S 76 J ( or) S 75 J ( other) S 76 J ( threads.) S 75 J ( ) S 76 J ( Local) S 75 J ( variables) S 76 J ( are) S 75 J ( really) S 76 J ( important,) S 75 J ( as) S 76 J ( we'll) S 75 J ( see) S 76 J ( later,) S 75 J ( for) S
2160 8440 P (recursive) S 65 J ( procedures) S 66 J ( or) S 65 J ( for) S 66 J ( procedures) S 65 J ( you) S 66 J ( want) S 65 J ( to) S 66 J ( use) S 65 J ( from multiple threads. To define a) S
2160 8704 P (variable) S 51 J ( as) S 52 J ( local,) S 51 J ( use) S 52 J ( the) S 51 J ( ) S 0 12 F 0 10 F (local) S 0 12 F 26 10 F () S 52 J ( statement,) S 51 J ( which accepts a list, separated with commas, of all) S
2160 8968 P (the) S 81 J ( variable) S 82 J ( names) S 81 J ( you) S 82 J ( want) S 81 J ( to) S 82 J ( be) S 81 J ( local.) S 82 J ( ) S 81 J ( When) S 82 J ( a) S 81 J ( new) S 82 J ( local) S 81 J ( variable is created, its initial) S
2160 9232 P (value) S 61 J ( is) S 62 J ( always) S 61 J ( null) S 62 J ( \(zero) S 61 J ( words\), even if there was a previous definition. Here you can see) S
2160 9496 P (how) S 59 J ( the) S 60 J ( variable) S 59 J ( ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 60 J ( is) S 59 J ( redefined) S 60 J ( inside) S 59 J ( the) S 60 J ( nested) S 59 J ( statements but once you exit from the nest,) S
2160 9760 P (the) S 50 J ( old value of ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 50 J ( is again visible:) S
2880 10224 P 0 12 F 0 10 F (148) S 120 J ( D% set i = hello world) S
2880 10488 P (149 D% echo $i) S
2880 10752 P (hello world) S
2880 11016 P (150 D% \(local i; echo $i; set i = how are you; echo $i\)) S
2880 11544 P (how are you) S
2880 11808 P (151 D% echo $i) S
2880 12072 P (hello world) S
2693 12536 P 0 12 F 26 10 F (When) S 86 J ( you) S 87 J ( spawn) S 86 J ( a) S 87 J ( child) S 86 J ( thread,) S 87 J ( e.g.,) S 86 J ( as) S 87 J ( a) S 86 J ( background activity or as the second or) S
2160 12800 P (following) S 55 J ( stage) S 56 J ( of) S 55 J ( a) S 56 J ( pipeline,) S 55 J ( it) S 56 J ( gets) S 55 J ( copies) S 56 J ( of all your local variables, snapshotted at the time) S
2160 13064 P (it's) S 73 J ( spawned.) S 74 J ( ) S 73 J ( If) S 74 J ( either) S 73 J ( the) S 74 J ( parent) S 73 J ( or the child later changes to the value of any those local) S
2160 13328 P (variables,) S 50 J ( they affect only it's own copy.) S
5831 15384 P (Page ) S (55) S 0 12 F
PE
720 984 P 8 12 F B (Variables) S E
1800 1704 P B (Variable) S 67 J ( Substitutions) S E
2333 2208 P 0 12 F 26 10 F (The) S 74 J ( simplest) S 75 J ( way) S 74 J ( to) S 75 J ( use) S 74 J ( a variable is in a simple substitution, where a dollar sign is) S
1800 2472 P (used to) S 75 J ( indicate) S 74 J ( that) S 75 J ( a variable name follows. \(Similar to using a ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F ('') S 75 J ( in ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.\)) S 75 J ( The) S
1800 2736 P (value) S 50 J ( is substituted in and the statement is evaluated.) S
2520 3200 P 0 12 F 0 10 F (152) S 120 J ( D% echo $HOME) S
2520 3464 P (d:\\doug) S
2333 3928 P 0 12 F 26 10 F (Text) S 55 J ( surrounding) S 56 J ( the) S 55 J ( variable) S 56 J ( reference) S 55 J ( is) S 56 J ( generally) S 55 J ( just) S 56 J ( pasted) S 55 J ( around the value that's) S
1800 4192 P (substituted) S 50 J ( in:) S
2520 4656 P 0 12 F 0 10 F (153) S 120 J ( D% echo My home directory is ---$HOME---) S
2520 4920 P (My home directory is ---d:\\doug---) S
2333 5384 P 0 12 F 26 10 F (If) S 50 J ( the surrounding text would be confused as part of the variable name, it's necessary to) S
1800 5648 P (insulate the variable reference with braces. For example:) S
2520 6112 P 0 12 F 0 10 F (154) S 120 J ( D% echo ${HOME}XXX) S
2520 6376 P (d:\\dougXXX) S
1800 7320 P 0 12 F 8 12 F B (nonovar) S E
2333 7824 P 0 12 F 26 10 F (If) S 107 J ( you) S 108 J ( try) S 107 J ( to) S 108 J ( reference) S 107 J ( a) S 108 J ( variable, procedure or an alias and it doesn't exist, it's) S
1800 8088 P (considered) S 95 J ( an) S 96 J ( error) S 95 J ( unless) S 96 J ( you) S 95 J ( set) S 96 J ( the) S 95 J ( ) S 0 12 F 0 10 F (nonovar) S 0 12 F 26 10 F () S 96 J ( variable) S 95 J ( to indicate how you want the) S
1800 8352 P (situation) S 50 J ( treated.) S
2520 8816 P 0 12 F 0 10 F (155) S 120 J ( D% echo $nonesuch) S
2520 9080 P (csh: The variable 'nonesuch' is not defined. To suppress this) S
2520 9344 P (error, set nonovar = 1 \(pass through\) or 2 \(discard\).) S
2520 9608 P (156 D% set nonovar = 1) S
2520 9872 P (157 D% !e) S
2520 10136 P (echo $nonesuch) S
2520 10400 P ($nonesuch) S
2520 10664 P (158 D% set nonovar = 2) S
2520 10928 P (159 D% !e) S
2520 11192 P (echo $nonesuch) S
2520 11720 P (160 D% set nonovar = 0) S
1800 12664 P 0 12 F 8 12 F B (How) S 67 J ( Variables are Stored) S E
2333 13168 P 0 12 F 26 10 F (Each) S 62 J ( variable) S 63 J ( is) S 62 J ( kept) S 63 J ( internally) S 62 J ( as) S 63 J ( a) S 62 J ( list \(an array\) of objects. An individual object can) S
1800 13432 P (be) S 50 J ( a) S 51 J ( \(possibly) S 50 J ( null\)) S 51 J ( character) S 50 J ( string,) S 51 J ( a) S 50 J ( 32-bit) S 51 J ( integer) S 50 J ( or a 64-bit floating point value. Generally) S
1800 13696 P (speaking,) S 78 J ( it's) S 79 J ( not) S 78 J ( necessary) S 79 J ( to) S 78 J ( worry) S 79 J ( too) S 78 J ( much) S 79 J ( about) S 78 J ( how) S 79 J ( a) S 78 J ( specific object is represented,) S
1800 13960 P (though,) S 68 J ( since) S 69 J ( the) S 68 J ( shell) S 69 J ( automatically) S 68 J ( does) S 69 J ( any) S 68 J ( necessary) S 69 J ( conversions) S 68 J ( to) S 69 J ( allow a value to be) S
1800 14224 P (used) S 50 J ( sensibly in any given context.) S
5831 15384 P (Page ) S (56) S 0 12 F
PE
10074 984 P 8 12 F B (Variables) S E
2693 1704 P 0 12 F 26 10 F (Notice,) S 50 J ( however,) S 51 J ( that) S 50 J ( even though the value of an environmental variable may be a list,) S
2160 1968 P (it) S 59 J ( is) S 60 J ( always) S 59 J ( rendered) S 60 J ( as) S 59 J ( a) S 60 J ( simple) S 59 J ( character string when it's passed to a child process. Here's) S
2160 2232 P (an) S 50 J ( example using the ``) S 0 12 F 0 10 F ($#) S 0 12 F 26 10 F ('') S 50 J ( notation to ask how many words are in a variable's value:) S
2880 2696 P 0 12 F 0 10 F (161) S 120 J ( D% echo $zork) S
2880 2960 P (this is the zork variable) S
2880 3224 P (162 D% echo $#zork) S
2880 3488 P (5) S
2880 3752 P (163 D% csh) S
2880 4016 P (Hamilton C shell\(tm\) Release 2.2) S
2880 4280 P (Copyright \(c\) 1988-1993 by Hamilton Laboratories. All rights) S
2880 4544 P (reserved.) S
2880 4808 P (1 D% echo $zork) S
2880 5072 P (this is the zork variable) S
2880 5336 P (2 D% echo $#zork) S
2880 5600 P (1) S
2880 5864 P (3 D% exit) S
2880 6128 P (164 D% _) S
2160 6592 P 0 12 F 26 10 F (In) S 69 J ( this) S 70 J ( example,) S 69 J ( ) S 0 12 F 0 10 F (zork) S 0 12 F 26 10 F () S 69 J ( holds five words: ``) S 0 12 F 0 10 F (this) S 0 12 F 26 10 F (,'') S 69 J ( ``) S 0 12 F 0 10 F (is) S 0 12 F 26 10 F (,'') S 69 J ( ``) S 0 12 F 0 10 F (the) S 0 12 F 26 10 F (,'') S 69 J ( ``) S 0 12 F 0 10 F (zork) S 0 12 F 26 10 F (,'') S 69 J ( and ``) S 0 12 F 0 10 F (variable) S 0 12 F 26 10 F (.'') S
2160 6856 P (But) S 66 J ( when) S 67 J ( we) S 66 J ( start) S 67 J ( up) S 66 J ( a) S 67 J ( new) S 66 J ( child) S 67 J ( process) S 66 J ( running) S 67 J ( the) S 66 J ( shell, the child process sees ) S 0 12 F 0 10 F (zork) S 0 12 F 26 10 F () S 66 J ( as) S
2160 7120 P (holding) S 50 J ( only a single word: ``) S 0 12 F 0 10 F (this) S 120 J ( is the zork variable) S 0 12 F 26 10 F (''.) S
2693 7584 P (Here's) S 78 J ( another) S 79 J ( example) S 78 J ( where we assign a floating point value to an environmental) S
2160 7848 P (variable.) S 67 J ( ) S 68 J ( In the current process, the exact binary floating representation is used. When it's) S
2160 8112 P (passed) S 58 J ( to) S 59 J ( a) S 58 J ( child process, the value is first converted to a character string, losing some of the) S
2160 8376 P (precision.) S 69 J ( ) S 70 J ( This) S 69 J ( example) S 70 J ( also) S 69 J ( introduces) S 70 J ( the) S 69 J ( ) S 0 12 F 0 10 F (calc) S 0 12 F 26 10 F () S 69 J ( statement which evaluates an expression) S
2160 8640 P (and) S 61 J ( prints) S 62 J ( the) S 61 J ( value.) S 62 J ( ) S 61 J ( In) S 62 J ( an) S 61 J ( expression,) S 62 J ( a) S 61 J ( variable) S 62 J ( name) S 61 J ( is) S 62 J ( recognized) S 61 J ( even) S 62 J ( without) S 61 J ( a) S 62 J ( ``) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F ('') S 61 J ( to) S
2160 8904 P (introduce) S 98 J ( it;) S 99 J ( in) S 98 J ( fact, that's the preferable way to do it. If you use a ``) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F (''-style) S 98 J ( variable) S
2160 9168 P (substitution,) S 105 J ( the shell pastes in a character-string representation, again losing precision.) S
2160 9432 P (Also,) S 50 J ( the full range of C language expression operators is available.) S
2880 9896 P 0 12 F 0 10 F (164) S 120 J ( D% setenv envVar = 0) S
2880 10160 P (165 D% calc ++envVar) S
2880 10424 P (1) S
2880 10688 P (166 D% calc envVar /= 7) S
2880 10952 P (0.142857) S
2880 11216 P (167 D% calc envVar*7) S
2880 11480 P (1.000000) S
2880 11744 P (168 D% csh <<eof) S
2880 12008 P (169 D? calc envVar*7) S
2880 12272 P (170 D? exit) S
2880 12536 P (171 D? eof) S
2880 12800 P (Hamilton C shell\(tm\) Release 2.2) S
2880 13064 P (Copyright \(c\) 1988-1993 by Hamilton Laboratories. All rights) S
2880 13328 P (reserved.) S
2880 13592 P (0.999999) S
2880 13856 P (172 D% calc $envVar*7) S
2880 14120 P (0.999999) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (57) S 0 12 F
PE
720 984 P 8 12 F B (Variables) S E
1800 1704 P B (Arrays) S E
2333 2208 P 0 12 F 26 10 F (Variables) S 57 J ( can) S 58 J ( hold) S 57 J ( a) S 58 J ( list) S 57 J ( of) S 58 J ( values) S 57 J ( indexed) S 58 J ( as) S 57 J ( an) S 58 J ( array.) S 57 J ( ) S 58 J ( As) S 57 J ( with the C language, arrays) S
1800 2472 P (are) S 128 J ( indexed,) S 129 J ( counting) S 128 J ( from) S 129 J ( zero,) S 128 J ( with) S 129 J ( an) S 128 J ( expression) S 129 J ( inside) S 128 J ( ``) S 0 12 F 0 10 F ([...]) S 0 12 F 26 10 F ('') S 129 J ( brackets.) S 128 J ( ) S 129 J ( The) S
1800 2736 P (expression) S 77 J ( can) S 78 J ( be) S 77 J ( arbitrarily) S 78 J ( complex,) S 77 J ( but) S 78 J ( it must evaluate to an exact integer value. The) S
1800 3000 P (next) S 92 J ( example) S 93 J ( shows) S 92 J ( how) S 93 J ( a floating point value can be used, but if it's not precisely an) S
1800 3264 P (integer,) S 103 J ( an) S 104 J ( error) S 103 J ( results. The precision variable controls the number of digits past the) S
1800 3528 P (decimal) S 50 J ( point used when displaying a floating point value; the maximum is 17 digits.) S
2520 3992 P 0 12 F 0 10 F (173) S 120 J ( D% set x = now is the time for all good men) S
2520 4256 P (174 D% calc x[5.000000]) S
2520 4520 P (all) S
2520 4784 P (175 D% calc 2**500) S
2520 5048 P (3.27339061e+150) S
2520 5312 P (176 D% calc y = log2\(!$\)/100) S
2520 5576 P (calc y = log2 \( 2**500 \) /100) S
2520 5840 P (5.000000) S
2520 6104 P (177 D% calc x[y]) S
2520 6368 P (csh: Couldn't evaluate the index to the variable 'x'.) S
2520 6632 P (178 D% set precision = 30) S
2520 6896 P (179 D% calc precision) S
2520 7160 P (17) S
2520 7424 P (180 D% calc y) S
2520 7688 P (5.00000000000000100) S
2520 7952 P (181 D% calc x[round\(y\)]) S
2520 8216 P (all) S
2333 8680 P 0 12 F 26 10 F (An) S 67 J ( array) S 68 J ( cannot) S 67 J ( be) S 68 J ( ``sparse;'') S 67 J ( i.e.,) S 68 J ( before) S 67 J ( you) S 68 J ( can) S 67 J ( create) S 68 J ( an) S 67 J ( element 5, element 4 must) S
1800 8944 P (exist) S 55 J ( and) S 56 J ( so) S 55 J ( on.) S 56 J ( ) S 55 J ( But) S 56 J ( it's) S 55 J ( perfectly) S 56 J ( legal) S 55 J ( to) S 56 J ( keep) S 55 J ( adding) S 56 J ( new) S 55 J ( elements) S 56 J ( onto) S 55 J ( the) S 56 J ( end of array as) S
1800 9208 P (long) S 62 J ( as) S 63 J ( the new element is the zeroth element or only one past whatever's currently the last) S
1800 9472 P (element.) S 54 J ( ) S 55 J ( Here's) S 54 J ( an) S 55 J ( example) S 54 J ( using) S 55 J ( a) S 54 J ( ) S 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 55 J ( loop.) S 54 J ( ) S 55 J ( The) S 54 J ( ) S 0 12 F 0 10 F (@) S 0 12 F 26 10 F () S 55 J ( statement) S 54 J ( is like ) S 0 12 F 0 10 F (calc) S 0 12 F 26 10 F () S 54 J ( except it doesn't) S
1800 9736 P (print) S 50 J ( anything.) S
2520 10200 P 0 12 F 0 10 F (182) S 120 J ( D% unset x) S
2520 10464 P (183 D% for i = 0 to 4 do) S
2520 10728 P (184 D? @ x[i] = 2*i) S
2520 10992 P (185 D? end) S
2520 11256 P (186 D% echo $x) S
2520 11520 P (0 2 4 6 8) S
1800 12464 P 0 12 F 8 12 F B (nullwords) S E
2333 12968 P 0 12 F 26 10 F (When) S 90 J ( you) S 91 J ( index) S 90 J ( an) S 91 J ( array,) S 90 J ( if) S 91 J ( the) S 90 J ( element) S 91 J ( you) S 90 J ( specify doesn't exist, that's normally) S
1800 13232 P (considered) S 50 J ( an error. For example, ) S 0 12 F 0 10 F (x) S 0 12 F 26 10 F () S 50 J ( contains 5 words; trying to reference a sixth fails:) S
2520 13696 P 0 12 F 0 10 F (187) S 120 J ( D% calc x[5]) S
2520 13960 P (csh: Illegal subscript in variable reference 'x[5]'. \(To) S
2520 14224 P (suppress this error, set nullwords = 1.\)) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (58) S 0 12 F
PE
10074 984 P 8 12 F B (Variables) S E
2693 1704 P 0 12 F 26 10 F (The) S 62 J ( ) S 0 12 F 0 10 F (nullwords) S 0 12 F 26 10 F () S 63 J ( variable) S 62 J ( is) S 63 J ( used to tell the shell that you'd like to ignore subscripting) S
2160 1968 P (errors) S 118 J ( when) S 119 J ( you) S 118 J ( try) S 119 J ( to) S 118 J ( ) S 0 12 F 26 10 F I (evaluate) S E 0 12 F 26 10 F () S 119 J ( a) S 118 J ( variable) S 119 J ( reference.) S 118 J ( ) S 119 J ( ) S 0 12 F 0 10 F (nullwords) S 0 12 F 26 10 F () S 118 J ( has) S 119 J ( no) S 118 J ( effect over) S
2160 2232 P (subscripting) S 67 J ( errors) S 68 J ( when) S 67 J ( you) S 68 J ( try) S 67 J ( to) S 68 J ( set) S 67 J ( the) S 68 J ( value) S 67 J ( of) S 68 J ( a) S 67 J ( non-existent) S 68 J ( element.) S 67 J ( Here are some) S
2160 2496 P (examples:) S
2880 2960 P 0 12 F 0 10 F (188) S 120 J ( D% set nullwords = 1) S
2880 3224 P (189 D% echo -- "--->$x[999]<---") S
2880 3488 P (---><---) S
2880 3752 P (190 D% calc x[999] = "does not work") S
2880 4016 P (csh: Illegal subscript in variable reference 'x[999]'.) S
2160 4480 P 0 12 F 26 10 F (The) S 57 J ( use) S 58 J ( of) S 57 J ( the) S 58 J ( ``) S 0 12 F 0 10 F (--) S 0 12 F 26 10 F ('') S 57 J ( option) S 58 J ( and) S 57 J ( of) S 58 J ( double) S 57 J ( quotes) S 58 J ( was) S 57 J ( important:) S 58 J ( ) S 57 J ( ``) S 0 12 F 0 10 F (--) S 0 12 F 26 10 F ('') S 58 J ( told) S 57 J ( ) S 0 12 F 0 10 F (echo) S 0 12 F 26 10 F () S 58 J ( that) S 57 J ( it had) S
2160 4744 P (reached) S 59 J ( the) S 60 J ( end) S 59 J ( of) S 60 J ( any) S 59 J ( options,) S 60 J ( allowing) S 59 J ( it) S 60 J ( to) S 59 J ( print something that began with a minus sign.) S
2160 5008 P (The) S 68 J ( quotes) S 69 J ( were) S 68 J ( used,) S 69 J ( in) S 68 J ( the) S 69 J ( first) S 68 J ( case,) S 69 J ( to) S 68 J ( turn) S 69 J ( off recognition of redirection characters ``>'') S
2160 5272 P (and) S 72 J ( ``<'') S 73 J ( but) S 72 J ( still) S 73 J ( get) S 72 J ( the) S 73 J ( variable) S 72 J ( substitution.) S 73 J ( ) S 72 J ( The) S 73 J ( second) S 72 J ( time,) S 73 J ( it) S 72 J ( was) S 73 J ( to) S 72 J ( make the string,) S
2160 5536 P (``does) S 65 J ( not) S 66 J ( work'') S 65 J ( a) S 66 J ( single) S 65 J ( word.) S 66 J ( ) S 65 J ( \(If) S 66 J ( you try leaving off the quotes or not using ``) S 0 12 F 0 10 F (--) S 0 12 F 26 10 F (,'') S 66 J ( you'll) S
2160 5800 P (see) S 50 J ( that the error messages are what you'd expect.\)) S
5831 15384 P (Page ) S (59) S 0 12 F
PE
720 984 P 8 12 F B (Variables) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (60) S 0 12 F
PE
9765 984 P 8 12 F B (Wildcarding) S E
5498 2184 P 0 12 F 8 14 F B (Wildcarding) S E
2693 2928 P 0 12 F 26 10 F (The) S 106 J ( notion) S 107 J ( of) S 106 J ( wildcarding) S 107 J ( is) S 106 J ( pretty) S 107 J ( simple:) S 106 J ( ) S 107 J ( the) S 106 J ( user) S 107 J ( gives just a few characters) S
2160 3192 P (describing) S 61 J ( the) S 62 J ( filename) S 61 J ( he's) S 62 J ( looking) S 61 J ( for) S 62 J ( and) S 61 J ( system) S 62 J ( fills) S 61 J ( in) S 62 J ( the) S 61 J ( rest.) S 62 J ( ) S 61 J ( With) S 62 J ( ``vanilla'') S 61 J ( OS/2) S 62 J ( or) S
2160 3456 P (NT,) S 119 J ( wildcarding) S 120 J ( is) S 119 J ( the) S 120 J ( responsibility) S 119 J ( of each application, based on the command-line) S
2160 3720 P (arguments) S 71 J ( it's) S 72 J ( given.) S 71 J ( Typically, the application designer fulfills this by linking in a library) S
2160 3984 P (routine) S 50 J ( which does a simple-minded half-hearted wildcarding.) S
2693 4448 P (Hamilton) S 84 J ( C) S 85 J ( shell) S 84 J ( does) S 85 J ( the) S 84 J ( wildcarding) S 85 J ( before) S 84 J ( invoking) S 85 J ( the) S 84 J ( application.) S 85 J ( The shell's) S
2160 4712 P (wildcarding) S 78 J ( includes five components: home directory expansion, wildcarding characters,) S
2160 4976 P (ranges,) S 104 J ( alternation) S 105 J ( and) S 104 J ( indefinite) S 105 J ( directories. A powerful recursive match algorithm is) S
2160 5240 P (employed) S 50 J ( to guarantee a sensible result no matter how complex the pattern.) S
2160 6184 P 0 12 F 8 12 F B (Home) S 67 J ( Directory Expansion) S E
2693 6688 P 0 12 F 26 10 F (The) S 85 J ( tilde) S 86 J ( character,) S 85 J ( ``) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F ('',) S 86 J ( is) S 85 J ( recognized) S 86 J ( as) S 85 J ( shorthand) S 86 J ( for) S 85 J ( the) S 86 J ( home) S 85 J ( directory.) S 86 J ( ) S 85 J ( In the) S
2160 6952 P (simplest) S 50 J ( form, we can use it just by itself:) S
2880 7416 P 0 12 F 0 10 F (191) S 120 J ( D? echo $home) S
2880 7680 P (d:\\doug) S
2880 7944 P (192 D% cd ~) S
2880 8208 P (193 D% cd) S
2880 8472 P (d:\\doug) S
2693 8936 P 0 12 F 26 10 F (There's) S 50 J ( also shorthand for children or siblings of the home directory:) S
2880 9400 P 0 12 F 0 10 F (194) S 120 J ( D% cd ~\\samples) S
2880 9664 P (195 D% cd) S
2880 9928 P (d:\\doug\\samples) S
2880 10192 P (196 D% cd ~carol) S
2880 10456 P (197 D% cd) S
2880 10720 P (d:\\carol) S
2160 11664 P 0 12 F 8 12 F B (Wildcard) S 67 J ( Characters) S E
2693 12168 P 0 12 F 26 10 F (The) S 65 J ( wildcard) S 66 J ( characters,) S 65 J ( ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 66 J ( and) S 65 J ( ``) S 0 12 F 0 10 F (?) S 0 12 F 26 10 F ('',) S 66 J ( provide) S 65 J ( shorthand for ``match any string'' and) S
2160 12432 P (``match) S 50 J ( any single character,'' respectively.) S
2693 12896 P (Suppose the home directory contained the following contents:) S
2880 13360 P 0 12 F 0 10 F (198) S 120 J ( D% cd ~) S
2880 13624 P (199 D% ls) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (61) S 0 12 F
PE
720 984 P 8 12 F B (Wildcarding) S E
2520 1704 P 0 12 F 0 10 F B (bcs) S 120 J ( mandel sh) S E 0 12 F 0 10 F () S 120 J ( ex.rc ) S 0 12 F 0 10 F I (release.csh) S E
2520 1968 P 0 12 F 0 10 F B (bix) S 120 J ( mba testcode) S E 0 12 F 0 10 F () S 120 J ( icon.ico ring.ico) S
2520 2232 P 0 12 F 0 10 F B (channel.one) S 120 J ( online util) S E 0 12 F 0 10 F () S 120 J ( login.csh ) S 0 12 F 0 10 F I (snapshot.csh) S E
2520 2496 P 0 12 F 0 10 F B (dial) S 120 J ( postscpt word) S E 0 12 F 0 10 F () S 120 J ( mail startup.csh) S
2520 2760 P 0 12 F 0 10 F B (excel) S 120 J ( regressn) S E 0 12 F 0 10 F () S 120 J ( ) S 0 12 F 0 10 F I (backup.csh) S E 0 12 F 0 10 F () S 120 J ( os2init.cmd vi.ini) S
2520 3024 P 0 12 F 0 10 F B (games) S 120 J ( resume) S E 0 12 F 0 10 F () S 120 J ( brite.csh popup.txt) S
2520 3288 P 0 12 F 0 10 F B (icon) S 120 J ( samples) S E 0 12 F 0 10 F () S 120 J ( class.txt prime.c) S
2333 3752 P 0 12 F 26 10 F (The) S 63 J ( following) S 64 J ( example) S 63 J ( shows) S 64 J ( the) S 63 J ( use) S 64 J ( of) S 63 J ( ``) S 0 12 F 0 10 F (?) S 0 12 F 26 10 F ('') S 63 J ( to match any single character. Wildcard) S
1800 4016 P (results) S 96 J ( are) S 97 J ( always) S 96 J ( shown) S 97 J ( alphabetically) S 96 J ( in) S 97 J ( lower case. No distinction is made between) S
1800 4280 P (directories) S 50 J ( and files.) S
2520 4744 P 0 12 F 0 10 F (200) S 120 J ( D% echo ????) S
2520 5008 P (dial icon mail util word) S
2520 5272 P (201 D% echo b??) S
2520 5536 P (bcs bix) S
2333 6000 P 0 12 F 26 10 F (The) S 63 J ( ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 64 J ( can) S 63 J ( match) S 64 J ( zero) S 63 J ( or) S 64 J ( more) S 63 J ( arbitrary) S 64 J ( characters) S 63 J ( except) S 64 J ( ``) S 0 12 F 0 10 F (:) S 0 12 F 26 10 F ('') S 63 J ( or) S 64 J ( ``) S 0 12 F 0 10 F (\\) S 0 12 F 26 10 F ('';) S 63 J ( in) S 64 J ( contrast) S 63 J ( to) S
1800 6264 P (DOS-style) S 72 J ( wildcarding,) S 73 J ( ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 72 J ( ) S 0 12 F 26 10 F I (can) S E 0 12 F 26 10 F () S 73 J ( match) S 72 J ( ``) S 0 12 F 0 10 F (.) S 0 12 F 26 10 F (''.) S 72 J ( If there are ordinary characters in the pattern,) S
1800 6528 P (they) S 50 J ( must also be matched.) S
2520 6992 P 0 12 F 0 10 F (202) S 120 J ( D% echo *mp*e*) S
2520 7256 P (samples) S
2333 7720 P 0 12 F 26 10 F (Because) S 54 J ( the) S 55 J ( wildcarding) S 54 J ( is) S 55 J ( done) S 54 J ( ) S 0 12 F 26 10 F I (before) S E 0 12 F 26 10 F () S 55 J ( the) S 54 J ( command) S 55 J ( is) S 54 J ( invoked) S 55 J ( \(without) S 54 J ( the command) S
1800 7984 P (even) S 50 J ( being aware\), wildcarding can even be done on a ) S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F () S 50 J ( command:) S
2520 8448 P 0 12 F 0 10 F (203) S 120 J ( D% cd !$) S
2520 8712 P (cd *mp*e*) S
2520 8976 P (204 D% cd) S
2520 9240 P (d:\\doug\\samples) S
2333 9704 P 0 12 F 26 10 F (Wildcarding) S 113 J ( is) S 114 J ( most) S 113 J ( emphatically) S 114 J ( ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 113 J ( restricted) S 114 J ( to matches only against a single) S
1800 9968 P (directory) S 51 J ( level.) S 52 J ( ) S 51 J ( Here's) S 52 J ( an) S 51 J ( example) S 52 J ( that) S 51 J ( wildcards) S 52 J ( across) S 51 J ( all) S 52 J ( the) S 51 J ( subdirectories,) S 52 J ( looking) S 51 J ( for) S 52 J ( ) S 0 12 F 0 10 F (.c) S
1800 10232 P 0 12 F 26 10 F (files) S 50 J ( that begin with ``) S 0 12 F 0 10 F (a) S 0 12 F 26 10 F (''.) S
2520 10696 P 0 12 F 0 10 F (205) S 120 J ( D% cd ..) S
2520 10960 P (206 D% echo *\\a*.c) S
2520 11224 P (samples\\args.c sh\\allocate.c) S
2333 11688 P 0 12 F 26 10 F (Wildcarding) S 50 J ( can even be done against driveletters. For example:) S
2520 12152 P 0 12 F 0 10 F (207) S 120 J ( D% echo *:\\*\\q*) S
2520 12416 P (i:\\mail\\quotes.doc i:\\tmp\\query.out j:\\doug\\quantity.disc) S
1800 12880 P 0 12 F 26 10 F (When) S 56 J ( wildcarding) S 57 J ( against) S 56 J ( driveletters,) S 57 J ( the) S 56 J ( shell) S 57 J ( restricts) S 56 J ( the) S 57 J ( set) S 56 J ( of) S 57 J ( drives) S 56 J ( it will search down) S
1800 13144 P (to) S 98 J ( just those specified by the ) S 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F () S 98 J ( environment variable. If you don't specify a) S
1800 13408 P 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F (,) S 64 J ( the) S 65 J ( default) S 64 J ( is) S 65 J ( all) S 64 J ( drives) S 65 J ( except) S 64 J ( the) S 65 J ( floppies) S 64 J ( ) S 0 12 F 0 10 F (a:) S 0 12 F 26 10 F () S 64 J ( and ) S 0 12 F 0 10 F (b:) S 0 12 F 26 10 F (.) S 64 J ( The search is restricted) S
1800 13672 P (so) S 50 J ( you don't waste time trying to access slow removable media that may not even be ready.) S
5831 15384 P (Page ) S (62) S 0 12 F
PE
9765 984 P 8 12 F B (Wildcarding) S E
2160 1704 P B (Ranges) S E
2693 2208 P 0 12 F 26 10 F (Ranges) S 57 J ( describe) S 58 J ( a) S 57 J ( set) S 58 J ( of) S 57 J ( characters,) S 58 J ( any) S 57 J ( one) S 58 J ( of) S 57 J ( which) S 58 J ( will) S 57 J ( be matched. It's specified as) S
2160 2472 P (a list) S 58 J ( of) S 57 J ( acceptable) S 58 J ( characters) S 57 J ( inside) S 58 J ( ``) S 0 12 F 0 10 F ([...]) S 0 12 F 26 10 F ('') S 57 J ( brackets.) S 58 J ( ) S 57 J ( The range ``) S 0 12 F 0 10 F ([be]) S 0 12 F 26 10 F ('') S 57 J ( means either ``) S 0 12 F 0 10 F (b) S 0 12 F 26 10 F ('') S
2160 2736 P (or) S 51 J ( ``) S 0 12 F 0 10 F (e) S 0 12 F 26 10 F ('';) S 52 J ( ``) S 0 12 F 0 10 F ([b-e]) S 0 12 F 26 10 F ('') S 51 J ( is) S 52 J ( shorthand) S 51 J ( for) S 52 J ( any) S 51 J ( character) S 52 J ( in) S 51 J ( the) S 52 J ( sequence) S 51 J ( ``) S 0 12 F 0 10 F (b) S 0 12 F 26 10 F ('') S 51 J ( through ``) S 0 12 F 0 10 F (e) S 0 12 F 26 10 F (''.) S 51 J ( Within the) S
2160 3000 P (brackets,) S 52 J ( any) S 53 J ( number) S 52 J ( of) S 53 J ( hyphenated) S 52 J ( sequences) S 53 J ( and) S 52 J ( single characters can pasted one after the) S
2160 3264 P (other) S 75 J ( in) S 76 J ( any) S 75 J ( order.) S 76 J ( ) S 75 J ( For) S 76 J ( example,) S 75 J ( ``) S 0 12 F 0 10 F ([a-cu-zgkmp]) S 0 12 F 26 10 F ('') S 76 J ( is) S 75 J ( a) S 76 J ( perfectly) S 75 J ( legal range. Here are a) S
2160 3528 P (couple) S 50 J ( examples. Notice that ranges can also be used with driveletters.) S
2880 3992 P 0 12 F 0 10 F (208) S 120 J ( D% echo [be]*) S
2880 4256 P (backup.csh bcs bix brite.csh ex.rc excel) S
2880 4520 P (209 D% echo[d-g]:\\[s-t]*) S
2880 4784 P (d:\\taxes d:\\tmp e:\\spool e:\\startup.cmd e:\\temp e:\\toolkit.sys) S
2880 5048 P (f:\\swap f:\\tmp f:\\toys g:\\skip g:\\temp g:\\tmp) S
2693 5512 P 0 12 F 26 10 F (An) S 54 J ( exclusion) S 55 J ( range) S 54 J ( is written as a set of characters inside the brackets that starts with a) S
2160 5776 P (circumflex.) S 50 J ( It'll match any single character ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 50 J ( in the range.) S
2880 6240 P 0 12 F 0 10 F (210) S 120 J ( D% echo [^a-t]*) S
2880 6504 P (util vi.ini word) S
2160 7448 P 0 12 F 8 12 F B (Alternation) S E
2693 7952 P 0 12 F 26 10 F (Alternation,) S 72 J ( specified) S 73 J ( with) S 72 J ( ``) S 0 12 F 0 10 F ({...}) S 0 12 F 26 10 F ('') S 73 J ( braces,) S 72 J ( is) S 73 J ( a) S 72 J ( shorthand) S 73 J ( way) S 72 J ( of) S 73 J ( specifying) S 72 J ( that) S 73 J ( all) S
2160 8216 P (the) S 144 J ( combinations) S 145 J ( of) S 144 J ( frontparts and backparts should be generated. There isn't any) S
2160 8480 P (requirement) S 50 J ( that the filenames constructed actually exist.) S
2880 8944 P 0 12 F 0 10 F (211) S 120 J ( D% echo {zork,gadzooks}.csh) S
2880 9208 P (zork.csh gadzooks.csh) S
2880 9472 P (212 D% echo {a,b}{c,d}{e,f}) S
2880 9736 P (ace acf ade adf bce bcf bde bdf) S
2693 10200 P 0 12 F 26 10 F (Alternation) S 50 J ( can be combined arbitrarily with the other wildcard constructs:) S
2880 10664 P 0 12 F 0 10 F (213) S 120 J ( D% echo {[bc],*r}*i*) S
2880 10928 P (bix brite.csh brite.csh ring.ico) S
2160 11872 P 0 12 F 8 12 F B (Indefinite) S 67 J ( Directories) S E
2693 12376 P 0 12 F 26 10 F (The) S 88 J ( ellipsis,) S 89 J ( ``) S 0 12 F 0 10 F (...) S 0 12 F 26 10 F ('',) S 88 J ( is an indefinite definite directory wildcard. It'll match zero or) S
2160 12640 P (more) S 71 J ( arbitrary) S 72 J ( directory) S 71 J ( levels) S 72 J ( --) S 71 J ( whatever) S 72 J ( it) S 71 J ( takes) S 72 J ( to) S 71 J ( make) S 72 J ( the) S 71 J ( rest) S 72 J ( of) S 71 J ( the) S 72 J ( wildcard) S 71 J ( match.) S
2160 12904 P (To) S 52 J ( be) S 53 J ( recognized) S 52 J ( as) S 53 J ( a) S 52 J ( wildcard,) S 53 J ( the) S 52 J ( context) S 53 J ( must indicate it's really a filename, i.e., it must be) S
2160 13168 P (preceded) S 69 J ( by) S 70 J ( ``) S 0 12 F 0 10 F (\\) S 0 12 F 26 10 F ('',) S 69 J ( ``) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F ('',) S 70 J ( ``) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F ('') S 69 J ( or) S 70 J ( ``) S 0 12 F 0 10 F (:) S 0 12 F 26 10 F ('') S 69 J ( or) S 70 J ( followed) S 69 J ( by) S 70 J ( ``) S 0 12 F 0 10 F (\\) S 0 12 F 26 10 F ('') S 69 J ( or) S 70 J ( ``) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F (''.) S 69 J ( ) S 70 J ( For example, to find all the) S
2160 13432 P 0 12 F 0 10 F (.inf) S 0 12 F 26 10 F () S 50 J ( files anywhere on the ) S 0 12 F 0 10 F (C:) S 0 12 F 26 10 F () S 50 J ( drive, one might type:) S
2880 13896 P 0 12 F 0 10 F (214) S 120 J ( D% ls c:\\...\\*.inf) S
2880 14160 P (c:\\os2\\book\\cmdref.inf) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (63) S 0 12 F
PE
720 984 P 8 12 F B (Wildcarding) S E
2333 1704 P 0 12 F 26 10 F (As) S 97 J ( with) S 98 J ( all) S 97 J ( the) S 98 J ( wildcard) S 97 J ( constructs,) S 98 J ( the) S 97 J ( indefinite) S 98 J ( directory) S 97 J ( construct can be used) S
1800 1968 P (completely) S 58 J ( arbitrarily.) S 59 J ( It) S 58 J ( can) S 59 J ( even) S 58 J ( be used several times in the same wildcard. But do notice) S
1800 2232 P (if) S 50 J ( you do that, there is a possibility of getting the same file listed more than once:) S
2520 2696 P 0 12 F 0 10 F (215) S 120 J ( D% ls f:\\...\\a*\\...\\money*) S
2520 2960 P (f:\\os2\\aldus\\art\\moneycht.eps f:\\os2\\aldus\\art\\moneycht.eps) S
2333 3424 P 0 12 F 26 10 F (This) S 51 J ( can happen if there's more than one possible way to match the same pathname. In) S
1800 3688 P (this) S 75 J ( example,) S 76 J ( the) S 75 J ( ``) S 0 12 F 0 10 F (a*) S 0 12 F 26 10 F ('') S 76 J ( part) S 75 J ( could) S 76 J ( matched) S 75 J ( either) S 76 J ( ``) S 0 12 F 0 10 F (aldus) S 0 12 F 26 10 F ('') S 76 J ( or ``) S 0 12 F 0 10 F (art) S 0 12 F 26 10 F ('') S 76 J ( with the first ``) S 0 12 F 0 10 F (...) S 0 12 F 26 10 F ('') S
1800 3952 P (matching) S 77 J ( either) S 78 J ( ``) S 0 12 F 0 10 F (os2\\aldus) S 0 12 F 26 10 F ('') S 77 J ( or) S 78 J ( ``) S 0 12 F 0 10 F (os2) S 0 12 F 26 10 F ('') S 77 J ( and) S 78 J ( the) S 77 J ( second) S 78 J ( ``) S 0 12 F 0 10 F (...) S 0 12 F 26 10 F ('') S 78 J ( matching either ``) S 0 12 F 0 10 F (art) S 0 12 F 26 10 F ('') S 78 J ( or) S
1800 4216 P (just) S 50 J ( zero levels.) S
1800 5160 P 0 12 F 8 12 F B (Match) S 67 J ( Failures) S E
2333 5664 P 0 12 F 26 10 F (When) S 109 J ( you) S 110 J ( specify) S 109 J ( a) S 110 J ( sequence) S 109 J ( of) S 110 J ( wildcard) S 109 J ( patterns) S 110 J ( and ) S 0 12 F 26 10 F I (none) S E 0 12 F 26 10 F () S 110 J ( of them match, it's) S
1800 5928 P (normally) S 79 J ( treated) S 80 J ( as) S 79 J ( an) S 80 J ( error.) S 79 J ( ) S 80 J ( In) S 79 J ( this) S 80 J ( example, the first command causes an error because) S
1800 6192 P (there's) S 75 J ( no) S 76 J ( file) S 75 J ( or) S 76 J ( directory) S 75 J ( name) S 76 J ( with) S 75 J ( a) S 76 J ( ``) S 0 12 F 0 10 F (z) S 0 12 F 26 10 F ('') S 75 J ( in) S 76 J ( it.) S 75 J ( ) S 76 J ( The) S 75 J ( second) S 76 J ( command) S 75 J ( executes without) S
1800 6456 P (error) S 50 J ( because, out of the ) S 0 12 F 26 10 F I (sequence) S E 0 12 F 26 10 F () S 50 J ( of patterns, there's at least one match.) S
2520 6920 P 0 12 F 0 10 F (216) S 120 J ( D% echo *z*) S
2520 7184 P (csh: Wildcarding failed to produce any matches. To suppress) S
2520 7448 P (this error, set nonomatch = 1 \(pass through\) or 2 \(discard\).) S
2520 7712 P (217 D% echo *z* sa*) S
2520 7976 P (samples) S
2333 8440 P 0 12 F 26 10 F (In) S 80 J ( this) S 81 J ( context,) S 80 J ( the) S 81 J ( fact) S 80 J ( that) S 81 J ( alternation) S 80 J ( caused something to be generated is not the) S
1800 8704 P (same) S 96 J ( as) S 97 J ( a) S 96 J ( match.) S 97 J ( ) S 96 J ( In) S 97 J ( the) S 96 J ( next) S 97 J ( example,) S 96 J ( ``) S 0 12 F 0 10 F ({zork,gadzooks,*z*}.csh) S 0 12 F 26 10 F ('') S 97 J ( is) S 96 J ( the same as) S
1800 8968 P (``) S 0 12 F 0 10 F (zork.csh) S 134 J ( gadzooks.csh) S 135 J ( *z*.csh) S 0 12 F 26 10 F ('';) S 64 J ( only) S 65 J ( the last element involves any matching, and) S
1800 9232 P (it) S 50 J ( fails.) S
2520 9696 P 0 12 F 0 10 F (218) S 120 J ( D% echo {zork,gadzooks,*z*}.csh) S
2520 9960 P (csh: Wildcarding failed to produce any matches. To suppress) S
2520 10224 P (this error, set nonomatch = 1 \(pass through\) or 2 \(discard\).) S
2333 10688 P 0 12 F 26 10 F (The) S 70 J ( ) S 0 12 F 0 10 F (nonomatch) S 0 12 F 26 10 F () S 71 J ( variable) S 70 J ( lets) S 71 J ( you) S 70 J ( control how a wildcard failure is treated. It works) S
1800 10952 P (just) S 50 J ( the way ) S 0 12 F 0 10 F (nonovar) S 0 12 F 26 10 F () S 50 J ( works when you reference to a non-existent variable.) S
2520 11416 P 0 12 F 0 10 F (219) S 120 J ( D% set nonomatch = 1) S
2520 11680 P (220 D% echo *z*) S
2520 11944 P (*z*) S
2520 12208 P (221 D% !s:s/1/2/) S
2520 12472 P (set nonomatch = 2) S
2520 12736 P (222 D% !e) S
2520 13000 P (echo *z*) S
2520 13528 P (223 D% !s:s/2/0/) S
2520 13792 P (set nonomatch = 0) S
2520 14056 P (224 D% !e) S
2520 14320 P (echo *z*) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (64) S 0 12 F
PE
9765 984 P 8 12 F B (Wildcarding) S E
2880 1704 P 0 12 F 0 10 F (csh:) S 120 J ( Wildcarding failed to produce any matches. To suppress) S
2880 1968 P (this error, set nonomatch = 1 \(pass through\) or 2 \(discard\).) S
2160 2912 P 0 12 F 8 12 F B (Caution:) S 67 J ( The copy, xcopy, rename and del commands) S E
2693 3416 P 0 12 F 26 10 F (Hamilton) S 75 J ( C) S 76 J ( shell) S 75 J ( expands) S 76 J ( out) S 75 J ( wildcards) S 76 J ( before) S 75 J ( it) S 76 J ( invokes) S 75 J ( the) S 76 J ( application you name.) S
2160 3680 P (This) S 55 J ( is) S 56 J ( not) S 55 J ( what) S 56 J ( the) S 55 J ( copy) S 56 J ( and) S 55 J ( xcopy commands expect! Suppose there are two files, ) S 0 12 F 0 10 F (file.a) S
2160 3944 P 0 12 F 26 10 F (and) S 81 J ( ) S 0 12 F 0 10 F (file.b) S 0 12 F 26 10 F () S 82 J ( on) S 81 J ( your) S 82 J ( diskette) S 81 J ( ) S 0 12 F 0 10 F (a:) S 0 12 F 26 10 F (,) S 82 J ( that) S 81 J ( you) S 82 J ( wanted) S 81 J ( to) S 82 J ( copy to your current drive. Under) S
2160 4208 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (,) S 50 J ( it would be natural to type:) S
2880 4672 P 0 12 F 0 10 F ([D:\\DOUG]) S 120 J ( xcopy.exe a:*.*) S
2880 4936 P (Source files are being read...) S
2880 5464 P (A:FILE.A) S
2880 5728 P (A:FILE.B) S
2880 6256 P (2 file\(s\) copied.) S
2693 6720 P 0 12 F 26 10 F (The) S 116 J ( destination) S 117 J ( is) S 116 J ( implicit.) S 117 J ( ) S 116 J ( ) S 0 12 F 0 10 F (xcopy) S 0 12 F 26 10 F () S 116 J ( understands the wildcarding to mean ``copy) S
2160 6984 P (everything) S 74 J ( on) S 75 J ( drive) S 74 J ( a:) S 75 J ( to) S 74 J ( the) S 75 J ( current) S 74 J ( disk) S 75 J ( and) S 74 J ( directory.'') S 75 J ( ) S 74 J ( That is ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 74 J ( what would happen) S
2160 7248 P (under) S 65 J ( the) S 66 J ( C) S 65 J ( shell!) S 66 J ( ) S 65 J ( Because) S 66 J ( the) S 65 J ( wildcard would be expanded first, it would act instead as if) S
2160 7512 P (you) S 50 J ( had typed:) S
2880 7976 P 0 12 F 0 10 F ([D:\\DOUG]) S 120 J ( xcopy.exe a:file.a a:file.b) S
2880 8240 P (Source files are being read...) S
2880 8768 P (A:FILE.A) S
2880 9296 P (1 file\(s\) copied.) S
2693 9760 P 0 12 F 26 10 F (Do) S 61 J ( you) S 62 J ( see) S 61 J ( what) S 62 J ( happens?) S 61 J ( ) S 62 J ( If) S 61 J ( wildcarding) S 62 J ( is) S 61 J ( done) S 62 J ( first,) S 61 J ( the) S 62 J ( ) S 0 12 F 0 10 F (xcopy) S 0 12 F 26 10 F () S 62 J ( command sees just) S
2160 10024 P (the) S 73 J ( two) S 74 J ( filenames) S 73 J ( and) S 74 J ( figures) S 73 J ( you) S 74 J ( mean) S 73 J ( to) S 74 J ( copy) S 73 J ( one) S 74 J ( right) S 73 J ( over the other. ) S 0 12 F 0 10 F (file.b) S 0 12 F 26 10 F () S 73 J ( is lost!) S
2160 10288 P (For) S 82 J ( this) S 83 J ( reason,) S 82 J ( the) S 83 J ( normal) S 82 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 83 J ( file) S 82 J ( contains some carefully constructed aliases) S
2160 10552 P (and) S 50 J ( procedures to intercept the ) S 0 12 F 0 10 F (copy) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (xcopy) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (rename) S 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 0 10 F (del) S 0 12 F 26 10 F () S 50 J ( commands:) S
2880 11016 P 0 12 F 0 10 F (proc) S 120 J ( safecopy\(files\)) S
2880 11280 P ( cmd /c copy $files; @ nowild = s; unlocal s) S
2880 11544 P (end) S
2880 11808 P (alias copy \(local s; @ s = nowild; @ nowild = 1; safecopy\)) S
2880 12336 P (proc safexcopy\(files\)) S
2880 12600 P ( xcopy.exe $files; @ nowild = s; unlocal s) S
2880 12864 P (end) S
2880 13128 P (alias xcopy \(local s; @ s = nowild; @ nowild = 1; safexcopy\)) S
2880 13656 P (proc saferename\(files\)) S
2880 13920 P ( cmd /c rename $files; @ nowild = s; unlocal s) S
2880 14184 P (end) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (65) S 0 12 F
PE
720 984 P 8 12 F B (Wildcarding) S E
2520 1704 P 0 12 F 0 10 F (alias) S 120 J ( rename \(local s; @ s = nowild; @ nowild = 1; saferename\)) S
2520 1968 P (alias ren rename) S
2520 2496 P (proc safedel\(files\)) S
2520 2760 P ( cmd /c del $files; @ nowild = s; unlocal s) S
2520 3024 P (end) S
2520 3288 P (alias del \(local s; @ s = nowild; @ nowild = 1; safedel\)) S
2520 3552 P (alias erase del) S
2333 4016 P 0 12 F 26 10 F (The) S 102 J ( way) S 103 J ( this works by saving the current value of ) S 0 12 F 0 10 F (nowild) S 0 12 F 26 10 F () S 103 J ( \(which tells whether) S
1800 4280 P (wildcarding) S 285 J ( is) S 286 J ( should) S 285 J ( be) S 286 J ( done\),) S 285 J ( turning) S 286 J ( off wildcarding, invoking the) S
1800 4544 P 0 12 F 0 10 F (copy) S 0 12 F 26 10 F (/) S 0 12 F 0 10 F (xcopy) S 0 12 F 26 10 F (/) S 0 12 F 0 10 F (rename) S 0 12 F 26 10 F (/) S 0 12 F 0 10 F (del) S 0 12 F 26 10 F () S 144 J ( command,) S 145 J ( then) S 144 J ( restoring) S 145 J ( the) S 144 J ( wildcarding) S 145 J ( state.) S 144 J ( ) S 145 J ( ) S 0 12 F 0 10 F (s) S 0 12 F 26 10 F () S 144 J ( is) S 145 J ( a) S
1800 4808 P (temporary) S 50 J ( variable that gets discarded after its been used.) S
2333 5272 P (Be) S 91 J ( sure) S 92 J ( to) S 91 J ( always invoke ) S 0 12 F 0 10 F (copy) S 0 12 F 26 10 F (,) S 91 J ( ) S 0 12 F 0 10 F (xcopy) S 0 12 F 26 10 F () S 91 J ( ) S 0 12 F 0 10 F (rename) S 0 12 F 26 10 F () S 91 J ( and ) S 0 12 F 0 10 F (del) S 0 12 F 26 10 F () S 91 J ( via these aliases. If you) S
1800 5536 P (encounter) S 108 J ( other) S 109 J ( applications) S 108 J ( that) S 109 J ( really) S 108 J ( must) S 109 J ( do) S 108 J ( their) S 109 J ( own) S 108 J ( wildcarding,) S 109 J ( use this same) S
1800 5800 P (technique) S 50 J ( with them.) S
5831 15384 P (Page ) S (66) S 0 12 F
PE
10325 984 P 8 12 F B (Editing) S E
5825 2184 P 0 12 F 8 14 F B (Editing) S E
2693 2928 P 0 12 F 26 10 F (Often,) S 53 J ( the text returned by a history, variable or command substitution isn't quite what) S
2160 3192 P (you) S 62 J ( want.) S 63 J ( ) S 62 J ( For) S 63 J ( example,) S 62 J ( you) S 63 J ( may) S 62 J ( want) S 63 J ( to) S 62 J ( select) S 63 J ( only) S 62 J ( certain) S 63 J ( words,) S 62 J ( do) S 63 J ( a) S 62 J ( search/replace,) S 63 J ( or) S
2160 3456 P (manipulate) S 50 J ( a filename that's been returned. The editing facilities provide these capabilities.) S
2693 3920 P (The) S 98 J ( examples in this chapter show a sampling of various combinations of editing) S
2160 4184 P (commands) S 68 J ( and) S 69 J ( types) S 68 J ( of) S 69 J ( substitutions.) S 68 J ( ) S 69 J ( There) S 68 J ( simply) S 69 J ( isn't) S 68 J ( room) S 69 J ( to) S 68 J ( show all the possibilities) S
2160 4448 P (nor) S 52 J ( is) S 53 J ( there) S 52 J ( really) S 53 J ( a) S 52 J ( need) S 53 J ( to:) S 52 J ( ) S 53 J ( with) S 52 J ( two) S 53 J ( exceptions \(``) S 0 12 F 0 10 F (:%) S 0 12 F 26 10 F (''and) S 53 J ( ``) S 0 12 F 0 10 F (:p) S 0 12 F 26 10 F (''\),) S 53 J ( any editing command can) S
2160 4712 P (be) S 50 J ( applied against any substitution type or against the result of another editing command.) S
2160 5656 P 0 12 F 8 12 F B (Word) S 67 J ( Selections) S E
2693 6160 P 0 12 F 26 10 F (Editing) S 61 J ( modifiers) S 62 J ( begin) S 61 J ( with) S 62 J ( a) S 61 J ( colon,) S 62 J ( ``) S 0 12 F 0 10 F (:) S 0 12 F 26 10 F ('',) S 61 J ( followed) S 62 J ( by) S 61 J ( an) S 62 J ( editing command. You can) S
2160 6424 P (select) S 65 J ( words) S 66 J ( either) S 65 J ( by number or symbolically: first, last, all, etc. Here are examples of the) S
2160 6688 P (``) S 0 12 F 0 10 F (:*) S 0 12 F 26 10 F ('',) S 82 J ( ``) S 0 12 F 0 10 F (:$) S 0 12 F 26 10 F ('') S 83 J ( and) S 82 J ( ``) S 0 12 F 0 10 F (:^) S 0 12 F 26 10 F ('') S 83 J ( modifiers to select all, last, and first argument words, respectively.) S
2160 6952 P (Notice) S 85 J ( that) S 86 J ( any) S 85 J ( number) S 86 J ( of editing modifiers may strung together. For example, ``) S 0 12 F 0 10 F (:*:^) S 0 12 F 26 10 F ('') S
2160 7216 P (means) S 59 J ( the first argument word \(word 1\) of the sequence formed of all the original argument) S
2160 7480 P (words:) S 50 J ( i.e., word 2.) S
2880 7944 P 0 12 F 0 10 F (225) S 120 J ( D% echo Finally, now is the time) S
2880 8208 P (Finally, now is the time) S
2880 8472 P (226 D% echo !!:$) S
2880 8736 P (time) S
2880 9000 P (227 D% echo !?Fin:*:^) S
2880 9264 P (echo now) S
2880 9528 P (now) S
2693 9992 P 0 12 F 26 10 F (It) S 53 J ( is) S 54 J ( also) S 53 J ( possible) S 54 J ( to) S 53 J ( select) S 54 J ( words) S 53 J ( by) S 54 J ( indexing) S 53 J ( through the array associated with a given) S
2160 10256 P (substitution.) S 50 J ( The words are counted from zero.) S
2880 10720 P 0 12 F 0 10 F (228) S 120 J ( D% echo `echo now is the time`:2) S
2880 10984 P (the) S
2693 11448 P 0 12 F 26 10 F (Ranges) S 98 J ( of) S 99 J ( words) S 98 J ( can) S 99 J ( also) S 98 J ( be specified with a hyphen between the beginning and) S
2160 11712 P (ending) S 50 J ( word indices. In this context, the minus sign indicates a range, ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 50 J ( subtraction.) S
2880 12176 P 0 12 F 0 10 F (229) S 120 J ( D% set x = now is the time for all good men) S
2880 12440 P (230 D% echo $x:1-5) S
2880 12704 P (is the time for all) S
2693 13168 P 0 12 F 26 10 F (When) S 54 J ( the) S 55 J ( operand is a ``) S 0 12 F 0 10 F (!?) S 0 12 F 26 10 F (''-style) S 55 J ( history substitution, there's a special operator, ``) S 0 12 F 0 10 F (:%) S 0 12 F 26 10 F ('',) S
2160 13432 P (for) S 50 J ( selecting the particular word that triggered the match:) S
5831 15384 P (Page ) S (67) S 0 12 F
PE
720 984 P 8 12 F B (Editing) S E
2520 1704 P 0 12 F 0 10 F (231) S 120 J ( D% echo !?Fin:%) S
2520 1968 P (echo Finally) S
2520 2232 P (Finally) S
2333 2696 P 0 12 F 26 10 F (Each) S 62 J ( of) S 63 J ( the) S 62 J ( three) S 63 J ( symbolic) S 62 J ( word) S 63 J ( selectors,) S 62 J ( ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('',) S 63 J ( ``) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F ('') S 63 J ( and ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F ('',) S 63 J ( can be used anywhere a) S
1800 2960 P (decimal) S 50 J ( word number would be acceptable. For example:) S
2520 3424 P 0 12 F 0 10 F (232) S 120 J ( D% echo !?time:%-$) S
2520 3688 P (echo time for all good men) S
2520 3952 P (time for all good men) S
1800 4896 P 0 12 F 8 12 F B (Search/Replace) S 67 J ( Operations) S E
2333 5400 P 0 12 F 26 10 F (A) S 55 J ( search/replace) S 56 J ( operation) S 55 J ( looks) S 56 J ( for) S 55 J ( and) S 56 J ( replaces) S 55 J ( a) S 56 J ( simple) S 55 J ( character string. \(For those) S
1800 5664 P (familiar) S 51 J ( with) S 52 J ( such things, it does not use regular expressions.\) If the search string isn't given,) S
1800 5928 P (the) S 67 J ( one) S 68 J ( used) S 67 J ( last) S 68 J ( time) S 67 J ( is) S 68 J ( used) S 67 J ( again.) S 68 J ( ) S 67 J ( If) S 68 J ( the) S 67 J ( replace) S 68 J ( string contains an ampersand, ``) S 0 12 F 0 10 F (&) S 0 12 F 26 10 F ('',) S 68 J ( that) S
1800 6192 P (isn't) S 99 J ( escaped) S 100 J ( with) S 99 J ( the) S 100 J ( circumflex,) S 99 J ( it's expanded into the search string. Here are a few) S
1800 6456 P (examples.) S 50 J ( Notice that putting a ``) S 0 12 F 0 10 F (g) S 0 12 F 26 10 F ('') S 50 J ( at the start of an operation makes it ``global.'') S
2520 6920 P 0 12 F 0 10 F (233) S 120 J ( D% echo !?now:%-$:s/o/O/) S
2520 7184 P (echo nOw is the time for all good men) S
2520 7448 P (nOw is the time for all good men) S
2520 7712 P (234 D% !!:gs/t/T/) S
2520 7976 P (echo nOw is The Time for all good men) S
2520 8240 P (nOw is The Time for all good men) S
2520 8504 P (235 D% !!:s/nOw is/& really/) S
2520 8768 P (echo nOw is The Time for all good men) S
2520 9032 P (nOw is really The Time for all good men) S
1800 9976 P 0 12 F 8 12 F B (Pathname) S 67 J ( Editing) S E
2333 10480 P 0 12 F 26 10 F (Another) S 101 J ( set) S 102 J ( of) S 101 J ( operators) S 102 J ( allows) S 101 J ( filenames) S 102 J ( to) S 101 J ( be) S 102 J ( easily) S 101 J ( manipulated.) S 102 J ( ) S 101 J ( As) S 102 J ( with the) S
1800 10744 P (search/replace) S 97 J ( operator, pathname editing is normally applied to only the first operand) S
1800 11008 P (word;) S 51 J ( if) S 52 J ( you want the operation performed on all the words, you must make it global. In this) S
1800 11272 P (example,) S 121 J ( the) S 122 J ( ``) S 0 12 F 0 10 F (:h) S 0 12 F 26 10 F ('') S 121 J ( \(head\)) S 122 J ( operator) S 121 J ( is) S 122 J ( used, which returns the name of the directory) S
1800 11536 P (containing) S 50 J ( the given file.) S
2520 12000 P 0 12 F 0 10 F (236) S 120 J ( D% echo *\\a*.c) S
2520 12264 P (samples\\args.c sh\\allocate.c) S
2520 12528 P (237 D% set dotc = !$) S
2520 12792 P (set dotc = *\\a*.c) S
2520 13056 P (238 D% echo $dotc) S
2520 13320 P (samples\\args.c sh\\allocate.c) S
2520 13584 P (239 D% echo $dotc:h) S
2520 13848 P (samples sh\\allocate.c) S
2520 14112 P (240 D% echo $dotc:gh) S
2520 14376 P (samples sh) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (68) S 0 12 F
PE
10325 984 P 8 12 F B (Editing) S E
2160 1704 P B (Specialized) S 67 J ( Operations) S E
2693 2208 P 0 12 F 26 10 F (Specialized) S 63 J ( operations) S 64 J ( are) S 63 J ( provided for scanning a character string and breaking it up) S
2160 2472 P (into) S 50 J ( words and applying quotes around each word.) S
2693 2936 P (The) S 52 J ( ``) S 0 12 F 0 10 F (:x) S 0 12 F 26 10 F ('') S 53 J ( operator) S 52 J ( for) S 53 J ( breaking) S 52 J ( up) S 53 J ( a) S 52 J ( string) S 53 J ( into) S 52 J ( words) S 53 J ( is) S 52 J ( particularly) S 53 J ( useful for parsing) S
2160 3200 P (text) S 66 J ( read) S 67 J ( with) S 66 J ( the) S 67 J ( ) S 0 12 F 0 10 F (getline) S 0 12 F 26 10 F () S 66 J ( pseudo-variable,) S 67 J ( which) S 66 J ( always returns the line read as a single) S
2160 3464 P (character) S 50 J ( string:) S
2880 3928 P 0 12 F 0 10 F (241) S 120 J ( D% @ data = $<) S
2880 4192 P (\(I typed -->this<-- in\)) S
2880 4456 P (242 D% echo $#data $data) S
2880 4720 P (1 \(I typed -->this<-- in\)) S
2880 4984 P (243 D% set data = $data:x) S
2880 5248 P (244 D% echo $#data $data) S
2880 5512 P (10 \( I typed -- > this < -- in \)) S
2693 5976 P 0 12 F 26 10 F (The) S 71 J ( ``) S 0 12 F 0 10 F (:q) S 0 12 F 26 10 F ('') S 72 J ( operator) S 71 J ( pastes) S 72 J ( single) S 71 J ( quote) S 72 J ( marks around every word in the operand list.) S
2160 6240 P (As) S 103 J ( we'll) S 104 J ( see) S 103 J ( in) S 104 J ( the) S 103 J ( chapter) S 104 J ( on) S 103 J ( quoting,) S 104 J ( this prevents any further wildcard, variable or) S
2160 6504 P (command) S 50 J ( substitutions from being done.) S
2880 6968 P 0 12 F 0 10 F (245) S 120 J ( D% echo sa?pl?s *\\a*.c) S
2880 7232 P (samples samples\\args.c sh\\allocate.c) S
2880 7496 P (246 D% echo !*:q) S
2880 7760 P (echo 'sa?pl?s' '*\\a*.c') S
2880 8024 P (sa?pl?s *\\a*.c) S
2160 8968 P 0 12 F 8 12 F B (History) S 67 J ( Edits) S E
2693 9472 P 0 12 F 26 10 F (For) S 92 J ( history) S 93 J ( substitutions,) S 92 J ( the) S 93 J ( ``) S 0 12 F 0 10 F (:p) S 0 12 F 26 10 F ('') S 92 J ( operator) S 93 J ( can) S 92 J ( be) S 93 J ( used to cause the result of the) S
2160 9736 P (history) S 55 J ( substitution) S 56 J ( to) S 55 J ( be) S 56 J ( echoed) S 55 J ( and) S 56 J ( entered) S 55 J ( into) S 56 J ( the) S 55 J ( history list but for the command not to) S
2160 10000 P (be) S 60 J ( executed.) S 61 J ( ) S 60 J ( This) S 61 J ( is) S 60 J ( helpful) S 61 J ( when) S 60 J ( you're) S 61 J ( trying) S 60 J ( a) S 61 J ( complicated) S 60 J ( edit) S 61 J ( and) S 60 J ( not) S 61 J ( sure) S 60 J ( if) S 61 J ( the) S 60 J ( result) S
2160 10264 P (is) S 50 J ( going to be what you want.) S
2880 10728 P 0 12 F 0 10 F (247) S 120 J ( D% !?Fin:p) S
2880 10992 P (echo Finally) S
2880 11256 P (248 D% !!) S
2880 11520 P (echo Finally) S
2880 11784 P (Finally) S
2880 12048 P (249 D% _) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (69) S 0 12 F
PE
720 984 P 8 12 F B (Editing) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (70) S 0 12 F
PE
10218 984 P 8 12 F B (Quoting) S E
5763 2184 P 0 12 F 8 14 F B (Quoting) S E
2693 2928 P 0 12 F 26 10 F (The) S 87 J ( shell) S 88 J ( has) S 87 J ( several) S 88 J ( quoting) S 87 J ( mechanisms) S 88 J ( for) S 87 J ( marking a section of a command for) S
2160 3192 P (special) S 61 J ( processing.) S 62 J ( ) S 61 J ( One) S 62 J ( of) S 61 J ( them,) S 62 J ( command) S 61 J ( substitution,) S 62 J ( which) S 61 J ( used) S 62 J ( the) S 61 J ( ) S 0 12 F 0 10 F (`...`) S 0 12 F 26 10 F () S 62 J ( syntax,) S 61 J ( was) S
2160 3456 P (already) S 50 J ( discussed in the chapter on i/o redirection; that discussion won't be repeated here.) S
2693 3920 P (The) S 80 J ( other) S 81 J ( quoting) S 80 J ( mechanisms) S 81 J ( focus) S 80 J ( more) S 81 J ( simply on the problem of overriding the) S
2160 4184 P (special) S 50 J ( meanings that certain characters have.) S
2160 5128 P 0 12 F 8 12 F B (Double) S 67 J ( Quotes) S E
2693 5632 P 0 12 F 26 10 F (Double) S 63 J ( quotes) S 64 J ( are) S 63 J ( of) S 64 J ( use) S 63 J ( when) S 64 J ( you) S 63 J ( want) S 64 J ( to) S 63 J ( pass) S 64 J ( a) S 63 J ( character) S 64 J ( string) S 63 J ( containing) S 64 J ( a space) S
2160 5896 P (or) S 55 J ( other) S 56 J ( word) S 55 J ( separator) S 56 J ( to) S 55 J ( an) S 56 J ( application.) S 55 J ( ) S 56 J ( Normally,) S 55 J ( if) S 56 J ( you) S 55 J ( called) S 56 J ( a) S 55 J ( C) S 56 J ( program,) S 55 J ( it) S 56 J ( would) S 55 J ( see) S
2160 6160 P (these) S 117 J ( words) S 118 J ( as) S 117 J ( separate) S 118 J ( ) S 0 12 F 0 10 F (argv) S 0 12 F 26 10 F () S 117 J ( entries) S 118 J ( instead) S 117 J ( a) S 118 J ( single) S 117 J ( character) S 118 J ( string; double quotes) S
2160 6424 P (prevents) S 105 J ( this) S 106 J ( breakup) S 105 J ( into) S 106 J ( words.) S 105 J ( ) S 106 J ( We) S 105 J ( can) S 106 J ( demonstrate) S 105 J ( this) S 106 J ( using) S 105 J ( the) S 106 J ( simple) S 105 J ( ) S 0 12 F 0 10 F (myecho) S
2160 6688 P 0 12 F 26 10 F (program) S 89 J ( in) S 90 J ( the) S 89 J ( ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 90 J ( directory) S 89 J ( which) S 90 J ( prints) S 89 J ( out) S 90 J ( the) S 89 J ( ) S 0 12 F 0 10 F (argv) S 0 12 F 26 10 F () S 90 J ( list) S 89 J ( it) S 90 J ( receives with single) S
2160 6952 P (quotes) S 50 J ( around each entry:) S
2880 7416 P 0 12 F 0 10 F (249) S 120 J ( D% cd ~\\samples) S
2880 7680 P (250 D% myecho hello world) S
2880 7944 P ('myecho' 'hello' 'world') S
2880 8208 P (arg length = 19 characters) S
2880 8472 P (251 D% myecho "hello world") S
2880 8736 P ('myecho' 'hello world') S
2880 9000 P (arg length = 19 characters) S
2693 9464 P 0 12 F 26 10 F (Double) S 55 J ( quotes) S 56 J ( also turn off the special meaning of the various wildcard characters and) S
2160 9728 P (the) S 50 J ( single quote:) S
2880 10192 P 0 12 F 0 10 F (252) S 120 J ( D% echo "* isn't a wildcard character inside quotes") S
2880 10456 P (* isn't a wildcard character inside quotes) S
2880 10720 P (253 D% echo "~") S
2880 10984 P (~) S
2880 11248 P (254 D% _) S
2693 11712 P 0 12 F 26 10 F (Command,) S 50 J ( history and variable substitutions inside double quotes are still done:) S
2880 12176 P 0 12 F 0 10 F (254) S 120 J ( D% echo "*** The home directory is $home ***") S
2880 12440 P (*** The home directory is d:\\doug ***) S
2880 12704 P (255 D% echo "`echo ~`") S
2880 12968 P (d:\\doug) S
2880 13232 P (256 D% echo "myecho.c is `wc -l < myecho.c` lines long") S
2880 13496 P (myecho.c is 24 lines long) S
2880 13760 P (257 D% echo "!?samples") S
2880 14024 P (echo "cd ~\\samples") S
2880 14288 P (cd ~\\samples) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (71) S 0 12 F
PE
720 984 P 8 12 F B (Quoting) S E
1800 1704 P B (Single) S 67 J ( Quotes) S E
2333 2208 P 0 12 F 26 10 F (Single) S 85 J ( quotes) S 86 J ( are) S 85 J ( a little more brute force to turn off special meanings. Wildcards,) S
1800 2472 P (variables) S 53 J ( and) S 54 J ( command) S 53 J ( substitutions) S 54 J ( are) S 53 J ( all) S 54 J ( treated) S 53 J ( as ordinary text. Only history references) S
1800 2736 P (are) S 50 J ( recognized inside single quotes.) S
2520 3200 P 0 12 F 0 10 F (258) S 120 J ( D% echo '*') S
2520 3464 P (*) S
2520 3728 P (259 D% echo '$cwd') S
2520 3992 P ($cwd) S
2520 4256 P (260 D% echo '`echo hello`") S
2520 4520 P (`echo hello`) S
2520 4784 P (261 D% echo '!?samples') S
2520 5048 P (echo 'echo "cd ~\\samples"') S
2520 5312 P (echo "cd ~\\samples") S
2520 5576 P (262 D% _) S
2333 6040 P 0 12 F 26 10 F (It) S 51 J ( is) S 52 J ( not) S 51 J ( necessary) S 52 J ( to) S 51 J ( quote) S 52 J ( an) S 51 J ( entire) S 52 J ( word. It's possible \(and often useful\) to selectively) S
1800 6304 P (quote) S 55 J ( just) S 56 J ( as) S 55 J ( much) S 56 J ( as) S 55 J ( desired.) S 56 J ( ) S 55 J ( The) S 56 J ( quoting) S 55 J ( characters) S 56 J ( are) S 55 J ( processed) S 56 J ( out just before invoking) S
1800 6568 P (the) S 50 J ( command. Example:) S
2520 7032 P 0 12 F 0 10 F (263) S 120 J ( D% echo 'no'w is "t"h'e' `echo time`) S
2520 7296 P (now is the time) S
1800 8240 P 0 12 F 8 12 F B (Shell) S 67 J ( Escape Character) S E
2333 8691 P 0 12 F 26 8 F 4693 J ( ) S (\324) S
2333 8744 P 0 12 F 26 10 F (The) S 54 J ( shell) S 55 J ( escape) S 54 J ( character) S 55 J ( is) S 54 J ( normally) S 55 J ( the) S 54 J ( circumflex) S 80 J ( ) S (,) S 54 J ( ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F (''.) S 54 J ( It has two uses: preceding) S
1800 9008 P (any) S 105 J ( of) S 106 J ( the) S 105 J ( special) S 106 J ( characters,) S 105 J ( it) S 106 J ( turns) S 105 J ( off) S 106 J ( that special meaning. When followed by an) S
1800 9272 P (alphabetic) S 59 J ( character) S 60 J ( or hex or octal number, it can be used to enter binary data or characters) S
1800 9536 P (that) S 74 J ( couldn't) S 75 J ( easily) S 74 J ( be) S 75 J ( typed.) S 74 J ( ) S 75 J ( To) S 74 J ( get) S 75 J ( a) S 74 J ( literal) S 75 J ( escape) S 74 J ( character,) S 75 J ( type two escapes in a row.) S
1800 9800 P (These) S 50 J ( specific escape sequences have special meaning:) S
2520 10280 P 0 12 F 0 10 F (^a) S 0 12 F 26 10 F () S 480 J ( Audible) S 50 J ( Alert \(Bell\)) S 1856 J ( ) S 0 12 F 0 10 F (^r) S 480 J ( ) S 0 12 F 26 10 F (Carriage) S 50 J ( Return) S
2520 10560 P 0 12 F 0 10 F (^b) S 0 12 F 26 10 F () S 480 J ( BackSpace) S 2668 J ( ) S 0 12 F 0 10 F (^t) S 480 J ( ) S 0 12 F 26 10 F (Tab) S
2520 10840 P 0 12 F 0 10 F (^f) S 480 J ( ) S 0 12 F 26 10 F (Form) S 50 J ( Feed) S 2649 J ( ) S 0 12 F 0 10 F (^v) S 480 J ( ) S 0 12 F 26 10 F (Vertical) S 50 J ( Tab) S
2520 11120 P 0 12 F 0 10 F (^n) S 480 J ( ) S 0 12 F 26 10 F (NewLine) S 2779 J ( ) S 0 12 F 0 10 F (^^) S 480 J ( ) S 0 12 F 26 10 F (Single) S 50 J ( escapesym) S
2333 11624 P (At) S 107 J ( the) S 108 J ( very) S 107 J ( end) S 108 J ( of) S 107 J ( a) S 108 J ( line,) S 107 J ( the) S 108 J ( escape has a special meaning: the next line is a) S
1800 11888 P (continuation) S 56 J ( line.) S 57 J ( ) S 56 J ( Inside) S 57 J ( a) S 56 J ( quoted string, the ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F (''-newline) S 56 J ( combination will be replaced with) S
1800 12152 P (a) S 88 J ( simple) S 89 J ( newline;) S 88 J ( anywhere) S 89 J ( else,) S 88 J ( the) S 89 J ( combination) S 88 J ( is) S 89 J ( just) S 88 J ( turned) S 89 J ( into a space. The other) S
1800 12416 P (special) S 78 J ( case) S 79 J ( is) S 78 J ( when) S 79 J ( it) S 78 J ( immediately) S 79 J ( follows) S 78 J ( ``) S 0 12 F 0 10 F ([) S 0 12 F 26 10 F (''.) S 79 J ( ) S 78 J ( Since) S 79 J ( ``) S 0 12 F 0 10 F ([^...]) S 0 12 F 26 10 F ('') S 78 J ( is a wildcard exclusion) S
1800 12680 P (range,) S 68 J ( the) S 69 J ( ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('') S 68 J ( in) S 69 J ( this) S 68 J ( case) S 69 J ( is) S 68 J ( treated) S 69 J ( as) S 68 J ( a) S 69 J ( literal) S 68 J ( character) S 69 J ( so you won't have to type two of) S
1800 12944 P (them) S 50 J ( in a row.) S
2333 13408 P (Escape characters work even inside single or double quotes.) S
1800 13560 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
1800 13867 P 0 12 F 26 8 F (\324) S
1800 13920 P 80 J ( ) S () S 280 J ( The) S 79 J ( circumflex) S 80 J ( was) S 79 J ( chosen) S 80 J ( as) S 79 J ( the default shell escape character to be consistent with OS/2 conventions.) S
2160 14160 P (Choosing) S 112 J ( the) S 113 J ( Unix) S 112 J ( backslash) S 113 J ( instead) S 112 J ( would) S 113 J ( have) S 112 J ( conflicted) S 113 J ( badly) S 112 J ( with) S 113 J ( OS/2 filename conventions.) S
2160 14400 P (Nonetheless,) S 40 J ( the ) S 0 12 F 0 8 F (escapesym) S 0 12 F 26 8 F () S 40 J ( variable does allow the adventuresome to make a different choice.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (72) S 0 12 F
PE
10218 984 P 8 12 F B (Quoting) S E
2880 1704 P 0 12 F 0 10 F (263) S 120 J ( D% echo now ^) S
2880 1968 P (is the time) S
2880 2232 P (now is the time) S
2880 2496 P (264 D% echo "now ^) S
2880 2760 P (is the time") S
2880 3024 P (now) S
2880 3288 P (is the time) S
2880 3552 P (265 D% _) S
2160 4496 P 0 12 F 8 12 F B (Quoting) S 67 J ( just part of a Word) S E
2693 5000 P 0 12 F 26 10 F (It's) S 52 J ( possible) S 53 J ( to) S 52 J ( combine) S 53 J ( the) S 52 J ( quoting) S 53 J ( mechanisms) S 52 J ( or) S 53 J ( use) S 52 J ( them on just the part of a string) S
2160 5264 P (you) S 50 J ( want quoted. For example,) S
2880 5728 P 0 12 F 0 10 F (265) S 120 J ( D% echo '$cwd='$cwd) S
2880 5992 P ($cwd=d:\\doug) S
2693 6456 P 0 12 F 26 10 F (Here's) S 54 J ( another) S 55 J ( example,) S 54 J ( searching) S 55 J ( through) S 54 J ( a) S 55 J ( series) S 54 J ( of) S 55 J ( ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F () S 54 J ( files,) S 55 J ( looking) S 54 J ( for) S 55 J ( those) S 54 J ( that) S
2160 6720 P (are) S 84 J ( self-loading) S 85 J ( procedures.) S 84 J ( ) S 85 J ( For) S 84 J ( example, we can spot that ) S 0 12 F 0 10 F (whereis.csh) S 0 12 F 26 10 F () S 84 J ( is self-loading) S
2160 6984 P (because) S 50 J ( it contains a line like this:) S
2880 7448 P 0 12 F 0 10 F (whereis) S 120 J ( $argv) S
2160 7912 P 0 12 F 26 10 F (To) S 53 J ( look) S 54 J ( for) S 53 J ( occurrences) S 54 J ( of) S 53 J ( this) S 54 J ( sort,) S 53 J ( we) S 54 J ( might) S 53 J ( loop) S 54 J ( through) S 53 J ( a) S 54 J ( list) S 53 J ( of) S 54 J ( ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F () S 53 J ( files,) S 54 J ( ) S 0 12 F 0 10 F (grep) S 0 12 F 26 10 F ('ing) S 53 J ( each) S
2160 8176 P (for) S 92 J ( the) S 93 J ( filename) S 92 J ( \(minus) S 93 J ( the) S 92 J ( ) S 0 12 F 0 10 F (directory) S 163 J ( and) S 162 J ( .csh) S 0 12 F 26 10 F () S 93 J ( extension\)) S 92 J ( followed by white space) S
2160 8440 P (followed) S 50 J ( by ``) S 0 12 F 0 10 F ($argv) S 0 12 F 26 10 F ('':) S
2880 8904 P 0 12 F 0 10 F (266) S 120 J ( D% foreach i \(~\\samples\\*.csh\)) S
2880 9168 P (267 D? grep $i:b'[ ^t]*$argv' $i) S
2880 9432 P (268 D? end) S
2880 9696 P (bits $argv) S
2880 9960 P (bumpdate $argv) S
2880 10224 P (caldate $argv) S
2880 10488 P (calendar $argv) S
2880 10752 P (:) S
2160 11216 P 0 12 F 26 10 F (Notice) S 64 J ( how) S 65 J ( the) S 64 J ( ``) S 0 12 F 0 10 F ($i:b) S 0 12 F 26 10 F ('') S 65 J ( part) S 64 J ( is) S 65 J ( outside) S 64 J ( the) S 65 J ( quotes) S 64 J ( so) S 65 J ( that) S 64 J ( the) S 65 J ( filename) S 64 J ( can) S 65 J ( be) S 64 J ( substituted in) S
2160 11480 P (and) S 57 J ( edited) S 58 J ( to) S 57 J ( strip) S 58 J ( off) S 57 J ( the) S 58 J ( directory) S 57 J ( and) S 58 J ( extension.) S 57 J ( ) S 58 J ( Conversely,) S 57 J ( the) S 58 J ( ``) S 0 12 F 0 10 F ([) S 120 J ( ^t]*) S 0 12 F 26 10 F ('') S 57 J ( and ``) S 0 12 F 0 10 F ($argv) S 0 12 F 26 10 F ('') S
2160 11744 P (portions) S 95 J ( are) S 96 J ( inside) S 95 J ( the) S 96 J ( quotes) S 95 J ( to avoid having them confused as a wildcard or variable) S
2160 12008 P (substitution,) S 50 J ( respectively.) S
2160 12952 P 0 12 F 8 12 F B (Wildcarding) S 67 J ( with Special Characters) S E
2693 13456 P 0 12 F 26 10 F (If) S 83 J ( you'd) S 84 J ( like) S 83 J ( to wildcard filenames that have literal $'s, ['s, quotes or spaces \(under) S
2160 13720 P (HPFS\)) S 51 J ( or) S 52 J ( other) S 51 J ( special) S 52 J ( characters, you'll have to quote or escape the special characters to turn) S
2160 13984 P (off) S 50 J ( their special meanings. For example,) S
5831 15384 P (Page ) S (73) S 0 12 F
PE
720 984 P 8 12 F B (Quoting) S E
2520 1704 P 0 12 F 0 10 F (269) S 120 J ( D% ls g:\\tmp) S
2520 1968 P ($abc [hello this name has spaces) S
2520 2232 P (270 D% ls '$'*) S
2520 2496 P ($abc) S
2520 2760 P (271 D% ls *^ *) S
2520 3024 P (this name has spaces) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (74) S 0 12 F
PE
9714 984 P 8 12 F B (Expressions) S E
5466 2184 P 0 12 F 8 14 F B (Expressions) S E
2693 2928 P 0 12 F 26 10 F (As) S 50 J ( we've) S 51 J ( seen,) S 50 J ( sometimes) S 51 J ( a) S 50 J ( character) S 51 J ( like) S 50 J ( ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 51 J ( means) S 50 J ( wildcard) S 51 J ( and) S 50 J ( sometimes it means) S
2160 3192 P (multiply.) S 71 J ( ) S 72 J ( The) S 71 J ( meaning) S 72 J ( of) S 71 J ( what) S 72 J ( you) S 71 J ( type) S 72 J ( is) S 71 J ( determined) S 72 J ( by) S 71 J ( the) S 72 J ( context.) S 71 J ( ) S 72 J ( The shell makes a) S
2160 3456 P (distinction) S 50 J ( between words, used as arguments to a command versus an expression context.) S
2693 3920 P (In general,) S 51 J ( expressions) S 50 J ( are) S 51 J ( expected) S 50 J ( wherever) S 51 J ( the) S 50 J ( context) S 51 J ( would) S 50 J ( seem to suggest that it) S
2160 4184 P (would) S 77 J ( be) S 78 J ( more) S 77 J ( natural) S 78 J ( to) S 77 J ( think) S 78 J ( of) S 77 J ( calculating) S 78 J ( a) S 77 J ( value) S 78 J ( as) S 77 J ( opposed) S 78 J ( to) S 77 J ( using) S 78 J ( wildcarding) S 77 J ( to) S
2160 4448 P (produce) S 50 J ( a list of filenames.) S
2160 5392 P 0 12 F 8 12 F B (Expressions) S E
2693 5896 P 0 12 F 26 10 F (The) S 50 J ( shell's) S 51 J ( expression) S 50 J ( grammar is based on that of the C language and provides the full) S
2160 6160 P (range) S 70 J ( of) S 71 J ( arithmetic,) S 70 J ( logical,) S 71 J ( bit,) S 70 J ( indexing) S 71 J ( and) S 70 J ( relation-testing) S 71 J ( and assignment operators. In) S
2160 6424 P (addition,) S 51 J ( there) S 52 J ( are) S 51 J ( file) S 52 J ( system) S 51 J ( tests) S 52 J ( and) S 51 J ( pattern) S 52 J ( matching) S 51 J ( string compares. To use the shell as) S
2160 6688 P (simple) S 85 J ( calculator,) S 86 J ( use the ) S 0 12 F 0 10 F (calc) S 0 12 F 26 10 F () S 86 J ( statement. This example shows a call to the square root) S
2160 6952 P (routine,) S 50 J ( one of the built-in procedures.) S
2880 7416 P 0 12 F 0 10 F (272) S 120 J ( D% calc sqrt\(2*pi\)) S
2880 7680 P (2.506628) S
2160 8144 P 0 12 F 26 10 F (which) S 87 J ( writes) S 88 J ( its) S 87 J ( result) S 88 J ( to) S 87 J ( stdout.) S 88 J ( If you want to do the calculation silently, use the ``) S 0 12 F 0 10 F (@) S 0 12 F 26 10 F ('') S
2160 8355 P 0 12 F 26 8 F 681 J ( ) S (\324) S
2160 8408 P 0 12 F 26 10 F (variant:) S
2880 8872 P 0 12 F 0 10 F (273) S 120 J ( D% @ r = 12) S
2880 9136 P (274 D% @ area = pi * r**2) S
2880 9400 P (275 D% calc area) S
2880 9664 P (452.389345) S
2693 10128 P 0 12 F 26 10 F (In) S 97 J ( addition) S 98 J ( to) S 97 J ( the) S 98 J ( ) S 0 12 F 0 10 F (calc) S 0 12 F 26 10 F () S 97 J ( and) S 98 J ( ) S 0 12 F 0 10 F (@) S 0 12 F 26 10 F () S 97 J ( statements,) S 98 J ( other) S 97 J ( examples where an expression is) S
2160 10392 P (expected) S 51 J ( include) S 52 J ( a) S 51 J ( variable) S 52 J ( index inside ``) S 0 12 F 0 10 F ([...]) S 0 12 F 26 10 F ('') S 52 J ( brackets, in a procedure argument list and,) S
2160 10656 P (as) S 50 J ( we'll see, a number of the structured programming constructs such as the ) S 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 50 J ( statement.) S
2160 11600 P 0 12 F 8 12 F B (Expression) S 67 J ( Parsing) S E
2693 12104 P 0 12 F 26 10 F (All) S 68 J ( commands) S 69 J ( are) S 68 J ( first broken down into words. A word is anything separated by a) S
2160 12368 P (space) S 50 J ( or a tab or one of the following special strings: ) S 0 12 F 0 10 F (&) S 0 12 F 26 10 F () S 50 J ( ) S 0 12 F 0 10 F (,) S 0 12 F 26 10 F (|,) S 50 J ( ) S 0 12 F 0 10 F (;) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (<) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (\)) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (&&) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (||) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F () S 50 J ( or ) S 0 12 F 0 10 F (<<) S 0 12 F 26 10 F (.) S
2693 12832 P (After) S 90 J ( a) S 91 J ( command) S 90 J ( line) S 91 J ( has) S 90 J ( already) S 91 J ( been) S 90 J ( broken up into words, if the context is an) S
2160 13096 P (expression,) S 75 J ( it's) S 76 J ( further) S 75 J ( broken) S 76 J ( up) S 75 J ( into) S 76 J ( tokens.) S 75 J ( ) S 76 J ( A) S 75 J ( token is a variable or procedure name, a) S
2160 13360 P (character) S 71 J ( or) S 72 J ( numeric literal, or one of the expression operators. Spacing between tokens is) S
2160 13624 P (more-or-less) S 103 J ( arbitrary:) S 104 J ( ) S 103 J ( for) S 104 J ( example,) S 103 J ( there's) S 104 J ( certainly) S 103 J ( no) S 104 J ( need to put spaces around an) S
2160 13888 P (arithmetic) S 50 J ( operator to separate it from a variable name beside it.) S
2160 14040 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 14347 P 0 12 F 26 8 F (\324) S
2160 14400 P 80 J ( ) S () S 280 J ( The) S 40 J ( choice of @ is a pun: ``at-sign-ment'' statement.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (75) S 0 12 F
PE
720 984 P 8 12 F B (Expressions) S E
2333 1704 P 0 12 F 26 10 F (Tokens) S 57 J ( are) S 58 J ( separated) S 57 J ( by) S 58 J ( any) S 57 J ( of) S 58 J ( these) S 57 J ( characters) S 58 J ( or) S 57 J ( character) S 58 J ( pairs:) S 57 J ( ) S 0 12 F 0 10 F (&) S 0 12 F 26 10 F (,) S 58 J ( ) S 0 12 F 0 10 F (|) S 0 12 F 26 10 F (,) S 57 J ( ) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F (,) S 58 J ( ) S 0 12 F 0 10 F (+) S 0 12 F 26 10 F (,) S 57 J ( ) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F (,) S 58 J ( ) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F (,) S 57 J ( ) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F (,) S 58 J ( ) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F (,) S
1800 1968 P 0 12 F 0 10 F (//) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (=) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (<) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (\)) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F ([) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (]) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (,) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (:) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (;) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (-A) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (-D) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (-H) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (-S) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (-d) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (-e) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (-f) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (-o) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (-w) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (-x) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (-z) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (++) S 0 12 F 26 10 F (,) S 51 J ( --, ) S 0 12 F 0 10 F (**) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (<<) S 0 12 F 26 10 F (,) S 51 J ( ) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F (,) S
1800 2232 P 0 12 F 0 10 F (==) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (!=) S 0 12 F 26 10 F (,) S 64 J ( ) S 0 12 F 0 10 F (=~) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (!~) S 0 12 F 26 10 F (,) S 64 J ( ) S 0 12 F 0 10 F (+=) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (-=) S 0 12 F 26 10 F (,) S 64 J ( ) S 0 12 F 0 10 F (*=) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (/=) S 0 12 F 26 10 F (,) S 64 J ( ) S 0 12 F 0 10 F (%=) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (//=) S 0 12 F 26 10 F (,) S 64 J ( ) S 0 12 F 0 10 F (^=) S 0 12 F 26 10 F () S 63 J ( and) S 64 J ( ) S 0 12 F 0 10 F (**=) S 0 12 F 26 10 F (.) S 63 J ( ) S 64 J ( The) S 63 J ( ) S 0 12 F 0 10 F (<=) S 0 12 F 26 10 F (,) S 64 J ( ) S 0 12 F 0 10 F (>=) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (<<=) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (>>=) S 0 12 F 26 10 F (,) S 63 J ( ) S 0 12 F 0 10 F (&=) S 0 12 F 26 10 F (,) S 63 J ( and ) S 0 12 F 0 10 F (|=) S 0 12 F 26 10 F () S 63 J ( are) S
1800 2496 P (always) S 61 J ( broken) S 62 J ( up into separate words before expression parsing begins; for consistency, the) S
1800 2760 P (parser) S 54 J ( will) S 55 J ( accept) S 54 J ( any) S 55 J ( of) S 54 J ( ``) S 0 12 F 26 10 F I (op) S E 0 12 F 0 10 F (=) S 0 12 F 26 10 F ('') S 55 J ( assignment) S 54 J ( operators) S 55 J ( with) S 54 J ( a) S 55 J ( space) S 54 J ( between) S 55 J ( the ``) S 0 12 F 26 10 F I (op) S E 0 12 F 26 10 F ('') S 55 J ( and ``) S 0 12 F 0 10 F (=) S 0 12 F 26 10 F ('') S
1800 2971 P 0 12 F 26 8 F 499 J ( ) S (\324) S
1800 3024 P 0 12 F 26 10 F (parts.) S
2333 3488 P (Since) S 91 J ( the) S 92 J ( shell knows that any names it encounters in an expression must refer to) S
1800 3752 P (variables) S 68 J ( or) S 69 J ( procedures) S 68 J ( it's) S 69 J ( not) S 68 J ( necessary) S 69 J ( to) S 68 J ( use) S 69 J ( a) S 68 J ( dollar) S 69 J ( sign to introduce a variable name.) S
1800 4016 P (In) S 51 J ( fact,) S 52 J ( you'll) S 51 J ( find) S 52 J ( that performance is actually a bit better if you do ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 52 J ( use a dollar sign. The) S
1800 4280 P (reason) S 58 J ( is) S 59 J ( because) S 58 J ( a) S 59 J ( $-style) S 58 J ( variable) S 59 J ( substitution) S 58 J ( is evaluated by converting the internal value) S
1800 4544 P (of) S 54 J ( the) S 55 J ( variable) S 54 J ( to) S 55 J ( a) S 54 J ( string) S 55 J ( and) S 54 J ( pasting) S 55 J ( that into the expression where quite often the next step) S
1800 4808 P (is) S 66 J ( just) S 67 J ( to) S 66 J ( convert) S 67 J ( it) S 66 J ( right) S 67 J ( back) S 66 J ( again into the integer or floating point value it started out as.) S
1800 5072 P (Also,) S 108 J ( if) S 109 J ( floating) S 108 J ( point) S 109 J ( is) S 108 J ( involved, you may notice some loss of precision. \(But don't) S
1800 5336 P (misunderstand,) S 70 J ( it) S 71 J ( is) S 70 J ( still) S 71 J ( perfectly) S 70 J ( legal) S 71 J ( to) S 70 J ( use) S 71 J ( $-style) S 70 J ( variable and other substitutions in an) S
1800 5600 P (expression.\)) S
2333 6064 P (Character) S 63 J ( literals) S 64 J ( must) S 63 J ( appear inside single or double quotes. Numeric literals can be) S
1800 6328 P (entered) S 60 J ( in) S 61 J ( decimal,) S 60 J ( octal) S 61 J ( or hex. Octal numbers can contain only the digits ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F () S 61 J ( through ) S 0 12 F 0 10 F (7) S 0 12 F 26 10 F () S 61 J ( and) S
1800 6592 P (must) S 50 J ( begin) S 51 J ( with) S 50 J ( ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F (.) S 51 J ( ) S 50 J ( Hex) S 51 J ( numbers) S 50 J ( must) S 51 J ( start) S 50 J ( with) S 51 J ( ``) S 0 12 F 0 10 F (0x) S 0 12 F 26 10 F ('') S 50 J ( and) S 51 J ( contain) S 50 J ( only) S 51 J ( ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F () S 50 J ( through ) S 0 12 F 0 10 F (f) S 0 12 F 26 10 F (.) S 50 J ( \(Either) S
1800 6856 P (upper or lower case is acceptable.\)) S
1800 7800 P 0 12 F 8 12 F B (Expression) S 67 J ( Operators) S E
2333 8304 P 0 12 F 26 10 F (Expressions) S 64 J ( are) S 65 J ( evaluated) S 64 J ( according) S 65 J ( to) S 64 J ( the relative precedence of each operator in the) S
1800 8568 P (expression.) S 70 J ( ) S 71 J ( For) S 70 J ( example,) S 71 J ( multiplication) S 70 J ( is) S 71 J ( done) S 70 J ( before) S 71 J ( addition.) S 70 J ( The complete precedence) S
1800 8832 P (hierarchy) S 50 J ( is shown in tabular form in the language reference.) S
2520 9296 P 0 12 F 0 10 F (276) S 120 J ( D% calc 2 + 3*5) S
2520 9560 P (17) S
2333 10024 P 0 12 F 26 10 F (Some) S 55 J ( of) S 56 J ( the) S 55 J ( operators) S 56 J ( will) S 55 J ( be) S 56 J ( foreign,) S 55 J ( though) S 56 J ( we) S 55 J ( trust,) S 56 J ( not too difficult to use. The file) S
1800 10288 P (system) S 69 J ( tests) S 70 J ( are) S 69 J ( unary) S 70 J ( operators. Each takes the name of a file or directory and tests it for) S
1800 10552 P (existence,) S 117 J ( zero-length or some other interesting characteristic. Since the operand is a) S
1800 10816 P (pathname,) S 56 J ( the) S 57 J ( parser) S 56 J ( temporarily) S 57 J ( shifts) S 56 J ( to) S 57 J ( word) S 56 J ( mode) S 57 J ( to) S 56 J ( read it because word mode is more) S
1800 11080 P (natural) S 65 J ( for) S 66 J ( pathnames. The pathname can include wildcards and should ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 66 J ( be enclosed in) S
1800 11344 P (quotes.) S 56 J ( ) S 57 J ( In) S 56 J ( the) S 57 J ( example that follows, ``) S 0 12 F 0 10 F (-e) S 0 12 F 26 10 F ('') S 57 J ( tests for existence; ``) S 0 12 F 0 10 F (-D) S 0 12 F 26 10 F ('') S 57 J ( tests whether the name is) S
1800 11608 P (a) S 50 J ( directory.) S
2520 12072 P 0 12 F 0 10 F (277) S 120 J ( D% cd ~\\samples) S
2520 12336 P (278 D% ls) S
2520 12600 P (args.c colors.csh factor.csh mcvisa.csh readme) S
2520 12864 P (args.exe deltaday.csh finance.csh myecho.c ts.csh) S
2520 13128 P (bits.csh dumpenv.c getprio.c myecho.exe viopaste.c) S
2520 13392 P (bumpdate.csh dumpenv.exe getprio.exe newfiles.csh viopaste.exe) S
2520 13656 P (caldate.csh duplicat.csh julian.csh rcode.c weekday.csh) S
1800 13800 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
1800 14107 P 0 12 F 26 8 F (\324) S
1800 14160 P 80 J ( ) S () S 280 J ( The) S 64 J ( grammar) S 65 J ( is) S 64 J ( not) S 65 J ( perfectly) S 64 J ( lr\(1\):) S 65 J ( ) S 64 J ( proper) S 65 J ( recognition) S 64 J ( of) S 65 J ( the) S 64 J ( file) S 65 J ( system) S 64 J ( tests) S 65 J ( and) S 64 J ( the assignment operator) S
2160 14400 P (requires) S 40 J ( that parsing decisions in some places have to look ahead two tokens, not just one.) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (76) S 0 12 F
PE
9714 984 P 8 12 F B (Expressions) S E
2880 1704 P 0 12 F 0 10 F (calendar.csh) S 120 J ( easter.csh makecpgm.csh rcode.exe) S
2880 1968 P (279 D% echo a*c) S
2880 2232 P (args.c) S
2880 2496 P (280 D% calc -e a*c) S
2880 2760 P (1) S
2880 3024 P (281 D% calc -D !$) S
2880 3288 P (calc -D a*c) S
2880 3552 P (0) S
2160 4496 P 0 12 F 8 12 F B (File) S 67 J ( System Tests) S E
2693 5000 P 0 12 F 26 10 F (The) S 59 J ( value) S 60 J ( returned) S 59 J ( from) S 60 J ( a) S 59 J ( file) S 60 J ( system) S 59 J ( test is always ) S 0 12 F 0 10 F (1) S 0 12 F 26 10 F () S 59 J ( or ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F (;) S 59 J ( there are no restrictions on) S
2160 5264 P (how) S 50 J ( the value might be used in further calculations.) S
2880 5728 P 0 12 F 0 10 F (282) S 120 J ( D% calc 1 + \(!*\) + \(-e myecho.c\)) S
2880 5992 P (calc 1 + \( -D a*c \) + \( -e myecho.c \)) S
2880 6256 P (2) S
2160 7200 P 0 12 F 8 12 F B (Increment) S 67 J ( and Decrement Operators) S E
2693 7704 P 0 12 F 26 10 F (The) S 67 J ( unary) S 68 J ( incrementing) S 67 J ( and) S 68 J ( decrementing) S 67 J ( operators are ``) S 0 12 F 0 10 F (++) S 0 12 F 26 10 F ('') S 67 J ( and ``) S 0 12 F 0 10 F (--) S 0 12 F 26 10 F (''.) S 67 J ( Pasting one) S
2160 7968 P (in) S 60 J ( front) S 61 J ( of) S 60 J ( a) S 61 J ( variable) S 60 J ( name) S 61 J ( bumps) S 60 J ( the) S 61 J ( variable,) S 60 J ( then returns the value. Pasting one after the) S
2160 8232 P (name) S 50 J ( bumps the variable but returns the prior state.) S
2880 8696 P 0 12 F 0 10 F (283) S 120 J ( D% calc x = 1) S
2880 8960 P (1) S
2880 9224 P (284 D% calc ++x) S
2880 9488 P (2) S
2880 9752 P (285 D% calc x++) S
2880 10016 P (2) S
2880 10280 P (286 D% calc x) S
2880 10544 P (3) S
2880 10808 P (287 D% calc --x) S
2880 11072 P (2) S
2160 12016 P 0 12 F 8 12 F B (Bit) S 67 J ( Shifting) S E
2693 12520 P 0 12 F 26 10 F (The) S 92 J ( ``) S 0 12 F 0 10 F (<<) S 0 12 F 26 10 F ('') S 93 J ( and) S 92 J ( ``) S 0 12 F 0 10 F (>>) S 0 12 F 26 10 F ('') S 93 J ( bit) S 92 J ( shifting) S 93 J ( operators) S 92 J ( shift) S 93 J ( an integer value on the left by the) S
2160 12784 P (number) S 67 J ( of) S 68 J ( bit) S 67 J ( positions) S 68 J ( given) S 67 J ( by) S 68 J ( the) S 67 J ( integer) S 68 J ( value) S 67 J ( on) S 68 J ( the) S 67 J ( right.) S 68 J ( ) S 67 J ( Bits) S 68 J ( shifted) S 67 J ( off) S 68 J ( the) S 67 J ( end are) S
2160 13048 P (lost;) S 50 J ( values shifted in are always ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F (.) S
2880 13512 P 0 12 F 0 10 F (288) S 120 J ( D% calc x << 3) S
2880 13776 P (8) S
2880 14040 P (289 D% calc x >> 10) S
2880 14304 P (0) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (77) S 0 12 F
PE
720 984 P 8 12 F B (Expressions) S E
1800 1704 P B (Bit) S 67 J ( Not Operation) S E
2333 2208 P 0 12 F 26 10 F (The) S 107 J ( unary) S 108 J ( ``) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F ('') S 107 J ( operator returns the bit-wise not of an integer operand. As this) S
1800 2472 P (example) S 50 J ( shows, integers are 32-bit signed values.) S
2520 2936 P 0 12 F 0 10 F (290) S 120 J ( D% calc ~5) S
2520 3200 P (-6) S
2520 3464 P (291 D% calc 0xfffffffa) S
2520 3728 P (-6) S
2520 3992 P (292 D% calc ~!$) S
2520 4256 P (calc ~0xfffffffa) S
2520 4520 P (5) S
1800 5464 P 0 12 F 8 12 F B (Logical) S 67 J ( Not) S E
2333 5968 P 0 12 F 26 10 F (The) S 102 J ( unary) S 103 J ( ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F ('') S 102 J ( operator) S 103 J ( returns) S 102 J ( the) S 103 J ( logical not. If the operand is non-zero, ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F () S 103 J ( is) S
1800 6232 P (returned,) S 82 J ( otherwise) S 83 J ( ) S 0 12 F 0 10 F (1) S 0 12 F 26 10 F (.) S 82 J ( In) S 83 J ( this) S 82 J ( example,) S 83 J ( the) S 82 J ( parentheses or space after the exclamation are) S
1800 6496 P (deliberate) S 50 J ( to avoid having the expression confused as a history reference.) S
2520 6960 P 0 12 F 0 10 F (293) S 120 J ( D% calc !\(5.1\)) S
2520 7224 P (0) S
2520 7488 P (294 D% calc ! 0) S
2520 7752 P (1) S
1800 8696 P 0 12 F 8 12 F B (Exponentiation) S E
2333 9200 P 0 12 F 26 10 F (The) S 78 J ( ``) S 0 12 F 0 10 F (**) S 0 12 F 26 10 F ('') S 79 J ( operator) S 78 J ( is) S 79 J ( for) S 78 J ( exponentiation. The left operand is raised to power of the) S
1800 9464 P (right) S 50 J ( operand.) S
2520 9928 P 0 12 F 0 10 F (295) S 120 J ( D% calc 2 ** 500) S
2520 10192 P (3.27339061e+150) S
1800 11136 P 0 12 F 8 12 F B (Modulo) S 67 J ( and Integer Division) S E
2333 11640 P 0 12 F 26 10 F (The) S 50 J ( ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F ('') S 50 J ( operator is for modulo division and returns the remainder.) S
2520 12104 P 0 12 F 0 10 F (296) S 120 J ( D% calc 22 % 7) S
2520 12368 P (1) S
2333 12832 P 0 12 F 26 10 F (A) S 51 J ( related) S 52 J ( ``) S 0 12 F 0 10 F (//) S 0 12 F 26 10 F ('') S 51 J ( operator) S 52 J ( does) S 51 J ( integer) S 52 J ( division.) S 51 J ( ) S 52 J ( Where) S 51 J ( the) S 52 J ( standard ``) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F ('') S 52 J ( operator might) S
1800 13096 P (return) S 50 J ( a floating point result, ``) S 0 12 F 0 10 F (//) S 0 12 F 26 10 F ('') S 50 J ( gives just the integer part of any division.) S
2520 13560 P 0 12 F 0 10 F (297) S 120 J ( D% calc 8/3) S
2520 13824 P (2.666667) S
2520 14088 P (298 D% calc 8//3) S
2520 14352 P (2) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (78) S 0 12 F
PE
9714 984 P 8 12 F B (Expressions) S E
2160 1704 P B (Comparison) S 67 J ( Operators) S E
2693 2208 P 0 12 F 26 10 F (The) S 53 J ( ``) S 0 12 F 0 10 F (==) S 0 12 F 26 10 F ('') S 54 J ( operator) S 53 J ( tests) S 54 J ( for) S 53 J ( equality;) S 54 J ( the) S 53 J ( single) S 54 J ( ``) S 0 12 F 0 10 F (=) S 0 12 F 26 10 F ('') S 53 J ( means) S 54 J ( assignment.) S 53 J ( ) S 54 J ( The) S 53 J ( ``) S 0 12 F 0 10 F (!=) S 0 12 F 26 10 F ('',) S 53 J ( ``) S 0 12 F 0 10 F (<) S 0 12 F 26 10 F ('',) S
2160 2472 P (``) S 0 12 F 0 10 F (<=) S 0 12 F 26 10 F ('',) S 51 J ( ``) S 0 12 F 0 10 F (>=) S 0 12 F 26 10 F ('',) S 51 J ( and ``) S 0 12 F 0 10 F (>) S 0 12 F 26 10 F ('') S 51 J ( operators are all straight-forward tests of ``not equal,'' ``less than,'' ``less) S
2160 2736 P (than) S 50 J ( or equal,'' etc. Comparisons of strings are as easy as of numbers.) S
2880 3200 P 0 12 F 0 10 F (299) S 120 J ( D% calc x = 3) S
2880 3464 P (3) S
2880 3728 P (300 D% calc x == 5) S
2880 3992 P (0) S
2880 4256 P (301 D% calc "able" < "baker") S
2880 4520 P (1) S
2693 4984 P 0 12 F 26 10 F (When) S 85 J ( the) S 86 J ( shell) S 85 J ( is) S 86 J ( asked) S 85 J ( to) S 86 J ( compare) S 85 J ( two) S 86 J ( expressions,) S 85 J ( it) S 86 J ( first tries to coerce them to) S
2160 5248 P (numeric) S 50 J ( values.) S 51 J ( ) S 50 J ( This) S 51 J ( is) S 50 J ( so) S 51 J ( that,) S 50 J ( e.g.,) S 51 J ( a) S 50 J ( string) S 51 J ( containing) S 50 J ( ``) S 0 12 F 0 10 F (16) S 0 12 F 26 10 F ('') S 51 J ( compares greater than ``2'' even) S
2160 5512 P (though) S 50 J ( a simple string compare would give the opposite result.) S
2160 6456 P 0 12 F 8 12 F B (Pattern) S 67 J ( Matching Operators) S E
2693 6960 P 0 12 F 26 10 F (The) S 53 J ( ``) S 0 12 F 0 10 F (=~) S 0 12 F 26 10 F (''and) S 54 J ( ``) S 0 12 F 0 10 F (!~) S 0 12 F 26 10 F ('') S 53 J ( are) S 54 J ( the) S 53 J ( ``pattern) S 54 J ( matches'') S 53 J ( and) S 54 J ( ``pattern) S 53 J ( fails'') S 54 J ( tests.) S 53 J ( ) S 54 J ( These are done) S
2160 7224 P (in) S 66 J ( pretty) S 67 J ( much) S 66 J ( the) S 67 J ( same) S 66 J ( way wildcarding is done. On the right is a pattern string possibly) S
2160 7488 P (containing) S 67 J ( wildcard) S 68 J ( characters.) S 67 J ( ) S 68 J ( It's) S 67 J ( compared against the string on the left the same way a) S
2160 7752 P (wildcard) S 98 J ( expansion) S 99 J ( would) S 98 J ( be) S 99 J ( done) S 98 J ( except) S 99 J ( that) S 98 J ( here,) S 99 J ( comparisons) S 98 J ( ) S 0 12 F 26 10 F I (are) S E 0 12 F 26 10 F () S 99 J ( case-sensitive and) S
2160 8016 P (where) S 50 J ( alternation appears, the match succeeds if any of the alternates matches.) S
2880 8480 P 0 12 F 0 10 F (302) S 120 J ( D% calc "Now is" =~ "N*i*") S
2880 8744 P (1) S
2880 9008 P (303 D% calc "Now is" !~ "Now is") S
2880 9272 P (0) S
2880 9536 P (304 D% calc "Now is" =~ "n*i*") S
2880 9800 P (0) S
2880 10064 P (305 D% calc "Now is" =~ "{n,No}*i{s,the}") S
2880 10328 P (1) S
2160 11272 P 0 12 F 8 12 F B (Bitwise) S 67 J ( And, Xor and Or Operators) S E
2693 11776 P 0 12 F 26 10 F (The) S 52 J ( ``) S 0 12 F 0 10 F (&) S 0 12 F 26 10 F ('',) S 52 J ( ``) S 0 12 F 0 10 F (^) S 0 12 F 26 10 F ('') S 52 J ( and ``) S 0 12 F 0 10 F (|) S 0 12 F 26 10 F ('') S 52 J ( operators perform bit-wise and, xor and or operations on integer) S
2160 12040 P (operands.) S
2880 12504 P 0 12 F 0 10 F (306) S 120 J ( D% calc 5 & 4) S
2880 12768 P (4) S
2880 13032 P (307 D% calc 5 ^ 3) S
2880 13296 P (6) S
2880 13560 P (308 D% calc 5 | 3) S
2880 13824 P (7) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (79) S 0 12 F
PE
720 984 P 8 12 F B (Expressions) S E
1800 1704 P B (Logical) S 67 J ( And and Or) S E
2333 2208 P 0 12 F 26 10 F (The) S 50 J ( ``) S 0 12 F 0 10 F (&&) S 0 12 F 26 10 F ('') S 50 J ( and ``) S 0 12 F 0 10 F (||) S 0 12 F 26 10 F ('') S 50 J ( operators perform logical and and or operations:) S
2520 2672 P 0 12 F 0 10 F (309) S 120 J ( D% calc 5 && 4) S
2520 2936 P (1) S
2520 3200 P (310 D% calc 0 && 4) S
2520 3464 P (0) S
2520 3728 P (311 D% calc 5 || 3) S
2520 3992 P (1) S
2520 4256 P (312 D% calc 5 || 0) S
2520 4520 P (1) S
1800 5464 P 0 12 F 8 12 F B (The) S 67 J ( ?: Operator) S E
2333 5968 P 0 12 F 26 10 F (The) S 99 J ( ``) S 0 12 F 0 10 F (?:) S 0 12 F 26 10 F ('') S 100 J ( trinary) S 99 J ( operator) S 100 J ( selects between two alternate expressions based on the) S
1800 6232 P (logical) S 50 J ( \(i.e., true or false\) value of the first operand.) S
2520 6696 P 0 12 F 0 10 F (313) S 120 J ( D% calc 0 ? "hello" : "goodby") S
2520 6960 P (goodby) S
2520 7224 P (314 D% calc \(5 > 3\) ? "hit" : "miss") S
2520 7488 P (hit) S
1800 8432 P 0 12 F 8 12 F B (The) S 67 J ( {...} Operator) S E
2333 8936 P 0 12 F 26 10 F (The) S 56 J ( ``{...}'' grouping operator allows you to run a command and evaluate its result as a) S
1800 9200 P (1) S 50 J ( if it succeeds or a zero if it fails. For example:) S
2520 9664 P 0 12 F 0 10 F (315) S 120 J ( D% calc {echo hello}) S
2520 9928 P (hello) S
2520 10192 P (1) S
2520 10456 P (316 D% calc {cd \\nonexistent}) S
2520 10720 P (csh: Couldn't change the current directory to '\\nonexistent'.) S
2520 10984 P (0) S
1800 11928 P 0 12 F 8 12 F B (The) S 67 J ( ) S E 0 12 F 8 12 F B I (Op) S E E 0 12 F 8 12 F B (=) S 67 J ( Operators) S E
2333 12432 P 0 12 F 26 10 F (Finally,) S 72 J ( the) S 73 J ( various) S 72 J ( ``) S 0 12 F 26 10 F I (op) S E 0 12 F 0 10 F (=) S 0 12 F 26 10 F ('') S 73 J ( operators) S 72 J ( apply) S 73 J ( the ) S 0 12 F 26 10 F I (op) S E 0 12 F 26 10 F () S 73 J ( to the left and right operands, then) S
1800 12696 P (assign) S 50 J ( the result to the left operand.) S
2520 13160 P 0 12 F 0 10 F (317) S 120 J ( D% calc x = 2) S
2520 13424 P (2) S
2520 13688 P (318 D% calc x **= 500) S
2520 13952 P (3.27339061e+150) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (80) S 0 12 F
PE
9714 984 P 8 12 F B (Expressions) S E
2880 1704 P 0 12 F 0 10 F (319) S 120 J ( D% calc x) S
2880 1968 P (3.27339061e+150) S
2160 2912 P 0 12 F 8 12 F B (Type) S 67 J ( Conversions) S E
2693 3416 P 0 12 F 26 10 F (The) S 149 J ( shell always tries to evaluate expressions ``sensibly'' by doing any type) S
2160 3680 P (conversions) S 68 J ( that) S 69 J ( might) S 68 J ( seem necessary. If an integer calculation results in an overflow, the) S
2160 3944 P (shell) S 50 J ( shifts automatically to floating point.) S
2880 4408 P 0 12 F 0 10 F (320) S 120 J ( D% calc 2**30) S
2880 4672 P (1073741824) S
2880 4936 P (321 D% calc 2**200) S
2880 5200 P (1.606938e+060) S
2693 5664 P 0 12 F 26 10 F (If) S 96 J ( a) S 97 J ( character) S 96 J ( string) S 97 J ( was) S 96 J ( given) S 97 J ( but) S 96 J ( an) S 97 J ( integer) S 96 J ( is) S 97 J ( needed,) S 96 J ( the shell tries to do that) S
2160 5928 P (conversion) S 70 J ( also.) S 71 J ( ) S 70 J ( Because) S 71 J ( these) S 70 J ( conversions) S 71 J ( happen) S 70 J ( automatically,) S 71 J ( without any fanfare, the) S
2160 6192 P (following) S 50 J ( literals all compare equal:) S
2880 6656 P 0 12 F 0 10 F (27) S 120 J ( 27.0 033 0x1B " 27 " ' 0x1b ') S
2160 7120 P 0 12 F 26 10 F (\(Null) S 59 J ( strings) S 60 J ( and) S 59 J ( strings) S 60 J ( consisting) S 59 J ( only) S 60 J ( of) S 59 J ( white) S 60 J ( space) S 59 J ( are) S 60 J ( considered) S 59 J ( equal) S 60 J ( to) S 59 J ( zero.) S 60 J ( This is) S
2160 7384 P (particularly) S 50 J ( convenient for local variables, which are initially set to null strings.\)) S
2693 7848 P (The) S 79 J ( shell) S 80 J ( does) S 79 J ( automatic) S 80 J ( conversions) S 79 J ( to) S 80 J ( a) S 79 J ( character) S 80 J ( string) S 79 J ( format when the result is) S
2160 8112 P (being) S 61 J ( printed.) S 62 J ( ) S 61 J ( Numeric) S 62 J ( results) S 61 J ( are) S 62 J ( always) S 61 J ( shown) S 62 J ( in decimal. In this example, a procedure,) S
2160 8376 P (the) S 70 J ( built-in square root routine, is invoked as a command; the value it returns is converted) S
2160 8640 P (from) S 50 J ( floating point to character string and printed.) S
2880 9104 P 0 12 F 0 10 F (322) S 120 J ( D% sqrt 2) S
2880 9368 P (1.414213) S
2693 9832 P 0 12 F 26 10 F () S 51 J ( The) S 52 J ( shell) S 51 J ( also) S 52 J ( converts) S 51 J ( to) S 52 J ( a) S 51 J ( character) S 52 J ( string) S 51 J ( when) S 52 J ( you) S 51 J ( reference) S 52 J ( an) S 51 J ( array) S 52 J ( but) S 51 J ( use) S 52 J ( it) S 51 J ( as) S 52 J ( if) S
2160 10096 P (it) S 50 J ( were not.) S
2880 10560 P 0 12 F 0 10 F (323) S 120 J ( D% set x = Now is the time) S
2880 10824 P (324 D% cd ~\\samples; myecho $x) S
2880 11088 P ('myecho' 'Now' 'is' 'the' 'time') S
2880 11352 P (arg length = 23 characters) S
2880 11616 P (325 D% @ y = x) S
2880 11880 P (326 D% myecho $y) S
2880 12144 P ('myecho' 'Now is the time') S
2880 12408 P (arg length = 23 characters) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (81) S 0 12 F
PE
720 984 P 8 12 F B (Expressions) S E
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (82) S 0 12 F
PE
10301 984 P 8 12 F B (Aliases) S E
5809 2184 P 0 12 F 8 14 F B (Aliases) S E
2693 2928 P 0 12 F 26 10 F (Aliases) S 82 J ( are) S 83 J ( a) S 82 J ( quick) S 83 J ( shorthand) S 82 J ( technique.) S 83 J ( ) S 82 J ( If) S 83 J ( you) S 82 J ( type) S 83 J ( an) S 82 J ( alias) S 83 J ( at) S 82 J ( the) S 83 J ( beginning of a) S
2160 3192 P (command,) S 62 J ( it's) S 63 J ( replaced) S 62 J ( by) S 63 J ( whatever) S 62 J ( the) S 63 J ( alias) S 62 J ( is) S 63 J ( defined) S 62 J ( as.) S 63 J ( ) S 62 J ( They're) S 63 J ( intended) S 62 J ( to) S 63 J ( be used for) S
2160 3456 P (relatively) S 76 J ( simple) S 77 J ( abbreviations:) S 76 J ( ) S 77 J ( if) S 76 J ( any) S 77 J ( arguments) S 76 J ( are) S 77 J ( needed,) S 76 J ( you) S 77 J ( have) S 76 J ( to) S 77 J ( be) S 76 J ( able) S 77 J ( to type) S
2160 3720 P (them) S 50 J ( onto the end. \(More complex situations will have to wait until we cover procedures.\)) S
2693 4184 P (To list the aliases currently defined, use the ) S 0 12 F 0 10 F (alias) S 0 12 F 26 10 F () S 50 J ( command:) S
2880 4648 P 0 12 F 0 10 F (327) S 120 J ( D% alias) S
2880 4912 P (cdd cd +c) S
2880 5176 P (copy local s ; @ s = nowild ; @ nowild = 1 ; safecopy) S
2880 5440 P (date dt) S
2880 5704 P (del local s ; @ s = nowild ; @ nowild = 1 ; safedel) S
2880 5968 P (dir cmd /c dir) S
2880 6232 P (erase del) S
2880 6496 P (h history) S
2880 6760 P (help helpmsg) S
2880 7024 P (label cmd /c label) S
2880 7288 P (ll ls -L) S
2880 7552 P (md mkdir) S
2880 7816 P (mi more -i) S
2880 8080 P (rd rmdir) S
2880 8344 P (ren rename) S
2880 8608 P (rename local s ; @ s = nowild ; @ nowild = 1 ; saferename) S
2880 8872 P (ro rotd) S
2880 9136 P (start cmd /c start) S
2880 9400 P (type cat) S
2880 9664 P (vol vl) S
2880 9928 P (xcopy local s ; @ s = nowild ; @ nowild = 1 ; safexcopy) S
2693 10392 P 0 12 F 26 10 F (Some) S 82 J ( aliases) S 83 J ( are) S 82 J ( used) S 83 J ( to) S 82 J ( intercept) S 83 J ( references) S 82 J ( to) S 83 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S 82 J ( built-in) S 83 J ( commands.) S 82 J ( For) S
2160 10656 P (example,) S 70 J ( this) S 71 J ( is) S 70 J ( how) S 71 J ( ) S 0 12 F 0 10 F (dir) S 0 12 F 26 10 F () S 70 J ( is run. Other aliases give simple alternate names to a command,) S
2160 10920 P (e.g.,) S 56 J ( ) S 0 12 F 0 10 F (rename) S 0 12 F 26 10 F () S 57 J ( for) S 56 J ( ) S 0 12 F 0 10 F (mv) S 0 12 F 26 10 F (.) S 57 J ( ) S 56 J ( Still) S 57 J ( others) S 56 J ( are) S 57 J ( used) S 56 J ( to) S 57 J ( customize a command with a useful option. For) S
2160 11184 P (example,) S 51 J ( ) S 0 12 F 0 10 F (mi) S 0 12 F 26 10 F () S 52 J ( runs) S 51 J ( ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 52 J ( but) S 51 J ( starts) S 52 J ( it) S 51 J ( immediately) S 52 J ( in) S 51 J ( interactive) S 52 J ( mode,) S 51 J ( which) S 52 J ( means) S 51 J ( the) S 52 J ( screen) S
2160 11448 P (is) S 50 J ( cleared first; in a PM text window, this tends to run faster.) S
2693 11912 P (To) S 56 J ( find) S 57 J ( out) S 56 J ( how) S 57 J ( any) S 56 J ( particular) S 57 J ( alias is defined, use the ) S 0 12 F 0 10 F (alias) S 0 12 F 26 10 F () S 57 J ( command with only the) S
2160 12176 P (name) S 50 J ( you're interested in as an operand.) S
2880 12640 P 0 12 F 0 10 F (328) S 120 J ( D% alias mi) S
2880 12904 P (mi more -i) S
2693 13368 P 0 12 F 26 10 F (To) S 70 J ( create) S 71 J ( a) S 70 J ( new) S 71 J ( alias,) S 70 J ( type) S 71 J ( the) S 70 J ( ) S 0 12 F 0 10 F (alias) S 0 12 F 26 10 F () S 71 J ( command) S 70 J ( followed) S 71 J ( by) S 70 J ( the) S 71 J ( name) S 70 J ( of) S 71 J ( alias being) S
2160 13632 P (created) S 50 J ( and word list it should be expanded into:) S
5831 15384 P (Page ) S (83) S 0 12 F
PE
720 984 P 8 12 F B (Aliases) S E
2520 1704 P 0 12 F 0 10 F (329) S 120 J ( D% alias hello echo hello world) S
2520 1968 P (330 D% hello) S
2520 2232 P (hello world) S
2333 2696 P 0 12 F 26 10 F (If) S 72 J ( you) S 73 J ( define) S 72 J ( an) S 73 J ( alias) S 72 J ( that) S 73 J ( refers to itself, either directly or via other aliases, the shell) S
1800 2960 P (traps) S 50 J ( the reference rather than allowing it to expand without limit:) S
2520 3424 P 0 12 F 0 10 F (331) S 120 J ( D% alias hello \(echo infinite; hello again\)) S
2520 3688 P (332 D% hello) S
2520 3952 P (csh: A loop in the alias definitions was encountered and) S
2520 4216 P (trapped.) S
2333 4680 P 0 12 F 26 10 F (This) S 114 J ( raises) S 115 J ( the) S 114 J ( question) S 115 J ( how) S 114 J ( you) S 115 J ( might) S 114 J ( define) S 115 J ( an) S 114 J ( alias,) S 115 J ( say, ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F (,) S 115 J ( that intercepts) S
1800 4944 P (references) S 55 J ( to) S 56 J ( the) S 55 J ( ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 56 J ( utility) S 55 J ( without) S 56 J ( getting) S 55 J ( into) S 56 J ( a) S 55 J ( loop.) S 56 J ( ) S 55 J ( The) S 56 J ( answer) S 55 J ( is that the shell considers) S
1800 5208 P (it) S 59 J ( a) S 60 J ( special) S 59 J ( case) S 60 J ( if) S 59 J ( the) S 60 J ( first) S 59 J ( word) S 60 J ( in) S 59 J ( the) S 60 J ( expansion) S 59 J ( of) S 60 J ( the) S 59 J ( alias) S 60 J ( is) S 59 J ( the) S 60 J ( same as its name. Here's) S
1800 5472 P (an) S 50 J ( alias that causes ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F () S 50 J ( to always display all files:) S
2520 5936 P 0 12 F 0 10 F (333) S 120 J ( D% alias ls ls +a) S
1800 6880 P 0 12 F 8 12 F B (Implementation) S 67 J ( Details) S E
2333 7384 P 0 12 F 26 10 F (The) S 64 J ( alias) S 65 J ( mechanism) S 64 J ( is) S 65 J ( actually) S 64 J ( part) S 65 J ( of) S 64 J ( the) S 65 J ( parsing mechanism rather than a run-time) S
1800 7648 P (feature) S 50 J ( of) S 51 J ( the) S 50 J ( C) S 51 J ( shell.) S 50 J ( ) S 51 J ( What) S 50 J ( that) S 51 J ( means) S 50 J ( is that the alias expansion is done when the statement) S
1800 7912 P (is) S 82 J ( first) S 83 J ( read,) S 82 J ( not) S 83 J ( when) S 82 J ( it's) S 83 J ( executed.) S 82 J ( ) S 83 J ( Here's) S 82 J ( an) S 83 J ( example) S 82 J ( where) S 83 J ( we) S 82 J ( attempt) S 83 J ( to change the) S
1800 8176 P (definition) S 73 J ( of) S 74 J ( an) S 73 J ( alias) S 74 J ( inside) S 73 J ( a) S 74 J ( loop.) S 73 J ( ) S 74 J ( Notice that it doesn't have any effect until we exit the) S
1800 8440 P (loop.) S 80 J ( ) S 81 J ( That's) S 80 J ( because) S 81 J ( the) S 80 J ( whole) S 81 J ( loop) S 80 J ( is) S 81 J ( being compiled as a block before any part of it is) S
1800 8704 P (executed.) S
2520 9168 P 0 12 F 0 10 F (334) S 120 J ( D% alias foo echo this is life) S
2520 9432 P (335 D% foreach i \(hello world\)) S
2520 9696 P (336 D? alias foo echo $i) S
2520 9960 P (337 D? foo) S
2520 10224 P (338 D? end) S
2520 10488 P (this is life) S
2520 10752 P (this is life) S
2520 11016 P (339 D% foo) S
2520 11280 P (world) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (84) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
4611 2184 P 0 12 F 8 14 F B (Programming) S 78 J ( Constructs) S E
2693 2928 P 0 12 F 26 10 F (This) S 130 J ( chapter) S 131 J ( outlines) S 130 J ( the) S 131 J ( various) S 130 J ( structures) S 131 J ( provided for connecting statements) S
2160 3192 P (together:) S 52 J ( ) S 53 J ( describing) S 52 J ( serial) S 53 J ( relationships,) S 52 J ( conditional execution, iteration and how procedures) S
2160 3456 P (are) S 50 J ( defined and used.) S
2160 4400 P 0 12 F 8 12 F B (Serial) S 67 J ( Execution) S E
2693 4904 P 0 12 F 26 10 F (As) S 62 J ( we've) S 63 J ( seen) S 62 J ( already,) S 63 J ( commands) S 62 J ( typed on successive lines are executed serially, one) S
2160 5168 P (after) S 65 J ( the) S 66 J ( other.) S 65 J ( ) S 66 J ( Writing) S 65 J ( several) S 66 J ( commands) S 65 J ( on) S 66 J ( one) S 65 J ( line) S 66 J ( with) S 65 J ( semicolons) S 66 J ( between) S 65 J ( them) S 66 J ( does) S
2160 5432 P (the) S 50 J ( same thing.) S
2880 5896 P 0 12 F 0 10 F (340) S 120 J ( D% echo hello; echo world) S
2880 6160 P (hello) S
2880 6424 P (world) S
2880 6688 P (341 D% _) S
2693 7152 P 0 12 F 26 10 F (Notice) S 116 J ( that) S 117 J ( in) S 116 J ( contrast) S 117 J ( to) S 116 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (,) S 117 J ( the shell doesn't pass the semicolon to the) S
2160 7416 P (application) S 89 J ( you) S 90 J ( invoke.) S 89 J ( ) S 90 J ( If) S 89 J ( you) S 90 J ( really) S 89 J ( do) S 90 J ( want to pass a semicolon, e.g., to the linker to) S
2160 7680 P (indicate) S 50 J ( the end of the arguments, you have to escape it or put it inside quotes.) S
2693 8144 P () S 65 J ( A) S 66 J ( non-zero) S 65 J ( return) S 66 J ( code) S 65 J ( is) S 66 J ( not) S 65 J ( normally) S 66 J ( considered an error: regardless of the return) S
2160 8408 P (code) S 85 J ( from) S 86 J ( any) S 85 J ( particular) S 86 J ( command,) S 85 J ( serial) S 86 J ( execution) S 85 J ( continues.) S 86 J ( ) S 85 J ( We) S 86 J ( can demonstrate this) S
2160 8672 P (with) S 52 J ( the) S 53 J ( ) S 0 12 F 0 10 F (rcode) S 0 12 F 26 10 F () S 52 J ( utility) S 53 J ( in) S 52 J ( the) S 53 J ( ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 52 J ( directory) S 53 J ( which) S 52 J ( prints,) S 53 J ( then) S 52 J ( exits) S 53 J ( with) S 52 J ( the) S 53 J ( return code) S
2160 8936 P (value) S 66 J ( you) S 67 J ( pass) S 66 J ( it) S 67 J ( on) S 66 J ( the) S 67 J ( command) S 66 J ( line. This example also shows how you can retrieve the) S
2160 9200 P (return) S 50 J ( code of the last child process by referring to the built-in ) S 0 12 F 0 10 F (status) S 0 12 F 26 10 F () S 50 J ( variable.) S
2880 9664 P 0 12 F 0 10 F (341) S 120 J ( D% cd ~\\samples) S
2880 9928 P (342 D% rcode 1; rcode 2) S
2880 10192 P (1) S
2880 10456 P (2) S
2880 10720 P (343 D% calc status) S
2880 10984 P (2) S
2693 11448 P 0 12 F 26 10 F (It's) S 69 J ( also possible to describe a conditional serial relationship. If statements are joined) S
2160 11712 P (by) S 62 J ( ``) S 0 12 F 0 10 F (&&) S 0 12 F 26 10 F ('',) S 63 J ( the) S 62 J ( second) S 63 J ( one) S 62 J ( is) S 63 J ( executed) S 62 J ( only) S 63 J ( if) S 62 J ( the) S 63 J ( return) S 62 J ( code) S 63 J ( from) S 62 J ( the) S 63 J ( first) S 62 J ( one is 0, i.e., if the) S
2160 11976 P (first) S 60 J ( statement) S 61 J ( succeeds.) S 60 J ( ) S 61 J ( If) S 60 J ( statements) S 61 J ( are) S 60 J ( joined) S 61 J ( by) S 60 J ( ``) S 0 12 F 0 10 F (||) S 0 12 F 26 10 F ('',) S 60 J ( the second is executed only if the) S
2160 12240 P (first) S 50 J ( one fails, i.e., returns a non-zero return code.) S
2880 12704 P 0 12 F 0 10 F (344) S 120 J ( D% rcode 0 || rcode 1) S
2880 12968 P (0) S
2880 13232 P (345 D% rcode 1 || rcode 2) S
2880 13496 P (1) S
2880 13760 P (2) S
2880 14024 P (346 D% rcode 0 && rcode 1) S
2880 14288 P (0) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (85) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (1) S
2520 1968 P (347) S 120 J ( D% rcode 1 && rcode 2) S
2520 2232 P (1) S
1800 3176 P 0 12 F 8 12 F B (Statements) S 67 J ( and Statement Lists) S E
2333 3680 P 0 12 F 26 10 F (I/O) S 84 J ( redirectors) S 85 J ( and) S 84 J ( statement) S 85 J ( connectors) S 84 J ( are recognized according to a precedence.) S
1800 3944 P (Just) S 82 J ( as) S 83 J ( in) S 82 J ( expressions, where ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 82 J ( is done before ``) S 0 12 F 0 10 F (+) S 0 12 F 26 10 F ('',) S 82 J ( statements are parsed so that some) S
1800 4208 P (things) S 91 J ( are) S 92 J ( done) S 91 J ( before others. I/O redirection comes before piping which comes before) S
1800 4472 P (conditional) S 50 J ( execution which comes before serializing with semicolons. For example:) S
2520 4936 P 0 12 F 0 10 F (348) S 120 J ( D% echo hello; echo world | wc) S
2520 5200 P (hello) S
2520 5464 P ( 1 1 7) S
2333 5928 P 0 12 F 26 10 F (The) S 82 J ( shell) S 83 J ( makes) S 82 J ( a) S 83 J ( special distinction between individual statements, no matter how) S
1800 6192 P (complex,) S 50 J ( and lists of statements typed on separate lines or separated by semicolons.) S
2333 6656 P (Here's) S 72 J ( an) S 73 J ( example) S 72 J ( using) S 73 J ( the ) S 0 12 F 0 10 F (time) S 0 12 F 26 10 F () S 73 J ( command, which runs a statement and prints out) S
1800 6920 P (the) S 56 J ( hours, minutes and seconds it took. ) S 0 12 F 0 10 F (time) S 0 12 F 26 10 F () S 56 J ( expects a single statement as a operand; if you) S
1800 7184 P (type) S 53 J ( a) S 54 J ( semicolon,) S 53 J ( the) S 54 J ( ) S 0 12 F 0 10 F (time) S 0 12 F 26 10 F () S 54 J ( command \(together with its operand\) becomes just one statement) S
1800 7448 P (in) S 50 J ( the list.) S
2520 7912 P 0 12 F 0 10 F (349) S 120 J ( D% time echo hello world | wc) S
2520 8176 P ( 1 2 13\000) S
2520 8440 P (0:00:00.50) S
2520 8704 P (350 D% time echo hello; echo world) S
2520 8968 P (hello) S
2520 9232 P (0:00:00.00) S
2520 9496 P (world) S
1800 10440 P 0 12 F 8 12 F B (Parenthesis) S E
2333 10944 P 0 12 F 26 10 F (There) S 53 J ( are) S 54 J ( two) S 53 J ( ways to group a list of statements together to make them act like a single) S
1800 11208 P (statement.) S 84 J ( ) S 85 J ( The) S 84 J ( simplest) S 85 J ( way) S 84 J ( is) S 85 J ( with) S 84 J ( parenthesis,) S 85 J ( which work the way they would in an) S
1800 11472 P (expression:) S 54 J ( ) S 55 J ( even) S 54 J ( if) S 55 J ( the) S 54 J ( operator) S 55 J ( inside) S 54 J ( the) S 55 J ( parentheses are of lower precedence, they're done) S
1800 11736 P (first.) S
2520 12200 P 0 12 F 0 10 F (351) S 120 J ( D% \(echo hello; echo world\) | wc) S
2520 12464 P ( 2 2 14) S
2520 12728 P (352 D% time \(echo hello; echo world\)) S
2520 12992 P (hello) S
2520 13256 P (world) S
2520 13520 P (0:00:00.00) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (86) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2693 1704 P 0 12 F 26 10 F (A) S 53 J ( parenthesized group gets its own copy of the current directory and disk. This makes) S
2160 1968 P (it) S 63 J ( convenient to change directories inside the group and go do something without having to) S
2160 2232 P (change) S 50 J ( back afterward.) S
2880 2696 P 0 12 F 0 10 F (353) S 120 J ( D% cd) S
2880 2960 P (d:\\doug\\samples) S
2880 3224 P (354 D% \(cd ..; cd\)) S
2880 3488 P (d:\\doug) S
2880 3752 P (355 D% cd) S
2880 4016 P (d:\\doug\\samples) S
2693 4480 P 0 12 F 26 10 F (The) S 62 J ( actual) S 63 J ( implementation) S 62 J ( uses) S 63 J ( the) S 62 J ( directory) S 63 J ( stack) S 62 J ( mechanism: at entry to the group,) S
2160 4744 P (the) S 50 J ( current directory is pushed onto the directory stack and at exit, the top entry is popped.) S
2880 5208 P 0 12 F 0 10 F (356) S 120 J ( D% dirs) S
2880 5472 P 0 12 F 0 10 F B (d:\\doug\\samples) S E
2880 5736 P 0 12 F 0 10 F (357) S 120 J ( D% \( dirs \)) S
2880 6000 P 0 12 F 0 10 F B (d:\\doug\\samples) S E
2880 6264 P 0 12 F 0 10 F (d:\\doug\\samples) S
2880 6528 P (358) S 120 J ( D% dirs) S
2880 6792 P 0 12 F 0 10 F B (d:\\doug\\samples) S E
2160 7736 P 0 12 F 8 12 F B (Control) S 67 J ( Structures) S E
2693 8240 P 0 12 F 26 10 F (The) S 89 J ( more) S 90 J ( general) S 89 J ( way of connecting statements together is with control structures,) S
2160 8504 P (which) S 147 J ( provide) S 148 J ( ways) S 147 J ( of) S 148 J ( describing) S 147 J ( conditional) S 148 J ( or) S 147 J ( iterative execution or even \(with) S
2160 8768 P (procedures\)) S 108 J ( adding) S 109 J ( new) S 108 J ( vocabulary) S 109 J ( to) S 108 J ( the) S 109 J ( language.) S 108 J ( ) S 109 J ( You) S 108 J ( can) S 109 J ( use) S 108 J ( a control structure) S
2160 9032 P (anywhere) S 50 J ( a statement is allowed.) S
2693 9496 P (The) S 70 J ( language) S 71 J ( is) S 70 J ( completely) S 71 J ( recursive:) S 70 J ( ) S 71 J ( control structures can be nested inside control) S
2160 9760 P (structures,) S 51 J ( etc.) S 52 J ( A) S 51 J ( statement) S 52 J ( can) S 51 J ( be) S 52 J ( arbitrarily) S 51 J ( complex.) S 52 J ( ) S 51 J ( Here's an example timing a statement) S
2160 10024 P (that) S 50 J ( turns out to be a ) S 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 50 J ( loop piped to a ) S 0 12 F 0 10 F (wc) S 0 12 F 26 10 F () S 50 J ( and inside the ) S 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 50 J ( loop ...) S
2880 10488 P 0 12 F 0 10 F (359) S 120 J ( D% time for i = 1 to 3 do) S
2880 10752 P (360 D? time echo hello world | wc) S
2880 11016 P (361 D? end | wc) S
2880 11280 P ( 6 12 126\000) S
2880 11544 P (0:00:01.03) S
2160 12488 P 0 12 F 8 12 F B (If) S 67 J ( Statement) S E
2693 12992 P 0 12 F 26 10 F (The) S 55 J ( if) S 56 J ( statement) S 55 J ( comes) S 56 J ( in two forms. The short form is convenient if the choice is only) S
2160 13256 P (between) S 50 J ( executing and not executing a single statement, which appears on the same line.) S
2880 13720 P 0 12 F 0 10 F (362) S 120 J ( D% if \(5 == 2 + 3\) echo yes) S
2880 13984 P (yes) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (87) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (363) S 120 J ( D% if \(5 == 10\) echo really) S
2520 1968 P (364 D% _) S
2333 2432 P 0 12 F 26 10 F (The) S 70 J ( longer) S 71 J ( form provides the more traditional if-then-else structure. Indentation is a) S
1800 2696 P (matter) S 50 J ( of choice, it's used in these examples merely to improve readability.) S
2520 3160 P 0 12 F 0 10 F (364) S 120 J ( D% if \(5 == 10\) then) S
2520 3424 P (365 D? echo 5 == 10) S
2520 3688 P (366 D? else) S
2520 3952 P (367 D? echo 5 is not 10) S
2520 4216 P (368 D? end) S
2520 4480 P (5 is not 10) S
2520 4744 P (369 D% _) S
1800 5688 P 0 12 F 8 12 F B (Switch) S 67 J ( Statement) S E
2333 6192 P 0 12 F 26 10 F (The) S 112 J ( ) S 0 12 F 0 10 F (switch) S 0 12 F 26 10 F () S 113 J ( statement) S 112 J ( works) S 113 J ( by) S 112 J ( attempting to pattern match the ) S 0 12 F 0 10 F (switch) S 0 12 F 26 10 F () S 112 J ( value) S
1800 6456 P (against) S 87 J ( a) S 88 J ( series) S 87 J ( of) S 88 J ( alternative ) S 0 12 F 0 10 F (cases) S 0 12 F 26 10 F (.) S 88 J ( The ) S 0 12 F 0 10 F (switch) S 0 12 F 26 10 F () S 88 J ( and ) S 0 12 F 0 10 F (case) S 0 12 F 26 10 F () S 88 J ( values can all be arbitrary) S
1800 6720 P (expressions.) S 113 J ( ) S 114 J ( If) S 113 J ( any) S 114 J ( pattern) S 113 J ( match succeeds, execution begins with the next statement) S
1800 6984 P (following) S 58 J ( and) S 59 J ( continues,) S 58 J ( skipping over any interspersed ) S 0 12 F 0 10 F (case) S 0 12 F 26 10 F () S 58 J ( clauses until either the end of) S
1800 7248 P (the) S 50 J ( ) S 0 12 F 0 10 F (switch) S 0 12 F 26 10 F () S 50 J ( block or a ) S 0 12 F 0 10 F (break) S 0 12 F 26 10 F () S 50 J ( statement is reached.) S
2520 7712 P 0 12 F 0 10 F (369) S 120 J ( D% switch \("hello world"\)) S
2520 7976 P (370 D? case 5:) S
2520 8240 P (371 D? echo hit 5) S
2520 8504 P (372 D? case "h*":) S
2520 8768 P (373 D? echo hit "h*") S
2520 9032 P (374 D? case "x*":) S
2520 9296 P (375 D? echo hit "x*") S
2520 9560 P (376 D? break) S
2520 9824 P (377 D? case 43.2:) S
2520 10088 P (378 D? echo hit 43.2) S
2520 10352 P (379 D? default:) S
2520 10616 P (380 D? echo did not hit) S
2520 10880 P (381 D? end) S
2520 11144 P (hit h*) S
2520 11408 P (hit x*) S
2333 11872 P 0 12 F 26 10 F (The) S 96 J ( ) S 0 12 F 0 10 F (break) S 0 12 F 26 10 F () S 97 J ( statement used here causes execution to ``break out of'' the innermost) S
1800 12136 P (control) S 79 J ( structure.) S 80 J ( ) S 79 J ( If) S 80 J ( you're) S 79 J ( nested) S 80 J ( several) S 79 J ( layers) S 80 J ( deep) S 79 J ( into) S 80 J ( control) S 79 J ( structures and want to) S
1800 12400 P (break) S 60 J ( out) S 61 J ( of) S 60 J ( a) S 61 J ( higher) S 60 J ( level structure you can label the higher level structure and specify that) S
1800 12664 P (name) S 50 J ( on the ) S 0 12 F 0 10 F (break) S 0 12 F 26 10 F () S 50 J ( statement.) S
5831 15384 P (Page ) S (88) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2160 1704 P B (Foreach Statement) S E
2693 2208 P 0 12 F 26 10 F (The) S 104 J ( ) S 0 12 F 0 10 F (foreach) S 0 12 F 26 10 F () S 105 J ( statement) S 104 J ( is) S 105 J ( designed) S 104 J ( for) S 105 J ( iterating) S 104 J ( over) S 105 J ( a) S 104 J ( series) S 105 J ( of) S 104 J ( words.) S 105 J ( In this) S
2160 2472 P (example,) S 53 J ( ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 54 J ( is) S 53 J ( iterated) S 54 J ( over) S 53 J ( the) S 54 J ( list) S 53 J ( of) S 54 J ( all) S 53 J ( the files in the ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 53 J ( directory. Each one, in turn,) S
2160 2736 P (is) S 50 J ( tested to see if it's executable \(i.e., has a ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 50 J ( or ) S 0 12 F 0 10 F (.com) S 0 12 F 26 10 F () S 50 J ( extension.\)) S
2880 3200 P 0 12 F 0 10 F (382) S 120 J ( D% cd ~\\samples) S
2880 3464 P (383 D% ls) S
2880 3728 P (args.c dumpenv.c finance.csh myecho.exe readme) S
2880 3992 P (args.exe dumpenv.exe makecpgm.csh rcode.c) S
2880 4256 P (bits.csh factor.csh myecho.c rcode.exe) S
2880 4520 P (384 D% foreach i \(*\)) S
2880 4784 P (385 D? if \(-x $i\) echo $i is executable) S
2880 5048 P (386 D? end) S
2880 5312 P (args.exe is executable) S
2880 5576 P (bits.csh is executable) S
2880 5840 P (dumpenv.exe is executable) S
2880 6104 P (factor.csh is executable) S
2880 6368 P (finance.csh is executable) S
2880 6632 P (makecpgm.csh is executable) S
2880 6896 P (myecho.exe is executable) S
2880 7160 P (rcode.exe is executable) S
2160 8104 P 0 12 F 8 12 F B (For) S 67 J ( Statement) S E
2693 8608 P 0 12 F 26 10 F (The) S 73 J ( ) S 0 12 F 0 10 F (for) S 0 12 F 26 10 F () S 74 J ( statement) S 73 J ( provides) S 74 J ( more) S 73 J ( traditional) S 74 J ( iteration) S 73 J ( over numerical values. If you) S
2160 8872 P (specify) S 50 J ( a) S 51 J ( range) S 50 J ( \(e.g.,) S 51 J ( ``) S 0 12 F 0 10 F (1) S 120 J ( to 3) S 0 12 F 26 10 F (''\)) S 50 J ( but don't specify the increment, 1 is assumed. Although this) S
2160 9136 P (example shows iteration over integer values, floating point values are equally acceptable.) S
2880 9600 P 0 12 F 0 10 F (387) S 120 J ( D% for i = 1 to 3 do) S
2880 9864 P (388 D? echo $i) S
2880 10128 P (389 D? end) S
2880 10392 P (1) S
2880 10656 P (2) S
2880 10920 P (3) S
2693 11384 P 0 12 F 26 10 F (You) S 65 J ( can) S 66 J ( also) S 65 J ( iterate) S 66 J ( over) S 65 J ( a) S 66 J ( list) S 65 J ( of) S 66 J ( ranges or individual values. The ) S 0 12 F 0 10 F (to) S 0 12 F 26 10 F () S 66 J ( and ) S 0 12 F 0 10 F (by) S 0 12 F 26 10 F () S 66 J ( clauses) S
2160 11648 P (may) S 50 J ( be specified in either order.) S
2880 12112 P 0 12 F 0 10 F (390) S 120 J ( D% for i = 1, 4, 7, 12, -4 to 6 by 3 do) S
2880 12376 P (391 D? echo $i) S
2880 12640 P (392 D? end) S
2880 12904 P (1) S
2880 13168 P (4) S
2880 13432 P (7) S
2880 13696 P (12) S
2880 13960 P (-4) S
2880 14224 P (-1) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (89) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (2) S
2520 1968 P (5) S
1800 2912 P 0 12 F 8 12 F B (While) S 67 J ( Statement) S E
2333 3416 P 0 12 F 26 10 F (The) S 76 J ( ) S 0 12 F 0 10 F (while) S 0 12 F 26 10 F () S 76 J ( statement works in the traditional manner, iterating so long as the while) S
1800 3680 P (condition) S 95 J ( is) S 96 J ( true.) S 95 J ( ) S 96 J ( This) S 95 J ( example keeps popping up through the various levels of parent) S
1800 3944 P (directories) S 57 J ( until) S 58 J ( it) S 57 J ( reaches) S 58 J ( the) S 57 J ( root.) S 58 J ( ) S 57 J ( ) S 0 12 F 0 10 F (fullpath) S 0 12 F 26 10 F () S 58 J ( is) S 57 J ( one) S 58 J ( of) S 57 J ( the) S 58 J ( built-in) S 57 J ( procedures;) S 58 J ( it) S 57 J ( return) S 58 J ( the) S
1800 4208 P (fully-qualified) S 51 J ( pathname) S 52 J ( of) S 51 J ( its) S 52 J ( argument.) S 51 J ( ) S 52 J ( Notice) S 51 J ( that) S 52 J ( ) S 0 12 F 0 10 F (fullpath) S 0 12 F 26 10 F () S 51 J ( is) S 52 J ( invoked) S 51 J ( in three different) S
1800 4472 P (ways:) S 68 J ( ) S 69 J ( on) S 68 J ( line 384, as if it were a command, on 385 in more conventional procedure syntax) S
1800 4736 P (and) S 50 J ( on 386, where it's substituted in as if it were a variable.) S
2520 5200 P 0 12 F 0 10 F (393) S 120 J ( D% fullpath .) S
2520 5464 P (d:\\doug\\samples) S
2520 5728 P (394 D% while \(fullpath\("."\) !~ "[a-zA-Z]:\\"\)) S
2520 5992 P (395 D? echo $fullpath\("."\)) S
2520 6256 P (396 D? cd ..) S
2520 6520 P (397 D? end) S
2520 6784 P (d:\\doug\\samples) S
2520 7048 P (d:\\doug) S
2520 7312 P (398 D% cd) S
2520 7576 P (d:\\) S
1800 8520 P 0 12 F 8 12 F B (Repeat) S 67 J ( Statement) S E
2333 9024 P 0 12 F 26 10 F (The) S 72 J ( ) S 0 12 F 0 10 F (repeat) S 0 12 F 26 10 F () S 73 J ( statement) S 72 J ( has) S 73 J ( two) S 72 J ( forms.) S 73 J ( ) S 72 J ( In) S 73 J ( the short form, a numeric constant \() S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 73 J ( an) S
1800 9288 P (expression\)) S 50 J ( specifies the number of times to execute the statement following on the same line.) S
2520 9752 P 0 12 F 0 10 F (399) S 120 J ( D% repeat 4 echo do this again) S
2520 10016 P (do this again) S
2520 10280 P (do this again) S
2520 10544 P (do this again) S
2520 10808 P (do this again) S
2333 11272 P 0 12 F 26 10 F (In) S 79 J ( the) S 80 J ( long) S 79 J ( form,) S 80 J ( ) S 0 12 F 0 10 F (repeat) S 0 12 F 26 10 F () S 79 J ( provides) S 80 J ( the) S 79 J ( more conventional repeat structure, iterating) S
1800 11536 P (until) S 50 J ( some exit condition satisfied.) S
2520 12000 P 0 12 F 0 10 F (400) S 120 J ( D% calc i = 1) S
2520 12264 P (1) S
2520 12528 P (401 D% repeat) S
2520 12792 P (402 D? calc i++) S
2520 13056 P (403 D? until \(i > 5\)) S
2520 13320 P (1) S
2520 13584 P (2) S
2520 13848 P (3) S
2520 14112 P (4) S
2520 14376 P (5) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (90) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2160 1704 P B (Procedures) S E
2693 2208 P 0 12 F 26 10 F (Procedures,) S 61 J ( as) S 62 J ( in) S 61 J ( any) S 62 J ( high-level) S 61 J ( language,) S 62 J ( are) S 61 J ( a) S 62 J ( convenient) S 61 J ( way to package together a) S
2160 2472 P (series) S 63 J ( of) S 64 J ( statements) S 63 J ( as) S 64 J ( a) S 63 J ( more) S 64 J ( convenient) S 63 J ( operation.) S 64 J ( ) S 63 J ( Once) S 64 J ( you've) S 63 J ( defined) S 64 J ( a procedure, you) S
2160 2736 P (can) S 50 J ( invoke it simply as if it were a new command.) S
2880 3200 P 0 12 F 0 10 F (404) S 120 J ( D% proc hello\(\)) S
2880 3464 P (405 D? echo hello world) S
2880 3728 P (406 D? end) S
2880 3992 P (407 D% hello) S
2880 4256 P (hello world) S
2693 4720 P 0 12 F 26 10 F (The) S 75 J ( ) S 0 12 F 0 10 F (proc) S 0 12 F 26 10 F () S 76 J ( statement) S 75 J ( can) S 76 J ( also) S 75 J ( be) S 76 J ( used) S 75 J ( to) S 76 J ( ask) S 75 J ( what) S 76 J ( procedures are already defined or) S
2160 4984 P (what) S 50 J ( arguments a particular procedure takes:) S
2880 5448 P 0 12 F 0 10 F (408) S 120 J ( D% proc hello) S
2880 5712 P (hello \( \)) S
2880 5976 P (409 D% proc | mi) S
2880 6240 P (abs \( x \)) S
2880 6504 P (acos \( x \)) S
2880 6768 P (asin \( x \)) S
2880 7032 P (:) S
2880 7296 P (:) S
2880 7560 P (samepath \( a, b \)) S
2880 7824 P (sin \( x \)) S
2880 8088 P (sinh \( x \)) S
2880 8352 P 0 12 F 0 10 F I (---) S 120 J ( more --- \(Press H for Help\)) S E
2693 8816 P 0 12 F 26 10 F (You) S 82 J ( can) S 83 J ( explicitly) S 82 J ( discard) S 83 J ( a) S 82 J ( definition) S 83 J ( with ) S 0 12 F 0 10 F (unproc) S 0 12 F 26 10 F (;) S 83 J ( otherwise the shell remembers) S
2160 9080 P (any) S 50 J ( procedure you tell it until you exit the shell or give it a new definition.) S
2880 9544 P 0 12 F 0 10 F (410) S 120 J ( D% unproc hello) S
2880 9808 P (411 D% hello) S
2880 10072 P (csh: Couldn't find an executable file named 'hello'.) S
2693 10536 P 0 12 F 26 10 F (When) S 73 J ( you) S 74 J ( give) S 73 J ( the) S 74 J ( shell) S 73 J ( a) S 74 J ( procedure) S 73 J ( definition,) S 74 J ( the) S 73 J ( shell) S 74 J ( compiles) S 73 J ( it into an internal) S
2160 10800 P (form) S 50 J ( so) S 51 J ( that) S 50 J ( the) S 51 J ( next) S 50 J ( time) S 51 J ( you) S 50 J ( refer) S 51 J ( to) S 50 J ( it, it'll save the reparsing time and run much faster. As) S
2160 11064 P (an example,) S 51 J ( ) S 0 12 F 0 10 F (unproc) S 0 12 F 26 10 F () S 50 J ( ) S 51 J ( the) S 50 J ( ) S 0 12 F 0 10 F (whereis) S 0 12 F 26 10 F () S 51 J ( procedure) S 50 J ( to make the shell reload the definition from the) S
2160 11328 P 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F () S 50 J ( file and see what that does to the execution time:) S
2880 11792 P 0 12 F 0 10 F (412) S 120 J ( D% unproc whereis) S
2880 12056 P (413 D% time whereis ls) S
2880 12320 P (f:\\os2\\bin\\ls.exe) S
2880 12584 P (0:00:02.15) S
2880 12848 P (414 D% !!) S
2880 13112 P (time whereis ls) S
2880 13376 P (f:\\os2\\bin\\ls.exe) S
2880 13640 P (0:00:01.28) S
2693 14104 P 0 12 F 26 10 F (The) S 59 J ( namespace) S 60 J ( for) S 59 J ( procedures) S 60 J ( is) S 59 J ( shared) S 60 J ( among) S 59 J ( all the threads: if one thread creates a) S
2160 14368 P (new) S 50 J ( procedure, it becomes usable immediately by all the other threads.) S
5831 15384 P (Page ) S (91) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
1800 1704 P B (Arguments) S E
2333 2208 P 0 12 F 26 10 F (You) S 52 J ( can) S 53 J ( write) S 52 J ( a) S 53 J ( procedure) S 52 J ( so) S 53 J ( it) S 52 J ( expects) S 53 J ( arguments, just as you would in any other high) S
1800 2472 P (level) S 67 J ( language.) S 68 J ( ) S 67 J ( Argument) S 68 J ( names) S 67 J ( are) S 68 J ( somewhat like local variables: their initial values are) S
1800 2736 P (set) S 54 J ( at) S 55 J ( entry) S 54 J ( to) S 55 J ( a procedure, hiding any previous definition; they go away as soon you exit the) S
1800 3000 P (procedure) S 50 J ( code. Here's a simple example which compares the timestamps on two files.) S
2520 3464 P 0 12 F 0 10 F (415) S 120 J ( D% proc comparedates\(a, b\)) S
2520 3728 P (416 D? if \(`newer $a $b`\) then) S
2520 3992 P (417 D? echo $a is newer than $b) S
2520 4256 P (418 D? else) S
2520 4520 P (419 D? if \(samepath\(a, b\)\) then) S
2520 4784 P (420 D? echo $a and $b are the same file!) S
2520 5048 P (421 D? else) S
2520 5312 P (422 D? echo $a is older than $b) S
2520 5576 P (423 D? end) S
2520 5840 P (424 D? end) S
2520 6104 P (425 D? end) S
2520 6368 P (426 D% comparedates `whereis more`) S
2520 6632 P (c:\\os2\\bin\\more.exe is newer than c:\\os2\\cmds\\more.com) S
2520 6896 P (427 D% _) S
2333 7360 P 0 12 F 26 10 F (When) S 115 J ( you pass arguments to a procedure on the command line, the individual) S
1800 7624 P (argument) S 60 J ( words) S 61 J ( are) S 60 J ( paired) S 61 J ( up,) S 60 J ( one-by-one,) S 61 J ( with) S 60 J ( the) S 61 J ( argument) S 60 J ( names) S 61 J ( you) S 60 J ( gave.) S 61 J ( ) S 60 J ( If) S 61 J ( the) S 60 J ( shell) S
1800 7888 P (runs) S 109 J ( out) S 110 J ( of) S 109 J ( names) S 110 J ( before it runs out of words, the last named argument gets all the) S
1800 8152 P (remaining) S 50 J ( words:) S
2520 8616 P 0 12 F 0 10 F (427) S 120 J ( D% proc xx\(a, b\)) S
2520 8880 P (428 D? echo $#a $a) S
2520 9144 P (429 D? echo $#b $b) S
2520 9408 P (430 D? end) S
2520 9672 P (431 D% xx now is the time) S
2520 9936 P (1 now) S
2520 10200 P (3 is the time) S
1800 10664 P 0 12 F 26 10 F (If) S 80 J ( you) S 81 J ( pass) S 80 J ( arguments) S 81 J ( to) S 80 J ( a) S 81 J ( procedure) S 80 J ( that) S 81 J ( doesn't) S 80 J ( take) S 81 J ( any,) S 80 J ( they're) S 81 J ( evaluated but quietly) S
1800 10928 P (ignored.) S
1800 11392 P () S 720 J ( If) S 85 J ( a) S 86 J ( procedure) S 85 J ( does) S 86 J ( take) S 85 J ( an) S 86 J ( argument,) S 85 J ( it) S 86 J ( always) S 85 J ( get) S 86 J ( some value, even if it's zero) S
1800 11656 P (words) S 79 J ( long. So if you want to know if you got passed a value, just count the number of) S
1800 11920 P (words:) S
2520 12384 P 0 12 F 0 10 F (432) S 120 J ( D% proc xx\(a\)) S
2520 12648 P (433 D? echo $#a ">>$a<<") S
2520 12912 P (434 D? if \(a == ""\) echo null argument!) S
2520 13176 P (435 D? end) S
2520 13440 P (436 D% xx) S
2520 13704 P (0 >><<) S
2520 13968 P (null argument!) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (92) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2693 1704 P 0 12 F 26 10 F (In) S 58 J ( a) S 59 J ( more) S 58 J ( serious) S 59 J ( vein,) S 58 J ( here's) S 59 J ( a) S 58 J ( simple) S 59 J ( procedure definition I use all the time \(I have it) S
2160 1968 P (in) S 50 J ( my) S 51 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 50 J ( file\) to implement a real quick and dirty \(but very easy to use!\) personal) S
2160 2232 P (phone index:) S
2880 2696 P 0 12 F 0 10 F (437) S 120 J ( D% proc ppi\(name\)) S
2880 2960 P (438 D? grep -i "$name" h:\\phone) S
2880 3224 P (439 D? end) S
2880 3488 P (440 D% ppi hamilton) S
2880 3752 P (Hamilton Laboratories 508-358-5715 Fax: 508-358-1113) S
2160 4216 P 0 12 F 26 10 F (As) S 51 J ( you) S 52 J ( add) S 51 J ( lines) S 52 J ( to) S 51 J ( your) S 52 J ( ) S 0 12 F 0 10 F (\\phone) S 0 12 F 26 10 F () S 51 J ( file,) S 52 J ( you) S 51 J ( merely) S 52 J ( add) S 51 J ( any) S 52 J ( interesting) S 51 J ( search) S 52 J ( phrases or other) S
2160 4480 P (tidbits) S 71 J ( onto) S 72 J ( the) S 71 J ( same) S 72 J ( line) S 71 J ( with) S 72 J ( the) S 71 J ( person's) S 72 J ( name.) S 71 J ( ) S 72 J ( Totally) S 71 J ( free) S 72 J ( format.) S 71 J ( ) S 72 J ( Add) S 71 J ( anything you) S
2160 4744 P (like) S 50 J ( and search on anything you like and it's fast.) S
2160 5688 P 0 12 F 8 12 F B () S 67 J ( Return Values) S E
2693 6192 P 0 12 F 26 10 F (Procedures) S 53 J ( are) S 54 J ( also) S 53 J ( important) S 54 J ( in) S 53 J ( expressions,) S 54 J ( where) S 53 J ( it's) S 54 J ( generally) S 53 J ( useful) S 54 J ( to) S 53 J ( think of the) S
2160 6456 P (procedure) S 55 J ( as) S 56 J ( returning) S 55 J ( a) S 56 J ( value,) S 55 J ( just) S 56 J ( as) S 55 J ( it) S 56 J ( might) S 55 J ( in any other language. The type and value of) S
2160 6720 P (what) S 118 J ( you) S 119 J ( choose) S 118 J ( to) S 119 J ( return) S 118 J ( is arbitrary. Here's a purely mathematical example from) S
2160 6984 P 0 12 F 0 10 F (finance.csh) S 0 12 F 26 10 F () S 50 J ( in the ) S 0 12 F 0 10 F (samples) S 0 12 F 26 10 F () S 50 J ( directory:) S
2880 7448 P 0 12 F 0 10 F (441) S 120 J ( D% proc FV_PresentAmount\(i, n\)) S
2880 7712 P (442 D? # Calculate the multiplier to convert $1 now to a) S
2880 7976 P (443 D? # future value, given interest rate i) S
2880 8240 P (444 D? return 1/\(1 + i/100\)**n) S
2880 8504 P (445 D? end) S
2880 8768 P (446 D% # Calculate the future value of $500 invested) S
2880 9032 P (447 D% # for 10 years at 8% interest.) S
2880 9296 P (448 D% calc 500*FV_PresentAmount\(8, 10\)) S
2880 9560 P (1079.462499) S
2693 10024 P 0 12 F 26 10 F (If) S 51 J ( you) S 52 J ( call) S 51 J ( a) S 52 J ( procedure) S 51 J ( that) S 52 J ( returns) S 51 J ( a) S 52 J ( value) S 51 J ( as) S 52 J ( if) S 51 J ( it) S 52 J ( were) S 51 J ( a) S 52 J ( command,) S 51 J ( whatever it returns) S
2160 10288 P (is) S 50 J ( printed:) S
2880 10752 P 0 12 F 0 10 F (449) S 120 J ( D% FV_PresentAmount 8 10) S
2880 11016 P (2.158925) S
2160 11960 P 0 12 F 8 12 F B (Recursion) S E
2693 12464 P 0 12 F 26 10 F (A) S 56 J ( procedure) S 57 J ( can) S 56 J ( call) S 57 J ( other) S 56 J ( procedures) S 57 J ( or) S 56 J ( even) S 57 J ( itself.) S 56 J ( ) S 57 J ( When) S 56 J ( a) S 57 J ( procedure calls itself, it's) S
2160 12728 P (called) S 59 J ( recursion.) S 60 J ( ) S 59 J ( Typical) S 60 J ( uses of recursion are in cases where the problem itself is recursive,) S
2160 12992 P (or) S 59 J ( self-replicating.) S 60 J ( ) S 59 J ( For) S 60 J ( example,) S 59 J ( here's) S 60 J ( a) S 59 J ( procedure) S 60 J ( to) S 59 J ( walk) S 60 J ( down) S 59 J ( two) S 60 J ( directory) S 59 J ( trees) S 60 J ( A and) S
2160 13256 P (B) S 51 J ( that) S 52 J ( are) S 51 J ( thought) S 52 J ( to) S 51 J ( be) S 52 J ( related) S 51 J ( and) S 52 J ( list) S 51 J ( any) S 52 J ( non-hidden) S 51 J ( files) S 52 J ( in) S 51 J ( A) S 52 J ( that) S 51 J ( are not in B. \(If you set) S
2160 13520 P 0 12 F 0 10 F (nonohidden) S 120 J ( = 1) S 0 12 F 26 10 F (,) S 50 J ( it'll compare hidden files also.\)) S
5831 15384 P (Page ) S (93) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (450) S 120 J ( D% proc comparetrees\(a, b\)) S
2520 1968 P (451 D? local i, f) S
2520 2232 P (452 D? foreach i \($a\\*\)) S
2520 2496 P (453 D? @ f = $i:t) S
2520 2760 P (454 D? if \(! -e $b\\$f\) then) S
2520 3024 P (455 D? echo $b\\$f is missing) S
2520 3288 P (456 D? else) S
2520 3552 P (457 D? if \(-d $i\) comparetrees $i $b\\$f) S
2520 3816 P (458 D? end) S
2520 4080 P (459 D? end) S
2520 4344 P (460 D? end) S
2520 4608 P (461 D% comparetrees c:\\src\\projectx a:\\src) S
2333 5072 P 0 12 F 26 10 F (Notice) S 71 J ( that) S 72 J ( ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 71 J ( and) S 0 12 F 0 10 F () S 142 J ( f) S 0 12 F 26 10 F () S 71 J ( were) S 72 J ( declared as ) S 0 12 F 0 10 F (local) S 0 12 F 26 10 F () S 72 J ( variables. If the variables were simply) S
1800 5336 P 0 12 F 0 10 F (set) S 0 12 F 26 10 F () S 72 J ( variables,) S 73 J ( one) S 72 J ( instance) S 73 J ( of) S 72 J ( them would be shared by all the levels of recursion. In this) S
1800 5600 P (particular) S 67 J ( example,) S 68 J ( that) S 67 J ( would) S 68 J ( still) S 67 J ( have) S 68 J ( worked,) S 67 J ( but) S 68 J ( only) S 67 J ( because) S 68 J ( each level calls the next) S
1800 5864 P (only) S 81 J ( ) S 0 12 F 26 10 F I (after) S E 0 12 F 26 10 F () S 82 J ( anything) S 81 J ( involving) S 82 J ( ) S 0 12 F 0 10 F (f) S 0 12 F 26 10 F () S 81 J ( or) S 82 J ( ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 81 J ( has been evaluated; it wouldn't matter if ) S 0 12 F 0 10 F (f) S 0 12 F 26 10 F () S 81 J ( or ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 81 J ( was) S
1800 6128 P (trampled) S 84 J ( by) S 85 J ( the) S 84 J ( next) S 85 J ( call.) S 84 J ( ) S 85 J ( Here's) S 84 J ( an) S 85 J ( example) S 84 J ( where obviously that would ) S 0 12 F 26 10 F I (not) S E 0 12 F 26 10 F () S 84 J ( be true: a) S
1800 6392 P (clumsy) S 50 J ( attempt at a ``post-order'' traversal of a directory tree:) S
2520 6856 P 0 12 F 0 10 F (462) S 120 J ( D% proc traverse\(a\) # Don't do it this way) S
2520 7120 P (463 D? foreach i \($a\\*\)) S
2520 7384 P (464 D? if \(-d $i\) traverse $i) S
2520 7648 P (465 D? echo $i) S
2520 7912 P (466 D? end) S
2520 8176 P (467 D? end) S
2520 8440 P (468 D% traverse . | more) S
2333 8904 P 0 12 F 26 10 F (If) S 80 J ( you) S 81 J ( carefully) S 80 J ( examine) S 81 J ( the output of this ) S 0 12 F 0 10 F (traverse) S 0 12 F 26 10 F (,) S 81 J ( you'll see that subdirectories) S
1800 9168 P (don't) S 54 J ( get) S 55 J ( listed) S 54 J ( properly:) S 55 J ( ) S 54 J ( instead) S 55 J ( of) S 54 J ( being) S 55 J ( listed by themselves, the name of their last child is) S
1800 9432 P (listed) S 69 J ( twice.) S 70 J ( ) S 69 J ( For) S 70 J ( a) S 69 J ( correct) S 70 J ( result,) S 69 J ( try) S 70 J ( it) S 69 J ( again with ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 69 J ( defined as a ) S 0 12 F 0 10 F (local) S 0 12 F 26 10 F () S 69 J ( variable. \(Use the) S
1800 9696 P (<PageUp>) S 50 J ( key to help you quickly re-enter the lines that stay the same.\)) S
1800 10640 P 0 12 F 8 12 F B (Calling) S 67 J ( a Procedure) S E
2333 11144 P 0 12 F 26 10 F (As) S 65 J ( you) S 66 J ( may) S 65 J ( have spotted, there are two ways to invoke a procedure. Sometimes, the) S
1800 11408 P (arguments) S 56 J ( are) S 57 J ( inside) S 56 J ( parentheses,) S 57 J ( separated) S 56 J ( by) S 57 J ( commas,) S 56 J ( and) S 57 J ( sometimes) S 56 J ( they're) S 57 J ( not.) S 56 J ( What's) S
1800 11672 P (the) S 50 J ( difference?) S
2333 12136 P (The) S 77 J ( difference) S 78 J ( is) S 77 J ( whether) S 78 J ( the context is an expression or a command. As discussed) S
1800 12400 P (when) S 80 J ( we) S 81 J ( first) S 80 J ( introduced expressions, the shell always begins to parse statements by first) S
1800 12664 P (breaking) S 74 J ( them) S 75 J ( up) S 74 J ( into) S 75 J ( words.) S 74 J ( ) S 75 J ( That's) S 74 J ( fine for normal commands, e.g., running an external) S
1800 12928 P (utility.) S 67 J ( ) S 68 J ( And) S 67 J ( it works also when you want to use a procedure as if it were a command, just) S
1800 13192 P (typing) S 50 J ( the name of the procedure followed by a list of arguments separated by spaces, e.g.,) S
2520 13656 P 0 12 F 0 10 F (469) S 120 J ( D% proc power\(a, b\)) S
2520 13920 P (470 D? return a**b) S
2520 14184 P (471 D? end) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (94) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2880 1704 P 0 12 F 0 10 F (472) S 120 J ( D% power 2 3) S
2880 1968 P (8) S
2880 2232 P (473 D% _) S
2693 2696 P 0 12 F 26 10 F (But) S 56 J ( this) S 57 J ( style) S 56 J ( of) S 57 J ( parsing) S 56 J ( wouldn't) S 57 J ( be) S 56 J ( very) S 57 J ( suitable) S 56 J ( in those instances where the point is) S
2160 2960 P (to) S 97 J ( do) S 98 J ( some) S 97 J ( kind) S 98 J ( of calculation or expression evaluation. So when the shell encounters) S
2160 3224 P (something) S 54 J ( that) S 55 J ( normally) S 54 J ( takes) S 55 J ( an) S 54 J ( expression,) S 55 J ( e.g.,) S 54 J ( following) S 55 J ( the ) S 0 12 F 0 10 F (calc) S 0 12 F 26 10 F () S 55 J ( keyword, or inside the) S
2160 3488 P (test) S 58 J ( in) S 59 J ( an) S 58 J ( ) S 0 12 F 0 10 F (if) S 0 12 F 26 10 F () S 59 J ( statement,) S 58 J ( it) S 59 J ( shifts) S 58 J ( to) S 59 J ( a) S 58 J ( different style of parsing, further breaking up the words) S
2160 3752 P (into) S 66 J ( tokens,) S 67 J ( so) S 66 J ( that) S 67 J ( ``) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F ('') S 66 J ( isn't) S 67 J ( misunderstood) S 66 J ( as) S 67 J ( a) S 66 J ( wildcard,) S 67 J ( so) S 66 J ( we) S 67 J ( don't need to type spaces) S
2160 4016 P (around) S 56 J ( all) S 57 J ( the) S 56 J ( operators,) S 57 J ( so) S 56 J ( we) S 57 J ( can) S 56 J ( type) S 57 J ( variable) S 56 J ( names without having to put a ``) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F ('') S 56 J ( in front) S
2160 4280 P (of) S 75 J ( them) S 76 J ( and) S 75 J ( so) S 76 J ( on.) S 75 J ( ) S 76 J ( All) S 75 J ( of) S 76 J ( this) S 75 J ( is) S 76 J ( so that the rules for typing an expression can bear some) S
2160 4544 P (resemblance) S 50 J ( to those followed by other programming languages like C, Fortran, Pascal, etc.) S
2693 5008 P (When) S 77 J ( we) S 78 J ( call) S 77 J ( a) S 78 J ( procedure) S 77 J ( from) S 78 J ( within) S 77 J ( an) S 78 J ( expression,) S 77 J ( all) S 78 J ( these same arguments still) S
2160 5272 P (apply.) S 50 J ( ) S 51 J ( We) S 50 J ( want) S 51 J ( it) S 50 J ( to) S 51 J ( act) S 50 J ( pretty) S 51 J ( much) S 50 J ( like) S 51 J ( any) S 50 J ( other) S 51 J ( high) S 50 J ( level) S 51 J ( languages.) S 50 J ( ) S 51 J ( We want to be able) S
2160 5536 P (to) S 54 J ( pass) S 55 J ( it) S 54 J ( arbitrarily) S 55 J ( complex) S 54 J ( expressions) S 55 J ( as) S 54 J ( arguments.) S 55 J ( ) S 54 J ( We) S 55 J ( want) S 54 J ( to) S 55 J ( be) S 54 J ( able) S 55 J ( to) S 54 J ( take the value) S
2160 5800 P (it) S 50 J ( returns and use that value as a term in still other expressions.) S
2693 6264 P (So) S 53 J ( there's) S 54 J ( a) S 53 J ( real problem: to call a procedure from within an expression and pass other) S
2160 6528 P (expressions) S 116 J ( as) S 117 J ( arguments,) S 116 J ( we) S 117 J ( need) S 116 J ( a) S 117 J ( way) S 116 J ( of separating one argument from the next) S
2160 6792 P (\(obviously,) S 65 J ( it) S 66 J ( can't) S 65 J ( be) S 66 J ( just) S 65 J ( a) S 66 J ( space) S 65 J ( as) S 66 J ( it) S 65 J ( would) S 66 J ( be) S 65 J ( when) S 66 J ( the) S 65 J ( procedure) S 66 J ( is) S 65 J ( used) S 66 J ( as) S 65 J ( if) S 66 J ( it were a) S
2160 7056 P (command\)) S 51 J ( and) S 52 J ( for) S 51 J ( separating) S 52 J ( the whole procedure call and its arguments from the rest of the) S
2160 7320 P (expression.) S 149 J ( ) S 150 J ( That's) S 149 J ( why) S 150 J ( the) S 149 J ( common) S 150 J ( high-level) S 149 J ( language) S 150 J ( convention) S 149 J ( of) S 150 J ( separating) S
2160 7584 P (arguments) S 84 J ( by commas and putting parentheses around the whole list is used. Here's an) S
2160 7848 P (example) S 50 J ( of what that looks like:) S
2880 8312 P 0 12 F 0 10 F (473) S 120 J ( D% calc 5.5 + power\(2, 3\)*9) S
2880 8576 P (77.500000) S
2693 9040 P 0 12 F 26 10 F (If) S 51 J ( you) S 52 J ( try) S 51 J ( using) S 52 J ( a) S 51 J ( procedure) S 52 J ( as) S 51 J ( a) S 52 J ( command) S 51 J ( but) S 52 J ( accidentally type the argument list with) S
2160 9304 P (parenthesis,) S 50 J ( it's an error:) S
2880 9768 P 0 12 F 0 10 F (474) S 120 J ( D% power\(2, 3\)) S
2880 10032 P (csh\(line 470\): Couldn't evaluate expression operands as) S
2880 10296 P (numeric as required by the expression operator.) S
2880 10560 P (> in power\( "\(", "2,", "3", "\)" \) defined at line 469) S
2880 10824 P (< called from line 474) S
2160 11288 P 0 12 F 26 10 F (The) S 62 J ( reason) S 63 J ( this) S 62 J ( is) S 63 J ( an) S 62 J ( error) S 63 J ( is) S 62 J ( because,) S 63 J ( since) S 62 J ( this) S 63 J ( was) S 62 J ( typed) S 63 J ( as) S 62 J ( a) S 63 J ( command,) S 62 J ( the) S 63 J ( shell) S 62 J ( took the) S
2160 11552 P (words) S 67 J ( following) S 68 J ( the) S 67 J ( word) S 68 J ( power) S 67 J ( as) S 68 J ( literal) S 67 J ( arguments.) S 68 J ( ) S 67 J ( It couldn't tell you meant this as an) S
2160 11816 P (expression.) S 62 J ( ) S 63 J ( Let's redefine that procedure, putting some ) S 0 12 F 0 10 F (echo) S 0 12 F 26 10 F () S 63 J ( statements in there so we can) S
2160 12080 P (see) S 50 J ( what happened:) S
2880 12544 P 0 12 F 0 10 F (475) S 120 J ( D% proc power\(a, b\)) S
2880 12808 P (476 D? echo a is $a) S
2880 13072 P (477 D? echo b is $b) S
2880 13336 P (478 D? return a**b) S
2880 13600 P (479 D? end) S
2880 13864 P (480 D% power\(2, 3\)) S
2880 14128 P (a is \() S
2880 14392 P (b is 2, 3 \)) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (95) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (csh\(line) S 120 J ( 478\): Couldn't evaluate expression operands as) S
2520 1968 P (numeric as required by the expression operator.) S
2520 2232 P (> in power\( "\(", "2,", "3", "\)" \) defined at line 467) S
2520 2496 P (< called from line 480) S
1800 2960 P 0 12 F 26 10 F (As) S 67 J ( you) S 68 J ( can) S 67 J ( see,) S 68 J ( the) S 67 J ( expression) S 68 J ( ``) S 0 12 F 0 10 F (a**b) S 0 12 F 26 10 F ('') S 67 J ( failed to evaluate properly because ) S 0 12 F 0 10 F (a) S 0 12 F 26 10 F () S 67 J ( was set to the) S
1800 3224 P (first) S 59 J ( argument word, ``\('', and ) S 0 12 F 0 10 F (b) S 0 12 F 26 10 F () S 59 J ( was set to a string concatenation of all the rest of the words.) S
1800 3488 P (Neither) S 50 J ( was a number.) S
2333 3952 P (If) S 70 J ( you) S 71 J ( want) S 70 J ( to) S 71 J ( call) S 70 J ( a) S 71 J ( procedure) S 70 J ( and) S 71 J ( substitute) S 70 J ( the value back onto the command line) S
1800 4216 P (even) S 91 J ( when) S 92 J ( the) S 91 J ( context is not an expression, it can be done, however. One way is with) S
1800 4480 P (command) S 50 J ( substitution:) S
2520 4944 P 0 12 F 0 10 F (481) S 120 J ( D% echo `power 2 3`) S
2520 5208 P (a is 2 b is 3 8) S
2333 5672 P 0 12 F 26 10 F (This) S 51 J ( is a bit expensive, though, because the shell will have to create a new thread to run) S
1800 5936 P (the) S 63 J ( ) S 0 12 F 0 10 F (power) S 0 12 F 26 10 F () S 64 J ( procedure) S 63 J ( and) S 64 J ( set) S 63 J ( up) S 64 J ( a) S 63 J ( pipe) S 64 J ( to) S 63 J ( read) S 64 J ( the result. And as you see, if the procedure) S
1800 6200 P (also) S 78 J ( writes to stdout, you'll pick up that text also, probably unintentially. Another, better) S
1800 6464 P (way,) S 114 J ( is) S 115 J ( to use a dollar sign to introduce the substitution just as if it was a variable) S
1800 6728 P (substitution:) S
2520 7192 P 0 12 F 0 10 F (482) S 120 J ( D% echo $power\(2, 3\)) S
2520 7456 P (a is 2) S
2520 7720 P (b is 3) S
2520 7984 P (8) S
1800 8448 P 0 12 F 26 10 F (Notice) S 64 J ( that) S 65 J ( when) S 64 J ( use) S 65 J ( the) S 64 J ( dollar) S 65 J ( sign-style) S 64 J ( procedure) S 65 J ( reference, the rest of the syntax is as if) S
1800 8712 P (the) S 84 J ( procedure had been called from within an expression. The arguments do need to be) S
1800 8976 P (within) S 54 J ( parenthesis) S 55 J ( and) S 54 J ( they) S 55 J ( do) S 54 J ( need) S 55 J ( to) S 54 J ( be) S 55 J ( separated) S 54 J ( by) S 55 J ( commas.) S 54 J ( ) S 55 J ( The) S 54 J ( reason) S 55 J ( is just the same) S
1800 9240 P (one) S 89 J ( as) S 90 J ( for) S 89 J ( why) S 90 J ( a) S 89 J ( procedure) S 90 J ( call in an expression has to be done this way: without the) S
1800 9504 P (parentheses,) S 65 J ( there'd) S 66 J ( be) S 65 J ( no) S 66 J ( way) S 65 J ( to) S 66 J ( tell) S 65 J ( where) S 66 J ( the) S 65 J ( arguments) S 66 J ( ended.) S 65 J ( ) S 66 J ( A) S 65 J ( nice) S 66 J ( benefit is that in) S
1800 9768 P (the) S 50 J ( argument list, we get to use the full expression grammar:) S
2520 10232 P 0 12 F 0 10 F (483) S 120 J ( D% echo $power\(2, 3*sin\(1/2\)\)) S
2520 10496 P (a is 2) S
2520 10760 P (b is 1.438277) S
2520 11024 P (2.709970) S
1800 11968 P 0 12 F 8 12 F B (Shell) S 67 J ( Scripts) S E
2333 12472 P 0 12 F 26 10 F (Scripts) S 97 J ( are) S 98 J ( a) S 97 J ( final) S 98 J ( way) S 97 J ( of) S 98 J ( bundling) S 97 J ( up) S 98 J ( a) S 97 J ( series of statements to be called up and) S
1800 12736 P (executed) S 50 J ( as a single command. To create a script, create a file with a ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F () S 50 J ( extension:) S
2520 13200 P 0 12 F 0 10 F (484) S 120 J ( D% cat >trythis.csh) S
2520 13464 P (echo hello from trythis) S
2520 13728 P (^Z) S
2520 13992 P (485 D% trythis) S
2520 14256 P (hello from trythis) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (96) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2693 1704 P 0 12 F 26 10 F (When) S 72 J ( you) S 73 J ( tell) S 72 J ( the) S 73 J ( shell) S 72 J ( to) S 73 J ( run) S 72 J ( a script, it first creates a new thread to run it. This is) S
2160 1968 P (partly) S 54 J ( a) S 55 J ( holdover) S 54 J ( from) S 55 J ( original) S 54 J ( UNIX) S 55 J ( language) S 54 J ( definition,) S 55 J ( partly) S 54 J ( a response to a provision in) S
2160 2232 P (OS/2) S 78 J ( and) S 79 J ( NT) S 78 J ( for) S 79 J ( threads,) S 78 J ( but) S 79 J ( not) S 78 J ( a) S 79 J ( fork) S 78 J ( mechanism) S 79 J ( and) S 78 J ( partly) S 79 J ( due) S 78 J ( to) S 79 J ( a) S 78 J ( genuine need to) S
2160 2496 P (inexpensively) S 81 J ( separate) S 82 J ( some) S 81 J ( of) S 82 J ( the) S 81 J ( script's) S 82 J ( environment) S 81 J ( from) S 82 J ( that) S 81 J ( of) S 82 J ( its) S 81 J ( caller.) S 82 J ( ) S 81 J ( \(The) S 82 J ( next) S
2160 2760 P (chapter) S 50 J ( has a longer discussion of threads.\)) S
2160 3704 P 0 12 F 8 12 F B (Shell) S 67 J ( Script Arguments) S E
2693 4208 P 0 12 F 26 10 F (Arguments) S 57 J ( to) S 58 J ( a shell script are passed to it as the ) S 0 12 F 0 10 F (argv) S 0 12 F 26 10 F () S 58 J ( variable. ) S 0 12 F 0 10 F (argv) S 0 12 F 26 10 F () S 58 J ( will be a list of) S
2160 4472 P (any) S 70 J ( words) S 71 J ( that) S 70 J ( appeared) S 71 J ( on) S 70 J ( the) S 71 J ( command) S 70 J ( line) S 71 J ( ) S 0 12 F 26 10 F I (following) S E 0 12 F 26 10 F () S 70 J ( the) S 71 J ( name) S 70 J ( of) S 71 J ( the) S 70 J ( shell) S 71 J ( script.) S 70 J ( \(You) S
2160 4736 P (can) S 51 J ( access) S 52 J ( the) S 51 J ( name) S 52 J ( of) S 51 J ( the) S 52 J ( script) S 51 J ( as) S 52 J ( the ) S 0 12 F 0 10 F (scriptname) S 0 12 F 26 10 F () S 52 J ( variable.\) You can access ) S 0 12 F 0 10 F (argv) S 0 12 F 26 10 F () S 52 J ( like any) S
2160 5000 P (other) S 50 J ( variable:) S
2880 5464 P 0 12 F 0 10 F (486) S 120 J ( D% cat >tryargv.csh) S
2880 5728 P (echo $#argv $argv) S
2880 5992 P (^Z) S
2880 6256 P (487 D% tryargv hello how are you) S
2880 6520 P (4 hello how are you) S
2693 6984 P 0 12 F 26 10 F (There) S 54 J ( are) S 55 J ( also) S 54 J ( some) S 55 J ( shorthand) S 54 J ( forms) S 55 J ( for getting individual words of argv. ) S 0 12 F 0 10 F ($0) S 0 12 F 26 10 F () S 55 J ( through) S
2160 7248 P 0 12 F 0 10 F ($9) S 0 12 F 26 10 F () S 121 J ( is) S 122 J ( the) S 121 J ( same) S 122 J ( as ) S 0 12 F 0 10 F ($argv[0]) S 0 12 F 26 10 F () S 122 J ( through ) S 0 12 F 0 10 F ($argv[9]) S 0 12 F 26 10 F (.) S 122 J ( \(Remember that unless you have) S
2160 7512 P 0 12 F 0 10 F (nullwords) S 0 12 F 26 10 F () S 50 J ( set, subscripting errors will be caught.\)) S
2160 8456 P 0 12 F 8 12 F B (ignorestatus) S E
2693 8960 P 0 12 F 26 10 F (If) S 54 J ( you) S 55 J ( write) S 54 J ( a) S 55 J ( script) S 54 J ( with) S 55 J ( serially) S 54 J ( connected) S 55 J ( statements) S 54 J ( the) S 55 J ( only) S 54 J ( thing that would cause) S
2160 9224 P (the) S 70 J ( shell) S 71 J ( to) S 70 J ( quit) S 71 J ( before) S 70 J ( it) S 71 J ( gets) S 70 J ( to the end would be an explicit failure: an application name) S
2160 9488 P (that) S 74 J ( couldn't) S 75 J ( be) S 74 J ( found,) S 75 J ( a) S 74 J ( child) S 75 J ( process) S 74 J ( that) S 75 J ( terminated with a segment fault, or something) S
2160 9752 P (else) S 55 J ( of) S 56 J ( an) S 55 J ( equally) S 56 J ( serious) S 55 J ( nature.) S 56 J ( ) S 55 J ( Often) S 56 J ( in) S 55 J ( a) S 56 J ( script,) S 55 J ( that's) S 56 J ( not) S 55 J ( what) S 56 J ( you) S 55 J ( want:) S 56 J ( you've written) S
2160 10016 P (the) S 67 J ( script) S 68 J ( with) S 67 J ( the) S 68 J ( expectation) S 67 J ( that) S 68 J ( everything) S 67 J ( will) S 68 J ( work) S 67 J ( \(as) S 68 J ( you) S 67 J ( planned\)) S 68 J ( from) S 67 J ( one) S 68 J ( step) S 67 J ( to) S
2160 10280 P (the) S 63 J ( next.) S 64 J ( ) S 63 J ( If) S 64 J ( something) S 63 J ( is) S 64 J ( wrong,) S 63 J ( you'd) S 64 J ( like) S 63 J ( the) S 64 J ( script) S 63 J ( to) S 64 J ( quit) S 63 J ( as soon as possible, before any) S
2160 10544 P (damage) S 50 J ( is done.) S
2693 11008 P (The way) S 51 J ( you) S 50 J ( do) S 51 J ( this) S 50 J ( is) S 51 J ( by) S 50 J ( setting) S 51 J ( ) S 0 12 F 0 10 F (ignorestatus) S 0 12 F 26 10 F () S 50 J ( =) S 51 J ( 0, which means you do not want to) S
2160 11272 P (ignore) S 70 J ( the) S 71 J ( status) S 70 J ( codes) S 71 J ( coming) S 70 J ( back) S 71 J ( to) S 70 J ( this thread from its children. Here's an example in) S
2160 11536 P (the) S 50 J ( main thread:) S
2880 12000 P 0 12 F 0 10 F (488) S 120 J ( D% set ignorestatus = 0) S
2880 12264 P (489 D% rcode 10) S
2880 12528 P (10) S
2880 12792 P (csh: The child process running 'rcode' exited with a non-zero) S
2880 13056 P (status = 10.) S
2160 13520 P 0 12 F 26 10 F (In) S 65 J ( the) S 66 J ( main) S 65 J ( thread,) S 66 J ( the) S 65 J ( shell) S 66 J ( will) S 65 J ( keep) S 66 J ( on) S 65 J ( going) S 66 J ( and) S 65 J ( prompt) S 66 J ( for) S 65 J ( the) S 66 J ( next command because) S
2160 13784 P (interactively) S 73 J ( that's) S 74 J ( most) S 73 J ( sensible.) S 74 J ( ) S 73 J ( The shell knows to do this because ) S 0 12 F 0 10 F (ignoreerrors) S 0 12 F 26 10 F () S 73 J ( = 1.) S
2160 14048 P (But) S 50 J ( in a script, errors cause the shell to quit:) S
5831 15384 P (Page ) S (97) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (490) S 120 J ( D% cat >trythis.csh) S
2520 1968 P (calc ignoreerrors) S
2520 2232 P (set ignorestatus = 0) S
2520 2496 P (rcode 10) S
2520 2760 P (echo does^'t print) S
2520 3024 P (^Z) S
2520 3288 P (491 D% trythis) S
2520 3552 P (0) S
2520 3816 P (10) S
2520 4080 P (csh\(d:\\doug\\trythis.csh:line 3\): The child process running) S
2520 4344 P ('rcode' exited with a non-zero status = 10.) S
2520 4608 P (> in d:\\doug\\trythis.csh) S
2520 4872 P (< called from line 491) S
2520 5136 P (csh: The csh script file 'd:\\doug\\samples\\trythis.csh' exited) S
2520 5400 P (with a non-zero status = 10.) S
1800 5864 P 0 12 F 26 10 F (Notice) S 65 J ( that) S 66 J ( in) S 65 J ( this) S 66 J ( case) S 65 J ( we) S 66 J ( got) S 65 J ( two) S 66 J ( messages,) S 65 J ( one) S 66 J ( from) S 65 J ( the) S 66 J ( threads executing the script and) S
1800 6128 P (one) S 81 J ( from) S 82 J ( the) S 81 J ( main) S 82 J ( thread,) S 81 J ( reporting) S 82 J ( what) S 81 J ( the) S 82 J ( script) S 81 J ( returned.) S 82 J ( ) S 81 J ( Let's) S 82 J ( return) S 81 J ( to) S 82 J ( the normal) S
1800 6392 P (mode) S 50 J ( of ignoring status:) S
2520 6856 P 0 12 F 0 10 F (492) S 120 J ( D% set ignorestatus = 1) S
1800 7800 P 0 12 F 8 12 F B (source) S 67 J ( statement) S E
2333 8304 P 0 12 F 26 10 F (The) S 65 J ( examples) S 66 J ( so) S 65 J ( far) S 66 J ( have) S 65 J ( shown) S 66 J ( how) S 65 J ( a) S 66 J ( script) S 65 J ( is) S 66 J ( normally) S 65 J ( run) S 66 J ( somewhat) S 65 J ( isolated) S 66 J ( in) S 65 J ( a) S
1800 8568 P (separate) S 77 J ( thread.) S 78 J ( ) S 77 J ( It) S 78 J ( is) S 77 J ( also) S 78 J ( possible) S 77 J ( to run a script in your current thread using the source) S
1800 8832 P (statement.) S 79 J ( ) S 80 J ( You) S 79 J ( might) S 80 J ( want) S 79 J ( to) S 80 J ( do) S 79 J ( this) S 80 J ( if) S 79 J ( you) S 80 J ( wanted) S 79 J ( to) S 80 J ( the) S 79 J ( script) S 80 J ( to) S 79 J ( change) S 80 J ( your current) S
1800 9096 P (thread's) S 70 J ( private) S 71 J ( variables) S 70 J ( or) S 71 J ( its) S 70 J ( current) S 71 J ( directories) S 70 J ( or) S 71 J ( disk.) S 70 J ( ) S 71 J ( ) S 70 J ( Here's) S 71 J ( an example to showing) S
1800 9360 P (how) S 50 J ( a sourced script runs in the same thread:) S
2520 9824 P 0 12 F 0 10 F (493) S 120 J ( D% cat >trythis.csh) S
2520 10088 P (echo argv = $argv, threadid = $threadid) S
2520 10352 P (^Z) S
2520 10616 P (494 D% echo $threadid) S
2520 10880 P (6) S
2520 11144 P (495 D% trythis hello world) S
2520 11408 P (argv = hello world, threadid = 7) S
2520 11672 P (496 D% source trythis hello world) S
2520 11936 P (argv = hello world, threadid = 6) S
2520 12200 P (498 D% _) S
1800 12664 P 0 12 F 26 10 F (Notice) S 58 J ( how) S 59 J ( the) S 58 J ( ) S 0 12 F 0 10 F (argv) S 0 12 F 26 10 F () S 59 J ( argument) S 58 J ( vector) S 59 J ( is) S 58 J ( set) S 59 J ( up) S 58 J ( the) S 59 J ( same) S 58 J ( in either case. Also, notice that the) S
1800 12928 P (statement) S 73 J ( number) S 74 J ( skipped) S 73 J ( by) S 74 J ( one.) S 73 J ( ) S 74 J ( When) S 73 J ( you) S 74 J ( ) S 0 12 F 0 10 F (source) S 0 12 F 26 10 F () S 73 J ( a) S 74 J ( script,) S 73 J ( the effect is precisely as if) S
1800 13192 P (you) S 54 J ( typed) S 55 J ( those) S 54 J ( lines) S 55 J ( in) S 54 J ( directly to the shell. The lines read by ) S 0 12 F 0 10 F (source) S 0 12 F 26 10 F () S 54 J ( are even entered into) S
1800 13456 P (the) S 50 J ( history list:) S
2520 13920 P 0 12 F 0 10 F (498) S 120 J ( D% h 5) S
2520 14184 P ( 494 echo $threadid) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (98) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2880 1704 P 0 12 F 0 10 F () S 120 J ( 495 trythis hello world) S
2880 1968 P ( 496 source trythis hello world) S
2880 2232 P ( 497 echo argv = $argv, threadid = $threadid) S
2880 2496 P ( 498 h 5) S
2160 3440 P 0 12 F 8 12 F B (Caution:) S 67 J ( Labels and Gotos) S E
2693 3944 P 0 12 F 26 10 F (We) S 70 J ( haven't mentioned labels and gotos yet but it probably isn't a surprise that the C) S
2160 4208 P (shell) S 50 J ( allows them. Indeed:) S
2880 4672 P 0 12 F 0 10 F (499) S 120 J ( D% cat >trythis.csh) S
2880 4936 P (goto next) S
2880 5200 P (echo this does not print) S
2880 5464 P (next: echo this prints) S
2880 5728 P (^Z) S
2880 5992 P (500 D% trythis) S
2880 6256 P (this prints) S
2693 6720 P 0 12 F 26 10 F (If) S 59 J ( you) S 60 J ( want) S 59 J ( to) S 60 J ( use) S 59 J ( gotos) S 60 J ( to) S 59 J ( labels,) S 60 J ( you should be aware that forward references can be) S
2160 6984 P (little) S 104 J ( trickier) S 105 J ( than) S 104 J ( a) S 105 J ( more conventional compiled language. The C shell allows you to) S
2160 7248 P (redefine) S 70 J ( a) S 71 J ( label) S 70 J ( anytime) S 71 J ( you) S 70 J ( like.) S 71 J ( ) S 70 J ( But) S 71 J ( if) S 70 J ( you) S 71 J ( type) S 70 J ( a ) S 0 12 F 0 10 F (goto) S 0 12 F 26 10 F () S 70 J ( that refers to previously defined) S
2160 7512 P (label, the) S 71 J ( shell) S 70 J ( has) S 71 J ( no) S 70 J ( way) S 71 J ( of knowing that you intend it to redefine it up ahead. You can) S
2160 7776 P (keep) S 50 J ( running) S 51 J ( the) S 50 J ( last) S 51 J ( example) S 50 J ( over) S 51 J ( and) S 50 J ( over) S 51 J ( this) S 50 J ( way) S 51 J ( with) S 50 J ( exactly) S 51 J ( the) S 50 J ( same result: because a) S
2160 8040 P (new) S 53 J ( thread) S 54 J ( is) S 53 J ( started) S 54 J ( each) S 53 J ( time) S 54 J ( with) S 53 J ( no) S 54 J ( prior definition of ) S 0 12 F 0 10 F (next) S 0 12 F 26 10 F (,) S 54 J ( the shell knows it must be a) S
2160 8304 P (forward) S 61 J ( reference.) S 62 J ( ) S 61 J ( But) S 62 J ( imagine) S 61 J ( how) S 62 J ( repeatedly) S 61 J ( sourcing) S 62 J ( this) S 61 J ( script) S 62 J ( would) S 61 J ( fail) S 62 J ( in an infinite) S
2160 8568 P (loop:) S
2880 9032 P 0 12 F 0 10 F (%) S 120 J ( source trythis) S
2880 9296 P (this prints) S
2880 9560 P (% source trythis) S
2880 9824 P (this prints) S
2880 10088 P (this prints) S
2880 10352 P (this prints) S
2880 10616 P (this prints) S
2880 10880 P (this prints) S
2880 11144 P (:) S
2160 11872 P 0 12 F 26 10 F (\(Beware) S 50 J ( of actually trying this: you may find it difficult to interrupt out of it.\)) S
2693 12336 P (The) S 57 J ( reason) S 58 J ( sourcing) S 57 J ( the) S 58 J ( script) S 57 J ( a) S 58 J ( second) S 57 J ( time) S 58 J ( turns into an infinite loop is that the label) S
2160 12600 P 0 12 F 0 10 F (next) S 0 12 F 26 10 F () S 56 J ( is) S 57 J ( already) S 56 J ( defined) S 57 J ( after) S 56 J ( the) S 57 J ( first) S 56 J ( run. The second time, when the ) S 0 12 F 0 10 F (goto) S 0 12 F 26 10 F () S 56 J ( is read from the) S
2160 12864 P (script,) S 50 J ( the history list would look something like this:) S
2880 13328 P 0 12 F 0 10 F (source) S 120 J ( trythis) S
2880 13592 P (goto next) S
2880 13856 P (echo does not print) S
2880 14120 P (next: echo this prints) S
5831 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (99) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2520 1704 P 0 12 F 0 10 F (source) S 120 J ( trythis) S
2520 1968 P (goto next) S
1800 2432 P 0 12 F 26 10 F (What) S 56 J ( particularly) S 57 J ( gets) S 56 J ( the) S 57 J ( shell) S 56 J ( into) S 57 J ( a) S 56 J ( muddle) S 57 J ( is) S 56 J ( the) S 57 J ( way this recurses indefinitely: each time) S
1800 2696 P (through) S 60 J ( the) S 61 J ( loop,) S 60 J ( it) S 61 J ( recurses) S 60 J ( through) S 61 J ( an) S 60 J ( another) S 61 J ( level) S 60 J ( of) S 61 J ( sourcing.) S 60 J ( ) S 61 J ( Ultimately,) S 60 J ( it) S 61 J ( runs out of) S
1800 2960 P (stack) S 50 J ( space and fails. This is not a nice way to treat the shell!) S
2333 3424 P (In) S 52 J ( general,) S 53 J ( it's) S 52 J ( hard) S 53 J ( to) S 52 J ( recommend gotos in any programming language nowadays; in a) S
1800 3688 P (script) S 50 J ( you intend to run using ) S 0 12 F 0 10 F (source) S 0 12 F 26 10 F (,) S 50 J ( they can be particularly nasty.) S
2333 4152 P (The) S 54 J ( shell) S 55 J ( does) S 54 J ( automatically) S 55 J ( age) S 54 J ( labels) S 55 J ( and) S 54 J ( throw) S 55 J ( them) S 54 J ( away) S 55 J ( after) S 54 J ( a) S 55 J ( while even if they) S
1800 4416 P (haven't) S 72 J ( been) S 73 J ( redefined.) S 72 J ( ) S 73 J ( When) S 72 J ( it) S 73 J ( discards) S 72 J ( a) S 73 J ( label,) S 72 J ( it also discards any compiled statements) S
1800 4680 P (it's) S 54 J ( been) S 55 J ( holding onto that could have been executed only by a ) S 0 12 F 0 10 F (goto) S 0 12 F 26 10 F () S 55 J ( to that label. The cutoff) S
1800 4944 P (point) S 61 J ( where) S 62 J ( the) S 61 J ( shell) S 62 J ( begins) S 61 J ( to) S 62 J ( discard) S 61 J ( labels) S 62 J ( is) S 61 J ( set) S 62 J ( by) S 61 J ( the) S 62 J ( ) S 0 12 F 0 10 F (gotowindow) S 0 12 F 26 10 F () S 61 J ( variable.) S 62 J ( Let's now) S
1800 5208 P (clean) S 50 J ( up after ourselves and move along:) S
2520 5672 P 0 12 F 0 10 F (501) S 120 J ( D% rm trythis.csh) S
1800 6616 P 0 12 F 8 12 F B (Interrupts) S E
2333 7120 P 0 12 F 26 10 F (Normally,) S 68 J ( when) S 69 J ( you) S 68 J ( type) S 69 J ( ) S 0 12 F 0 10 F (^C) S 0 12 F 26 10 F (,) S 69 J ( you interrupt the foreground activity. But what if you) S
1800 7384 P (were) S 77 J ( in) S 78 J ( the) S 77 J ( midst) S 78 J ( of) S 77 J ( a) S 78 J ( complex) S 77 J ( script) S 78 J ( and) S 77 J ( needed) S 78 J ( to) S 77 J ( do) S 78 J ( some kind of cleanup before you) S
1800 7648 P (exited?) S 67 J ( ) S 68 J ( What) S 67 J ( if) S 68 J ( you) S 67 J ( wanted) S 68 J ( to) S 67 J ( be) S 68 J ( sure) S 67 J ( you) S 68 J ( had) S 67 J ( a) S 68 J ( chance) S 67 J ( to) S 68 J ( delete) S 67 J ( any) S 68 J ( temporary files you) S
1800 7912 P (might) S 50 J ( have littered around?) S
2333 8376 P (The solution) S 51 J ( is) S 50 J ( the) S 51 J ( ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 50 J ( statement,) S 51 J ( which) S 50 J ( allows) S 51 J ( you) S 50 J ( to) S 51 J ( define the action to be taken) S
1800 8640 P (when) S 77 J ( an) S 78 J ( interrupt) S 77 J ( is) S 78 J ( received.) S 77 J ( ) S 78 J ( It) S 77 J ( causes) S 78 J ( whatever's) S 77 J ( running) S 78 J ( to) S 77 J ( be) S 78 J ( interrupted) S 77 J ( all the way) S
1800 8904 P (back) S 62 J ( up) S 63 J ( to) S 62 J ( the) S 63 J ( block) S 62 J ( in) S 63 J ( which) S 62 J ( the) S 63 J ( ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 62 J ( routine was defined and for the interrupt routine) S
1800 9168 P (to) S 92 J ( be) S 93 J ( run) S 92 J ( in) S 93 J ( that current thread. Within that interrupt routine, you could, for example,) S
1800 9432 P (remove) S 54 J ( all) S 55 J ( your) S 54 J ( temporary) S 55 J ( files) S 54 J ( and) S 55 J ( ) S 0 12 F 0 10 F (goto) S 0 12 F 26 10 F () S 54 J ( the) S 55 J ( end) S 54 J ( of) S 55 J ( the) S 54 J ( script) S 55 J ( or) S 54 J ( return) S 55 J ( a) S 54 J ( special) S 55 J ( value) S 54 J ( from) S
1800 9696 P (a) S 50 J ( procedure or whatever else might be appropriate.) S
2520 10160 P 0 12 F 0 10 F (502) S 120 J ( D% onintr echo hello) S
2520 10424 P (503 D% for i = 1 to 5 do) S
2520 10688 P (504 D? echo $i) S
2520 10952 P (505 D? sleep 1) S
2520 11216 P (506 D? end) S
2520 11480 P (1) S
2520 11744 P (^C) S
2520 12008 P (hello) S
2333 12472 P 0 12 F 26 10 F (Here's) S 82 J ( another) S 83 J ( example,) S 82 J ( returning) S 83 J ( from) S 82 J ( a) S 83 J ( procedure.) S 82 J ( Note how the value returned) S
1800 12736 P (\(and) S 50 J ( printed\) is the one produced by the ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 50 J ( statement.) S
2520 13200 P 0 12 F 0 10 F (507) S 120 J ( D% proc foobar\(\)) S
2520 13464 P (508 D? onintr return 5) S
2520 13728 P (509 D? for i = 1 to 5 do) S
2520 13992 P (510 D? echo $i) S
2520 14256 P (511 D? sleep 1) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (100) S 0 12 F
PE
8247 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
2880 1704 P 0 12 F 0 10 F (512) S 120 J ( D? end) S
2880 1968 P (513 D? return 2) S
2880 2232 P (514 D? end) S
2880 2496 P (515 D% foobar) S
2880 2760 P (1) S
2880 3024 P (^C) S
2880 3288 P (5) S
2693 3752 P 0 12 F 26 10 F (When) S 58 J ( execution) S 59 J ( leaves) S 58 J ( the) S 59 J ( block) S 58 J ( in) S 59 J ( which) S 58 J ( an) S 59 J ( ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 58 J ( is) S 59 J ( defined,) S 58 J ( the previous ) S 0 12 F 0 10 F (onintr) S
2160 4016 P 0 12 F 26 10 F (\(if) S 54 J ( any\)) S 55 J ( again) S 54 J ( takes) S 55 J ( effect.) S 54 J ( ) S 55 J ( Note) S 54 J ( that) S 55 J ( a) S 54 J ( null) S 55 J ( ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 54 J ( routine) S 55 J ( does) S 54 J ( not) S 55 J ( mean) S 54 J ( that) S 55 J ( interrupts are) S
2160 4280 P (ignored,) S 73 J ( merely) S 74 J ( that) S 73 J ( after) S 74 J ( processing) S 73 J ( bubbles) S 74 J ( back) S 73 J ( up) S 74 J ( to the level where that ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 74 J ( was) S
2160 4544 P (defined,) S 56 J ( that) S 57 J ( it) S 56 J ( will) S 57 J ( continue) S 56 J ( with) S 57 J ( the) S 56 J ( next) S 57 J ( statement.) S 56 J ( Notice how, in this example, when the) S
2160 4808 P 0 12 F 0 10 F (^C) S 0 12 F 26 10 F () S 88 J ( is) S 89 J ( received) S 88 J ( when) S 89 J ( obviously) S 88 J ( execution) S 89 J ( is stuck in the infinite loop inside bar, that the) S
2160 5072 P (``) S 0 12 F 0 10 F (onintr) S 152 J ( goto) S 153 J ( xx) S 0 12 F 26 10 F ('') S 82 J ( causes) S 83 J ( a) S 82 J ( branch) S 83 J ( to) S 82 J ( ) S 0 12 F 0 10 F (xx) S 0 12 F 26 10 F () S 83 J ( in) S 82 J ( the) S 83 J ( same) S 82 J ( block) S 83 J ( in) S 82 J ( which) S 83 J ( the) S 82 J ( ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 82 J ( was) S
2160 5336 P (defined,) S 66 J ( not) S 67 J ( the) S 66 J ( ) S 0 12 F 0 10 F (xx) S 0 12 F 26 10 F () S 67 J ( in) S 66 J ( the) S 67 J ( block) S 66 J ( where) S 67 J ( execution) S 66 J ( was) S 67 J ( going) S 66 J ( on.) S 67 J ( ) S 66 J ( Also,) S 67 J ( notice) S 66 J ( that) S 67 J ( once) S 66 J ( both) S
2160 5600 P (procedures) S 93 J ( have been exited, we're back to the same ) S 0 12 F 0 10 F (onintr) S 0 12 F 26 10 F () S 93 J ( routine we defined a few) S
2160 5864 P (statements) S 50 J ( earlier.) S
2880 6328 P 0 12 F 0 10 F (516) S 120 J ( D% proc foo\(\)) S
2880 6592 P (517 D? onintr goto xx) S
2880 6856 P (518 D? bar) S
2880 7120 P (519 D? xx: echo this is foo) S
2880 7384 P (520 D? end) S
2880 7648 P (521 D% proc bar\(\)) S
2880 7912 P (522 D? while \(1\) # Deliberately infinite loop) S
2880 8176 P (523 D? end) S
2880 8440 P (524 D? xx: echo this is bar) S
2880 8704 P (525 D? end) S
2880 8968 P (526 D% foo) S
2880 9232 P (^C) S
2880 9496 P (this is foo) S
2880 9760 P (527 D% ^C) S
2880 10024 P (hello) S
2880 10288 P (527 D% _) S
2160 11232 P 0 12 F 8 12 F B (Masking) S 67 J ( Interrupts) S E
2693 11736 P 0 12 F 26 10 F (In) S 72 J ( cases) S 73 J ( where) S 72 J ( you'd) S 73 J ( like to simply turn off interrupts or defer processing them, use) S
2160 12000 P (the) S 117 J ( ) S 0 12 F 0 10 F (irqmask) S 0 12 F 26 10 F () S 118 J ( variable.) S 117 J ( ) S 118 J ( By) S 117 J ( default,) S 118 J ( it's set to ) S 0 12 F 0 10 F (0) S 0 12 F 26 10 F (,) S 118 J ( meaning interrupts will be accepted) S
2160 12264 P (immediately.) S 51 J ( ) S 52 J ( Setting) S 51 J ( it) S 52 J ( to ) S 0 12 F 0 10 F (1) S 0 12 F 26 10 F () S 52 J ( means interrupts will be deferred until the mask is cleared again.) S
2160 12528 P (Setting) S 50 J ( it to ) S 0 12 F 0 10 F (2) S 0 12 F 26 10 F () S 50 J ( means interrupts will be totally ignored.) S
2693 12992 P 0 12 F 0 10 F (irqmask) S 0 12 F 26 10 F () S 57 J ( is) S 58 J ( a) S 57 J ( per-thread) S 58 J ( variable,) S 57 J ( meaning) S 58 J ( each) S 57 J ( thread) S 58 J ( can independently decide how) S
2160 13256 P (it) S 105 J ( will) S 106 J ( respond) S 105 J ( to interrupts. Each new thread always starts out with ) S 0 12 F 0 10 F (irqmask) S 175 J ( = 0) S
2160 13520 P 0 12 F 26 10 F (\(interrupts) S 50 J ( enabled\).) S
5781 15384 P (Page ) S (101) S 0 12 F
PE
720 984 P 8 12 F B (Programming) S 67 J ( Constructs) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (102) S 0 12 F
PE
9845 984 P 8 12 F B (Scheduling) S E
5545 2184 P 0 12 F 8 14 F B (Scheduling) S E
2160 3408 P 0 12 F 8 12 F B (Foreground) S 67 J ( Activities) S E
2693 3912 P 0 12 F 26 10 F (Whenever) S 60 J ( you) S 61 J ( type) S 60 J ( any) S 61 J ( command,) S 60 J ( the shell's normal behavior is to start up that child) S
2160 4176 P (activity) S 72 J ( and) S 73 J ( then) S 72 J ( go) S 73 J ( to) S 72 J ( sleep) S 73 J ( waiting) S 72 J ( for) S 73 J ( it complete. This is a foreground activity. If you) S
2160 4440 P (start) S 78 J ( something) S 79 J ( and) S 78 J ( then) S 79 J ( decide) S 78 J ( you want to stop it, type Control-C, which wakes up the) S
2160 4704 P (shell) S 50 J ( and causes it to stop the foreground activities.) S
2693 5115 P 0 12 F 26 8 F 5191 J ( ) S (\324) S
2693 5168 P 0 12 F 26 10 F (Under) S 117 J ( OS/2,) S 118 J ( Hamilton) S 117 J ( C) S 118 J ( shell) S 117 J ( can) S 118 J ( tell) S 117 J ( the) S 118 J ( difference) S 80 J ( ) S () S 117 J ( between full-screen, text-) S
2160 5432 P (windowable) S 83 J ( and) S 84 J ( full) S 83 J ( Presentation) S 84 J ( Manager) S 83 J ( applications) S 84 J ( and) S 83 J ( properly) S 84 J ( spawns new screen) S
2160 5696 P (groups) S 51 J ( for) S 52 J ( applications) S 51 J ( that) S 52 J ( can't) S 51 J ( run in the shell's window. For example, typing the name of) S
2160 5960 P (the) S 50 J ( Presentation Manager control panel:) S
2880 6424 P 0 12 F 0 10 F (527) S 120 J ( D% pmcpl) S
2160 6888 P 0 12 F 26 10 F (will) S 50 J ( \(or at least, should\) cause the control panel to appear in a new window.) S
2693 7352 P (Similarly,) S 69 J ( under) S 70 J ( Windows) S 69 J ( NT,) S 70 J ( if) S 69 J ( you) S 70 J ( type) S 69 J ( the) S 70 J ( name) S 69 J ( of a graphical application, the C) S
2160 7616 P (shell) S 50 J ( will recognize that based on an actual examination of the file itself.) S
2693 8080 P (Under) S 70 J ( both) S 71 J ( OS/2) S 70 J ( and Windows NT, when you start an application that needs a new) S
2160 8344 P (window,) S 50 J ( the shell comes right back for the next command.) S
2693 8808 P (Also,) S 86 J ( if the child is a a graphical application and ) S 0 12 F 0 10 F (stdout) S 0 12 F 26 10 F () S 86 J ( or ) S 0 12 F 0 10 F (stderr) S 0 12 F 26 10 F () S 86 J ( is tied to the) S
2160 9072 P (console) S 52 J ( window) S 53 J ( where the C shell's running, the C shell recognizes that that handle won't be) S
2160 9336 P (inheritable) S 52 J ( by) S 53 J ( the) S 52 J ( child) S 53 J ( and instead will create a pipe. It'll give the write end to the child and) S
2160 9600 P (create) S 66 J ( a) S 67 J ( background) S 66 J ( thread) S 67 J ( in) S 66 J ( the) S 67 J ( C) S 66 J ( shell) S 67 J ( to) S 66 J ( read) S 67 J ( anything coming back over the pipe from) S
2160 9864 P (the) S 63 J ( child) S 64 J ( and) S 63 J ( copy) S 64 J ( it) S 63 J ( to) S 64 J ( the) S 63 J ( console) S 64 J ( window.) S 63 J ( ) S 64 J ( This) S 63 J ( means) S 64 J ( that) S 63 J ( with) S 64 J ( the) S 63 J ( C) S 64 J ( shell, you can still) S
2160 10128 P (use) S 50 J ( ordinary ) S 0 12 F 0 10 F (printf) S 0 12 F 26 10 F ('s) S 50 J ( in a OS/2 PM or NT graphical application and not lose any output.) S
2160 11072 P 0 12 F 8 12 F B (Background) S 67 J ( Activities) S E
2693 11576 P 0 12 F 26 10 F (If) S 91 J ( you) S 92 J ( want) S 91 J ( to) S 92 J ( run) S 91 J ( something) S 92 J ( but) S 91 J ( don't) S 92 J ( want) S 91 J ( to wait for it complete, just type an) S
2160 11840 P (ampersand) S 50 J ( at the end of the statement:) S
2160 12840 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 13147 P 0 12 F 26 8 F (\324) S
2160 13200 P 80 J ( ) S () S 280 J ( Actually,) S 58 J ( under) S 59 J ( OS/2,) S 58 J ( the) S 59 J ( shell) S 58 J ( depends) S 59 J ( on) S 58 J ( the) S 59 J ( ) S 0 12 F 0 8 F (.exe) S 0 12 F 26 8 F () S 58 J ( file) S 59 J ( being) S 58 J ( properly) S 59 J ( marked) S 58 J ( with the application type.) S
2520 13440 P (Unfortunately,) S 50 J ( not) S 51 J ( ) S 50 J ( all) S 51 J ( developers) S 50 J ( yet) S 51 J ( know) S 50 J ( about and obey this rule. For example, in some releases of OS/2,) S
2520 13680 P (even IBM) S 51 J ( forgot) S 50 J ( to) S 51 J ( mark) S 50 J ( some) S 51 J ( applications) S 50 J ( such) S 51 J ( as) S 50 J ( the) S 51 J ( control) S 50 J ( panel.) S 51 J ( ) S 50 J ( Unmarked) S 51 J ( applications are, by default,) S
2520 13920 P (started) S 57 J ( full-screen;) S 58 J ( a) S 57 J ( PM) S 58 J ( application) S 57 J ( that's) S 58 J ( started) S 57 J ( this) S 58 J ( way) S 57 J ( dies) S 58 J ( immediately.) S 57 J ( ) S 58 J ( If) S 57 J ( you spot this behavior, you) S
2520 14160 P (should) S 108 J ( mark) S 109 J ( the) S 108 J ( offending application using the ) S 0 12 F 0 8 F (markexe) S 0 12 F 26 8 F () S 108 J ( utility. \(Type ``) S 0 12 F 0 8 F (markexe) S 164 J ( -h) S 0 12 F 26 8 F ('') S 108 J ( for more) S
2520 14400 P (information.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (103) S 0 12 F
PE
720 984 P 8 12 F B (Scheduling) S E
2520 1704 P 0 12 F 0 10 F (528) S 120 J ( D% wc hello.c >linecnt &) S
2520 1968 P (1) S
2520 2232 P (529 D% _) S
1800 2696 P 0 12 F 26 10 F (This) S 58 J ( creates) S 59 J ( a) S 58 J ( child process to run word count in the background, with its output directed to) S
1800 2960 P (a) S 87 J ( file.) S 88 J ( ) S 87 J ( The) S 88 J ( ``) S 0 12 F 0 10 F (1) S 0 12 F 26 10 F ('') S 87 J ( message) S 88 J ( means) S 87 J ( that) S 88 J ( a) S 87 J ( new) S 88 J ( background) S 87 J ( job) S 88 J ( \(job) S 87 J ( 1\)) S 88 J ( has) S 87 J ( been spawned to) S
1800 3224 P (process) S 65 J ( the) S 66 J ( command) S 65 J ( while) S 66 J ( you) S 65 J ( continue) S 66 J ( to) S 65 J ( work. The job starts as a new thread. If, as in) S
1800 3488 P (this) S 68 J ( case,) S 69 J ( a) S 68 J ( separate) S 69 J ( process) S 68 J ( is) S 69 J ( needed,) S 68 J ( that) S 69 J ( thread) S 68 J ( will) S 69 J ( create) S 68 J ( it with a ) S 0 12 F 0 10 F (DosExecPgm) S 0 12 F 26 10 F () S 68 J ( call to) S
1800 3752 P (the) S 69 J ( OS/2) S 70 J ( kernel) S 69 J ( \(or) S 70 J ( ) S 0 12 F 0 10 F (CreateProcess) S 0 12 F 26 10 F () S 69 J ( call) S 70 J ( to) S 69 J ( the Windows NT kernel, as appropriate\), then) S
1800 4016 P (exit.) S 57 J ( ) S 58 J ( Each) S 57 J ( new) S 58 J ( thread,) S 57 J ( process) S 58 J ( or) S 57 J ( screen) S 58 J ( group) S 57 J ( spawned) S 58 J ( by) S 57 J ( a) S 58 J ( background) S 57 J ( job) S 58 J ( will inherit its) S
1800 4280 P (parent's) S 105 J ( job) S 106 J ( number.) S 105 J ( ) S 106 J ( Every) S 105 J ( time) S 106 J ( a new background job is created, the job number is) S
1800 4544 P (incremented.) S
2333 5008 P (The) S 60 J ( use) S 61 J ( of) S 60 J ( i/o) S 61 J ( redirection) S 60 J ( in) S 61 J ( combination) S 60 J ( with) S 61 J ( a) S 60 J ( background) S 61 J ( activity) S 60 J ( is) S 61 J ( not accidental.) S
1800 5272 P (If) S 59 J ( it's) S 60 J ( not) S 59 J ( redirected,) S 60 J ( it) S 59 J ( goes) S 60 J ( to) S 59 J ( your) S 60 J ( terminal,) S 59 J ( intermixing) S 60 J ( with) S 59 J ( the output of any foreground) S
1800 5536 P (activities.) S 56 J ( ) S 57 J ( Occasionally,) S 56 J ( that) S 57 J ( might) S 56 J ( be exactly what you want. For example, here's a timer to) S
1800 5800 P (wake) S 50 J ( you up in 5 minutes \(300 seconds\):) S
2520 6264 P 0 12 F 0 10 F (529) S 120 J ( D% \(sleep 300; echo ^aWake Up, Sleepyhead.\) &) S
2520 6528 P (2) S
2520 6792 P (:) S
2520 7056 P (:) S
2520 7320 P 0 12 F 26 10 F I (Beep) S E
2520 7584 P 0 12 F 0 10 F (Wake) S 120 J ( Up, Sleepyhead.) S
2333 8048 P 0 12 F 26 10 F (The) S 50 J ( ampersand works consistently for things that need a new window:) S
2520 8512 P 0 12 F 0 10 F (530) S 120 J ( D% pmcpl &) S
2520 8776 P (3) S
2520 9040 P (531 D% _) S
1800 9504 P 0 12 F 26 10 F (A) S 56 J ( new) S 57 J ( job) S 56 J ( starts) S 57 J ( up) S 56 J ( and) S 57 J ( announces) S 56 J ( itself,) S 57 J ( then) S 56 J ( realizes) S 57 J ( that) S 56 J ( the) S 57 J ( control) S 56 J ( panel) S 57 J ( has) S 56 J ( to) S 57 J ( be run in) S
1800 9768 P (a) S 75 J ( separate session. Once it's started the child session, the thread exits and its children are) S
1800 10032 P (adopted) S 50 J ( by its parent thread and child is left running as job 3.) S
2333 10496 P (Under) S 76 J ( both) S 77 J ( OS/2) S 76 J ( and) S 77 J ( Windows) S 76 J ( NT,) S 77 J ( background activities are, in a sense, detached:) S
1800 10760 P (typing) S 57 J ( Ctrl-C) S 58 J ( doesn't) S 57 J ( interrupt) S 58 J ( them) S 57 J ( \(unless) S 58 J ( they) S 57 J ( explicitly) S 58 J ( ask) S 57 J ( to) S 58 J ( be notified.\) You can start) S
1800 11024 P (a) S 90 J ( large) S 91 J ( number) S 90 J ( of) S 91 J ( background) S 90 J ( activities) S 91 J ( and) S 90 J ( check) S 91 J ( on) S 90 J ( their) S 91 J ( status) S 90 J ( using) S 91 J ( the) S 90 J ( ) S 0 12 F 0 10 F (ps) S 0 12 F 26 10 F () S 91 J ( \(process) S
1800 11288 P (status\)) S 80 J ( command.) S 81 J ( Here's what you'd see on OS/2; the output under NT would be fairly) S
1800 11552 P (similar.) S
2520 12016 P 0 12 F 0 10 F (531) S 120 J ( D% ps) S
2520 12280 P (Job ID Parent State Activity) S
2520 12544 P (- t1 - running interrupt_handler) S
2520 12808 P (- t2 t1 running thread_cleanup) S
2520 13072 P (- t3 t1 running process_cleanup) S
2520 13336 P (- t4 t1 running screen_cleanup) S
2520 13600 P (- t5 t1 running keyboard_reader) S
2520 13864 P (- ) S 0 12 F 0 10 F B (t6) S 120 J ( t1 running main_thread) S E
2520 14128 P 0 12 F 0 10 F (-) S 120 J ( t7 t1 running console_io) S
2520 14392 P (3 s33 t6 running pmcpl) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (104) S 0 12 F
PE
9845 984 P 8 12 F B (Scheduling) S E
2693 1704 P 0 12 F 26 10 F (Threads) S 84 J ( 1) S 85 J ( through) S 84 J ( 4) S 85 J ( always) S 84 J ( run) S 85 J ( in) S 84 J ( the) S 85 J ( background.) S 84 J ( ) S 85 J ( Each) S 84 J ( spends) S 85 J ( most) S 84 J ( of the time) S
2160 1968 P (asleep,) S 54 J ( waking) S 55 J ( up) S 54 J ( to) S 55 J ( do some housekeeping only when an interrupt or the signal that a child) S
2160 2232 P (activity) S 88 J ( has) S 89 J ( completed) S 88 J ( is) S 89 J ( received.) S 88 J ( Thread 5 is dedicated to reading characters from the) S
2160 2496 P (keyboard) S 76 J ( on) S 77 J ( request) S 76 J ( from) S 77 J ( other) S 76 J ( threads.) S 77 J ( ) S 76 J ( Thread) S 77 J ( 6) S 76 J ( is) S 77 J ( the foreground command processor.) S
2160 2760 P (Thread) S 69 J ( 7 was spawned when the C shell realized that pmcpl is a graphical application and) S
2160 3024 P (that) S 67 J ( a) S 68 J ( pipe) S 67 J ( would) S 68 J ( be) S 67 J ( needed) S 68 J ( to) S 67 J ( capture) S 68 J ( any ) S 0 12 F 0 10 F (stdio) S 0 12 F 26 10 F () S 68 J ( output from the child. Other entries in) S
2160 3288 P (the) S 50 J ( ) S 0 12 F 0 10 F (ps) S 0 12 F 26 10 F () S 50 J ( report come and go as you type commands.) S
2693 3752 P (If) S 56 J ( you) S 57 J ( want to explicitly terminate a background activity, use the ) S 0 12 F 0 10 F (kill) S 0 12 F 26 10 F () S 57 J ( command. But) S
2160 4016 P (do) S 70 J ( keep) S 71 J ( in) S 70 J ( mind that under NT, there are two ways to kill a process: If it's a console \(text) S
2160 4280 P (window\)) S 76 J ( application,) S 77 J ( it) S 76 J ( can) S 77 J ( be) S 76 J ( done) S 77 J ( by) S 76 J ( sending it a Ctrl-C signal; that's what kill does by) S
2160 4544 P (default.) S 74 J ( ) S 75 J ( But) S 74 J ( if) S 75 J ( it's) S 74 J ( a) S 75 J ( graphical) S 74 J ( application,) S 75 J ( it) S 74 J ( can) S 75 J ( only) S 74 J ( be) S 75 J ( done) S 74 J ( using the TerminateProcess) S
2160 4808 P (call,) S 79 J ( a) S 80 J ( very) S 79 J ( brute) S 80 J ( force) S 79 J ( way) S 80 J ( of) S 79 J ( killing) S 80 J ( something;) S 79 J ( any) S 80 J ( DLL's) S 79 J ( that) S 80 J ( were) S 79 J ( being) S 80 J ( used) S 79 J ( by) S 80 J ( that) S
2160 5072 P (process) S 57 J ( will) S 58 J ( not) S 57 J ( any) S 58 J ( notification) S 57 J ( that) S 58 J ( the) S 57 J ( process) S 58 J ( has) S 57 J ( died and, thus, will not know to do any) S
2160 5336 P (cleanup) S 50 J ( they might normally do.) S
2880 5800 P 0 12 F 0 10 F (532) S 120 J ( D% kill 3) S
2880 6064 P (533 D% ps) S
2880 6328 P (Job ID Parent State Activity) S
2880 6592 P (- t1 - running interrupt_handler) S
2880 6856 P (- t2 t1 running thread_cleanup) S
2880 7120 P (- t3 t1 running process_cleanup) S
2880 7384 P (- t4 t1 running screen_cleanup) S
2880 7648 P (- t5 t1 running keyboard_reader) S
2880 7912 P (- ) S 0 12 F 0 10 F B (t6) S 120 J ( t1 running main_thread) S E
2880 8176 P 0 12 F 0 10 F (-) S 120 J ( t7 t1 running console_io) S
2160 9120 P 0 12 F 8 12 F B (Variables) S 67 J ( and Threads) S E
2693 9624 P 0 12 F 26 10 F (User-defined) S 58 J ( variables) S 59 J ( are) S 58 J ( shared) S 59 J ( between) S 58 J ( all active threads unless they're declared as) S
2160 9888 P 0 12 F 0 10 F (local) S 0 12 F 26 10 F (:) S 82 J ( ) S 83 J ( if) S 82 J ( one) S 83 J ( changes) S 82 J ( a) S 83 J ( variable's) S 82 J ( value,) S 83 J ( the) S 82 J ( other) S 83 J ( threads) S 82 J ( see that change immediately.) S
2160 10152 P (Because) S 72 J ( the) S 73 J ( individual) S 72 J ( threads) S 73 J ( run) S 72 J ( asynchronously,) S 73 J ( this) S 72 J ( can) S 73 J ( cause) S 72 J ( some surprising results.) S
2160 10416 P (In) S 61 J ( this) S 62 J ( example,) S 61 J ( the foreground thread spawns new background threads and increments the) S
2160 10680 P (variable) S 50 J ( ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 51 J ( faster) S 50 J ( than) S 51 J ( the) S 50 J ( children) S 51 J ( can) S 50 J ( execute.) S 51 J ( ) S 50 J ( By) S 51 J ( the) S 50 J ( time) S 51 J ( any) S 50 J ( the) S 51 J ( children) S 50 J ( actually start, the) S
2160 10944 P (loop has finished and every thread sees ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 50 J ( as having the value 5.) S
2880 11408 P 0 12 F 0 10 F (534) S 120 J ( D% for i = 1 to 3 do) S
2880 11672 P (535 D? echo $i &) S
2880 11936 P (536 D? end) S
2880 12200 P (4) S
2880 12464 P (5) S
2880 12728 P (6) S
2880 12992 P (537 D% 5) S
2880 13256 P (5) S
2880 13520 P (5) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (105) S 0 12 F
PE
720 984 P 8 12 F B (Scheduling) S E
2333 1704 P 0 12 F 26 10 F (One) S 53 J ( solution) S 54 J ( is) S 53 J ( to use the ) S 0 12 F 0 10 F (eval) S 0 12 F 26 10 F () S 53 J ( statement. ) S 0 12 F 0 10 F (eval) S 0 12 F 26 10 F () S 53 J ( parses the text it's passed at run-time,) S
1800 1968 P 0 12 F 26 10 F I (after) S E 0 12 F 26 10 F () S 58 J ( any) S 59 J ( variable) S 58 J ( substitutions) S 59 J ( have) S 58 J ( been) S 59 J ( done.) S 58 J ( Because the ampersand is inside the quotes,) S
1800 2232 P (its) S 50 J ( special meaning isn't detected until run-time.) S
2520 2696 P 0 12 F 0 10 F (537) S 120 J ( D% for i = 1 to 3 do) S
2520 2960 P (538 D? eval "echo $i &") S
2520 3224 P (539 D? end) S
2520 3488 P (7) S
2520 3752 P (8) S
2520 4016 P (9) S
2520 4280 P (540 D% 1) S
2520 4544 P (2) S
2520 4808 P (3) S
2333 5272 P 0 12 F 26 10 F (A) S 61 J ( better) S 62 J ( solution is to make ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 62 J ( a local variable, since locals are snapshotted and copied) S
1800 5536 P (when) S 50 J ( the child is spawned:) S
2520 6000 P 0 12 F 0 10 F (540) S 120 J ( D% local i; for i = 1 to 3 do) S
2520 6264 P (541 D% echo $i &) S
2520 6528 P (542 D% end) S
2520 6792 P (10) S
2520 7056 P (11) S
2520 7320 P (12) S
2520 7584 P (543 D% 1) S
2520 7848 P (2) S
2520 8112 P (3) S
1800 9056 P 0 12 F 8 12 F B (Re-entrancy) S E
2333 9560 P 0 12 F 26 10 F (Threads) S 59 J ( also introduce the possibility of re-entrancy. In the next example, we define a) S
1800 9824 P (procedure) S 66 J ( for) S 67 J ( summing) S 66 J ( all) S 67 J ( the) S 66 J ( integers) S 67 J ( ) S 0 12 F 0 10 F (1) S 0 12 F 26 10 F () S 66 J ( to) S 67 J ( ) S 0 12 F 0 10 F (n) S 0 12 F 26 10 F (.) S 66 J ( ) S 67 J ( Notice) S 66 J ( that) S 67 J ( it) S 66 J ( works fine if it's run by itself,) S
1800 10088 P (but) S 50 J ( gives the wrong answers if two threads try to run it simultaneously:) S
2520 10552 P 0 12 F 0 10 F (543) S 120 J ( D% proc sum\(n\)) S
2520 10816 P (544 D? @ s = 0) S
2520 11080 P (545 D? for i = 1 to n do) S
2520 11344 P (546 D? @ s += i) S
2520 11608 P (547 D? end) S
2520 11872 P (548 D? end) S
2520 12136 P (549 D% sum 100) S
2520 12400 P (5050) S
2520 12664 P (550 D% sum 100 &; sum 100) S
2520 12928 P (13) S
2520 13192 P (6780) S
2520 13456 P (551 D% 7177) S
2333 13920 P 0 12 F 26 10 F (Here) S 83 J ( also,) S 84 J ( the) S 83 J ( solution) S 84 J ( is) S 83 J ( simply) S 84 J ( to) S 83 J ( include) S 84 J ( a) S 83 J ( statement) S 84 J ( defining) S 83 J ( ) S 0 12 F 0 10 F (i) S 0 12 F 26 10 F () S 84 J ( and) S 83 J ( ) S 0 12 F 0 10 F (s) S 0 12 F 26 10 F () S 84 J ( as) S 83 J ( ) S 0 12 F 0 10 F (local) S
1800 14184 P 0 12 F 26 10 F (inside) S 50 J ( the procedure.) S
5781 15384 P (Page ) S (106) S 0 12 F
PE
9845 984 P 8 12 F B (Scheduling) S E
2160 1704 P B (Threads:) S 67 J ( An advanced discussion) S E
2693 2208 P 0 12 F 26 10 F (In) S 66 J ( building) S 67 J ( Hamilton) S 66 J ( C) S 67 J ( shell,) S 66 J ( a) S 67 J ( conscious) S 66 J ( and) S 67 J ( fundamental) S 66 J ( decision was made to use) S
2160 2472 P (threads) S 68 J ( in) S 69 J ( many) S 68 J ( situations) S 69 J ( where) S 68 J ( earlier) S 69 J ( shells) S 68 J ( might) S 69 J ( have) S 68 J ( created) S 69 J ( separate) S 68 J ( processes.) S 69 J ( ) S 68 J ( The) S
2160 2736 P (result) S 52 J ( is) S 53 J ( a) S 52 J ( dramatically) S 53 J ( more) S 52 J ( responsive) S 53 J ( tool) S 52 J ( albeit) S 53 J ( one) S 52 J ( with) S 53 J ( some) S 52 J ( subtle) S 53 J ( semantic) S 52 J ( differences) S
2160 3000 P (from) S 50 J ( the original.) S
2693 3464 P (The) S 113 J ( UNIX) S 114 J ( C) S 113 J ( shell) S 114 J ( language) S 113 J ( definition) S 114 J ( called) S 113 J ( for) S 114 J ( individual) S 113 J ( stages) S 114 J ( of a pipeline,) S
2160 3728 P (command) S 58 J ( substitutions) S 59 J ( and) S 58 J ( scripts) S 59 J ( each to be run in a separate process cloned by ) S 0 12 F 26 10 F I (forking) S E 0 12 F 26 10 F () S 59 J ( the) S
2160 3992 P (main) S 76 J ( process.) S 77 J ( ) S 76 J ( Using forking, the child inherited all of its parent's state \(current directory,) S
2160 4256 P (open) S 105 J ( file) S 106 J ( handles,) S 105 J ( environmental) S 106 J ( and) S 105 J ( set) S 106 J ( variables,) S 105 J ( etc.\) but any changes it made only) S
2160 4520 P (affected) S 63 J ( itself.) S 64 J ( ) S 63 J ( On) S 64 J ( a) S 63 J ( UNIX) S 64 J ( system) S 63 J ( with paging hardware and the fork mechanism built into) S
2160 4784 P (the) S 50 J ( kernel, it's pretty fast.) S
2693 5195 P 0 12 F 26 8 F 4715 J ( ) S (\324) S
2693 5248 P 0 12 F 26 10 F (But) S 71 J ( OS/2) S 72 J ( and) S 71 J ( the) S 72 J ( NT) S 71 J ( Win32) S 72 J ( api's) S 71 J ( do) S 72 J ( not) S 71 J ( have) S 72 J ( fork) S 80 J ( ) S (,) S 71 J ( and) S 72 J ( trying) S 71 J ( to) S 72 J ( recreate precisely) S
2160 5512 P (this) S 65 J ( language) S 66 J ( semantic) S 65 J ( under) S 66 J ( OS/2) S 65 J ( or NT would have been foolishly expensive, potentially) S
2160 5776 P (adding) S 53 J ( several) S 54 J ( seconds) S 53 J ( to) S 54 J ( the) S 53 J ( startup time each time you invoked a shell script. On the other) S
2160 6040 P (hand,) S 52 J ( these) S 53 J ( systems) S 52 J ( do) S 53 J ( offer) S 52 J ( ) S 0 12 F 26 10 F I (threads) S E 0 12 F 26 10 F (.) S 53 J ( ) S 52 J ( A process can have lots of threads and each one can run) S
2160 6304 P (along) S 58 J ( at) S 59 J ( its) S 58 J ( own) S 59 J ( pace.) S 58 J ( ) S 59 J ( When) S 58 J ( a) S 59 J ( thread) S 58 J ( calls the kernel to do something that takes a long time) S
2160 6568 P (\(e.g.,) S 76 J ( a) S 77 J ( disk) S 76 J ( read\),) S 77 J ( it) S 76 J ( goes) S 77 J ( to) S 76 J ( sleep) S 77 J ( and) S 76 J ( doesn't) S 77 J ( wake up until the data's ready. When one) S
2160 6832 P (thread) S 92 J ( goes) S 93 J ( to) S 92 J ( sleep,) S 93 J ( the) S 92 J ( kernel) S 93 J ( looks) S 92 J ( around for another that's ready to run. By using) S
2160 7096 P (threads,) S 65 J ( it's) S 66 J ( possible) S 65 J ( to) S 66 J ( ensure) S 65 J ( that) S 66 J ( if) S 65 J ( one) S 66 J ( thing's) S 65 J ( got) S 66 J ( to) S 65 J ( wait,) S 66 J ( that won't hold up everything) S
2160 7360 P (else.) S
2693 7824 P (Threads) S 54 J ( turn) S 55 J ( out) S 54 J ( to be even faster than a fork \(regardless of the hardware\), because the) S
2160 8088 P (amount) S 51 J ( of) S 52 J ( state) S 51 J ( information) S 52 J ( associated) S 51 J ( with) S 52 J ( a) S 51 J ( thread) S 52 J ( is) S 51 J ( so little compared to that of a process.) S
2160 8352 P (As) S 86 J ( viewed) S 87 J ( by) S 86 J ( the) S 87 J ( kernel,) S 86 J ( a) S 87 J ( thread) S 86 J ( ``owns'' only a register set, a stack and an instruction) S
2160 8616 P (pointer.) S 53 J ( ) S 54 J ( Everything) S 53 J ( else,) S 54 J ( memory,) S 53 J ( current) S 54 J ( directories,) S 53 J ( etc.,) S 54 J ( is) S 53 J ( shared) S 54 J ( among all the threads in) S
2160 8880 P (a) S 50 J ( process. This means creating a thread is very fast, as is switching between threads.) S
2693 9344 P (On) S 72 J ( the) S 73 J ( other hand, using threads to best advantage imposed some significant design) S
2160 9608 P (challenges) S 57 J ( in) S 58 J ( Hamilton) S 57 J ( C) S 58 J ( shell.) S 57 J ( ) S 58 J ( Certainly,) S 57 J ( for) S 58 J ( example,) S 57 J ( few) S 58 J ( would) S 57 J ( consider) S 58 J ( it acceptable if a) S
2160 9872 P (script) S 67 J ( running) S 68 J ( in) S 67 J ( the) S 68 J ( background) S 67 J ( could) S 68 J ( ) S 0 12 F 26 10 F I (>Boom<) S E 0 12 F 26 10 F () S 68 J ( change your foreground current disk! The) S
2160 10136 P (problem) S 82 J ( was) S 83 J ( to) S 82 J ( create) S 83 J ( a) S 82 J ( way) S 83 J ( for) S 82 J ( threads) S 83 J ( to) S 82 J ( cooperatively) S 83 J ( share) S 82 J ( the) S 83 J ( process) S 82 J ( resources but) S
2160 10400 P (without) S 92 J ( giving) S 93 J ( away) S 92 J ( all the performance advantage we'd started with by using threads.) S
2160 10664 P (Also,) S 52 J ( some) S 53 J ( of) S 52 J ( the) S 53 J ( elegance) S 52 J ( of) S 53 J ( threads) S 52 J ( is) S 53 J ( the) S 52 J ( idea) S 53 J ( you) S 52 J ( can) S 53 J ( keep) S 52 J ( creating) S 53 J ( new) S 52 J ( ones.) S 53 J ( Each is just) S
2160 10928 P (like) S 63 J ( the) S 64 J ( next:) S 63 J ( ) S 64 J ( any given thread can run just as complex a program as the next and each can) S
2160 11192 P (spawn new) S 65 J ( threads.) S 64 J ( ) S 65 J ( It) S 64 J ( would) S 65 J ( be) S 64 J ( a) S 65 J ( shame) S 64 J ( to) S 65 J ( lose) S 64 J ( that) S 65 J ( recursive) S 64 J ( characteristic by clumsiness) S
2160 11456 P (in) S 50 J ( the language design.) S
2693 11920 P (Starting) S 129 J ( with a clean sheet of paper, our solution was a ) S 0 12 F 26 10 F I (highly) S E 0 12 F 26 10 F () S 129 J ( multi-threaded) S
2160 12184 P (architecture.) S 69 J ( ) S 70 J ( It) S 69 J ( expects) S 70 J ( you) S 69 J ( to) S 70 J ( start) S 69 J ( lots) S 70 J ( of) S 69 J ( threads:) S 70 J ( ) S 69 J ( stages) S 70 J ( in) S 69 J ( a pipe, background activities,) S
2160 12448 P (etc.) S 132 J ( ) S 133 J ( To) S 132 J ( our) S 133 J ( knowledge,) S 132 J ( no) S 133 J ( other) S 132 J ( command) S 133 J ( processor) S 132 J ( on) S 133 J ( any) S 132 J ( system employs this) S
2160 12712 P (technology.) S 62 J ( ) S 63 J ( Certainly,) S 62 J ( all) S 63 J ( the) S 62 J ( code) S 63 J ( in) S 62 J ( Hamilton) S 63 J ( C) S 62 J ( shell) S 63 J ( is) S 62 J ( re-entrant:) S 63 J ( ) S 62 J ( there) S 63 J ( is) S 62 J ( a minimum of) S
2160 12976 P (global,) S 75 J ( statically-allocated) S 76 J ( data;) S 75 J ( the) S 76 J ( few) S 75 J ( variables) S 76 J ( that) S 75 J ( are) S 76 J ( global) S 75 J ( tend) S 76 J ( to be pointers to the) S
2160 13240 P (roots) S 94 J ( of various dynamically-allocated information trees for managing variables, threads,) S
2160 13560 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 13867 P 0 12 F 26 8 F (\324) S
2160 13920 P 80 J ( ) S () S 280 J ( The) S 75 J ( decision not to provide a fork semantic under OS/2 was probably forced by the decision that initial) S
2520 14160 P (releases) S 56 J ( of) S 57 J ( OS/2) S 56 J ( would) S 57 J ( run) S 56 J ( on) S 57 J ( 286-based) S 56 J ( machines.) S 57 J ( ) S 56 J ( Lacking paging hardware, a fork on a 286 would likely) S
2520 14400 P (have) S 40 J ( been unacceptably slow, no matter how the software was designed.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (107) S 0 12 F
PE
720 984 P 8 12 F B (Scheduling) S E
1800 1704 P 0 12 F 26 10 F (processes,) S 65 J ( file) S 66 J ( handles) S 65 J ( and) S 66 J ( other resources. When the shell creates a new thread, it creates) S
1800 1968 P (the) S 79 J ( appropriate) S 80 J ( records) S 79 J ( and) S 80 J ( links) S 79 J ( them) S 80 J ( in.) S 79 J ( ) S 80 J ( Some) S 79 J ( characteristics) S 80 J ( given) S 79 J ( the new thread are) S
1800 2232 P (inherited) S 50 J ( from it's parent and some always get set to specific defaults.) S
2333 2696 P (Shared variables) S 101 J ( and) S 100 J ( other) S 101 J ( resources) S 100 J ( are) S 101 J ( semaphored: before using a resource, a) S
1800 2960 P (thread) S 62 J ( requests) S 63 J ( it;) S 62 J ( ) S 63 J ( if several resources are needed simultaneously, they're always requested) S
1800 3224 P (in) S 86 J ( the) S 87 J ( same) S 86 J ( order to avoid deadlocks. Critical resources are held only for short periods.) S
1800 3488 P (There's) S 88 J ( no) S 89 J ( polling) S 88 J ( anywhere. ``Handle'' mechanisms are used so that, e.g., a thread can) S
1800 3752 P (decide) S 76 J ( if) S 77 J ( its) S 76 J ( current) S 77 J ( disk) S 76 J ( and) S 77 J ( directories) S 76 J ( are) S 77 J ( set up by simply comparing an integer. Path) S
1800 4016 P (hashing) S 107 J ( structures) S 108 J ( are) S 107 J ( shared) S 108 J ( with) S 107 J ( a) S 108 J ( ``copy) S 107 J ( on) S 108 J ( write'') S 107 J ( mechanism) S 108 J ( in) S 107 J ( case) S 108 J ( they) S 107 J ( change) S
1800 4280 P (directories) S 75 J ( and) S 76 J ( need) S 75 J ( slightly) S 76 J ( different) S 75 J ( hash) S 76 J ( structures.) S 75 J ( ) S 76 J ( Any) S 75 J ( thread) S 76 J ( can do what any other) S
1800 4544 P (can:) S 63 J ( compile) S 64 J ( or) S 63 J ( execute an arbitrarily complex C shell program or even spawn or pipe child) S
1800 4808 P (threads.) S
2333 5272 P (Given) S 77 J ( the) S 78 J ( enormous) S 77 J ( advantage) S 78 J ( offered) S 77 J ( by) S 78 J ( threads) S 77 J ( and) S 78 J ( the) S 77 J ( unique technology we've) S
1800 5536 P (developed) S 64 J ( to) S 65 J ( exploit) S 64 J ( them,) S 65 J ( we) S 64 J ( expect) S 65 J ( Hamilton) S 64 J ( C shell should easily outperform any UNIX) S
1800 5800 P (shell) S 50 J ( on comparable hardware.) S
5781 15384 P (Page ) S (108) S 0 12 F
PE
8912 984 P 8 12 F B (Order) S 67 J ( of Evaluation) S E
5000 2184 P 0 12 F 8 14 F B (Order) S 78 J ( of Evaluation) S E
2693 2928 P 0 12 F 26 10 F (Finally,) S 71 J ( to) S 72 J ( put) S 71 J ( everything) S 72 J ( in) S 71 J ( perspective,) S 72 J ( here's) S 71 J ( a) S 72 J ( summary) S 71 J ( of roughly the procedure) S
2160 3192 P (by) S 50 J ( which the C shell reads, parses and evalutes your commands:) S
2160 3656 P (1.) S 570 J ( The) S 54 J ( command) S 55 J ( is) S 54 J ( read.) S 55 J ( ) S 54 J ( If) S 55 J ( ) S 0 12 F 0 10 F (stdin) S 0 12 F 26 10 F () S 54 J ( appears) S 55 J ( to) S 54 J ( be) S 55 J ( a keyboard, the command line editing) S
2880 3920 P (routines) S 84 J ( are) S 85 J ( used) S 84 J ( to) S 85 J ( read) S 84 J ( a) S 85 J ( keystroke) S 84 J ( at) S 85 J ( a) S 84 J ( time,) S 85 J ( entering) S 84 J ( them into the command) S
2880 4184 P (buffer) S 54 J ( and doing whatever editing is indicated. Otherwise, the shell simply uses the) S
2880 4448 P (kernel's) S 72 J ( ) S 0 12 F 0 10 F (DosRead) S 0 12 F 26 10 F () S 73 J ( function) S 72 J ( to) S 73 J ( read small chunks until the end of the statement has) S
2880 4712 P (been) S 50 J ( found.) S
2160 5216 P (2.) S 570 J ( History) S 50 J ( substitution is done. The ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F ('') S 50 J ( and ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F (''-style) S 50 J ( history references are expanded.) S
2160 5720 P (3.) S 570 J ( The) S 62 J ( text) S 63 J ( is) S 62 J ( broken) S 63 J ( up) S 62 J ( into) S 63 J ( separate) S 62 J ( words.) S 63 J ( ) S 62 J ( Unless) S 63 J ( it's) S 62 J ( part) S 63 J ( of) S 62 J ( a quoted string, white) S
2880 5984 P (space) S 50 J ( \(tabs) S 51 J ( and) S 50 J ( spaces\) separates words. Also, these special strings are interpreted as) S
2880 6248 P (separate words even if they're run together with other text:) S
2880 6752 P 0 12 F 0 10 F (&) S 120 J ( | ; > < \( \) && || >> << >& >! >&!) S
2160 7216 P 0 12 F 26 10 F (4.) S 570 J ( The) S 56 J ( command) S 57 J ( is) S 56 J ( added) S 57 J ( to) S 56 J ( the) S 57 J ( history) S 56 J ( list.) S 57 J ( ) S 56 J ( The) S 57 J ( fact) S 56 J ( that) S 57 J ( this) S 56 J ( is done after the text has) S
2880 7480 P (been) S 69 J ( broken) S 70 J ( up) S 69 J ( into) S 70 J ( separate) S 69 J ( words) S 70 J ( explains) S 69 J ( why) S 70 J ( the) S 69 J ( commands) S 70 J ( in the history list) S
2880 7744 P (will) S 55 J ( look) S 56 J ( a) S 55 J ( bit) S 56 J ( different) S 55 J ( than) S 56 J ( the) S 55 J ( way) S 56 J ( you typed them. It's done this way on purpose) S
2880 8008 P (so) S 65 J ( that) S 66 J ( you) S 65 J ( can) S 66 J ( refer) S 65 J ( to) S 66 J ( individual) S 65 J ( words) S 66 J ( in) S 65 J ( previous commands, e.g., with ``) S 0 12 F 0 10 F (!$) S 0 12 F 26 10 F ('') S 65 J ( to) S
2880 8272 P (get) S 50 J ( just the last word of the last command.) S
2160 8776 P (5.) S 570 J ( The) S 82 J ( command) S 83 J ( is) S 82 J ( compiled) S 83 J ( into an internal form using a recursive descent parser,) S
2880 9040 P (recognizing) S 74 J ( the) S 75 J ( language) S 74 J ( constructs) S 75 J ( and) S 74 J ( whether) S 75 J ( a) S 74 J ( given) S 75 J ( portion) S 74 J ( of a command is) S
2880 9304 P (really) S 50 J ( an expression or just a series of words.) S
2160 9808 P () S 720 J ( Compilation) S 64 J ( at) S 65 J ( this) S 64 J ( stage) S 65 J ( is) S 64 J ( at) S 65 J ( the) S 64 J ( level of a whole construct, e.g., a whole ) S 0 12 F 0 10 F (foreach) S
2880 10072 P 0 12 F 26 10 F (statement) S 90 J ( or) S 91 J ( ) S 0 12 F 0 10 F (proc) S 0 12 F 26 10 F () S 90 J ( definition) S 91 J ( and) S 90 J ( everything) S 91 J ( inside) S 90 J ( it.) S 91 J ( That's so that every time) S
2880 10336 P (through) S 116 J ( a) S 117 J ( loop) S 116 J ( or) S 117 J ( every time a procedure is run, the shell won't waste time) S
2880 10600 P (recompiling) S 75 J ( statements) S 76 J ( that) S 75 J ( could) S 76 J ( have) S 75 J ( been) S 76 J ( compiled) S 75 J ( the) S 76 J ( first) S 75 J ( time. Also, aliases) S
2880 10864 P (are) S 111 J ( expanded) S 112 J ( at) S 111 J ( this) S 112 J ( stage and some minor optimizations are down, e.g., pre-) S
2880 11128 P (compiling) S 50 J ( static patterns appearing in pattern-matching expressions, etc.) S
2160 11632 P (6.) S 570 J ( The) S 65 J ( internal) S 66 J ( form) S 65 J ( is) S 66 J ( executed.) S 65 J ( ) S 66 J ( The) S 65 J ( various quoting and other substitution activities) S
2880 11896 P (are) S 50 J ( done, in effect, in this order:) S
2880 12400 P (a.) S 570 J ( Threads) S 90 J ( are spawned for separate stages of a pipeline or for background) S
3600 12664 P (execution.) S 76 J ( ) S 77 J ( That's to avoid serializing any blocking events as, for example,) S
3600 12928 P (the) S 73 J ( shell) S 74 J ( hits the disk, looking through the search path for executable files,) S
3600 13192 P (etc.) S 50 J ( By spawning separate threads, those blocking events can be overlapped.) S
2880 13696 P (b.) S 559 J ( I/O) S 86 J ( redirection) S 87 J ( is) S 86 J ( performed. If the filename being redirected to/from is) S
3600 13960 P (actually) S 74 J ( a) S 75 J ( wildcard) S 74 J ( or) S 75 J ( a) S 74 J ( command) S 75 J ( or) S 74 J ( some) S 75 J ( kind) S 74 J ( of) S 75 J ( substitution, that word) S
3600 14224 P (will) S 50 J ( be expanded.) S
5781 15384 P (Page ) S (109) S 0 12 F
PE
720 984 P 8 12 F B (Order) S 67 J ( of Evaluation) S E
2520 1704 P 0 12 F 26 10 F (c.) S 581 J ( Single) S 51 J ( and) S 52 J ( double quoted strings are processed. If the quoted string contains) S
3240 1968 P (any) S 102 J ( wildcard) S 103 J ( characters, they're escaped so that they'll appear as literal) S
3240 2232 P (characters) S 50 J ( when wildcarding is done but still be unescaped right after that.) S
2520 2736 P () S 720 J ( In) S 70 J ( the) S 71 J ( compiled) S 70 J ( internal) S 71 J ( form,) S 70 J ( double-quoted strings containing variable or) S
3240 3000 P (command) S 56 J ( substitutions) S 57 J ( are) S 56 J ( already) S 57 J ( specially) S 56 J ( broken) S 57 J ( up) S 56 J ( to) S 57 J ( look,) S 56 J ( at this stage,) S
3240 3264 P (like) S 50 J ( a series double-quoted strings and substitutions concatenated together.) S
2520 3768 P (d.) S 548 J ( Variable) S 50 J ( and command substitutions are done.) S
2520 4272 P (e.) S 574 J ( Wildcarding) S 50 J ( is done.) S
2520 4776 P (f.) S 603 J ( Escape) S 50 J ( characters are processed.) S
2520 5280 P (g.) S 559 J ( The) S 83 J ( series of words is passed to the command as arguments. \(It's at this) S
3240 5544 P (point,) S 54 J ( if) S 55 J ( it's an eval command, that the argument text is passed back through) S
3240 5808 P (the) S 50 J ( parser and then to the evaluation logic\)) S
2520 6312 P () S 720 J ( Commands) S 50 J ( are searched for in this order:) S
3240 6816 P (\(1\)) S 486 J ( User-defined) S 50 J ( procedures.) S
3240 7320 P (\(2\)) S 486 J ( Built-in) S 50 J ( procedures and commands.) S
3240 7824 P (\(3\)) S 486 J ( External) S 105 J ( commands,) S 106 J ( searched for in the ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 106 J ( directories in this) S
3960 8088 P (order) S 50 J ( within each directory:) S
3240 8592 P () S 720 J ( ) S 0 12 F 0 10 F () S 120 J ( .csh .exe .com .cmd .bat) S
3240 9096 P 0 12 F 26 10 F () S 720 J ( \() S 0 12 F 0 10 F (.bat) S 0 12 F 26 10 F () S 50 J ( files can be run only under OS/2 2.x or Windows NT.\)) S
1800 9600 P (7.) S 570 J ( The) S 50 J ( internal) S 51 J ( form) S 50 J ( of) S 51 J ( each) S 50 J ( compiled statement is discarded once it's no longer needed,) S
2520 9864 P (i.e., if there's no way you might invoke that code from a later statement.) S
1800 10368 P () S 720 J ( For) S 75 J ( example,) S 76 J ( once) S 75 J ( you) S 76 J ( define) S 75 J ( a) S 76 J ( procedure,) S 75 J ( it's always accessible; you can call it at) S
2520 10632 P (any) S 51 J ( time,) S 52 J ( so) S 51 J ( that) S 52 J ( compiled) S 51 J ( code) S 52 J ( is) S 51 J ( never discarded unless you redefine the procedure) S
2520 10896 P (or) S 59 J ( explicitly) S 60 J ( ) S 0 12 F 0 10 F (unproc) S 0 12 F 26 10 F () S 59 J ( it. But an ordinary statement typed at the command line could) S
2520 11160 P (be) S 57 J ( re-run) S 58 J ( \(without) S 57 J ( re-entering) S 58 J ( it) S 57 J ( using) S 58 J ( history) S 57 J ( or) S 58 J ( by) S 57 J ( retyping) S 58 J ( it\)) S 57 J ( only) S 58 J ( if) S 57 J ( it) S 58 J ( was part of) S
2520 11424 P (a) S 53 J ( larger) S 54 J ( control) S 53 J ( structure) S 54 J ( or if there was a way to ) S 0 12 F 0 10 F (goto) S 0 12 F 26 10 F () S 54 J ( it, meaning there would have) S
2520 11688 P (to) S 50 J ( have been a label preceding it.) S
5781 15384 P (Page ) S (110) S 0 12 F
PE
8631 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
4837 2184 P 0 12 F 8 14 F B (Customizing) S 78 J ( the Shell) S E
2693 2928 P 0 12 F 26 10 F (Depending) S 50 J ( on) S 51 J ( your) S 50 J ( tastes) S 51 J ( and) S 50 J ( what) S 51 J ( you're) S 50 J ( used) S 51 J ( to) S 50 J ( \(and) S 51 J ( whether) S 50 J ( you) S 51 J ( come from a DOS) S
2160 3192 P (or) S 81 J ( a) S 82 J ( UNIX) S 81 J ( background\),) S 82 J ( Hamilton) S 81 J ( C) S 82 J ( shell) S 81 J ( can) S 82 J ( be) S 81 J ( customized) S 82 J ( in) S 81 J ( a number of ways. This) S
2160 3456 P (section) S 50 J ( will outline:) S
2700 3920 P (1.) S 390 J ( Various) S 57 J ( options) S 58 J ( you) S 57 J ( have) S 58 J ( when) S 57 J ( installing) S 58 J ( the) S 57 J ( shell,) S 58 J ( including) S 57 J ( setting it up as the) S
3240 4184 P (default) S 50 J ( command processor,) S
2700 4568 P (2.) S 390 J ( How) S 50 J ( shell starts up, and how it uses the ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 50 J ( files,) S
2700 4952 P (3.) S 390 J ( How) S 50 J ( to set the environmental variables, screen colors and the prompt strings,) S
2700 5336 P (4.) S 390 J ( How) S 50 J ( to create aliases you always want available,) S
2700 5720 P (5.) S 390 J ( Customizing) S 50 J ( the ) S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F () S 50 J ( command and how history references work, and) S
2700 6104 P (6.) S 390 J ( Telling) S 50 J ( the shell how it should respond to certain special situations.) S
2160 6968 P 0 12 F 8 12 F B (Installation) S 67 J ( Options) S E
2693 7472 P 0 12 F 26 10 F (You) S 111 J ( have) S 112 J ( a) S 111 J ( fair) S 112 J ( amount) S 111 J ( of) S 112 J ( choice about where the various files associated with) S
2160 7736 P (Hamilton) S 53 J ( C) S 54 J ( shell) S 53 J ( go and also about how it starts up. You won't necessarily want to fool with) S
2160 8000 P (all) S 57 J ( this) S 58 J ( when) S 57 J ( you) S 58 J ( first) S 57 J ( install) S 58 J ( the) S 57 J ( shell,) S 58 J ( but) S 57 J ( you) S 58 J ( may) S 57 J ( want) S 58 J ( to) S 57 J ( look) S 58 J ( at) S 57 J ( some) S 58 J ( of) S 57 J ( this as you get a) S
2160 8264 P (sense) S 50 J ( of your own preferences.) S
2693 8728 P (The) S 74 J ( C) S 75 J ( shell) S 74 J ( ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 75 J ( and) S 74 J ( ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F () S 75 J ( files) S 74 J ( can) S 75 J ( go anywhere as long as they're on your search) S
2160 8992 P (path.) S 84 J ( ) S 85 J ( Most) S 84 J ( people) S 85 J ( find) S 84 J ( it) S 85 J ( most) S 84 J ( convenient) S 85 J ( to) S 84 J ( keep) S 85 J ( them) S 84 J ( in) S 85 J ( a) S 84 J ( separate) S 85 J ( directory.) S 84 J ( We do) S
2160 9256 P (suggest) S 64 J ( it) S 65 J ( be) S 64 J ( ahead) S 65 J ( of) S 64 J ( the) S 65 J ( directory) S 64 J ( containing) S 65 J ( the standard ) S 0 12 F 0 10 F (more.com) S 0 12 F 26 10 F () S 65 J ( on your search path) S
2160 9520 P (since) S 50 J ( we provide a new, vastly improved ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S
2693 9984 P (You) S 52 J ( choose) S 53 J ( any) S 52 J ( directory) S 53 J ( on) S 52 J ( any) S 53 J ( drive) S 52 J ( as) S 53 J ( your) S 52 J ( ``home'') S 53 J ( directory.) S 52 J ( ) S 53 J ( The) S 52 J ( significance of a) S
2160 10248 P (home) S 78 J ( directory) S 79 J ( is) S 78 J ( that) S 79 J ( the) S 78 J ( shell) S 79 J ( will) S 78 J ( make references to it or relative to it very convenient) S
2160 10512 P (using) S 53 J ( the) S 54 J ( ``) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F ('') S 53 J ( wildcard) S 54 J ( character.) S 53 J ( ) S 54 J ( Also,) S 53 J ( this) S 54 J ( is) S 53 J ( where) S 54 J ( the) S 53 J ( shell) S 54 J ( will look for your ) S 0 12 F 0 10 F (login.csh) S
2160 10776 P 0 12 F 26 10 F (and) S 54 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 55 J ( files.) S 54 J ( ) S 55 J ( If) S 54 J ( ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F () S 55 J ( isn't) S 54 J ( defined in the environment when the shell starts up, it) S
2160 11040 P (defaults) S 60 J ( to the current directory. It's usually most convenient to define the ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F () S 60 J ( variable in) S
2160 11304 P (your) S 63 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 64 J ( but) S 63 J ( if) S 64 J ( you) S 63 J ( prefer,) S 64 J ( you) S 63 J ( can) S 64 J ( pass) S 63 J ( it) S 64 J ( to) S 63 J ( the shell on the command line using) S
2160 11568 P (``) S 0 12 F 0 10 F (-C) S 120 J ( setenv HOME=) S 0 12 F 26 10 F (...'') S 50 J ( \(The ``) S 0 12 F 0 10 F (-C) S 0 12 F 26 10 F ('') S 50 J ( means what follows is a command.\)) S
2693 12032 P (Additional) S 96 J ( customization) S 97 J ( is) S 96 J ( usually) S 97 J ( done) S 96 J ( with) S 97 J ( the ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 97 J ( and ) S 0 12 F 0 10 F (startup.csh) S
2160 12296 P 0 12 F 26 10 F (files.) S
2160 13240 P 0 12 F 8 12 F B (Installing) S 67 J ( as the Default OS/2 Command Processor) S E
2693 13744 P 0 12 F 26 10 F (OS/2) S 65 J ( gives) S 66 J ( whatever) S 65 J ( default) S 66 J ( command) S 65 J ( processor) S 66 J ( you) S 65 J ( specify) S 66 J ( on the ) S 0 12 F 0 10 F (PROTSHELL) S 0 12 F 26 10 F () S 66 J ( line) S
2160 14008 P (of) S 51 J ( your) S 52 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 51 J ( special) S 52 J ( privileges) S 51 J ( to) S 52 J ( change) S 51 J ( its) S 52 J ( own) S 51 J ( title) S 52 J ( bar) S 51 J ( and,) S 52 J ( under) S 51 J ( OS/2) S 52 J ( 1.3) S 51 J ( or) S 52 J ( 2.x,) S
5781 15384 P (Page) S 50 J ( ) S (111) S 0 12 F
PE
720 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
1800 1704 P 0 12 F 26 10 F (its) S 96 J ( own) S 97 J ( icon.) S 96 J ( This can be quite useful if you have a lot of copies of the shell running) S
1800 1968 P (minimized) S 50 J ( and you'd like to know what they're doing.) S
2333 2432 P (Under) S 55 J ( OS/2) S 56 J ( 1.1) S 55 J ( or) S 56 J ( 1.2,) S 55 J ( the C shell uses the undocumented ) S 0 12 F 0 10 F (DosSMSetTitle) S 0 12 F 26 10 F () S 55 J ( kernel api) S
1800 2696 P (entry) S 60 J ( to) S 61 J ( change) S 60 J ( its) S 61 J ( own) S 60 J ( title;) S 61 J ( under) S 60 J ( 1.3) S 61 J ( or) S 60 J ( 2.x,) S 61 J ( it) S 60 J ( uses) S 61 J ( the) S 60 J ( new ) S 0 12 F 0 10 F (WinSetTitleAndIcon) S 0 12 F 26 10 F () S 60 J ( api to) S
1800 2960 P (change) S 81 J ( both) S 82 J ( the) S 81 J ( title) S 82 J ( and) S 81 J ( icon.) S 82 J ( ) S 81 J ( Unfortunately, these api entries are disabled if you're not) S
1800 3224 P (running) S 50 J ( in a window whose root process was the default command processor.) S
2333 3688 P (To install) S 51 J ( the) S 50 J ( C) S 51 J ( shell) S 50 J ( as the default command processor, follow the instructions given in) S
1800 3952 P (the) S 73 J ( installation) S 74 J ( section) S 73 J ( of) S 74 J ( this) S 73 J ( manual.) S 74 J ( ) S 73 J ( In) S 74 J ( a nutshell, the idea is to replace the reference to) S
1800 4216 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 51 J ( and) S 52 J ( any) S 51 J ( parameters) S 52 J ( to) S 51 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 51 J ( on the ) S 0 12 F 0 10 F (PROTSHELL) S 0 12 F 26 10 F () S 51 J ( or ) S 0 12 F 0 10 F (OS2_SHELL) S 0 12 F 26 10 F () S 51 J ( \(under 2.x\) line) S
1800 4480 P (with) S 50 J ( the full pathname of the C shell plus a ``) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F ('') S 50 J ( option to indicate it's a login shell.) S
2333 4944 P (Next,) S 106 J ( fixup) S 107 J ( the) S 106 J ( entries) S 107 J ( for ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 107 J ( and the C shell in the Group-Main or Start) S
1800 5208 P (Programs) S 61 J ( menus.) S 62 J ( ) S 61 J ( To make it a default command processor, the C shell must be listed with) S
1800 5472 P (an) S 69 J ( ``*'') S 70 J ( \(asterisk\) for a pathname \(on the ``) S 0 12 F 0 10 F (Path) S 140 J ( and file name:) S 0 12 F 26 10 F ('') S 70 J ( line if you pull-down) S
1800 5736 P (``) S 0 12 F 0 10 F (Program) S 0 12 F 26 10 F ('') S 97 J ( and) S 98 J ( select) S 97 J ( ``) S 0 12 F 0 10 F (Properties...) S 0 12 F 26 10 F (') S 98 J ( in) S 97 J ( Group-Main\) or else the title bar and icon) S
1800 6000 P (changes) S 54 J ( will) S 55 J ( be) S 54 J ( disabled.) S 55 J ( ) S 54 J ( Also,) S 55 J ( for) S 54 J ( some) S 55 J ( reason,) S 54 J ( if) S 55 J ( you) S 54 J ( specify) S 55 J ( any startup parameters \(other) S
1800 6264 P (than) S 60 J ( ``) S 0 12 F 0 10 F (/K) S 120 J ( "%*") S 0 12 F 26 10 F (''\),) S 61 J ( that also disables the title and icon changes. \(The ``) S 0 12 F 0 10 F (/K) S 120 J ( "%*") S 0 12 F 26 10 F ('') S 61 J ( option has) S
1800 6528 P (special) S 58 J ( significance) S 59 J ( for) S 58 J ( the) S 59 J ( default) S 58 J ( command) S 59 J ( processor) S 58 J ( and) S 59 J ( is) S 58 J ( used) S 59 J ( when) S 58 J ( OS/2) S 59 J ( boots) S 58 J ( up) S 59 J ( if it) S
1800 6792 P (finds) S 50 J ( a ) S 0 12 F 0 10 F (startup.cmd) S 0 12 F 26 10 F () S 50 J ( file in the root directory; otherwise, it's ignored.\)) S
2333 7256 P (Conversely,) S 60 J ( you have to change the asterisk path and any arguments for the ) S 0 12 F 0 10 F (cmd.exe) S
1800 7520 P 0 12 F 26 10 F (entries) S 63 J ( to) S 64 J ( the) S 63 J ( actual) S 64 J ( path) S 63 J ( for) S 64 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 63 J ( and) S 64 J ( enter) S 63 J ( whatever arguments \(if any\) you had been) S
1800 7784 P (specifying) S 50 J ( for it on the ) S 0 12 F 0 10 F (PROTSHELL) S 0 12 F 26 10 F () S 50 J ( or ) S 0 12 F 0 10 F (OS2_SHELL) S 0 12 F 26 10 F () S 50 J ( line in your ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (.) S
1800 8728 P 0 12 F 8 12 F B (login.csh) S E
2333 9232 P 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 67 J ( is) S 68 J ( read) S 67 J ( only) S 68 J ( by) S 67 J ( copies) S 68 J ( of) S 67 J ( ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F () S 68 J ( started) S 67 J ( with) S 68 J ( the) S 67 J ( ``) S 0 12 F 0 10 F (-L) S 0 12 F 26 10 F ('') S 68 J ( option) S 67 J ( to make) S
1800 9496 P (them) S 69 J ( login) S 70 J ( or) S 69 J ( root) S 70 J ( shells.) S 69 J ( ) S 70 J ( Typically,) S 69 J ( this) S 70 J ( is) S 69 J ( a) S 70 J ( new) S 69 J ( window.) S 70 J ( ) S 69 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 70 J ( is) S 69 J ( read by each) S
1800 9760 P (new) S 50 J ( copy of the shell, even if it's invoked as a child of the C shell.) S
2333 10224 P (The) S 62 J ( main) S 63 J ( objective) S 62 J ( of the ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 62 J ( file is to let you set up those characteristics that) S
1800 10488 P (are) S 64 J ( inheritable) S 65 J ( from) S 64 J ( parent) S 65 J ( to) S 64 J ( child) S 65 J ( process) S 64 J ( but) S 65 J ( which) S 64 J ( might) S 65 J ( not) S 64 J ( be) S 65 J ( set up if you're starting) S
1800 10752 P (from) S 60 J ( the) S 61 J ( Start) S 60 J ( Programs) S 61 J ( menu) S 60 J ( \(OS/2) S 61 J ( 1.1\),) S 60 J ( a) S 61 J ( Group) S 60 J ( menu) S 61 J ( \(OS/2) S 60 J ( 1.2 or 1.3\),from the desktop) S
1800 11016 P (\(OS/2) S 66 J ( 2.x\)) S 67 J ( or) S 66 J ( from) S 67 J ( the) S 66 J ( Program) S 67 J ( Manager) S 66 J ( \(Windows) S 67 J ( NT\).) S 66 J ( ) S 67 J ( In addition, it lets you do a little) S
1800 11280 P (special) S 50 J ( customization of these highest-level shells.) S
2333 11744 P (The) S 58 J ( important) S 59 J ( inheritable) S 58 J ( characteristics are the environmental variables together with) S
1800 12008 P (the) S 50 J ( current directories and current disk settings.) S
5781 15384 P (Page ) S (112) S 0 12 F
PE
8631 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
2160 1704 P B (The Environmental Variables) S E
2693 2208 P 0 12 F 26 10 F (Most) S 116 J ( users) S 117 J ( prefer) S 116 J ( to) S 117 J ( create) S 116 J ( the bulk of their environmental variables with) S 0 12 F 0 10 F () S 186 J ( SET) S
2160 2472 P 0 12 F 26 10 F (statements) S 69 J ( in) S 0 12 F 0 10 F () S 140 J ( config.sys) S 0 12 F 26 10 F () S 69 J ( under) S 70 J ( OS/2 or through the Control Panel under Windows NT) S
2160 2736 P (\(to) S 51 J ( be) S 52 J ( inherited) S 51 J ( by) S 52 J ( every) S 51 J ( process) S 52 J ( on) S 51 J ( the) S 52 J ( system\)) S 51 J ( rather) S 52 J ( than) S 51 J ( in) S 52 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F (.) S 51 J ( ) S 52 J ( It means just one) S
2160 3000 P (copy) S 50 J ( of) S 51 J ( the) S 50 J ( definitions) S 51 J ( in) S 50 J ( one) S 51 J ( place,) S 50 J ( so) S 51 J ( it's) S 50 J ( easier) S 51 J ( to) S 50 J ( make) S 51 J ( changes.) S 50 J ( ) S 51 J ( It also runs faster since it's) S
2160 3264 P (all) S 54 J ( set) S 55 J ( up) S 54 J ( when) S 55 J ( the) S 54 J ( shell) S 55 J ( starts;) S 54 J ( the) S 55 J ( shell) S 54 J ( doesn't) S 55 J ( have read all those commands. But if you're) S
2160 3528 P (using) S 57 J ( an) S 58 J ( initialization script to set some of your environmentals for ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (,) S 58 J ( you'll want to) S
2160 3792 P (do) S 50 J ( that for the C shell also in ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F (.) S
2693 4256 P (But) S 70 J ( there) S 71 J ( are) S 70 J ( cases) S 71 J ( where) S 70 J ( it's) S 71 J ( more) S 70 J ( convenient to set up some environmental in your) S
2160 4520 P 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F (.) S 67 J ( ) S 68 J ( For) S 67 J ( example,) S 68 J ( you) S 67 J ( might) S 68 J ( prefer) S 67 J ( to) S 68 J ( set) S 67 J ( your ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 67 J ( statement there. Since the C) S
2160 4784 P (shell) S 78 J ( hashes) S 79 J ( your) S 78 J ( search) S 79 J ( path,) S 78 J ( you'll) S 79 J ( find) S 78 J ( it's much faster finding things even with a very) S
2160 5048 P (long) S 55 J ( list of path directories. \(If you actually had 50 or so directories, the difference in startup) S
2160 5312 P (time) S 72 J ( for) S 73 J ( something in that last directory would be around 6 seconds or so!\) So you might) S
2160 5576 P (find) S 50 J ( it more natural to have a much longer ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 50 J ( with the C shell than with ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S
2693 6040 P (Also,) S 85 J ( if) S 86 J ( you were going to use an application that needed mixed case characters in) S
2160 6304 P (some) S 76 J ( of) S 77 J ( its) S 76 J ( environment) S 77 J ( strings) S 76 J ( and) S 77 J ( you) S 76 J ( were) S 77 J ( running on OS/2 1.1, you'd want to define) S
2160 6568 P (them) S 68 J ( in) S 69 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F (,) S 68 J ( not) S 69 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (.) S 68 J ( \(Using lower case characters in ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 68 J ( was) S
2160 6832 P (unreliable) S 97 J ( on) S 98 J ( OS/2) S 97 J ( 1.1; many users found it caused random system failures, e.g., OS/2) S
2160 7096 P (crashing) S 50 J ( while formatting a series of floppies.\)) S
2693 7560 P (In) S 85 J ( addition) S 86 J ( to) S 85 J ( ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F (,) S 86 J ( the) S 85 J ( environmental) S 86 J ( variables) S 85 J ( used) S 86 J ( by) S 85 J ( Hamilton C shell include) S
2160 7824 P 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F (,) S 200 J ( ) S 0 12 F 0 10 F (PROMPT1) S 0 12 F 26 10 F () S 201 J ( and) S 200 J ( ) S 0 12 F 0 10 F (PROMPT2) S 0 12 F 26 10 F (,) S 201 J ( ) S 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F (,) S 200 J ( ) S 0 12 F 0 10 F (CDPATH) S 0 12 F 26 10 F (,) S 200 J ( ) S 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F (,) S 200 J ( ) S 0 12 F 0 10 F (MIXEDCASEDRIVES) S 0 12 F 26 10 F (,) S
2160 8088 P 0 12 F 0 10 F (SWITCHCHARS) S 0 12 F 26 10 F () S 50 J ( and a number of screen color configuration variables.) S
2693 8552 P 0 12 F 0 10 F (PROMPT1) S 0 12 F 26 10 F () S 100 J ( or) S 101 J ( ) S 0 12 F 0 10 F (PROMPT2) S 0 12 F 26 10 F () S 100 J ( or) S 101 J ( their) S 100 J ( aliases) S 101 J ( ) S 0 12 F 0 10 F (prompt1) S 0 12 F 26 10 F () S 100 J ( and) S 101 J ( ) S 0 12 F 0 10 F (prompt2) S 0 12 F 26 10 F () S 100 J ( control) S 101 J ( the) S 100 J ( prompt) S
2160 8816 P (strings) S 50 J ( you'll see for a new command or a continuation line.) S
2693 9280 P 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F () S 75 J ( is) S 76 J ( used) S 75 J ( by) S 76 J ( ) S 0 12 F 0 10 F (more.exe) S 0 12 F 26 10 F (,) S 75 J ( ) S 0 12 F 0 10 F (head.exe) S 0 12 F 26 10 F (,) S 76 J ( ) S 0 12 F 0 10 F (tail.exe) S 0 12 F 26 10 F () S 75 J ( and) S 76 J ( other) S 75 J ( utilities) S 76 J ( to) S 75 J ( expand out) S
2160 9544 P (any) S 59 J ( tab) S 60 J ( characters) S 59 J ( it) S 60 J ( sees) S 59 J ( into) S 60 J ( space) S 59 J ( characters) S 60 J ( on) S 59 J ( the) S 60 J ( screen.) S 59 J ( For example, setting ) S 0 12 F 0 10 F (TABS) S 0 12 F 26 10 F () S 50 J ( = 3) S
2160 9808 P (means tabstops every 3 character cells.) S
2693 10272 P 0 12 F 0 10 F (CDPATH) S 0 12 F 26 10 F () S 55 J ( is) S 56 J ( used by ) S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F () S 56 J ( and ) S 0 12 F 0 10 F (pushd) S 0 12 F 26 10 F () S 56 J ( to specify other directories in addition to the current) S
2160 10536 P (directory) S 68 J ( in) S 69 J ( which) S 68 J ( to) S 69 J ( search) S 68 J ( for) S 69 J ( a) S 68 J ( subdirectory) S 69 J ( you're) S 68 J ( trying) S 69 J ( to) S 68 J ( change to. Its format is the) S
2160 10800 P (same) S 59 J ( as) S 60 J ( that) S 59 J ( as) S 60 J ( ) S 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F (:) S 59 J ( ) S 60 J ( a) S 59 J ( list) S 60 J ( of) S 59 J ( directories) S 60 J ( separated by colons, but there's no need to list the) S
2160 11064 P (current) S 50 J ( directory.) S
2693 11528 P 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F () S 81 J ( lets) S 82 J ( you) S 81 J ( confine) S 82 J ( the) S 81 J ( default) S 82 J ( list) S 81 J ( of) S 82 J ( drives you want searched when you) S
2160 11792 P (wildcard) S 68 J ( a) S 69 J ( driveletter) S 68 J ( \(e.g.,) S 69 J ( ``*:\\hamilton''\)) S 68 J ( or) S 69 J ( reported) S 68 J ( on by the ) S 0 12 F 0 10 F (du) S 0 12 F 26 10 F (,) S 68 J ( ) S 0 12 F 0 10 F (pwd) S 0 12 F 26 10 F () S 68 J ( and ) S 0 12 F 0 10 F (vol) S 0 12 F 26 10 F () S 68 J ( utilities.) S
2160 12056 P (The) S 114 J ( value) S 115 J ( should) S 114 J ( be) S 115 J ( a) S 114 J ( list of upper- or lower-case alphabetic characters or ranges of) S
2160 12320 P (characters) S 206 J ( representing) S 207 J ( the) S 206 J ( drives) S 207 J ( you're) S 206 J ( interested) S 207 J ( in.) S 206 J ( ) S 207 J ( For example, setting) S
2160 12584 P 0 12 F 0 10 F (DRIVEMASK) S 120 J ( = cf-h) S 0 12 F 26 10 F () S 82 J ( means) S 83 J ( you) S 82 J ( want) S 83 J ( drives) S 82 J ( ) S 0 12 F 0 10 F (C:) S 0 12 F 26 10 F (,) S 83 J ( ) S 0 12 F 0 10 F (F:) S 0 12 F 26 10 F (,) S 82 J ( ) S 0 12 F 0 10 F (G:) S 0 12 F 26 10 F () S 83 J ( and) S 82 J ( ) S 0 12 F 0 10 F (H:) S 0 12 F 26 10 F () S 83 J ( reported,) S 82 J ( assuming they) S
2160 12848 P (exist.) S
2693 13312 P 0 12 F 0 10 F (MIXEDCASEDRIVES) S 0 12 F 26 10 F () S 112 J ( is) S 113 J ( used) S 112 J ( by) S 113 J ( ) S 0 12 F 0 10 F (ls.exe) S 0 12 F 26 10 F (,) S 112 J ( by) S 113 J ( the) S 112 J ( shell's) S 113 J ( fullname) S 112 J ( and wildcarding) S
2160 13576 P (functions) S 87 J ( \(including) S 88 J ( filename) S 87 J ( completion\), by the current directory functions \() S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F (,) S 87 J ( ) S 0 12 F 0 10 F (pushd) S 0 12 F 26 10 F (,) S
2160 13840 P 0 12 F 0 10 F (popd) S 0 12 F 26 10 F () S 55 J ( and) S 56 J ( ) S 0 12 F 0 10 F (dirs) S 0 12 F 26 10 F (\)) S 55 J ( and) S 56 J ( by) S 55 J ( ) S 0 12 F 0 10 F (pwd.exe) S 0 12 F 26 10 F () S 56 J ( to) S 55 J ( tell) S 56 J ( which) S 55 J ( drives) S 56 J ( you) S 55 J ( want) S 56 J ( reported in the actual upper) S
2160 14104 P (or) S 58 J ( lower) S 59 J ( case) S 58 J ( characters) S 59 J ( returned) S 58 J ( by) S 59 J ( the) S 58 J ( OS/2) S 59 J ( kernel.) S 58 J ( If you have HPFS or NTFS drives, it's) S
2160 14368 P (possible) S 74 J ( to) S 75 J ( create) S 74 J ( filenames) S 75 J ( that) S 74 J ( have) S 75 J ( mixed) S 74 J ( upper) S 75 J ( and) S 74 J ( lower) S 75 J ( characters) S 74 J ( and you may not) S
5781 15384 P (Page) S 50 J ( ) S (113) S 0 12 F
PE
720 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
1800 1704 P 0 12 F 26 10 F (want) S 121 J ( these) S 122 J ( all) S 121 J ( routinely) S 122 J ( shifted) S 121 J ( to) S 122 J ( lower case. You set ) S 0 12 F 0 10 F (MIXEDCASEDRIVES) S 0 12 F 26 10 F () S 122 J ( just like) S
1800 1968 P 0 12 F 0 10 F (DRIVEMASK) S 0 12 F 26 10 F (,) S 78 J ( giving it a list of drives. It's also possible to list UNC names that should be) S
1800 2232 P (considered) S 50 J ( mixed case. For example, typing) S
2520 2696 P 0 12 F 0 10 F (setenv) S 120 J ( MIXEDCASEDRIVES = [a-z],\\\\) S
1800 3160 P 0 12 F 26 10 F (sets) S 67 J ( all) S 68 J ( drive) S 67 J ( ) S 0 12 F 0 10 F (a:) S 0 12 F 26 10 F () S 68 J ( through) S 67 J ( ) S 0 12 F 0 10 F (z:) S 0 12 F 26 10 F () S 68 J ( and) S 67 J ( all) S 68 J ( UNC) S 67 J ( names on all networked machines as mixed case.) S
1800 3424 P (Or) S 50 J ( for example, typing) S
2520 3888 P 0 12 F 0 10 F (setenv) S 120 J ( MIXEDCASEDRIVES = \\\\alpha,\\\\ps2\\d^$) S
1800 4352 P 0 12 F 26 10 F (sets) S 64 J ( all) S 65 J ( the) S 64 J ( drives) S 65 J ( on) S 64 J ( the) S 65 J ( ) S 0 12 F 0 10 F (alpha) S 0 12 F 26 10 F () S 64 J ( machine) S 65 J ( and) S 64 J ( only) S 65 J ( the) S 64 J ( ) S 0 12 F 0 10 F (d:) S 0 12 F 26 10 F () S 65 J ( drive) S 64 J ( on) S 65 J ( ) S 0 12 F 0 10 F (ps2) S 0 12 F 26 10 F () S 64 J ( as mixed case. You) S
1800 4616 P (can) S 51 J ( list) S 52 J ( as) S 51 J ( many) S 52 J ( entries) S 51 J ( in) S 52 J ( MIXEDCASEDRIVES,) S 51 J ( separated) S 52 J ( by) S 51 J ( commas, semicolons or spaces,) S
1800 4880 P (as) S 50 J ( you wish.) S
2333 5344 P 0 12 F 0 10 F (SWITCHCHARS) S 0 12 F 26 10 F () S 54 J ( is) S 55 J ( used) S 54 J ( by) S 55 J ( the) S 54 J ( shell) S 55 J ( and) S 54 J ( all) S 55 J ( the) S 54 J ( utilities) S 55 J ( supplied) S 54 J ( with) S 55 J ( it) S 54 J ( to) S 55 J ( indicate what) S
1800 5608 P (characters) S 59 J ( you) S 60 J ( intend) S 59 J ( as) S 60 J ( introducing) S 59 J ( one) S 60 J ( of) S 59 J ( the) S 60 J ( option) S 59 J ( switches.) S 60 J ( ) S 59 J ( By) S 60 J ( default,) S 59 J ( the C shell tries) S
1800 5872 P (to satisfy) S 60 J ( users) S 59 J ( coming) S 60 J ( from) S 59 J ( both) S 60 J ( DOS, OS/2 or NT and UNIX backgrounds and will accept) S
1800 6136 P (either) S 70 J ( ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('') S 71 J ( \(DOS-style\)) S 70 J ( or) S 71 J ( ``) S 0 12 F 0 10 F (/) S 0 12 F 26 10 F ('') S 70 J ( \(UNIX-style\)) S 71 J ( as) S 70 J ( introducing) S 71 J ( an) S 70 J ( option.) S 71 J ( ) S 70 J ( Folks coming from a) S
1800 6400 P (straight) S 62 J ( UNIX) S 63 J ( background) S 62 J ( may) S 63 J ( find that inconvenient, particularly if they're used to typing) S
1800 6664 P (filenames) S 80 J ( using) S 81 J ( the) S 80 J ( forward) S 81 J ( slash;) S 80 J ( ) S 81 J ( ``) S 0 12 F 0 10 F (cd) S 150 J ( /foo) S 0 12 F 26 10 F ('') S 81 J ( will) S 80 J ( certainly) S 81 J ( not) S 80 J ( do what they want, for) S
1800 6928 P (example.) S 63 J ( ) S 64 J ( The) S 63 J ( solution) S 64 J ( is) S 63 J ( to) S 64 J ( ``) S 0 12 F 0 10 F (setenv) S 133 J ( SWITCHCHARS) S 134 J ( =) S 133 J ( -) S 0 12 F 26 10 F ('',) S 64 J ( causing) S 63 J ( only) S 64 J ( those words that) S
1800 7192 P (start) S 50 J ( ``) S 0 12 F 0 10 F (-) S 0 12 F 26 10 F ('') S 50 J ( to be recognized as options.) S
1800 8136 P 0 12 F 8 12 F B (Prompt) S 67 J ( Strings) S E
2333 8640 P 0 12 F 26 10 F (Prompt) S 99 J ( strings) S 100 J ( are) S 99 J ( fairly) S 100 J ( personal) S 99 J ( matter.) S 100 J ( ) S 99 J ( This) S 100 J ( really is beauty in the eye of the) S
1800 8904 P (beholder) S 50 J ( only! There are two prompt situations:) S
2340 9368 P (1.) S 390 J ( The) S 110 J ( main) S 111 J ( prompt,) S 110 J ( when) S 111 J ( the) S 110 J ( shell) S 111 J ( expects a new command. Set this with) S
2880 9632 P 0 12 F 0 10 F (PROMPT1) S 0 12 F 26 10 F (.) S
2340 10016 P (2.) S 390 J ( Continuation) S 126 J ( lines,) S 127 J ( where) S 126 J ( the shell is collecting more text before running) S
2880 10280 P (something.) S 112 J ( ) S 113 J ( An) S 112 J ( example) S 113 J ( would) S 112 J ( be) S 113 J ( whatever) S 112 J ( commands) S 113 J ( you) S 112 J ( type inside a) S
2880 10544 P 0 12 F 0 10 F (foreach) S 0 12 F 26 10 F () S 50 J ( loop. Set this with ) S 0 12 F 0 10 F (PROMPT2) S 0 12 F 26 10 F (.) S
2333 10928 P (When) S 73 J ( the) S 74 J ( shell) S 73 J ( needs) S 74 J ( to) S 73 J ( prompt you, it looks at the appropriate ) S 0 12 F 0 10 F (PROMPT) S 0 12 F 26 10 F I (x) S E 0 12 F 26 10 F () S 73 J ( string and) S
1800 11192 P (evaluates) S 93 J ( it) S 94 J ( as if it were looking at a double quoted string. Any backquoted strings or) S
1800 11456 P (variable) S 56 J ( substitutions) S 57 J ( it) S 56 J ( finds) S 57 J ( there) S 56 J ( are) S 57 J ( evaluated) S 56 J ( and whatever results is printed. Wildcards) S
1800 11720 P (are) S 89 J ( not) S 90 J ( replaced) S 89 J ( nor) S 90 J ( is) S 89 J ( the) S 90 J ( spacing) S 89 J ( affected.) S 90 J ( ) S 89 J ( It's) S 90 J ( quite) S 89 J ( literally) S 90 J ( double-quoted:) S 89 J ( ) S 90 J ( the shell) S
1800 11984 P (actually) S 50 J ( pastes double quote characters around the string before passing it to the parser.) S
2333 12448 P (If) S 82 J ( you) S 83 J ( always) S 82 J ( wanted) S 83 J ( the) S 82 J ( same) S 83 J ( literal) S 82 J ( text) S 83 J ( string) S 82 J ( displayed, that would be easy but) S
1800 12712 P (probably) S 50 J ( not too interesting:) S
2520 13176 P 0 12 F 0 10 F (543) S 120 J ( D% set PROMPT1 = "Hello from CSH! ") S
2520 13440 P (Hello from CSH! _) S
2333 13904 P 0 12 F 26 10 F (The) S 51 J ( difficult) S 52 J ( part) S 51 J ( of) S 52 J ( setting) S 51 J ( your) S 52 J ( prompt) S 51 J ( is) S 52 J ( remembering) S 51 J ( that) S 52 J ( if you want a substitution) S
1800 14168 P (re-evaluated) S 86 J ( each) S 87 J ( time) S 86 J ( a) S 87 J ( new) S 86 J ( prompt) S 87 J ( is printed, you have to quote the string when you) S
5781 15384 P (Page) S 50 J ( ) S (114) S 0 12 F
PE
8631 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
2160 1704 P 0 12 F 26 10 F (define) S 53 J ( it) S 54 J ( to) S 53 J ( defer) S 54 J ( the) S 53 J ( evaluation. Here's the ) S 0 12 F 26 10 F I (wrong) S E 0 12 F 26 10 F (,) S 53 J ( then the ) S 0 12 F 26 10 F I (right) S E 0 12 F 26 10 F () S 53 J ( way to create a default IBM-) S
2160 1968 P (style) S 50 J ( prompt with your current directory inside rectangular brackets.) S
2880 2432 P 0 12 F 0 10 F (Hello) S 120 J ( from CSH! set PROMPT1 = "[$upper\(cwd\)] " # Wrong way) S
2880 2696 P ([D:\\DOUG] cdd c:\\ # Notice that the prompt won't change) S
2880 2960 P ([D:\\DOUG] set PROMPT1 '[$upper\(cwd\)] ' # Right way) S
2880 3224 P ([C:\\] _) S
2693 3688 P 0 12 F 26 10 F (Notice) S 127 J ( how) S 128 J ( we're) S 127 J ( using) S 128 J ( the) S 127 J ( built-in) S 128 J ( ) S 0 12 F 0 10 F (upper) S 0 12 F 26 10 F () S 127 J ( procedure) S 128 J ( as) S 127 J ( if) S 128 J ( it were a variable) S
2160 3952 P (substitution) S 87 J ( with) S 88 J ( the) S 87 J ( ``) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F ('') S 88 J ( in) S 87 J ( front.) S 88 J ( ) S 87 J ( When) S 88 J ( the) S 87 J ( shell) S 88 J ( sees) S 87 J ( it's) S 88 J ( really) S 87 J ( a) S 88 J ( procedure reference,) S
2160 4216 P (what's) S 57 J ( inside) S 58 J ( the) S 57 J ( parentheses is evaluated as an expression list. That's why the ) S 0 12 F 0 10 F (cwd) S 0 12 F 26 10 F () S 57 J ( variable) S
2160 4480 P (didn't) S 50 J ( need its own ``) S 0 12 F 0 10 F ($) S 0 12 F 26 10 F (.'') S
2693 4944 P (There's) S 88 J ( really) S 89 J ( no) S 88 J ( limit) S 89 J ( to) S 88 J ( what) S 89 J ( you) S 88 J ( can) S 89 J ( put) S 88 J ( inside) S 89 J ( a) S 88 J ( prompt) S 89 J ( string.) S 88 J ( ) S 89 J ( You can have) S
2160 5208 P (command) S 73 J ( substitution) S 74 J ( and) S 73 J ( special) S 74 J ( characters.) S 73 J ( It) S 74 J ( can) S 73 J ( even) S 74 J ( stretch) S 73 J ( over) S 74 J ( multiple lines if you) S
2160 5472 P (put) S 50 J ( in carriage return/newline character combinations:) S
2880 5936 P 0 12 F 0 10 F ([C:\\]) S 120 J ( set PROMPT1 = '`date`^r^n$cwd ') S
2880 6200 P (Mon Oct 23 1989 11:15:15.03) S
2880 6464 P (c:\\ _) S
2693 6928 P 0 12 F 26 10 F (The) S 50 J ( tradeoff) S 51 J ( to) S 50 J ( remember) S 51 J ( in) S 50 J ( creating) S 51 J ( your) S 50 J ( prompt) S 51 J ( string is that whatever you put there) S
2160 7192 P (is) S 64 J ( going) S 65 J ( to) S 64 J ( be) S 65 J ( run) S 64 J ( every) S 65 J ( time) S 64 J ( you) S 65 J ( need) S 64 J ( a) S 65 J ( new) S 64 J ( prompt.) S 65 J ( ) S 64 J ( If) S 65 J ( you) S 64 J ( make) S 65 J ( it) S 64 J ( too complex, it'll still) S
2160 7456 P (run,) S 109 J ( but) S 110 J ( it could be annoyingly slow. Remember that it takes longer to run external) S
2160 7720 P (programs) S 69 J ( than) S 70 J ( to) S 69 J ( use) S 70 J ( shell) S 69 J ( variables) S 70 J ( or) S 69 J ( procedures.) S 70 J ( ) S 69 J ( If you want something really unusual,) S
2160 7984 P (try) S 50 J ( writing a procedure that calculates and returns the string you want.) S
2160 8928 P 0 12 F 8 12 F B (User-Defined) S 67 J ( Colors) S E
2693 9432 P 0 12 F 26 10 F (All) S 52 J ( of the screen colors used by the C shell and any of the utilities are completely under) S
2160 9696 P (your) S 50 J ( control. Here are the variables that control the color settings and default values:) S
2693 10160 P LU (Name) S 1232 J ( Use) S 3551 J ( Default) S LE
2693 10544 P 0 12 F 0 10 F (ADDITIONS) S 0 12 F 26 10 F () S 691 J ( Lines) S 50 J ( added found by ) S 0 12 F 0 10 F (diff) S 0 12 F 26 10 F (.) S 1362 J ( Bright) S 50 J ( Green) S
2693 10808 P 0 12 F 0 10 F (COLORS) S 0 12 F 26 10 F () S 1051 J ( Normal) S 50 J ( screen colors.) S 1959 J ( White) S 50 J ( on Black) S
2693 11072 P 0 12 F 0 10 F (DELETIONS) S 0 12 F 26 10 F () S 691 J ( Lines) S 50 J ( deleted found by ) S 0 12 F 0 10 F (diff) S 0 12 F 26 10 F (.) S 1269 J ( Bright) S 50 J ( Red) S
2693 11336 P 0 12 F 0 10 F (DIRECTORIES) S 0 12 F 26 10 F () S 451 J ( Directories) S 50 J ( listed by ) S 0 12 F 0 10 F (ls) S 0 12 F 26 10 F (.) S 1773 J ( Bright) S
2693 11600 P 0 12 F 0 10 F (DUPLICATES) S 0 12 F 26 10 F () S 571 J ( When) S 50 J ( filename completion matches) S 717 J ( Green) S
2693 11864 P () S 1771 J ( more) S 50 J ( than one name.) S
2693 12128 P 0 12 F 0 10 F (FOREIGNFILES) S 0 12 F 26 10 F () S 331 J ( Filetypes) S 50 J ( in a) S 0 12 F 0 10 F () S 120 J ( tar) S 0 12 F 26 10 F () S 50 J ( file that have no) S 759 J ( Bright) S 50 J ( Red) S
2693 12392 P () S 1771 J ( counterpart) S 50 J ( on OS/2 or NT.) S
2693 12656 P 0 12 F 0 10 F (HIGHLIGHT) S 0 12 F 26 10 F () S 691 J ( Current) S 50 J ( disk or directory.) S 1618 J ( Bright) S
2693 12920 P 0 12 F 0 10 F (MATCHFAIL) S 0 12 F 26 10 F () S 691 J ( When) S 50 J ( filename or command completion) S 317 J ( Bright) S 50 J ( Red) S
2693 13184 P () S 1771 J ( doesn't) S 50 J ( match anything.) S
2693 13448 P 0 12 F 0 10 F (MOREEOF) S 0 12 F 26 10 F () S 931 J ( End) S 50 J ( or Top of File in ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S 1485 J ( Green) S
2693 13712 P 0 12 F 0 10 F (MOREERROR) S 0 12 F 26 10 F () S 691 J ( Unrecognizable) S 50 J ( command to ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S 749 J ( Bright) S 50 J ( Yellow) S
2693 13976 P 0 12 F 0 10 F (MOREFILLIN) S 0 12 F 26 10 F () S 571 J ( User) S 50 J ( response to ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F () S 50 J ( prompt.) S 1112 J ( White) S
2693 14240 P 0 12 F 0 10 F (MOREPROMPT) S 0 12 F 26 10 F () S 571 J ( Prompt) S 50 J ( line in ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S 2035 J ( Green) S
5781 15384 P (Page) S 50 J ( ) S (115) S 0 12 F
PE
720 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
2333 1704 P 0 12 F 0 10 F (MORETOPMEM) S 0 12 F 26 10 F () S 571 J ( Top) S 50 J ( of Memory message from ) S 0 12 F 0 10 F (more) S 0 12 F 26 10 F (.) S 637 J ( Bright) S 50 J ( Yellow) S
2333 1968 P 0 12 F 0 10 F (SYSTEMDIRS) S 0 12 F 26 10 F () S 571 J ( Directories) S 50 J ( with the System bit on.) S 838 J ( Bright) S 50 J ( Green) S
2333 2232 P 0 12 F 0 10 F (SYSTEMFILES) S 0 12 F 26 10 F () S 451 J ( ) S 50 J ( Files with the System bit on.) S 1349 J ( Green) S
2333 2696 P (You) S 66 J ( can) S 67 J ( choose) S 66 J ( any) S 67 J ( color) S 66 J ( combinations) S 67 J ( you) S 66 J ( like) S 67 J ( from) S 66 J ( the) S 67 J ( following) S 66 J ( set: ) S 0 12 F 0 10 F (black) S 0 12 F 26 10 F (,) S 66 J ( ) S 0 12 F 0 10 F (red) S 0 12 F 26 10 F (,) S
1800 2960 P 0 12 F 0 10 F (green) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (yellow) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (blue) S 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 0 10 F (magenta) S 0 12 F 26 10 F () S 50 J ( \(or ) S 0 12 F 0 10 F (blue) S 120 J ( red) S 0 12 F 26 10 F (\),) S 50 J ( ) S 0 12 F 0 10 F (cyan) S 0 12 F 26 10 F () S 50 J ( \(or ) S 0 12 F 0 10 F (blue) S 120 J ( green) S 0 12 F 26 10 F (\)) S 50 J ( and ) S 0 12 F 0 10 F (white) S 0 12 F 26 10 F (.) S
2333 3424 P (Foreground) S 52 J ( colors) S 53 J ( may) S 52 J ( also) S 53 J ( be) S 52 J ( ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (,) S 53 J ( ) S 0 12 F 0 10 F (dim) S 0 12 F 26 10 F () S 52 J ( \(meaning) S 53 J ( simply,) S 52 J ( ``not) S 53 J ( bright''\),) S 52 J ( ) S 0 12 F 0 10 F (blink) S 0 12 F 26 10 F () S 52 J ( or) S
1800 3688 P 0 12 F 0 10 F (reverse) S 0 12 F 26 10 F (.) S 106 J ( ) S 107 J ( The) S 106 J ( keyword) S 107 J ( ``) S 0 12 F 0 10 F (on) S 0 12 F 26 10 F ('') S 106 J ( introduces) S 107 J ( background) S 106 J ( colors.) S 107 J ( ) S 106 J ( ) S 0 12 F 0 10 F (Blink) S 0 12 F 26 10 F () S 107 J ( only) S 106 J ( causes true) S
1800 3952 P (blinking) S 62 J ( full-screen; in a text window, it just makes the background brighter. Also, ) S 0 12 F 0 10 F (yellow) S
1800 4216 P 0 12 F 26 10 F (is) S 50 J ( a true yellow only if it's ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (.) S 50 J ( These are system limitations not related to the C shell.) S
2333 4680 P (The) S 59 J ( names) S 60 J ( of) S 59 J ( the) S 60 J ( colors and the keywords ) S 0 12 F 0 10 F (bright) S 0 12 F 26 10 F (,) S 60 J ( ) S 0 12 F 0 10 F (dim) S 0 12 F 26 10 F (,) S 60 J ( ) S 0 12 F 0 10 F (blink) S 0 12 F 26 10 F (,) S 60 J ( ) S 0 12 F 0 10 F (reverse) S 0 12 F 26 10 F () S 60 J ( and ) S 0 12 F 0 10 F (on) S 0 12 F 26 10 F () S 60 J ( are) S
1800 4944 P (not) S 71 J ( case sensitive and may be typed in any combination of upper or lower case characters.) S
1800 5208 P (The) S 50 J ( names of the environmental variables themselves must be all in upper case.) S
2333 5672 P (If) S 112 J ( a) S 113 J ( foreground) S 112 J ( or background color is left unspecified, that plane is considered) S
1800 5936 P (transparent) S 50 J ( and inherits the color underneath it.) S
2333 6400 P (You) S 103 J ( can) S 104 J ( set) S 103 J ( the) S 104 J ( colors) S 103 J ( either) S 104 J ( from) S 103 J ( within) S 104 J ( the) S 103 J ( C) S 104 J ( shell itself by simply typing the) S
1800 6664 P (appropriate) S 81 J ( ) S 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F () S 82 J ( statements) S 81 J ( or by including them in your ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 81 J ( file. Here's an) S
1800 6928 P (example) S 50 J ( color scheme that's a little more colorful than the defaults:) S
2520 7392 P 0 12 F 0 10 F (setenv) S 432 J ( COLORS) S 720 J ( =) S 328 J ( white) S 120 J ( on blue) S
2520 7656 P (setenv) S 432 J ( DELETIONS) S 360 J ( =) S 328 J ( bright) S 120 J ( white on red) S
2520 7920 P (setenv) S 432 J ( ADDITIONS) S 360 J ( =) S 328 J ( bright) S 120 J ( white on green) S
2520 8184 P (setenv) S 432 J ( MOREPROMPT) S 240 J ( =) S 328 J ( red) S 120 J ( on white) S
2520 8448 P (setenv) S 432 J ( MOREFILLIN) S 240 J ( =) S 328 J ( black) S
2520 8712 P (setenv) S 432 J ( MOREERROR) S 360 J ( =) S 328 J ( bright) S 120 J ( white on red) S
2333 9176 P 0 12 F 26 10 F (On) S 65 J ( OS/2,) S 66 J ( you) S 65 J ( might also choose to place these settings into your ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F () S 65 J ( as the) S
1800 9440 P (corresponding) S 50 J ( ) S 0 12 F 0 10 F (SET) S 0 12 F 26 10 F () S 50 J ( statements:) S
2520 9904 P 0 12 F 0 10 F (SET) S 792 J ( COLORS=WHITE) S 120 J ( ON BLUE) S
2520 10168 P (SET) S 792 J ( DELETIONS=BRIGHT) S 120 J ( WHITE ON RED) S
2520 10432 P (SET) S 792 J ( ADDITIONS=BRIGHT) S 120 J ( WHITE ON GREEN) S
2520 10696 P (SET) S 792 J ( MOREPROMPT=RED) S 120 J ( ON WHITE) S
2520 10960 P (SET) S 792 J ( MOREFILLIN=BLACK) S
2520 11224 P (SET MOREERROR=BRIGHT) S 120 J ( WHITE ON RED) S
1800 11688 P 0 12 F 26 10 F (\(Notice) S 62 J ( that) S 63 J ( if) S 62 J ( you) S 63 J ( choose) S 62 J ( to) S 63 J ( use) S 62 J ( ) S 0 12 F 0 10 F (SET) S 0 12 F 26 10 F () S 63 J ( statements) S 62 J ( in) S 63 J ( ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (,) S 62 J ( you) S 63 J ( should) S 62 J ( be) S 63 J ( sure) S 62 J ( not) S 63 J ( to) S
1800 11952 P (leave any) S 64 J ( space) S 63 J ( around) S 64 J ( the) S 63 J ( equal) S 64 J ( signs.) S 63 J ( ) S 64 J ( Also,) S 63 J ( unless) S 64 J ( you're) S 63 J ( running) S 64 J ( OS/2) S 63 J ( 1.2) S 64 J ( or) S 63 J ( later, type) S
1800 12216 P (everything) S 50 J ( in upper case.\)) S
2333 12680 P (Or, on Windows NT, these settings could be made through the Control Panel.) S
1800 13624 P 0 12 F 8 12 F B (Initial) S 67 J ( Current Directories) S E
2333 14128 P 0 12 F 26 10 F (The) S 117 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 118 J ( file) S 117 J ( is) S 118 J ( also) S 117 J ( a) S 118 J ( convenient) S 117 J ( place) S 118 J ( to) S 117 J ( set) S 118 J ( up) S 117 J ( all) S 118 J ( you) S 117 J ( initial) S 118 J ( current) S
1800 14392 P (directories.) S 54 J ( ) S 55 J ( The) S 54 J ( Start) S 55 J ( Programs) S 54 J ( menu) S 55 J ( lets you specify a particular current disk and directory) S
5781 15384 P (Page) S 50 J ( ) S (116) S 0 12 F
PE
8631 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
2160 1704 P 0 12 F 26 10 F (but) S 68 J ( not) S 69 J ( what) S 68 J ( your) S 69 J ( current) S 68 J ( directories) S 69 J ( are) S 68 J ( on) S 69 J ( the) S 68 J ( other) S 69 J ( disks) S 68 J ( when) S 69 J ( you start up; the current) S
2160 1968 P (directories) S 71 J ( on) S 72 J ( those) S 71 J ( other) S 72 J ( disks) S 71 J ( are) S 72 J ( always) S 71 J ( ``) S 0 12 F 0 10 F (\\) S 0 12 F 26 10 F (''.) S 72 J ( ) S 71 J ( Generally,) S 72 J ( people find it convenient to be) S
2160 2232 P (able) S 53 J ( to) S 54 J ( choose) S 53 J ( something) S 54 J ( else) S 53 J ( and) S 54 J ( they) S 53 J ( do) S 54 J ( this) S 53 J ( by putting the appropriate ``) S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F ('') S 53 J ( statements in) S
2160 2496 P 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F (.) S
2693 2960 P (The) S 90 J ( final) S 91 J ( use) S 90 J ( for) S 91 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 90 J ( is) S 91 J ( in) S 90 J ( setting) S 91 J ( up certain local variables that you want) S
2160 3224 P (different) S 61 J ( in) S 62 J ( the) S 61 J ( login) S 62 J ( shell.) S 61 J ( ) S 62 J ( For) S 61 J ( example,) S 62 J ( a) S 61 J ( login) S 62 J ( shell) S 61 J ( normally) S 62 J ( dumps) S 61 J ( a) S 62 J ( history) S 61 J ( list when it) S
2160 3488 P (exits; you) S 62 J ( may) S 61 J ( want) S 62 J ( to) S 61 J ( turn) S 62 J ( this off by setting ) S 0 12 F 0 10 F (savehist) S 132 J ( = 0) S 0 12 F 26 10 F (.) S 62 J ( Also, you may not want an) S
2160 3752 P (end-of-file) S 72 J ( \(from) S 73 J ( accidentally) S 72 J ( hitting) S 73 J ( ) S 0 12 F 0 10 F (^Z) S 0 12 F 26 10 F () S 72 J ( once) S 73 J ( to) S 72 J ( many) S 73 J ( times\)) S 72 J ( to) S 73 J ( cause) S 72 J ( the) S 73 J ( shell to exit; you) S
2160 4016 P (can) S 50 J ( tell to insist on an ) S 0 12 F 0 10 F (exit) S 0 12 F 26 10 F () S 50 J ( statement by setting ) S 0 12 F 0 10 F (ignoreeof) S 0 12 F 26 10 F () S 50 J ( = 1.) S
2160 4960 P 0 12 F 8 12 F B (startup.csh) S E
2693 5464 P 0 12 F 26 10 F (The) S 70 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 71 J ( file) S 70 J ( is) S 71 J ( read) S 70 J ( by) S 71 J ( ) S 0 12 F 26 10 F I (all) S E 0 12 F 26 10 F () S 71 J ( copies of the C shell, not just login or root level) S
2160 5728 P (copies.) S 64 J ( ) S 65 J ( If) S 64 J ( you) S 65 J ( don't want the startup file read, you have to specifically tell it with the ``) S 0 12 F 0 10 F (-F) S 0 12 F 26 10 F ('') S
2160 5992 P (\() S 0 12 F 26 10 F I (Faster) S E 0 12 F 26 10 F () S 82 J ( startup\)) S 83 J ( option.) S 82 J ( ) S 83 J ( ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 82 J ( is) S 83 J ( read) S 82 J ( after) S 83 J ( ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 82 J ( whenever) S 83 J ( both) S 82 J ( are being) S
2160 6256 P (read.) S 54 J ( ) S 55 J ( This) S 54 J ( means) S 55 J ( you) S 54 J ( can) S 55 J ( depend) S 54 J ( on) S 55 J ( the) S 54 J ( environmental) S 55 J ( variables) S 54 J ( being) S 55 J ( set) S 54 J ( up) S 55 J ( already when) S
2160 6520 P (the) S 50 J ( startup file runs.) S
2693 6984 P 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 53 J ( is a good place to define any aliases or function key definitions you use,) S
2160 7248 P (since) S 62 J ( you'd probably always want them available but can't pass them in the environment to) S
2160 7512 P (any) S 81 J ( child copies of ) S 0 12 F 0 10 F (csh.exe) S 0 12 F 26 10 F (.) S 81 J ( The ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 81 J ( file that comes with the shell defines a) S
2160 7776 P (number) S 120 J ( of) S 121 J ( popular) S 120 J ( aliases) S 121 J ( including) S 120 J ( some) S 121 J ( for) S 120 J ( getting) S 121 J ( at) S 120 J ( some) S 121 J ( of) S 120 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S 120 J ( internal) S
2160 8040 P (functions;) S 50 J ( most people add a few of their own.) S
2693 8504 P (The) S 61 J ( other thing you may want to add to your ) S 0 12 F 0 10 F (startup.csh) S 0 12 F 26 10 F () S 61 J ( file are settings for some) S
2160 8768 P (of) S 120 J ( the) S 121 J ( ) S 0 12 F 0 10 F (set) S 0 12 F 26 10 F () S 120 J ( variables that customize how the shell runs. These aren't passed in the) S
2160 9032 P (environment.) S 50 J ( ) S 51 J ( Look through the lists in the Language Reference section. Some you may want) S
2160 9296 P (to) S 122 J ( set) S 123 J ( differently) S 122 J ( than) S 123 J ( the) S 122 J ( defaults are ) S 0 12 F 0 10 F (bsdhistory) S 0 12 F 26 10 F (,) S 122 J ( ) S 0 12 F 0 10 F (cdhome) S 0 12 F 26 10 F (,) S 122 J ( ) S 0 12 F 0 10 F (chgdisk) S 0 12 F 26 10 F (,) S 122 J ( ) S 0 12 F 0 10 F (escapesym) S 0 12 F 26 10 F (,) S
2160 9560 P 0 12 F 0 10 F (histchars) S 0 12 F 26 10 F (,) S 58 J ( ) S 0 12 F 0 10 F (ignoreerrors) S 0 12 F 26 10 F (,) S 0 12 F 0 10 F () S 129 J ( ignorestatus) S 0 12 F 26 10 F (,) S 0 12 F 0 10 F () S 128 J ( noclobber) S 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 0 10 F (nonomatch) S 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 0 10 F (nullwords) S 0 12 F 26 10 F () S 59 J ( and) S
2160 9824 P 0 12 F 0 10 F (tailstatus) S 0 12 F 26 10 F (.) S 57 J ( ) S 58 J ( A) S 57 J ( lot) S 58 J ( of) S 57 J ( what) S 58 J ( you) S 57 J ( choose) S 58 J ( will) S 57 J ( depend) S 58 J ( on) S 57 J ( whether) S 58 J ( you're) S 57 J ( coming) S 58 J ( from) S 57 J ( a DOS) S
2160 10088 P (or) S 50 J ( a UNIX background.) S
2160 11032 P 0 12 F 8 12 F B (Change) S 67 J ( Directory) S E
2693 11536 P 0 12 F 26 10 F (If) S 53 J ( your) S 54 J ( background) S 53 J ( is) S 54 J ( DOS,) S 53 J ( you'll probably want ) S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F () S 53 J ( to just report the current directory) S
2160 11800 P (if) S 86 J ( you) S 87 J ( don't) S 86 J ( give) S 87 J ( it) S 86 J ( an) S 87 J ( argument.) S 86 J ( ) S 87 J ( Those) S 86 J ( with a UNIX background may want it to mean) S
2160 12064 P (``change) S 63 J ( to) S 64 J ( the) S 63 J ( home) S 64 J ( disk) S 63 J ( and) S 64 J ( directory.'') S 63 J ( ) S 64 J ( That's) S 63 J ( determined) S 64 J ( with) S 63 J ( the) S 64 J ( ) S 0 12 F 0 10 F (cdhome) S 0 12 F 26 10 F () S 64 J ( variable; the) S
2160 12328 P (default) S 50 J ( is a DOS-style reporting only.) S
2693 12792 P (Another) S 67 J ( customization) S 68 J ( you) S 67 J ( may) S 68 J ( to) S 67 J ( do is to intercept ) S 0 12 F 0 10 F (cd) S 0 12 F 26 10 F () S 67 J ( so that you can capture your) S
2160 13056 P (last) S 50 J ( current directory whenever you change directories:) S
2880 13520 P 0 12 F 0 10 F (proc) S 120 J ( cd\(dest\)) S
2880 13784 P ( @ lwd = cwd # capture the last working directory) S
2880 14048 P ( if \($dest == ""\)) S
2880 14312 P ( chdir) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (117) S 0 12 F
PE
720 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
2520 1704 P 0 12 F 0 10 F () S 120 J ( else) S
2520 1968 P ( chdir $dest) S
2520 2232 P ( end) S
2520 2496 P (end) S
1800 3440 P 0 12 F 8 12 F B (Berkeley-style) S 67 J ( History and Escapes) S E
2333 3944 P 0 12 F 26 10 F (Also,) S 62 J ( if your fingers learned to use the ``) S 0 12 F 0 10 F (!-) S 0 12 F 26 10 F I (n) S E 0 12 F 26 10 F ('') S 62 J ( style of history references on a Berkeley) S
1800 4208 P (UNIX) S 85 J ( system,) S 86 J ( you'll) S 85 J ( want) S 86 J ( to) S 85 J ( set) S 86 J ( ) S 85 J ( ) S 0 12 F 0 10 F (bsdhistory) S 0 12 F 26 10 F () S 86 J ( =) S 85 J ( 1.) S 86 J ( ) S 85 J ( True) S 86 J ( die-hard \(and perhaps daring\)) S
1800 4472 P (former) S 58 J ( UNIX) S 59 J ( users may want try setting the ) S 0 12 F 0 10 F (escapesym) S 0 12 F 26 10 F () S 59 J ( back to a backslash; it'll work with) S
1800 4736 P (the) S 50 J ( C shell but you're on your own with other applications or tools.) S
1800 5680 P 0 12 F 8 12 F B (Berkeley) S 67 J ( Compatibility Mode) S E
2333 6184 P 0 12 F 26 10 F (Hamilton) S 81 J ( C) S 82 J ( shell) S 81 J ( does) S 82 J ( implement) S 81 J ( a) S 82 J ( substantial) S 81 J ( number) S 82 J ( of) S 81 J ( significant improvements) S
1800 6448 P (over) S 79 J ( the) S 80 J ( over) S 79 J ( original) S 80 J ( Berkeley) S 79 J ( C) S 80 J ( shell.) S 79 J ( ) S 80 J ( By) S 79 J ( and) S 80 J ( large,) S 79 J ( we) S 80 J ( expect) S 79 J ( most) S 80 J ( users) S 79 J ( to) S 80 J ( find these) S
1800 6712 P (changes) S 51 J ( welcome.) S 52 J ( ) S 51 J ( But) S 52 J ( if you're trying to run a script developed using the Berkeley C shell or) S
1800 6976 P (if) S 50 J ( you simply want get a more precise ``Berkeley mode'' interactively, you can do that.) S
2333 7440 P (Following) S 59 J ( a) S 60 J ( common) S 59 J ( convention) S 60 J ( on) S 59 J ( UNIX that the first line of a script can identify the) S
1800 7704 P (language) S 50 J ( processor to be used with it, if the C shell encounters a script that starts with) S
2520 8168 P 0 12 F 0 10 F (#!/bin/csh) S
1800 8632 P 0 12 F 26 10 F (it) S 50 J ( will shift to a fairly precise emulation of the original Berkeley C shell.) S
2333 9096 P (To) S 94 J ( enter) S 95 J ( this) S 94 J ( mode) S 95 J ( for) S 94 J ( interactive) S 95 J ( work,) S 94 J ( start) S 95 J ( the) S 94 J ( C shell with the ``) S 0 12 F 0 10 F (-B) S 0 12 F 26 10 F ('') S 94 J ( \(Berkeley) S
1800 9360 P (compatibility\)) S 50 J ( option.) S
2333 9824 P (For) S 78 J ( more) S 79 J ( details) S 78 J ( on) S 79 J ( differences) S 78 J ( between) S 79 J ( the Hamilton and Berkeley C shells and on) S
1800 10088 P (Berkeley) S 75 J ( compatibility) S 76 J ( mode,) S 75 J ( please) S 76 J ( please) S 75 J ( refer) S 76 J ( to) S 75 J ( the) S 76 J ( Compatibility section beginning on) S
1800 10352 P (page) S 50 J ( ) S (129) S (.) S
1800 11296 P 0 12 F 8 12 F B (Error) S 67 J ( Handling) S E
2333 11800 P 0 12 F 0 10 F (ignoreerrors) S 0 12 F 26 10 F (,) S 0 12 F 0 10 F () S 142 J ( ignorestatus) S 0 12 F 26 10 F (,) S 73 J ( ) S 0 12 F 0 10 F (noclobber) S 0 12 F 26 10 F (,) S 72 J ( ) S 0 12 F 0 10 F (nonomatch) S 0 12 F 26 10 F () S 73 J ( and ) S 0 12 F 0 10 F (nullwords) S 0 12 F 26 10 F () S 73 J ( let you) S
1800 12064 P (tailer) S 108 J ( how) S 109 J ( the shell responds to various exception situations. They let you determine) S
1800 12328 P (whether) S 55 J ( you) S 56 J ( think) S 55 J ( certain) S 56 J ( things) S 55 J ( are) S 56 J ( errors.) S 55 J ( ) S 56 J ( For) S 55 J ( example, should a child process that returns) S
1800 12592 P (a) S 67 J ( non-zero) S 68 J ( return) S 67 J ( code) S 68 J ( but) S 67 J ( otherwise seems to run okay be considered an error? If you set) S
1800 12856 P 0 12 F 0 10 F (ignorestatus) S 0 12 F 26 10 F () S 63 J ( = 0, it will be. Similarly, ) S 0 12 F 0 10 F (noclobber) S 0 12 F 26 10 F () S 63 J ( lets you intercept accidental attempts) S
1800 13120 P (to) S 75 J ( overwrite) S 76 J ( an) S 75 J ( existing) S 76 J ( file) S 75 J ( with i/o redirection. ) S 0 12 F 0 10 F (nonomatch) S 0 12 F 26 10 F () S 75 J ( tells what should happen if) S
1800 13384 P (wildcarding) S 55 J ( doesn't) S 56 J ( match) S 55 J ( anything.) S 56 J ( ) S 55 J ( ) S 0 12 F 0 10 F (nullwords) S 0 12 F 26 10 F () S 56 J ( tells) S 55 J ( whether) S 56 J ( you) S 55 J ( think) S 56 J ( it's an error to use) S
1800 13648 P (a) S 50 J ( subscript that's off the end of an array.) S
5781 15384 P (Page ) S (118) S 0 12 F
PE
8631 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
2160 1704 P B (Calling the C shell from Other Applications) S E
2693 2208 P 0 12 F 26 10 F (Many) S 63 J ( applications,) S 64 J ( e.g.,) S 63 J ( editors,) S 64 J ( make utilities and so on, depend on being able to call) S
2160 2472 P (up) S 93 J ( the) S 94 J ( command processor. For example, make uses ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 94 J ( to actually process each) S
2160 2736 P (command) S 68 J ( in) S 69 J ( the) S 68 J ( make) S 69 J ( file) S 68 J ( that) S 69 J ( it) S 68 J ( determines) S 69 J ( should) S 68 J ( be) S 69 J ( run.) S 68 J ( ) S 69 J ( Most) S 68 J ( editors) S 69 J ( \(and many other) S
2160 3000 P (applications\)) S 50 J ( provide) S 51 J ( a) S 50 J ( way of temporarily suspending themselves and invoking ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 50 J ( so) S
2160 3264 P (you can run a few commands and then exit to return back to the editor.) S
2693 3728 P (Usually,) S 71 J ( these applications look at the ) S 0 12 F 0 10 F (COMSPEC) S 0 12 F 26 10 F () S 71 J ( environmental variable to determine) S
2160 3992 P (the) S 65 J ( full) S 66 J ( pathname) S 65 J ( for) S 66 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S 65 J ( ) S 66 J ( If, like make, they're just calling it with a single command) S
2160 4256 P (on) S 50 J ( the command line, they use ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F ('s) S 50 J ( ) S 0 12 F 0 10 F (/C) S 0 12 F 26 10 F () S 50 J ( option.) S
2693 4720 P (If) S 111 J ( you'd) S 112 J ( like to use the C shell instead of ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 112 J ( with these applications, set) S
2160 4984 P 0 12 F 0 10 F (COMSPEC) S 0 12 F 26 10 F () S 60 J ( to) S 61 J ( point) S 60 J ( to) S 61 J ( the) S 60 J ( C) S 61 J ( shell) S 60 J ( instead) S 61 J ( and) S 60 J ( use) S 61 J ( the) S 60 J ( ) S 0 12 F 0 10 F (CSHOPTIONS) S 0 12 F 26 10 F () S 60 J ( environmental variable to) S
2160 5248 P (tell) S 71 J ( the) S 72 J ( C) S 71 J ( shell) S 72 J ( to) S 71 J ( interpret) S 72 J ( the) S 71 J ( ) S 0 12 F 0 10 F (/C) S 0 12 F 26 10 F () S 72 J ( option) S 71 J ( flag) S 72 J ( in) S 71 J ( a) S 72 J ( way) S 71 J ( that's) S 72 J ( compatible) S 71 J ( with the meaning) S
2160 5512 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 50 J ( would attach to it:) S
2880 5976 P 0 12 F 0 10 F (setenv) S 120 J ( COMSPEC = c:\\hamilton\\bin\\csh.exe) S
2880 6240 P (setenv CSHOPTIONS = -X) S
2693 6704 P 0 12 F 26 10 F (Alternately,) S 55 J ( you) S 56 J ( can) S 55 J ( put) S 56 J ( these) S 55 J ( definitions right into your ) S 0 12 F 0 10 F (config.sys) S 0 12 F 26 10 F (,) S 55 J ( rewriting them) S
2160 6968 P (as:) S
2880 7432 P 0 12 F 0 10 F (set) S 120 J ( COMSPEC=c:\\hamilton\\bin\\csh.exe) S
2880 7696 P (set CSHOPTIONS=-X) S
2693 8160 P 0 12 F 26 10 F (When) S 80 J ( the) S 81 J ( C) S 80 J ( shell) S 81 J ( starts) S 80 J ( up,) S 81 J ( if) S 80 J ( it) S 81 J ( discovers) S 80 J ( that) S 81 J ( ) S 0 12 F 0 10 F (COMSPEC) S 0 12 F 26 10 F () S 80 J ( points) S 81 J ( to itself, it will look) S
2160 8424 P (through) S 59 J ( the) S 60 J ( search) S 59 J ( path) S 60 J ( to) S 59 J ( find) S 60 J ( the) S 59 J ( real) S 60 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (.) S 59 J ( ) S 60 J ( This) S 59 J ( is to make sure it will still be able to) S
2160 8688 P (run) S 85 J ( ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F () S 85 J ( files. Since the ) S 0 12 F 0 10 F (-X) S 0 12 F 26 10 F () S 85 J ( option is a toggling option, you can still get at the original) S
2160 8952 P (meaning) S 50 J ( of the ) S 0 12 F 0 10 F (-C) S 0 12 F 26 10 F () S 50 J ( option by typing ) S 0 12 F 0 10 F (-XC) S 0 12 F 26 10 F () S 50 J ( to toggle back.) S
5781 15384 P (Page ) S (119) S 0 12 F
PE
720 984 P 8 12 F B (Customizing) S 67 J ( the Shell) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (120) S 0 12 F
PE
10048 984 P 8 12 F B (Summary) S E
5661 2760 P 0 12 F 8 14 F B (Summary) S E
2693 3504 P 0 12 F 26 10 F (The) S 56 J ( next) S 57 J ( few pages show a couple of somewhat more full-blown examples and outline) S
2160 3768 P (the) S 73 J ( contents) S 74 J ( of) S 73 J ( the samples directory. There's also detailed discussion of the compatibility) S
2160 4032 P (issues) S 50 J ( between the Hamilton and original Berkeley C shells.) S
2693 4496 P (Try) S 73 J ( some) S 74 J ( experiments.) S 73 J ( ) S 74 J ( We) S 73 J ( hope) S 74 J ( you'll) S 73 J ( find) S 74 J ( this) S 73 J ( product) S 74 J ( powerful,) S 73 J ( fast,) S 74 J ( reliable and) S
2160 4760 P (easy) S 104 J ( to) S 105 J ( use.) S 104 J ( ) S 105 J ( We) S 104 J ( hope) S 105 J ( it) S 104 J ( will) S 105 J ( help) S 104 J ( you get your work done faster and perhaps, more) S
2160 5024 P (pleasantly.) S
5781 15384 P (Page) S 50 J ( ) S (121) S 0 12 F
PE
720 984 P 8 12 F B (Summary) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (122) S 0 12 F
PE
10021 984 P 8 12 F B (Examples) S E
5645 2184 P 0 12 F 8 14 F B (Examples) S E
2160 2928 P 0 12 F 8 12 F B (Factor.csh:) S E 0 12 F 26 12 F () S 87 J ( ) S 88 J ( A) S 87 J ( self-loading) S 88 J ( procedure) S 87 J ( which) S 88 J ( prints) S 87 J ( a list of the factors of a) S
2160 3192 P (number,) S 60 J ( illustrating the use of recursion.) S
2736 3792 P 0 12 F 0 12 F (proc) S 144 J ( factor\(n\)) S
2736 4032 P ( if \(n > 2\) then) S
2736 4272 P ( for i = 2 to floor\(sqrt\(n\)\) do) S
2736 4512 P ( if \(n % i == 0\) then) S
2736 4752 P ( echo $i) S
2736 4992 P ( return factor\(n/i\)) S
2736 5232 P ( end) S
2736 5472 P ( end) S
2736 5712 P ( end) S
2736 5952 P ( return n) S
2736 6192 P (end) S
2736 6672 P (factor $argv) S
2160 7176 P 0 12 F 26 12 F (Invoked) S 60 J ( as:) S
2736 7536 P 0 12 F 0 12 F (factor) S 144 J ( 6324489) S
2160 8040 P 0 12 F 26 12 F (It) S 60 J ( would print:) S
2736 8400 P 0 12 F 0 12 F (3) S
2736 8640 P (3) S
2736 8880 P (702721) S
2160 9384 P 0 12 F 26 12 F (To) S 60 J ( print the factors on one line and time how long it takes:) S
2736 9744 P 0 12 F 0 12 F (time) S 144 J ( echo `factor 6324489`) S
2160 10248 P 0 12 F 26 12 F (The) S 133 J ( ) S 0 12 F 0 10 F (`) S 0 12 F 26 12 F (...) S 0 12 F 0 10 F (`) S 0 12 F 26 12 F () S 134 J ( sequence) S 133 J ( means command substitution: run what's inside the) S
2160 10512 P (backquotes) S 116 J ( and) S 117 J ( substitute the output back onto the command line. This) S
2160 10776 P (would) S 60 J ( print:) S
2736 11136 P 0 12 F 0 12 F (3) S 144 J ( 3 702721) S
2736 11376 P (0:00:02.35) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (123) S 0 12 F
PE
720 984 P 8 12 F B (Examples) S E
1800 2232 P B (Whereis.csh:) S E 0 12 F 26 12 F () S 75 J ( ) S 76 J ( A) S 75 J ( self-loading) S 76 J ( procedure to find all the files anywhere on the) S
1800 2496 P (search) S 171 J ( path) S 172 J ( corresponding) S 171 J ( to) S 172 J ( the) S 171 J ( command name, illustrating pattern) S
1800 2760 P (matching) S 60 J ( and file system tests.) S
2376 3360 P 0 12 F 0 12 F (proc) S 144 J ( whereis\(name\)) S
2376 3600 P ( local i, j) S
2376 3840 P ( if \(name =~ "*.*"\) then) S
2376 4080 P ( foreach i \($path\)) S
2376 4320 P ( if \(i =~ "*\\"\) then) S
2376 4560 P ( if \(-e $i$name\) echo $i$name) S
2376 4800 P ( else) S
2376 5040 P ( if \(-e $i\\$name\) echo $i\\$name) S
2376 5280 P ( end) S
2376 5520 P ( end) S
2376 5760 P ( else) S
2376 6000 P ( foreach i \($path\)) S
2376 6240 P ( if \(i =~ "*\\"\) then) S
2376 6480 P ( foreach j \(.csh .exe .com .cmd\)) S
2376 6720 P ( if \(-e $i$name$j\) echo $i$name$j) S
2376 6960 P ( end) S
2376 7200 P ( else) S
2376 7440 P ( foreach j \(.csh .exe .com .cmd\)) S
2376 7680 P ( if \(-e $i\\$name$j\) echo $i\\$name$j) S
2376 7920 P ( end) S
2376 8160 P ( end) S
2376 8400 P ( end) S
2376 8640 P ( end) S
2376 8880 P (end) S
2376 9360 P (whereis $argv) S
1800 9864 P 0 12 F 26 12 F (Invoked) S 60 J ( as:) S
2376 10224 P 0 12 F 0 12 F (whereis) S 144 J ( ls) S
1800 10728 P 0 12 F 26 12 F (It) S 60 J ( would print:) S
2376 11088 P 0 12 F 0 12 F (c:\\os2\\bin\\ls.exe) S
1800 11592 P (ls.exe) S 0 12 F 26 12 F () S 60 J ( is the file directory lister. Invoked as:) S
2376 11952 P 0 12 F 0 12 F (time) S 144 J ( ls -l `whereis more`) S
1800 12456 P 0 12 F 26 12 F (It) S 64 J ( would show the two versions of ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S 64 J ( \(Our ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F () S 64 J ( ``is less filling and tastes) S
1800 12720 P (better.''\)) S
2376 13080 P 0 12 F 0 12 F (---A-) S 144 J ( Mar 20 8:00 20123 c:\\os2\\hamilton\\more.exe) S
2376 13320 P (---A- Oct 26 12:00 31658 c:\\os2\\ibm\\more.com) S
2376 13560 P (0:00:00.97) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (124) S 0 12 F
PE
10021 984 P 8 12 F B (Examples) S E
5069 2184 P 0 12 F 8 14 F B (Samples) S 78 J ( Directory) S E
2693 2928 P 0 12 F 26 10 F (The) S 61 J ( sample) S 62 J ( C) S 61 J ( programs) S 62 J ( and) S 61 J ( C) S 62 J ( shell scripts in the samples directory are meant to help) S
2160 3192 P (you) S 64 J ( install) S 65 J ( or) S 64 J ( experiment) S 65 J ( with) S 64 J ( Hamilton) S 65 J ( C) S 64 J ( shell.) S 65 J ( Deliberately, they're relatively trivial. All) S
2160 3456 P (were) S 50 J ( created assuming ) S 0 12 F 0 10 F (TABS=3) S 0 12 F 26 10 F (.) S
2160 3896 P 0 12 F 0 10 F (args.c) S 1440 J ( ) S 0 12 F 26 10 F (A) S 83 J ( simple C program that prints out the) S 0 12 F 26 11 F () S 88 J ( ) S 0 12 F 0 10 F (*argv[]) S 0 12 F 26 10 F () S 83 J ( \(argument\) and) S
4320 4136 P 0 12 F 0 10 F (*envp[]) S 0 12 F 26 10 F () S 67 J ( \(environmental variable\) arrays. Notice that wildcarding,) S
4320 4376 P (variable) S 61 J ( substitutions,) S 62 J ( quoting) S 61 J ( and) S 62 J ( command) S 61 J ( substitutions are done) S
4320 4616 P (before) S 62 J ( the) S 63 J ( C) S 62 J ( program) S 63 J ( is) S 62 J ( started.) S 63 J ( ) S 62 J ( If) S 63 J ( you do a lot of wildcarding, you) S
4320 4856 P (can) S 70 J ( create) S 71 J ( and) S 70 J ( pass) S 71 J ( VERY) S 70 J ( long) S 71 J ( parameter) S 70 J ( lists) S 71 J ( \(up) S 70 J ( 64K characters.\)) S
4320 5096 P (Try) S 50 J ( some of these commands:) S
5040 5456 P 0 12 F 0 10 F (%) S 120 J ( args "ho"w 'no'w) S
5040 5696 P (% args "$cwd" '$cwd') S
5040 5936 P (% args * "*" '*') S
5040 6176 P (% args `whereis more`) S
5040 6416 P (% args '`whereis more`') S
5040 6656 P (% args * *\\* *\\*\\* | more) S
2160 7136 P (bits.csh ) S 0 12 F 26 10 F (A) S 90 J ( simple) S 91 J ( self-loading) S 90 J ( procedure) S 91 J ( that) S 90 J ( calculates) S 91 J ( the minimum bits) S
4320 7376 P (required) S 50 J ( to represent the argument it's passed as a binary integer.) S
2160 7736 P 0 12 F 0 10 F (bumpdate.csh) S 0 12 F 26 10 F () S 720 J ( Print) S 66 J ( the) S 67 J ( date) S 66 J ( n) S 67 J ( number) S 66 J ( of) S 67 J ( days) S 66 J ( forward or backward from a given) S
4320 7976 P (date.) S 50 J ( If only the bump value is given, today's date is bumped.) S
2160 8336 P 0 12 F 0 10 F (caldate.csh) S 0 12 F 26 10 F () S 840 J ( Print) S 50 J ( the date corresponding to a given Julian day.) S
2160 8696 P 0 12 F 0 10 F (calendar.csh) S 720 J ( ) S 0 12 F 26 10 F (A) S 74 J ( C) S 75 J ( shell) S 74 J ( script) S 75 J ( for) S 74 J ( printing) S 75 J ( out) S 74 J ( the) S 75 J ( calendar) S 74 J ( for) S 75 J ( any) S 74 J ( given) S 75 J ( month,) S
4320 8936 P (highlighting) S 108 J ( the) S 109 J ( current) S 108 J ( date.) S 109 J ( ) S 108 J ( If) S 109 J ( no) S 108 J ( date) S 109 J ( is) S 108 J ( given,) S 109 J ( this month's) S
4320 9176 P (calendar) S 50 J ( is printed.) S
2160 9536 P 0 12 F 0 10 F (colors.csh) S 0 12 F 26 10 F () S 960 J ( Instructions) S 50 J ( and examples on customizing the screen colors.) S
2160 9896 P 0 12 F 0 10 F (cl.csh) S 0 12 F 26 10 F () S 1440 J ( On) S 50 J ( NT) S 51 J ( only,) S 50 J ( run the compiler and linker for an NT program. Avoids) S
4320 10136 P (having) S 66 J ( to) S 67 J ( fool) S 66 J ( with) S 67 J ( a) S 66 J ( make) S 67 J ( file) S 66 J ( just) S 67 J ( to) S 66 J ( compile) S 67 J ( hello,) S 66 J ( world.) S 67 J ( Works) S
4320 10376 P (pretty) S 50 J ( much just like the cl command on DOS would.) S
2160 10736 P 0 12 F 0 10 F (deltaday.csh) S 0 12 F 26 10 F () S 720 J ( Print) S 72 J ( the) S 73 J ( number) S 72 J ( of) S 73 J ( days) S 72 J ( separating) S 73 J ( two dates. If only one date is) S
4320 10976 P (given,) S 50 J ( the difference between it and today's date is returned.) S
2160 11336 P 0 12 F 0 10 F (dumpenv.c) S 1080 J ( ) S 0 12 F 26 10 F (This) S 52 J ( C) S 53 J ( program) S 52 J ( writes) S 53 J ( out) S 52 J ( the) S 53 J ( environment) S 52 J ( it's passed in the form of) S
4320 11576 P 0 12 F 0 10 F (setenv) S 0 12 F 26 10 F () S 50 J ( commands.) S 51 J ( ) S 50 J ( If) S 51 J ( you're) S 50 J ( installing) S 51 J ( Hamilton) S 50 J ( C) S 51 J ( shell) S 50 J ( for the first) S
4320 11816 P (time,) S 77 J ( ) S 0 12 F 0 10 F (dumpenv) S 0 12 F 26 10 F () S 77 J ( is a convenient way to snapshot the environmental) S
4320 12056 P (variables) S 120 J ( you've) S 121 J ( been) S 120 J ( using) S 121 J ( with) S 120 J ( ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 121 J ( in) S 120 J ( a) S 121 J ( form you can) S
4320 12296 P (append) S 50 J ( to your ) S 0 12 F 0 10 F (login.csh) S 0 12 F 26 10 F () S 50 J ( file.) S
2160 12656 P 0 12 F 0 10 F (duplicat.csh) S 720 J ( ) S 0 12 F 26 10 F (Look) S 50 J ( for duplicate files anywhere in a directory tree.) S
2160 13016 P 0 12 F 0 10 F (easter.csh) S 0 12 F 26 10 F () S 960 J ( A) S 70 J ( C) S 71 J ( shell) S 70 J ( script that calculates when Easter will occur in any given) S
4320 13256 P (year.) S 50 J ( If no year is given, the current year is assumed.) S
2160 13616 P 0 12 F 0 10 F (factor.csh) S 960 J ( ) S 0 12 F 26 10 F (The) S 108 J ( simple) S 109 J ( factor) S 108 J ( C) S 109 J ( shell) S 108 J ( script shown in the User Guide. It's) S
4320 13856 P (intended) S 79 J ( to) S 80 J ( show) S 79 J ( to show the use of recursion, expressions, and a) S
4320 14096 P (self-loading) S 50 J ( procedure.) S
5781 15384 P (Page ) S (125) S 0 12 F
PE
720 984 P 8 12 F B (Examples) S E
1800 1680 P 0 12 F 0 10 F (finance.csh) S 840 J ( ) S 0 12 F 26 10 F (Another) S 51 J ( C) S 52 J ( shell) S 51 J ( script) S 52 J ( showing) S 51 J ( expression) S 52 J ( evaluation.) S 51 J ( ) S 52 J ( This) S 51 J ( defines) S 52 J ( a) S
3960 1920 P (number) S 70 J ( of) S 71 J ( routines) S 70 J ( for) S 71 J ( calculating) S 70 J ( financial conversion factors, e.g.,) S
3960 2160 P (from) S 50 J ( present to future value.) S
1800 2520 P 0 12 F 0 10 F (getprio.c) S 1080 J ( ) S 0 12 F 26 10 F (This) S 108 J ( C) S 109 J ( program \(supplied with the OS/2 version\) retrieves and) S
3960 2760 P (prints) S 76 J ( its) S 77 J ( scheduling) S 76 J ( priority,) S 77 J ( demonstrating) S 76 J ( the) S 77 J ( effect) S 76 J ( of) S 77 J ( using) S 76 J ( the) S
3960 3000 P 0 12 F 0 10 F (eval) S 0 12 F 26 10 F () S 53 J ( command) S 54 J ( to) S 53 J ( run a command at a higher or lower priority. Try) S
3960 3240 P (these) S 50 J ( examples:) S
4680 3600 P 0 12 F 0 10 F (%) S 120 J ( getprio) S
4680 3840 P (% eval -i getprio) S
4680 4080 P (% eval +20 \(getprio; eval +20 getprio;) S
4680 4320 P (getprio\); getprio) S
1800 4800 P (julian.csh) S 0 12 F 26 10 F () S 960 J ( Calculate) S 81 J ( the) S 82 J ( Julian) S 81 J ( day) S 82 J ( number) S 81 J ( \(number of days since January 1,) S
3960 5040 P (4713) S 51 J ( B.C.\)) S 52 J ( for) S 51 J ( any) S 52 J ( given) S 51 J ( date.) S 52 J ( ) S 51 J ( If you don't give a date, it uses today's) S
3960 5280 P (date.) S
1800 5640 P 0 12 F 0 10 F (makecpgm.csh) S 720 J ( ) S 0 12 F 26 10 F (A) S 82 J ( simple) S 83 J ( C) S 82 J ( shell script \(supplied with the OS/2 version\) showing) S
3960 5880 P (how) S 84 J ( a) S 85 J ( ``make'') S 84 J ( function) S 85 J ( might) S 84 J ( be) S 85 J ( written) S 84 J ( in) S 85 J ( the) S 84 J ( C) S 85 J ( shell language.) S
3960 6120 P (This) S 90 J ( one) S 91 J ( rebuilds) S 90 J ( any ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F () S 90 J ( files in the current directory that are) S
3960 6360 P (older) S 71 J ( than) S 72 J ( the) S 71 J ( corresponding) S 72 J ( ) S 0 12 F 0 10 F (.c) S 0 12 F 26 10 F () S 71 J ( file) S 72 J ( or) S 71 J ( any) S 72 J ( of) S 71 J ( the ) S 0 12 F 0 10 F (.h) S 0 12 F 26 10 F () S 71 J ( files. In fact,) S
3960 6600 P (the) S 50 J ( ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F ('s) S 50 J ( in this directory were built with this script.) S
1800 6960 P 0 12 F 0 10 F (mcvisa.csh) S 960 J ( ) S 0 12 F 26 10 F (A) S 57 J ( simple) S 58 J ( C shell script that constructs a special checksum of a credit) S
3960 7200 P (card) S 98 J ( number to tell if the card number is plausible or not. The) S
3960 7440 P (checksum) S 81 J ( used) S 82 J ( is) S 81 J ( designed) S 82 J ( to catch transposed or incorrect digits.) S
3960 7680 P (Try) S 50 J ( it on the cards in your wallet.) S
1800 8040 P 0 12 F 0 10 F (myecho.c) S 1200 J ( ) S 0 12 F 26 10 F (A) S 72 J ( variation) S 73 J ( on) S 72 J ( the) S 73 J ( built-in) S 72 J ( ) S 0 12 F 0 10 F (echo) S 0 12 F 26 10 F () S 73 J ( command) S 72 J ( that prints its ) S 0 12 F 0 10 F (*argv[]) S
3960 8280 P 0 12 F 26 10 F (\(argument\)) S 76 J ( list) S 77 J ( with) S 76 J ( quotes) S 77 J ( around) S 76 J ( each) S 77 J ( word) S 76 J ( it's) S 77 J ( passed) S 76 J ( and tells) S
3960 8520 P (the) S 50 J ( total character count. Try these examples:) S
4680 8880 P 0 12 F 0 10 F (%) S 120 J ( myecho now is the) S
4680 9120 P (% myecho "now is" the) S
4680 9360 P (% myecho `ls`) S
4680 9600 P (% myecho `echo`) S
4680 9840 P (% myecho `echo hello`) S
4680 10080 P (% myecho * *\\* *\\*\\* | more) S
1800 10560 P (newfiles.csh ) S 0 12 F 26 10 F (List) S 86 J ( all) S 87 J ( the) S 86 J ( files) S 87 J ( or) S 86 J ( directories) S 87 J ( in) S 86 J ( the) S 87 J ( current) S 86 J ( directory) S 87 J ( that) S 86 J ( do) S 87 J ( not) S
3960 10800 P (occur) S 50 J ( in the specified directory.) S
1800 11160 P 0 12 F 0 10 F (postage.csh) S 0 12 F 26 10 F () S 840 J ( Calculate) S 72 J ( the) S 73 J ( U.S.) S 72 J ( first) S 73 J ( class) S 72 J ( postage) S 73 J ( required) S 72 J ( for) S 73 J ( a) S 72 J ( given) S 73 J ( weight) S 72 J ( in) S
3960 11400 P (ounces.) S
1800 11760 P 0 12 F 0 10 F (rcode.c) S 1320 J ( ) S 0 12 F 26 10 F (A) S 68 J ( trivial) S 69 J ( C) S 68 J ( program) S 69 J ( that) S 68 J ( just) S 69 J ( prints,) S 68 J ( then) S 69 J ( exits with the return code) S
3960 12000 P (value) S 67 J ( you) S 68 J ( pass) S 67 J ( it.) S 68 J ( You can use this routine to see how the ) S 0 12 F 0 10 F (status) S
3960 12240 P 0 12 F 26 10 F (variable) S 86 J ( is) S 87 J ( set) S 86 J ( and) S 87 J ( also,) S 86 J ( how) S 87 J ( the ) S 0 12 F 0 10 F (``;) S 0 12 F 26 10 F (,'') S 87 J ( ``) S 0 12 F 0 10 F (||) S 0 12 F 26 10 F ('') S 87 J ( and ``) S 0 12 F 0 10 F (&&) S 0 12 F 26 10 F ('') S 87 J ( statement) S
3960 12480 P (connectors) S 50 J ( work. Try these examples:) S
4680 12840 P 0 12 F 0 10 F (%) S 120 J ( rcode) S
4680 13080 P (% calc status) S
4680 13320 P (% rcode 1) S
4680 13560 P (% calc status) S
4680 13800 P (% echo $status) S
4680 14040 P (% echo status) S
4680 14280 P (% rcode 2) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (126) S 0 12 F
PE
10021 984 P 8 12 F B (Examples) S E
5040 1680 P 0 12 F 0 10 F (%) S 120 J ( calc status) S
5040 1920 P (% rcode 0 || rcode 1) S
5040 2160 P (% rcode 1 || rcode 2) S
5040 2400 P (% rcode 0 && rcode 1) S
5040 2640 P (% rcode 1 && rcode 2) S
5040 2880 P (% rcode 0 ; rcode 1) S
5040 3120 P (% rcode 1 ; rcode 2) S
2160 3600 P 0 12 F 26 10 F () S 2160 J ( ) S 0 12 F 0 10 F (rcode) S 0 12 F 26 10 F () S 66 J ( also illustrates another aspect of return codes to consider: if) S
4320 3840 P (you) S 62 J ( use) S 63 J ( C) S 62 J ( library) S 63 J ( stdio) S 62 J ( \(as) S 63 J ( ) S 0 12 F 0 10 F (rcode.c) S 0 12 F 26 10 F () S 62 J ( does\)) S 63 J ( and) S 62 J ( you) S 63 J ( exit with a non-) S
4320 4080 P (zero) S 65 J ( return) S 66 J ( code,) S 65 J ( stdio) S 66 J ( thinks) S 65 J ( it) S 66 J ( was) S 65 J ( an) S 66 J ( error) S 65 J ( and) S 66 J ( discards) S 65 J ( anything) S
4320 4320 P (in) S 83 J ( the) S 84 J ( stdio) S 83 J ( buffers.) S 84 J ( ) S 83 J ( In) S 84 J ( the) S 83 J ( following) S 84 J ( example,) S 83 J ( stdio) S 84 J ( writes) S 83 J ( to the) S
4320 4560 P (screen) S 56 J ( are) S 57 J ( unbuffered) S 56 J ( so) S 57 J ( it works; but pipes are buffered, so nothing) S
4320 4800 P (gets) S 50 J ( written to it:) S
5040 5160 P 0 12 F 0 10 F (%) S 120 J ( rcode 1) S
5040 5400 P (1) S
5040 5640 P (% rcode 1 | more) S
5040 5880 P 0 12 F 0 10 F I (---) S 120 J ( End of file ---) S E
5040 6120 P 0 12 F 0 10 F (%) S
2160 6600 P 0 12 F 26 10 F () S 2160 J ( If) S 75 J ( you're) S 76 J ( writing an application that uses return codes, you should) S
4320 6840 P (remember) S 57 J ( to) S 58 J ( explicitly) S 57 J ( flush) S 58 J ( the) S 57 J ( buffers) S 58 J ( with) S 57 J ( stdio) S 58 J ( ) S 0 12 F 0 10 F (fflush\(\)) S 0 12 F 26 10 F () S 57 J ( or use) S
4320 7080 P (the) S 50 J ( kernel routines, e.g., ) S 0 12 F 0 10 F (DosWrite\(\)) S 0 12 F 26 10 F (,) S 50 J ( directly) S
2160 7440 P 0 12 F 0 10 F (sizeof.csh) S 0 12 F 26 10 F () S 960 J ( A) S 50 J ( short) S 51 J ( C) S 50 J ( shell script that calculates and prints the cumulative size of) S
4320 7680 P (any number of files or directories.) S
2160 8040 P 0 12 F 0 10 F (ts.csh) S 1440 J ( ) S 0 12 F 26 10 F (A) S 57 J ( C) S 58 J ( shell) S 57 J ( script) S 58 J ( that) S 57 J ( searches) S 58 J ( for) S 57 J ( occurrences of a simple string in all) S
4320 8280 P (the) S 50 J ( files with a given extension anywhere in a directory tree.) S
2160 8640 P 0 12 F 0 10 F (viopaste.c) S 960 J ( ) S 0 12 F 26 10 F (A) S 110 J ( short) S 111 J ( C) S 110 J ( program) S 111 J ( \(supplied) S 110 J ( with) S 111 J ( the) S 110 J ( OS/2) S 111 J ( version\) to enable) S
4320 8880 P (pasting) S 59 J ( into) S 60 J ( a) S 59 J ( Presentation) S 60 J ( Manager) S 59 J ( text) S 60 J ( window under OS/2 1.2 or) S
4320 9120 P (1.3.) S
2160 9480 P 0 12 F 0 10 F (weekday.csh) S 0 12 F 26 10 F () S 840 J ( Print) S 50 J ( the day of the week corresponding to any given date.) S
2160 9840 P 0 12 F 0 10 F (winerror.csh) S 0 12 F 26 10 F () S 720 J ( Print) S 55 J ( the) S 56 J ( Win32) S 55 J ( message corresponding to a given error code. \(Only) S
4320 10080 P (supplied) S 50 J ( with the Windows NT version.\)) S
5781 15384 P (Page ) S (127) S 0 12 F
PE
720 984 P 8 12 F B (Examples) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (128) S 0 12 F
PE
9619 984 P 8 12 F B (Compatibility) S E
4977 2184 P 0 12 F 8 14 F B (Compatibility) S 78 J ( Guide) S E
2160 2928 P 0 12 F 26 12 F (This) S 68 J ( section) S 69 J ( details the specific differences between the Hamilton C shell and) S
2160 3139 P 0 12 F 26 8 F 2766 J ( ) S (\324) S
2160 3192 P 0 12 F 26 12 F (the) S 77 J ( original) S 78 J ( UNIX) S 77 J ( C) S 78 J ( shell) S 80 J ( ) S (.) S 77 J ( It also describes the Hamilton C shell's Berkeley) S
2160 3456 P (compatibility) S 60 J ( mode, used for running Berkeley C shell scripts.) S
2160 4440 P 0 12 F 8 12 F B (Berkeley) S 67 J ( 4.3 Buglist problems have been fixed.) S E
2160 4944 P 0 12 F 26 10 F (1.) S 570 J ( Shell) S 107 J ( procedures) S 108 J ( have) S 107 J ( been) S 108 J ( provided and the clumsy argument mechanism for) S
2880 5208 P (aliases) S 50 J ( has been dropped.) S
2160 5712 P (2.) S 570 J ( Commands) S 61 J ( typed) S 62 J ( within) S 61 J ( loops) S 62 J ( or) S 61 J ( other control structures are properly added to the) S
2880 5976 P (history) S 50 J ( list.) S
2160 6480 P (3.) S 570 J ( Control) S 117 J ( structures) S 118 J ( are) S 117 J ( recursively) S 118 J ( parsed,) S 117 J ( allowing) S 118 J ( piping) S 117 J ( between) S 118 J ( them.) S 117 J ( ) S 118 J ( For) S
2880 6744 P (example:) S
2160 7128 P 0 12 F 0 12 F () S 720 J ( ) S 0 12 F 0 10 F () S 720 J ( foreach) S 120 J ( i \(a b c\) echo $a; end | wc) S
2160 7512 P 0 12 F 26 10 F () S 720 J ( properly) S 50 J ( displays) S
2160 7896 P 0 12 F 0 12 F () S 720 J ( ) S 144 J ( ) S 0 12 F 0 10 F () S 120 J ( 3 3 12) S
2160 8280 P 0 12 F 26 10 F (4.) S 570 J ( Any) S 56 J ( of) S 57 J ( the) S 56 J ( `:') S 57 J ( editing) S 56 J ( modifiers) S 57 J ( can) S 56 J ( be) S 57 J ( used) S 56 J ( on) S 57 J ( any) S 56 J ( substitution.) S 57 J ( ) S 56 J ( Also,) S 57 J ( a space inside) S
2880 8544 P (the) S 51 J ( search string in a ``:s/.../.../'' command will match the space between two words.) S
2880 8808 P (In) S 107 J ( the) S 108 J ( UNIX) S 107 J ( C) S 108 J ( shell,) S 107 J ( only) S 108 J ( certain) S 107 J ( modifiers could be used on a given type of) S
2880 9072 P (substitution) S 89 J ( and) S 90 J ( it) S 89 J ( is) S 90 J ( not) S 89 J ( possible) S 90 J ( to) S 89 J ( perform) S 90 J ( a) S 89 J ( search/replace that crossed word) S
2880 9336 P (boundaries.) S
2160 10320 P 0 12 F 8 12 F B (The) S 67 J ( language has been regularized.) S E
2160 10824 P 0 12 F 26 10 F (1.) S 570 J ( The) S 82 J ( ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F (,) S 83 J ( ) S 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 82 J ( and) S 83 J ( ) S 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F () S 82 J ( commands) S 83 J ( will now accept the same basic syntax. The) S
2880 11088 P (UNIX) S 60 J ( C) S 61 J ( shell) S 60 J ( had) S 61 J ( a) S 60 J ( number) S 61 J ( of) S 60 J ( anomalies:) S 61 J ( ) S 60 J ( an) S 61 J ( `=') S 60 J ( sign) S 61 J ( was) S 60 J ( required) S 61 J ( for) S 60 J ( a) S 61 J ( ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 60 J ( but not) S
2880 11352 P (for) S 66 J ( ) S 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 67 J ( and) S 66 J ( ) S 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F (;) S 67 J ( parenthesis) S 66 J ( were) S 67 J ( required) S 66 J ( around) S 67 J ( a) S 66 J ( word) S 67 J ( list for a ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 67 J ( but not) S
2880 11616 P (for) S 76 J ( setenv) S 77 J ( and) S 76 J ( alias;) S 77 J ( the) S 76 J ( ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 77 J ( statement) S 76 J ( ignored) S 77 J ( all) S 76 J ( but) S 77 J ( the first argument word but) S
2880 11880 P 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F () S 50 J ( would not, etc.) S
2160 12384 P (2.) S 570 J ( Variables) S 68 J ( or) S 69 J ( word) S 68 J ( lists) S 69 J ( are) S 68 J ( always) S 69 J ( indexed) S 68 J ( counting) S 69 J ( the) S 68 J ( first word as element zero.) S
2880 12648 P (The) S 54 J ( UNIX) S 55 J ( C) S 54 J ( shell) S 55 J ( counted) S 54 J ( from) S 55 J ( zero) S 54 J ( when) S 55 J ( indexing) S 54 J ( with ``:) S 0 12 F 26 10 F I (n) S E 0 12 F 26 10 F ('') S 54 J ( notation but from one) S
2880 12912 P (when) S 67 J ( using) S 68 J ( ``[) S 0 12 F 26 10 F I (n) S E 0 12 F 26 10 F (]'') S 67 J ( notation.) S 68 J ( ) S 67 J ( ) S 0 12 F 26 10 F B (argv) S E 0 12 F 26 10 F ([0]) S 68 J ( is) S 67 J ( the first argument word, not the name of the) S
2880 13176 P (shell) S 95 J ( script) S 96 J ( being) S 95 J ( executed.) S 96 J ( ) S 95 J ( The) S 96 J ( name) S 95 J ( of) S 96 J ( the) S 95 J ( script) S 96 J ( is) S 95 J ( kept) S 96 J ( in) S 95 J ( the) S 96 J ( local variable) S
2160 13800 P 0 12 F 0 12 F () S 2 LL 2880 J ( ) S LE () S
2160 14107 P 0 12 F 26 8 F (\324) S
2160 14160 P 80 J ( ) S () S 280 J ( The) S 65 J ( references) S 66 J ( used) S 65 J ( for) S 66 J ( comparison) S 65 J ( are the Berkeley 4.3 ) S 0 12 F 26 8 F I (Unix) S 65 J ( User's Manual: Reference Guide) S E 0 12 F 26 8 F () S 65 J ( \(University of) S
2520 14400 P (California,) S 40 J ( 1986\) and ) S 0 12 F 26 8 F I (The) S 40 J ( UNIX C Shell Field Guide) S E 0 12 F 26 8 F () S 40 J ( by Gail and Paul Anderson \(Prentice-Hall, 1986.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (129) S 0 12 F
PE
720 984 P 8 12 F B (Compatibility) S E
2520 1704 P 0 12 F 26 10 F B ($scriptname) S E 0 12 F 26 10 F (.) S 73 J ( ) S 74 J ( This) S 73 J ( can) S 74 J ( be) S 73 J ( overridden) S 74 J ( by setting the inheritable per-thread variable) S
2520 1968 P 0 12 F 26 10 F B (bsdargv) S E 0 12 F 26 10 F () S 50 J ( = 1, causing ) S 0 12 F 26 10 F B (argv[0]) S E 0 12 F 26 10 F () S 50 J ( to be the name of the script.) S
1800 2472 P (3.) S 570 J ( In) S 55 J ( keeping) S 56 J ( with) S 55 J ( the) S 56 J ( desire) S 55 J ( to consistently index from zero, the last command entered) S
2520 2736 P (into) S 50 J ( the) S 51 J ( history) S 50 J ( list,) S 51 J ( ``!!'',) S 50 J ( is) S 51 J ( considered) S 50 J ( the) S 51 J ( 0-th) S 50 J ( element;) S 51 J ( ``!-1'') S 50 J ( is the line before it. The) S
2520 3000 P (UNIX) S 81 J ( C) S 82 J ( shell) S 81 J ( considered) S 82 J ( these) S 81 J ( to) S 82 J ( be) S 81 J ( the) S 82 J ( same.) S 81 J ( ) S 82 J ( A) S 81 J ( built-in) S 82 J ( variable,) S 81 J ( ) S 0 12 F 26 10 F B (bsdhistory) S E 0 12 F 26 10 F (,) S 82 J ( is) S
2520 3264 P (provided) S 63 J ( for) S 64 J ( those) S 63 J ( whose) S 64 J ( fingers) S 63 J ( prefer) S 64 J ( the) S 63 J ( Berkeley numbering convention: if you) S
2520 3528 P (set) S 50 J ( ) S 0 12 F 26 10 F B (bsdhistory) S E 0 12 F 26 10 F () S 50 J ( = 1, ``!!'' and ``!-1'' are the same.) S
1800 4032 P (4.) S 570 J ( Where) S 85 J ( an expression is expected, conventional high level language syntax is now) S
2520 4296 P (acceptable.) S 76 J ( ) S 77 J ( The UNIX C shell required spaces around any expression operators, a) S
2520 4560 P (variable) S 71 J ( reference) S 72 J ( required) S 71 J ( a) S 72 J ( `$') S 71 J ( to) S 72 J ( introduce it, parenthesis were required to avoid) S
2520 4824 P (confusing) S 50 J ( ``less than'' with i/o redirection, etc. What had to be typed as) S
1800 5208 P 0 12 F 0 12 F () S 720 J ( ) S 0 12 F 0 10 F () S 720 J ( @) S 120 J ( i = \($j + 3 * $k < 10\)) S
1800 5592 P 0 12 F 26 10 F () S 720 J ( under) S 50 J ( the UNIX C shell can now be typed \(for example\) as) S
1800 5976 P 0 12 F 0 12 F () S 720 J ( ) S 0 12 F 0 10 F () S 720 J ( @) S 120 J ( i=j+3*k<10) S
1800 6360 P 0 12 F 26 10 F () S 720 J ( \(The) S 60 J ( original) S 61 J ( UNIX C shell expression syntax is still entirely acceptable and will still) S
2520 6624 P (produce) S 50 J ( correct results.\)) S
1800 7128 P (5.) S 570 J ( Inside) S 52 J ( a) S 53 J ( ``[...]'') S 52 J ( array) S 53 J ( index,) S 52 J ( the) S 53 J ( shell) S 52 J ( always) S 53 J ( looks) S 52 J ( for) S 53 J ( an) S 52 J ( expression,) S 53 J ( never) S 52 J ( an editing-) S
2520 7392 P (style) S 50 J ( word select. Syntax and keying rules are the same as with any expression.) S
1800 7896 P (6.) S 570 J ( The) S 93 J ( ) S 0 12 F 26 10 F B (case) S E 0 12 F 26 10 F () S 94 J ( statement) S 93 J ( now) S 94 J ( accepts) S 93 J ( an expression to be matched rather than only a) S
2520 8160 P (pattern.) S 83 J ( ) S 84 J ( \(To) S 83 J ( specify) S 84 J ( a) S 83 J ( static) S 84 J ( pattern,) S 83 J ( enclose) S 84 J ( it in quotes.\) To determine a match) S
2520 8424 P (against) S 55 J ( a) S 56 J ( ) S 0 12 F 26 10 F B (case) S E 0 12 F 26 10 F () S 55 J ( clause,) S 56 J ( the) S 55 J ( ) S 0 12 F 26 10 F B (case) S E 0 12 F 26 10 F () S 56 J ( expression) S 55 J ( is) S 56 J ( evaluated,) S 55 J ( converted) S 56 J ( to) S 55 J ( a) S 56 J ( string and then) S
2520 8688 P (used) S 50 J ( as a pattern to compare against the ) S 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F () S 50 J ( value.) S
1800 9192 P (7.) S 570 J ( The) S 95 J ( various) S 96 J ( different) S 95 J ( end) S 96 J ( statements) S 95 J ( used) S 96 J ( by) S 95 J ( the) S 96 J ( UNIX) S 95 J ( C shell, ) S 0 12 F 26 10 F B (end) S E 0 12 F 26 10 F (,) S 95 J ( ) S 0 12 F 26 10 F B (endif) S E 0 12 F 26 10 F () S 95 J ( and) S
2520 9456 P 0 12 F 26 10 F B (endsw) S E 0 12 F 26 10 F (,) S 94 J ( have) S 95 J ( been) S 94 J ( replaced) S 95 J ( by) S 94 J ( a) S 95 J ( single ) S 0 12 F 26 10 F B (end) S E 0 12 F 26 10 F () S 95 J ( statement. Similarly, the two break) S
2520 9720 P (statements,) S 72 J ( ) S 0 12 F 26 10 F B (break) S E 0 12 F 26 10 F () S 73 J ( and) S 72 J ( ) S 0 12 F 26 10 F B (breaksw) S E 0 12 F 26 10 F (,) S 73 J ( have been replaced with a single ) S 0 12 F 26 10 F B (break) S E 0 12 F 26 10 F () S 73 J ( statement.) S
2520 9984 P (For) S 82 J ( compatibility) S 83 J ( with) S 82 J ( existing) S 83 J ( scripts,) S 82 J ( the) S 83 J ( obsolete) S 82 J ( keywords) S 83 J ( are implemented as) S
2520 10248 P (aliases.) S
1800 10752 P (8.) S 570 J ( Since) S 66 J ( Hamilton) S 67 J ( C) S 66 J ( shell) S 67 J ( is) S 66 J ( free) S 67 J ( format) S 66 J ( \(i.e.,) S 67 J ( new) S 66 J ( statements) S 67 J ( need) S 66 J ( not) S 67 J ( begin) S 66 J ( on) S 67 J ( a new) S
2520 11016 P (line\),) S 64 J ( the) S 65 J ( UNIX) S 64 J ( C) S 65 J ( shell) S 64 J ( convention) S 65 J ( of) S 64 J ( chaining ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 64 J ( statements with a single ) S 0 12 F 26 10 F B (end) S E 0 12 F 26 10 F () S 64 J ( if the) S
2520 11280 P 0 12 F 26 10 F B (else) S E 0 12 F 26 10 F () S 78 J ( and) S 79 J ( ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 78 J ( are) S 79 J ( on the same line isn't possible. Instead, an ) S 0 12 F 26 10 F B (elif) S E 0 12 F 26 10 F () S 79 J ( keyword has been) S
2520 11544 P (added.) S
1800 12048 P (9.) S 570 J ( The) S 59 J ( obscure) S 60 J ( use) S 59 J ( of) S 60 J ( several) S 59 J ( ) S 0 12 F 26 10 F B (break) S E 0 12 F 26 10 F () S 60 J ( statements) S 59 J ( in) S 60 J ( a) S 59 J ( row) S 60 J ( on) S 59 J ( a) S 60 J ( single) S 59 J ( line) S 60 J ( to) S 59 J ( break out of) S
2520 12312 P (several) S 63 J ( levels) S 64 J ( of) S 63 J ( control) S 64 J ( statements at once has been eliminated. In its place, a label) S
2520 12576 P (may) S 50 J ( be specified as an operand to indicate the control structure to ``break'' out of.) S
5781 15384 P (Page ) S (130) S 0 12 F
PE
9619 984 P 8 12 F B (Compatibility) S E
2160 1704 P B (Modern) S 67 J ( compiler technology has been employed.) S E
2880 2208 P 0 12 F 26 10 F (Statements) S 53 J ( are) S 54 J ( parsed) S 53 J ( and) S 54 J ( compiled) S 53 J ( into) S 54 J ( an internal form before any substitutions or) S
2160 2472 P (other) S 140 J ( evaluation) S 141 J ( is) S 140 J ( attempted.) S 141 J ( ) S 140 J ( This) S 141 J ( offers) S 140 J ( an enormous performance improvement,) S
2160 2736 P (particularly) S 93 J ( when iteration is involved. \(The UNIX C shell would actually reparse each) S
2160 3000 P (statement) S 50 J ( inside a ) S 0 12 F 26 10 F B (foreach) S E 0 12 F 26 10 F () S 50 J ( loop each time through the loop.\)) S
2880 3384 P (If) S 61 J ( command-) S 62 J ( or variable-substitution creates any of the following reserved words or) S
2160 3648 P (tokens,) S 71 J ( the) S 72 J ( special) S 71 J ( semantic) S 72 J ( meaning) S 71 J ( will) S 72 J ( be) S 71 J ( lost) S 72 J ( since) S 71 J ( substitution) S 72 J ( is) S 71 J ( done after parsing of) S
2160 3912 P (statement) S 54 J ( structure.) S 55 J ( ) S 54 J ( Instead,) S 55 J ( they) S 54 J ( will) S 55 J ( simply be treated as character strings. These reserved) S
2160 4176 P (words) S 50 J ( are:) S
2520 4560 P (Introducing a clause in a structured statement:) S
2880 4944 P 0 12 F 26 10 F B (alias) S 1017 J ( elif) S 1128 J ( if) S 1295 J ( setkey) S 851 J ( unproc) S E
2880 5208 P B (break) S 918 J ( else) S 1084 J ( local) S 1006 J ( source) S 851 J ( unset) S E
2880 5472 P B (by) S 1207 J ( end) S 1096 J ( onintr) S 873 J ( switch) S 839 J ( unsetenv) S E
2880 5736 P B (calc) S 1095 J ( eval) S 1062 J ( proc) S 1040 J ( then) S 1029 J ( unsetkey) S E
2880 6000 P B (case) S 1062 J ( exit) S 1106 J ( repeat) S 873 J ( time) S 1028 J ( until) S E
2880 6264 P B (continue) S 640 J ( for) S 1173 J ( return) S 873 J ( to) S 1262 J ( while) S E
2880 6528 P B (default) S 784 J ( foreach) S 762 J ( set) S 1184 J ( unalias) S 773 J ( @) S E
2880 6792 P B (do) S 1207 J ( goto) S 1040 J ( setenv) S 851 J ( unlocal) S E
2520 7176 P 0 12 F 26 10 F (Anywhere:) S
2160 7560 P () S 720 J ( \() S 50 J ( \) < > & | ;) S
2520 7944 P (In an expression:) S
2160 8328 P () S 720 J ( +) S 50 J ( - * / % =) S
2880 8712 P (Similarly,) S 54 J ( labels) S 55 J ( cannot) S 54 J ( be) S 55 J ( run-time) S 54 J ( evaluated) S 55 J ( to) S 54 J ( see) S 55 J ( what) S 54 J ( the) S 55 J ( label) S 54 J ( on) S 55 J ( a statement is;) S
2160 8976 P (it) S 50 J ( must be evaluated when the statement is first parsed.) S
2160 9840 P 0 12 F 8 12 F B (Extensions:) S E
2160 10344 P 0 12 F 26 10 F (1.) S 570 J ( Command) S 50 J ( line editing with the arrow keys, etc., and the ) S 0 12 F 26 10 F B (setkey) S E 0 12 F 26 10 F () S 50 J ( statements are new.) S
2160 10848 P (2.) S 570 J ( The) S 76 J ( procedure) S 77 J ( mechanism,) S 76 J ( including the ) S 0 12 F 26 10 F B (proc) S E 0 12 F 26 10 F (,) S 76 J ( ) S 0 12 F 26 10 F B (unproc) S E 0 12 F 26 10 F () S 76 J ( and ) S 0 12 F 26 10 F B (return) S E 0 12 F 26 10 F () S 76 J ( statements and) S
2880 11112 P (the) S 50 J ( various built-in procedures, is new.) S
2160 11616 P (3.) S 570 J ( Local) S 50 J ( variables and ) S 0 12 F 26 10 F B (local) S E 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 26 10 F B (unlocal) S E 0 12 F 26 10 F () S 50 J ( statements are new.) S
2160 12120 P (4.) S 570 J ( The) S 135 J ( use) S 136 J ( of) S 135 J ( color) S 136 J ( highlighting) S 135 J ( to indicate exception situations in filename or) S
2880 12384 P (command) S 50 J ( completion is new.) S
2160 12888 P (5.) S 570 J ( The) S 59 J ( ) S 0 12 F 26 10 F B (for) S E 0 12 F 26 10 F () S 60 J ( statement,) S 59 J ( providing) S 60 J ( numeric) S 59 J ( iteration,) S 60 J ( and) S 59 J ( the) S 60 J ( ) S 0 12 F 26 10 F B (calc) S E 0 12 F 26 10 F () S 59 J ( statement,) S 60 J ( which) S 59 J ( writes) S
2880 13152 P (the) S 50 J ( result of expression evaluation to stdout, are new.) S
2160 13656 P (6.) S 570 J ( The) S 50 J ( ``**'' and ``**='' exponentiation operators are new.) S
2160 14160 P (7.) S 570 J ( Floating) S 50 J ( point arithmetic is new.) S
5781 15384 P (Page ) S (131) S 0 12 F
PE
720 984 P 8 12 F B (Compatibility) S E
1800 1704 P 0 12 F 26 10 F (8.) S 570 J ( The) S 72 J ( path) S 73 J ( hashing) S 72 J ( mechanism) S 73 J ( is) S 72 J ( substantially) S 73 J ( less) S 72 J ( sensitive) S 73 J ( to) S 72 J ( blindspots) S 73 J ( caused by) S
2520 1968 P (creating) S 59 J ( a new executable in one of the path directories and not manually specifying) S
2520 2232 P (rehash.) S 63 J ( ) S 64 J ( The) S 63 J ( UNIX) S 64 J ( C) S 63 J ( shell) S 64 J ( would) S 63 J ( not) S 64 J ( be) S 63 J ( able) S 64 J ( to) S 63 J ( find the new file; this shell makes a) S
2520 2496 P (second) S 52 J ( pass) S 53 J ( through) S 52 J ( the) S 53 J ( path directories whenever hashing fails, looking for this sort) S
2520 2760 P (of) S 63 J ( problem) S 64 J ( before) S 63 J ( it) S 64 J ( reports) S 63 J ( failure.) S 64 J ( ) S 63 J ( If it finds a blindspot, it automatically rehashes) S
2520 3024 P (that) S 50 J ( directory.) S
1800 3528 P (9.) S 570 J ( History) S 125 J ( references) S 126 J ( are) S 125 J ( allowed) S 126 J ( in) S 125 J ( the) S 126 J ( inline) S 125 J ( text) S 126 J ( supplied) S 125 J ( with the ``<<'' i/o) S
2520 3792 P (redirection) S 69 J ( mechanism.) S 70 J ( ) S 69 J ( Also,) S 70 J ( the) S 69 J ( inline) S 70 J ( text) S 69 J ( is remembered in the history list, each) S
2520 4056 P (line) S 59 J ( as) S 60 J ( a) S 59 J ( single word. This avoids the user having to remember and retype the inline) S
2520 4320 P (text any) S 60 J ( time) S 59 J ( one) S 60 J ( of) S 59 J ( these) S 60 J ( statements) S 59 J ( is) S 60 J ( recalled) S 59 J ( from) S 60 J ( the) S 59 J ( history) S 60 J ( list) S 59 J ( or) S 60 J ( if) S 59 J ( the history) S
2520 4584 P (list) S 50 J ( is dumped for use in a script file.) S
1800 5088 P (10.) S 470 J ( Exclusion) S 50 J ( ranges, e.g., ``[^a-z],'' can be used in a wildcard pattern.) S
1800 5592 P (11.) S 470 J ( Escape) S 56 J ( sequences) S 57 J ( to) S 56 J ( encode) S 57 J ( special) S 56 J ( characters) S 57 J ( \(e.g.,) S 56 J ( ``^a'') S 57 J ( for) S 56 J ( audible) S 57 J ( bell) S 56 J ( or) S 57 J ( ``^b'') S 56 J ( for) S
2520 5856 P (backspace\)) S 55 J ( are) S 56 J ( recognized) S 55 J ( in) S 56 J ( the) S 55 J ( arguments) S 56 J ( to) S 55 J ( any) S 56 J ( command,) S 55 J ( not) S 56 J ( just) S 55 J ( echo.) S 56 J ( Because) S
2520 6120 P (this) S 54 J ( processing) S 55 J ( is) S 54 J ( internal) S 55 J ( to) S 54 J ( the) S 55 J ( shell,) S 54 J ( it) S 55 J ( is) S 54 J ( not) S 55 J ( necessary) S 54 J ( to type two escapes in a row) S
2520 6384 P (to) S 50 J ( access this feature. \(Refer to the ) S 0 12 F 26 10 F B (echo) S E 0 12 F 26 10 F () S 50 J ( command help screen for a complete list.\)) S
1800 6888 P (12.) S 470 J ( Argument) S 60 J ( lists) S 61 J ( passed) S 60 J ( to) S 61 J ( a) S 60 J ( child) S 61 J ( process) S 60 J ( can) S 61 J ( be) S 60 J ( much) S 61 J ( larger) S 60 J ( than) S 61 J ( are) S 60 J ( allowed under) S
2520 7152 P (UNIX.) S 54 J ( ) S 55 J ( The) S 54 J ( UNIX) S 55 J ( C) S 54 J ( shell) S 55 J ( allows) S 54 J ( only) S 55 J ( roughly) S 54 J ( 6K) S 55 J ( characters) S 54 J ( to be passed, depending) S
2520 7416 P (on) S 52 J ( the) S 53 J ( revision) S 52 J ( level;) S 53 J ( this) S 52 J ( shell) S 53 J ( allows) S 52 J ( up) S 53 J ( to) S 52 J ( 64K) S 53 J ( to be passed to a child process under) S
2520 7680 P (OS/2) S 50 J ( or) S 51 J ( 32K) S 50 J ( under) S 51 J ( NT,) S 50 J ( the) S 51 J ( kernel) S 50 J ( limits) S 51 J ( on) S 50 J ( these systems. There is no command line) S
2520 7944 P (limit) S 73 J ( to) S 74 J ( an) S 73 J ( internal) S 74 J ( command such as ) S 0 12 F 26 10 F B (echo) S E 0 12 F 26 10 F (.) S 74 J ( This is of particular importance when) S
2520 8208 P (wildcarding) S 50 J ( is used heavily.) S
1800 8712 P (13.) S 470 J ( Quoted) S 62 J ( strings) S 63 J ( are) S 62 J ( shown) S 63 J ( in) S 62 J ( the) S 63 J ( history) S 62 J ( list) S 63 J ( exactly as they would have to be typed.) S
2520 8976 P (\(The) S 71 J ( Berkeley) S 72 J ( UNIX) S 71 J ( C) S 72 J ( shell) S 71 J ( marked a character as quoted by setting its high-order) S
2520 9240 P (bit;) S 76 J ( setting) S 77 J ( aside) S 76 J ( portability) S 77 J ( issues,) S 76 J ( it) S 77 J ( had) S 76 J ( the) S 77 J ( side-effect) S 76 J ( of) S 77 J ( not) S 76 J ( being) S 77 J ( visible) S 76 J ( in) S 77 J ( the) S
2520 9504 P (history) S 50 J ( list.\)) S
1800 10008 P (14.) S 470 J ( Parentheses) S 70 J ( in) S 71 J ( an) S 70 J ( argument) S 71 J ( list) S 70 J ( to) S 71 J ( an) S 70 J ( executable) S 71 J ( statement) S 70 J ( need) S 71 J ( not) S 70 J ( be escaped, so) S
2520 10272 P (long) S 88 J ( as) S 89 J ( they are matched. Semicolons, i/o redirection symbols, etc., inside these) S
2520 10536 P (parentheses) S 118 J ( are) S 119 J ( treated) S 118 J ( simply as text and are passed straight through to the) S
2520 10800 P (application.) S
1800 11304 P (15.) S 470 J ( The) S 50 J ( ``:b'' \(base\) and ``:#'' \(count\) editing operators are new.) S
1800 11808 P (16.) S 470 J ( The) S 50 J ( indefinite directory wildcard construct, ``) S 0 12 F 0 10 F (...) S 0 12 F 26 10 F ('',) S 50 J ( is new.) S
1800 12792 P 0 12 F 8 12 F B (Restrictions) S 67 J ( and unimplemented features:) S E
1800 13296 P 0 12 F 26 10 F (1.) S 570 J ( History) S 132 J ( references) S 133 J ( as way of picking up alias arguments are not supported.) S
2520 13560 P (Procedures) S 50 J ( should be used instead.) S
1800 14064 P (2.) S 570 J ( Job) S 52 J ( control) S 53 J ( is) S 52 J ( not) S 53 J ( supported.) S 52 J ( ) S 53 J ( Job) S 52 J ( control) S 53 J ( is not currently feasible under Windows NT) S
2520 14328 P (or) S 68 J ( OS/2) S 69 J ( because) S 68 J ( once) S 69 J ( one) S 68 J ( thread from any process within a window has started to) S
5781 15384 P (Page) S 50 J ( ) S (132) S 0 12 F
PE
9619 984 P 8 12 F B (Compatibility) S E
2880 1704 P 0 12 F 26 10 F (read) S 81 J ( the) S 82 J ( keyboard,) S 81 J ( the) S 82 J ( read) S 81 J ( can) S 82 J ( not) S 81 J ( be) S 82 J ( interrupted.) S 81 J ( ) S 82 J ( \(Fortunately,) S 81 J ( one) S 82 J ( can) S 81 J ( always) S
2880 1968 P (open) S 50 J ( more windows.\)) S
2160 2472 P (3.) S 570 J ( The) S 55 J ( use) S 56 J ( of ``\\!'' inside a prompt string to get the statement number is not supported.) S
2880 2736 P (Use) S 50 J ( $@ or $stmtnumber instead.) S
2160 3240 P (4.) S 570 J ( The) S 64 J ( following) S 65 J ( statements,) S 64 J ( all) S 65 J ( fairly) S 64 J ( specific) S 65 J ( to) S 64 J ( UNIX,) S 65 J ( are) S 64 J ( not) S 65 J ( supported: alloc, glob,) S
2880 3504 P (limit,) S 50 J ( notify, stop.) S
2160 4008 P (5.) S 570 J ( The) S 68 J ( comment) S 69 J ( character,) S 68 J ( #,) S 69 J ( must) S 68 J ( be) S 69 J ( followed) S 68 J ( by some white space to be considered) S
2880 4272 P (the) S 83 J ( start) S 84 J ( of) S 83 J ( a) S 84 J ( valid) S 83 J ( comment.) S 84 J ( ) S 83 J ( \(That's because # is a legal character in a filename) S
2880 4536 P (under) S 50 J ( both NT and OS/2.\)) S
2160 5520 P 0 12 F 8 12 F B (Adaptation) S 67 J ( for OS/2 and NT:) S E
2160 6024 P 0 12 F 26 10 F (1.) S 570 J ( OS/2) S 103 J ( and) S 104 J ( Win32) S 103 J ( NT) S 104 J ( do) S 103 J ( not) S 104 J ( provide a fork\() S 50 J ( \)) S 104 J ( call for inexpensively cloning an) S
2880 6288 P (independent) S 90 J ( copy) S 91 J ( of) S 90 J ( a) S 91 J ( running) S 90 J ( process,) S 91 J ( complete) S 90 J ( with) S 91 J ( its) S 90 J ( own) S 91 J ( separate memory) S
2880 6552 P (image.) S 95 J ( Instead, OS/2 and NT provide a faster alternative called threads, which) S
2880 6816 P (creates) S 52 J ( an) S 53 J ( separately) S 52 J ( scheduled) S 53 J ( flow) S 52 J ( of) S 53 J ( control) S 52 J ( through) S 53 J ( the) S 52 J ( memory) S 53 J ( space of a single) S
2880 7080 P (process.) S
2160 7584 P () S 720 J ( In) S 62 J ( general,) S 63 J ( the) S 62 J ( Hamilton) S 63 J ( C) S 62 J ( shell) S 63 J ( spawns) S 62 J ( a) S 63 J ( new) S 62 J ( thread) S 63 J ( anywhere) S 62 J ( the Berkeley UNIX) S
2880 7848 P (C) S 59 J ( shell) S 60 J ( would) S 59 J ( have) S 60 J ( used) S 59 J ( a) S 60 J ( process.) S 59 J ( ) S 60 J ( Using) S 59 J ( a) S 60 J ( new) S 59 J ( thread) S 60 J ( instead) S 59 J ( of) S 60 J ( a new invocation) S
2880 8112 P (of) S 68 J ( the) S 69 J ( Hamilton C shell saves over a second each time. Individual threads manage) S
2880 8376 P (their) S 99 J ( own) S 100 J ( notions of current directories and current disk and certain per-thread) S
2880 8640 P (variables) S 105 J ( but) S 106 J ( the) S 105 J ( dictionary) S 106 J ( of) S 105 J ( aliases,) S 106 J ( procedures) S 105 J ( and) S 106 J ( most) S 105 J ( variables) S 106 J ( is) S 105 J ( shared) S
2880 8904 P (among) S 50 J ( all threads.) S
2160 9408 P () S 720 J ( The) S 93 J ( result) S 94 J ( is) S 93 J ( that) S 94 J ( background) S 93 J ( activities) S 94 J ( and) S 93 J ( C shell scripts can change variables,) S
2880 9672 P (define) S 54 J ( procedures,) S 55 J ( etc.,) S 54 J ( for) S 55 J ( use by the other threads. For example, procedures can be) S
2880 9936 P (written) S 50 J ( as self-loading scripts. \(See the whereis.csh file for an example.\)) S
2160 10440 P (2.) S 570 J ( OS/2) S 61 J ( and NT conventions are followed: either the ``\\'' or the ``/'' characters can be) S
2880 10704 P (used) S 63 J ( in) S 64 J ( a) S 63 J ( filename;) S 64 J ( the) S 63 J ( ``^'') S 64 J ( character) S 63 J ( is normally the escape character; directories in) S
2880 10968 P (the) S 50 J ( ) S 0 12 F 26 10 F B (PATH) S E 0 12 F 26 10 F () S 50 J ( environment variable are separated by semicolons, etc.) S
2160 11472 P (3.) S 570 J ( Labels) S 78 J ( cannot) S 79 J ( be) S 78 J ( a) S 79 J ( single) S 78 J ( letter.) S 79 J ( ) S 78 J ( \(This) S 79 J ( is) S 78 J ( to) S 79 J ( avoid) S 78 J ( confusing) S 79 J ( the drive letter in the) S
2880 11736 P (pathname) S 50 J ( of an executable file as a label.\)) S
2160 12240 P (4.) S 570 J ( Since) S 57 J ( OS/2 and most NT filenames are case-insensitive, they are routinely translated) S
2880 12504 P (to) S 167 J ( lower) S 168 J ( case) S 167 J ( for) S 168 J ( better) S 167 J ( readability.) S 168 J ( \(This can be overridden using the) S
2880 12768 P 0 12 F 26 10 F B (MIXEDCASEDRIVES) S E 0 12 F 26 10 F () S 50 J ( variable.\)) S
2160 13272 P (5.) S 570 J ( Executable) S 96 J ( files) S 97 J ( are) S 96 J ( recognized) S 97 J ( by) S 96 J ( their) S 97 J ( extension.) S 96 J ( ) S 97 J ( The) S 96 J ( following) S 97 J ( extensions are) S
2880 13536 P (recognized) S 62 J ( \(in) S 63 J ( this) S 62 J ( order\):) S 63 J ( ) S 62 J ( .csh,) S 63 J ( .exe,) S 62 J ( .com, .cmd, .bat. .csh files are interpreted as C) S
2880 13800 P (shell) S 60 J ( scripts) S 61 J ( by) S 60 J ( a) S 61 J ( new) S 60 J ( thread,) S 61 J ( .exe and .com files are executed with the DosExecPgm) S
2880 14064 P (and) S 73 J ( DosStartSession) S 74 J ( kernel) S 73 J ( functions) S 74 J ( under) S 73 J ( OS/2) S 74 J ( or with the CreateProcess kernel) S
2880 14328 P (function) S 79 J ( under) S 80 J ( NT,) S 79 J ( .cmd files are interpreted by a child process running cmd.exe,) S
5781 15384 P (Page) S 50 J ( ) S (133) S 0 12 F
PE
720 984 P 8 12 F B (Compatibility) S E
2520 1704 P 0 12 F 26 10 F (and) S 88 J ( .bat) S 89 J ( files) S 88 J ( are) S 89 J ( passed) S 88 J ( to) S 89 J ( a) S 88 J ( Virtual) S 89 J ( DOS) S 88 J ( machine) S 89 J ( \(VDM\)) S 88 J ( under) S 89 J ( OS/2) S 88 J ( 2.x) S 89 J ( or) S 88 J ( to) S
2520 1968 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F () S 50 J ( under NT.) S
1800 2472 P (6.) S 570 J ( ) S 0 12 F 26 10 F B (PROMPT1) S E 0 12 F 26 10 F () S 98 J ( and) S 99 J ( ) S 0 12 F 26 10 F B (PROMPT2) S E 0 12 F 26 10 F () S 98 J ( variables) S 99 J ( are) S 98 J ( used) S 99 J ( to) S 98 J ( set the primary and secondary) S
2520 2736 P (prompt) S 73 J ( strings.) S 74 J ( Using the UNIX C shell variable ) S 0 12 F 26 10 F B (PROMPT) S E 0 12 F 26 10 F () S 74 J ( would have conflicted) S
2520 3000 P (with) S 84 J ( cmd.exe's) S 85 J ( use) S 84 J ( of) S 85 J ( the) S 84 J ( same) S 85 J ( name) S 84 J ( and would have meant a nonsense prompt) S
2520 3264 P (string) S 50 J ( any time either command processor was invoked by other.) S
1800 3768 P (7.) S 570 J ( The) S 73 J ( following) S 74 J ( startup) S 73 J ( or) S 74 J ( other) S 73 J ( files) S 74 J ( have) S 73 J ( been) S 74 J ( renamed to be more consistent with) S
2520 4032 P (OS/2) S 142 J ( and) S 143 J ( NT filename conventions: ~/.cshrc as ~\\startup.csh; ~/.login as) S
2520 4296 P (~\\login.csh;) S 132 J ( ~/.logout) S 133 J ( as) S 132 J ( ~\\logout.csh;) S 133 J ( and) S 132 J ( ~/.history) S 133 J ( as) S 132 J ( ~\\history.csh.) S 133 J ( The) S
2520 4560 P (~\\login.csh) S 56 J ( file) S 57 J ( is) S 56 J ( read) S 57 J ( before,) S 56 J ( rather than after the ~\\startup.csh file. When starting) S
2520 4824 P (the) S 64 J ( shell) S 65 J ( as) S 64 J ( a) S 65 J ( new) S 64 J ( session,) S 65 J ( very) S 64 J ( little) S 65 J ( environmental) S 64 J ( information) S 65 J ( may be passed; the) S
2520 5088 P (login.csh) S 107 J ( is) S 108 J ( more) S 107 J ( usefully) S 108 J ( the) S 107 J ( first) S 108 J ( file) S 107 J ( read) S 108 J ( in this situation. When starting a) S
2520 5352 P (subshell,) S 63 J ( either) S 64 J ( from) S 63 J ( csh.exe) S 64 J ( or) S 63 J ( cmd.exe,) S 64 J ( the environment is presumably already set) S
2520 5616 P (up.) S
1800 6600 P 0 12 F 8 12 F B (Berkeley) S 67 J ( Compatibility Mode:) S E
2520 7104 P 0 12 F 26 10 F (Berkeley) S 88 J ( Compatibility) S 89 J ( Mode) S 88 J ( provides) S 89 J ( fairly) S 88 J ( strict) S 89 J ( compatibility) S 88 J ( with) S 89 J ( the) S 88 J ( original) S
1800 7368 P (BSD) S 52 J ( C) S 53 J ( shell. Triggered by trying to run a script that starts with ) S 0 12 F 0 10 F (#!/bin/csh) S 0 12 F 26 10 F () S 53 J ( or interactively) S
1800 7632 P (if) S 52 J ( the) S 53 J ( shell) S 52 J ( is) S 53 J ( invoked) S 52 J ( with) S 53 J ( the) S 52 J ( ) S 0 12 F 0 10 F (-B) S 0 12 F 26 10 F () S 53 J ( option,) S 52 J ( it) S 53 J ( causes) S 52 J ( the) S 53 J ( C) S 52 J ( shell to process statements in a more) S
1800 7896 P (fully) S 72 J ( Berkeley-compatible) S 73 J ( fashion.) S 72 J ( ) S 73 J ( \(Scripts) S 72 J ( that do not start with ) S 0 12 F 0 10 F (#!/bin/csh) S 0 12 F 26 10 F () S 72 J ( will still be) S
1800 8160 P (processed) S 94 J ( according) S 95 J ( to Hamilton C shell rules, even if the ) S 0 12 F 0 10 F (-B) S 0 12 F 26 10 F () S 95 J ( option is used to request) S
1800 8424 P (Berkeley) S 50 J ( compatibility interactively.\) In compatibility mode:) S
1800 8808 P (1.) S 570 J ( The) S 54 J ( ) S 0 12 F 26 10 F B (status) S E 0 12 F 26 10 F () S 55 J ( variable) S 54 J ( will reflect the return code from the rightmost stage of a pipeline.) S
2520 9072 P (The) S 50 J ( ) S 0 12 F 26 10 F B (tailstatus) S E 0 12 F 26 10 F () S 50 J ( variable will be ignored.) S
1800 9576 P (2.) S 570 J ( All) S 77 J ( the shell variables will be snapshotted and all new variables made local to the) S
2520 9840 P (thread.) S
1800 10344 P (3.) S 570 J ( Berkeley-style) S 55 J ( ) S 0 12 F 26 10 F B ($) S E 0 12 F 26 10 F I (var) S E 0 12 F 26 10 F B ([...]) S E 0 12 F 26 10 F () S 56 J ( indexing) S 55 J ( notation) S 56 J ( will) S 55 J ( be) S 56 J ( used,) S 55 J ( where) S 56 J ( the) S 55 J ( indexing) S 56 J ( is) S 55 J ( by word) S
2520 10608 P (selection) S 50 J ( operators \(like the ) S 0 12 F 0 10 F (:) S 0 12 F 26 10 F (-editing) S 50 J ( operators\) rather than by expression.) S
1800 11112 P (4.) S 570 J ( All) S 63 J ( variable) S 64 J ( arrays) S 63 J ( \(except) S 64 J ( ) S 0 12 F 26 10 F B (argv) S E 0 12 F 26 10 F (\)) S 63 J ( will) S 64 J ( start) S 63 J ( with) S 64 J ( element) S 63 J ( 1.) S 64 J ( Accessing element 0 will) S
2520 11376 P (give) S 50 J ( a null.) S
1800 11880 P (5.) S 570 J ( ) S 0 12 F 26 10 F B ($0) S E 0 12 F 26 10 F () S 63 J ( or) S 64 J ( ) S 0 12 F 26 10 F B ($argv[0]) S E 0 12 F 26 10 F () S 63 J ( will be the scriptname. ) S 0 12 F 26 10 F B ($argv) S E 0 12 F 26 10 F () S 63 J ( will be the rest of the argument vector.) S
2520 12144 P (The) S 50 J ( ) S 0 12 F 26 10 F B (bsdargv) S E 0 12 F 26 10 F () S 50 J ( variable will be ignored.) S
1800 12648 P (6.) S 570 J ( The) S 51 J ( ) S 0 12 F 26 10 F B (#) S 52 J ( ) S E 0 12 F 26 10 F (character) S 51 J ( will) S 52 J ( not) S 51 J ( need) S 52 J ( to) S 51 J ( be) S 52 J ( followed) S 51 J ( by) S 52 J ( white) S 51 J ( space) S 52 J ( to) S 51 J ( be) S 52 J ( considered the start) S
2520 12912 P (of) S 50 J ( a comment.) S
1800 13416 P (7.) S 570 J ( The) S 67 J ( patterns) S 68 J ( in) S 67 J ( a) S 68 J ( ) S 0 12 F 26 10 F B (case) S E 0 12 F 26 10 F () S 67 J ( test) S 68 J ( \(inside) S 67 J ( a) S 68 J ( ) S 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F (\)) S 67 J ( will) S 68 J ( be) S 67 J ( strings) S 68 J ( and) S 67 J ( need) S 68 J ( not) S 67 J ( be quoted,) S
2520 13680 P (rather) S 70 J ( than) S 71 J ( arbitrary) S 70 J ( expressions.) S 71 J ( ) S 70 J ( Also,) S 71 J ( the) S 70 J ( switch) S 71 J ( value is evaluated as a wordlist) S
2520 13944 P (which) S 108 J ( may) S 109 J ( contain) S 108 J ( variable) S 109 J ( or) S 108 J ( command) S 109 J ( substitutions and wildcards and then) S
2520 14208 P (rendered) S 50 J ( as a string.) S
5781 15384 P (Page ) S (134) S 0 12 F
PE
9619 984 P 8 12 F B (Compatibility) S E
2160 1704 P 0 12 F 26 10 F (8.) S 570 J ( ) S 0 12 F 26 10 F B (endif) S E 0 12 F 26 10 F () S 66 J ( and) S 67 J ( ) S 0 12 F 26 10 F B (endsw) S E 0 12 F 26 10 F () S 67 J ( will be predefined aliases for ) S 0 12 F 26 10 F B (end) S E 0 12 F 26 10 F () S 67 J ( \(but only when closing an ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 67 J ( or) S
2880 1968 P 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F (,) S 50 J ( respectively\). ) S 0 12 F 26 10 F B (breaksw) S E 0 12 F 26 10 F () S 50 J ( will be a pre-defined alias for ) S 0 12 F 26 10 F B (break) S E 0 12 F 26 10 F (.) S
2160 2472 P (9.) S 570 J ( ``) S 0 12 F 26 10 F B (set) S 50 J ( foo) S E 0 12 F 26 10 F ('') S 50 J ( and ``) S 0 12 F 26 10 F B (setenv) S 50 J ( foo) S E 0 12 F 26 10 F ('') S 50 J ( will set ) S 0 12 F 26 10 F B (foo) S E 0 12 F 26 10 F () S 50 J ( to a null string, not dump its value.) S
2160 2976 P (10.) S 470 J ( ) S 0 12 F 26 10 F B (/) S E 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 26 10 F B (/=) S E 0 12 F 26 10 F () S 50 J ( will perform integer division.) S
2160 3480 P (11.) S 470 J ( The) S 80 J ( right) S 81 J ( operand) S 80 J ( of) S 81 J ( the) S 80 J ( ) S 0 12 F 26 10 F B (=~) S E 0 12 F 26 10 F () S 81 J ( and) S 80 J ( ) S 0 12 F 26 10 F B (!~) S E 0 12 F 26 10 F () S 81 J ( pattern) S 80 J ( matching) S 81 J ( operators) S 80 J ( will) S 81 J ( be) S 80 J ( taken) S 81 J ( as a) S
2880 3744 P (word) S 50 J ( which may contain wildcards.) S
2160 4248 P (12.) S 470 J ( In) S 55 J ( an) S 56 J ( expression,) S 55 J ( a) S 56 J ( variable) S 55 J ( name) S 56 J ( must) S 55 J ( be) S 56 J ( preceded) S 55 J ( by) S 56 J ( ) S 0 12 F 26 10 F B ($) S E 0 12 F 26 10 F (.) S 55 J ( ) S 56 J ( If) S 55 J ( it isn't, it'll be taken as a) S
2880 4512 P (literal) S 50 J ( string.) S
2880 5016 P (These) S 67 J ( changes) S 68 J ( should) S 67 J ( allow) S 68 J ( most) S 67 J ( scripts) S 68 J ( to) S 67 J ( run without problems. However, there) S
2160 5280 P (will) S 50 J ( still be a few differences:) S
2160 5664 P (1.) S 570 J ( The) S 54 J ( escape) S 55 J ( character) S 54 J ( will still be controlled by the ) S 0 12 F 26 10 F B (escapesym) S E 0 12 F 26 10 F () S 54 J ( variable \(shared across) S
2880 5928 P (all) S 50 J ( threads\), which defaults to ) S 0 12 F 26 10 F B (^) S E 0 12 F 26 10 F (,) S 50 J ( not ) S 0 12 F 26 10 F B (\\) S E 0 12 F 26 10 F (.) S
2160 6432 P (2.) S 570 J ( Environmental) S 65 J ( variables) S 66 J ( will) S 65 J ( still) S 66 J ( be) S 65 J ( shared.) S 66 J ( ) S 65 J ( Changing) S 66 J ( them) S 65 J ( in) S 66 J ( a) S 65 J ( script) S 66 J ( will change) S
2880 6696 P (them) S 50 J ( as seen by the parent.) S
2160 7200 P (3.) S 570 J ( The) S 50 J ( special meaning of several ) S 0 12 F 26 10 F B (break) S E 0 12 F 26 10 F () S 50 J ( statements on one line will not be supported.) S
2160 7704 P (4.) S 570 J ( ) S 0 12 F 26 10 F B (unset) S E 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 26 10 F B (unsetenv) S E 0 12 F 26 10 F () S 50 J ( still do not accept patterns.) S
2160 8208 P (5.) S 570 J ( The) S 58 J ( following) S 59 J ( commands are not supported: ) S 0 12 F 26 10 F B (bg) S E 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 26 10 F B (exec) S E 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 26 10 F B (fg) S E 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 26 10 F B (glob) S E 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 26 10 F B (jobs) S E 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 26 10 F B (limit) S E 0 12 F 26 10 F (,) S 59 J ( ) S 0 12 F 26 10 F B (nice) S E 0 12 F 26 10 F () S 59 J ( \(but) S
2880 8472 P 0 12 F 26 10 F B (eval) S E 0 12 F 26 10 F () S 50 J ( gives similar functionality\), ) S 0 12 F 26 10 F B (nohup) S E 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 26 10 F B (notify) S E 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 26 10 F B (stop) S E 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 26 10 F B (suspend) S E 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 26 10 F B (unlimit) S E 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 26 10 F B (%) S E 0 12 F 26 10 F I (job) S E 0 12 F 26 10 F (.) S
2160 8976 P (6.) S 570 J ( History) S 50 J ( references inside ) S 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F () S 50 J ( definitions will still not be supported.) S
5781 15384 P (Page ) S (135) S 0 12 F
PE
720 984 P 8 12 F B (Compatibility) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (136) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4724 2304 P 0 12 F 8 16 F B (Language) S 89 J ( Reference) S E
2160 3528 P 0 12 F 8 12 F B (Basic) S 67 J ( Statements:) S E
2880 4032 P 0 12 F 26 10 F (Same) S 50 J ( as ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 10 F (:) S 50 J ( a file reference + arguments.) S
3600 4536 P 0 12 F 26 12 F (Examples:) S 346 J ( ) S 0 12 F 0 12 F (cl) S 144 J ( -AS -G2 -Zi hello.c) S
3600 4800 P () S 360 J ( cp) S 144 J ( hello.exe c:\\os2\\bin) S
2880 5304 P 0 12 F 26 10 F (Hamilton) S 68 J ( C) S 69 J ( shell) S 68 J ( maintains) S 69 J ( a hash structure which allows it to quickly search for a) S
2880 5568 P (suitable) S 60 J ( ) S 0 12 F 0 10 F (.csh) S 0 12 F 26 10 F (,) S 61 J ( ) S 0 12 F 0 10 F (.exe) S 0 12 F 26 10 F (,) S 60 J ( ) S 0 12 F 0 10 F (.com) S 0 12 F 26 10 F (,) S 61 J ( ) S 0 12 F 0 10 F (.cmd) S 0 12 F 26 10 F () S 60 J ( or) S 61 J ( \(on) S 60 J ( OS/2) S 61 J ( 2.x) S 60 J ( or NT\) ) S 0 12 F 0 10 F (.bat) S 0 12 F 26 10 F () S 60 J ( file \(in that order\) in) S
2880 5832 P (each) S 83 J ( of) S 84 J ( as) S 83 J ( many) S 84 J ( as) S 83 J ( 256) S 84 J ( path) S 83 J ( directories.) S 84 J ( ) S 83 J ( Wildcarding) S 84 J ( is) S 83 J ( done) S 84 J ( by) S 83 J ( the) S 84 J ( shell before) S
2880 6096 P (invoking) S 60 J ( the) S 61 J ( child.) S 60 J ( ) S 61 J ( Under) S 60 J ( OS/2,) S 61 J ( up) S 60 J ( to) S 61 J ( 64K) S 60 J ( of) S 61 J ( environmental) S 60 J ( and 64K of command-) S
2880 6360 P (line) S 108 J ( argument) S 109 J ( data) S 108 J ( can be passed to a child process; under NT, up to 32K of) S
2880 6624 P (command-line) S 52 J ( data) S 53 J ( can) S 52 J ( be passed. These are the limits of the kernels, not the C shell;) S
2880 6888 P (there) S 50 J ( is no limit on overall command line length in the C shell itself.) S
2160 7632 P 0 12 F 8 12 F B (Condition-Testing:) S E
2880 8136 P 0 12 F 26 10 F (Hamilton) S 61 J ( C) S 62 J ( shell) S 61 J ( provides) S 62 J ( both) S 61 J ( ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 62 J ( and) S 61 J ( ) S 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F () S 62 J ( constructs.) S 61 J ( ) S 62 J ( The) S 61 J ( ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 62 J ( statement) S 61 J ( comes) S 62 J ( in) S
2880 8400 P (both) S 94 J ( short) S 95 J ( and) S 94 J ( long) S 95 J ( forms.) S 94 J ( ) S 95 J ( The) S 94 J ( long) S 95 J ( form uses a ) S 0 12 F 26 10 F B (then) S E 0 12 F 26 10 F () S 95 J ( keyword and allows an) S
2880 8664 P (optional) S 78 J ( ) S 0 12 F 26 10 F B (else) S E 0 12 F 26 10 F () S 79 J ( clause.) S 78 J ( ) S 79 J ( The) S 78 J ( short) S 79 J ( form,) S 78 J ( which) S 79 J ( must) S 78 J ( be) S 79 J ( typed) S 78 J ( on one line, dispenses) S
2880 8928 P (with) S 56 J ( the) S 57 J ( ) S 0 12 F 26 10 F B (then) S E 0 12 F 26 10 F () S 56 J ( keyword) S 57 J ( and) S 56 J ( accepts) S 57 J ( a) S 56 J ( single statement to be executed if the condition) S
2880 9192 P (is) S 50 J ( satisfied.) S
3600 9696 P 0 12 F 26 12 F B (if) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3600 9960 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 10224 P 0 12 F 26 12 F B (else) S E
3600 10488 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 10752 P 0 12 F 26 12 F B (end) S E
3600 11256 P B (if) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3600 11520 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 11784 P 0 12 F 26 12 F B (end) S E
3600 12288 P B (if) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S E 0 12 F 26 12 F () S 60 J ( <statement>) S
2880 12792 P 0 12 F 26 10 F (Where) S 111 J ( an) S 112 J ( expression) S 111 J ( is) S 112 J ( expected,) S 111 J ( a) S 112 J ( conventional) S 111 J ( high) S 112 J ( level) S 111 J ( language) S 112 J ( syntax is) S
2880 13056 P (accepted:) S 78 J ( ) S 79 J ( e.g.,) S 78 J ( names) S 79 J ( refer) S 78 J ( to) S 79 J ( variables,) S 78 J ( `) S 0 12 F 0 10 F (*) S 0 12 F 26 10 F (') S 79 J ( means) S 78 J ( multiply, not wildcard and ) S 0 12 F 0 10 F (`>) S 0 12 F 26 10 F (') S
2880 13320 P (means) S 50 J ( greater than, not i/o redirection.) S
5781 15384 P (Page ) S (137) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
2520 2472 P 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 51 J ( statements) S 52 J ( can) S 51 J ( also) S 52 J ( be) S 51 J ( chained) S 52 J ( using) S 51 J ( the) S 52 J ( ) S 0 12 F 26 10 F B (elif) S E 0 12 F 26 10 F () S 51 J ( keyword.) S 52 J ( ) S 51 J ( The) S 52 J ( last) S 51 J ( ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 51 J ( in the chain may) S
2520 2736 P (be) S 50 J ( either a short- or a long-form ) S 0 12 F 26 10 F B (if) S E 0 12 F 26 10 F () S 50 J ( statement.) S
3240 3240 P 0 12 F 26 12 F B (if) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3240 3504 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 3768 P 0 12 F 26 12 F B (elif) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3240 4032 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 4296 P 0 12 F 26 12 F B (else) S E
3240 4560 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 4824 P 0 12 F 26 12 F B (end) S E
3240 5328 P B (if) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3240 5592 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 5856 P 0 12 F 26 12 F B (elif) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3240 6120 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 6384 P 0 12 F 26 12 F B (end) S E
3240 6888 P B (if) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( then) S E
3240 7152 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 7416 P 0 12 F 26 12 F B (elif) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S 60 J ( ) S E 0 12 F 26 12 F () S 60 J ( <statement>) S
2520 7920 P 0 12 F 26 10 F (In) S 120 J ( a) S 121 J ( ) S 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F () S 120 J ( statement,) S 121 J ( expressions) S 120 J ( are) S 121 J ( compared) S 120 J ( by) S 121 J ( pattern) S 120 J ( match:) S 121 J ( the ) S 0 12 F 26 10 F B (case) S E
2520 8184 P 0 12 F 26 10 F (expression) S 72 J ( can) S 73 J ( be) S 72 J ( a) S 73 J ( string with wildcard characters. Comparisons are made down) S
2520 8448 P (the) S 56 J ( list) S 57 J ( of) S 56 J ( alternatives) S 57 J ( until) S 56 J ( one) S 57 J ( matches.) S 56 J ( ) S 57 J ( All following statements are executed until) S
2520 8712 P (a) S 83 J ( ) S 0 12 F 26 10 F B (break) S E 0 12 F 26 10 F () S 84 J ( is) S 83 J ( encountered.) S 84 J ( ) S 83 J ( A) S 84 J ( ) S 0 12 F 26 10 F B (default) S E 0 12 F 26 10 F () S 83 J ( clause) S 84 J ( is) S 83 J ( optional) S 84 J ( but) S 83 J ( is) S 84 J ( always satisfied if no) S
2520 8976 P (other) S 50 J ( ) S 0 12 F 26 10 F B (case) S E 0 12 F 26 10 F () S 50 J ( matches.) S
3240 9480 P 0 12 F 26 12 F B (switch) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S E
3240 9744 P 0 12 F 26 12 F () S 360 J ( ) S 0 12 F 26 12 F B (case) S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (:) S E
3240 10008 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 10272 P ( ) S 0 12 F 26 12 F B (case) S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (:) S E
3240 10536 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 10800 P ( ) S 0 12 F 26 12 F B (default) S E 0 12 F 26 12 F () S 60 J ( ) S 0 12 F 26 12 F B (:) S E
3240 11064 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3240 11328 P 0 12 F 26 12 F B (end) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (138) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
2160 2712 P B (Iteration:) S E
3600 3216 P 0 12 F 26 12 F B (foreach) S E 0 12 F 26 12 F () S 60 J ( <name> ) S 0 12 F 26 12 F B (\() S E 0 12 F 26 12 F () S 60 J ( <word list> ) S 0 12 F 26 12 F B (\)) S E
3600 3480 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 3744 P 0 12 F 26 12 F B (end) S E
3600 4248 P B (for) S E 0 12 F 26 12 F () S 60 J ( <name> ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( <expr> [ ) S 0 12 F 26 12 F B (to) S E 0 12 F 26 12 F () S 60 J ( <expr> ] [ ) S 0 12 F 26 12 F B (by) S E 0 12 F 26 12 F () S 60 J ( <expr> ] ) S 0 12 F 26 12 F B (do) S E
3600 4512 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 4776 P 0 12 F 26 12 F B (end) S E
3600 5280 P B (while) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S E
3600 5544 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 5808 P 0 12 F 26 12 F B (end) S E
3600 6312 P B (repeat) S E 0 12 F 26 12 F () S 60 J ( <number> <statement>) S
3600 6816 P 0 12 F 26 12 F B (repeat) S E
3600 7080 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 7344 P 0 12 F 26 12 F B (until) S 60 J ( \() S E 0 12 F 26 12 F () S 60 J ( <expr> ) S 0 12 F 26 12 F B (\)) S E
2880 7848 P 0 12 F 26 10 F (The) S 52 J ( ) S 0 12 F 26 10 F B (foreach) S E 0 12 F 26 10 F () S 53 J ( statement) S 52 J ( is) S 53 J ( intended) S 52 J ( for iteration over a list of words, often specified by) S
2880 8112 P (wildcarding. ) S 105 J ( The) S 104 J ( ) S 0 12 F 26 10 F B (for) S E 0 12 F 26 10 F () S 105 J ( statement) S 104 J ( offers) S 105 J ( the) S 104 J ( more) S 105 J ( conventional) S 104 J ( numeric) S 105 J ( iteration.) S
2880 8376 P (Multiple) S 133 J ( iteration) S 134 J ( ranges,) S 133 J ( separated) S 134 J ( by) S 133 J ( commas,) S 134 J ( can) S 133 J ( be) S 134 J ( specified) S 133 J ( on) S 134 J ( the) S 133 J ( ) S 0 12 F 26 10 F B (for) S E
2880 8640 P 0 12 F 26 10 F (statement.) S
2160 9384 P 0 12 F 8 12 F B (Procedures:) S E
3600 9888 P 0 12 F 26 12 F B (proc) S E 0 12 F 26 12 F () S 60 J ( <name> ) S 0 12 F 26 12 F B (\() S E 0 12 F 26 12 F () S 60 J ( [ <namelist> ] ) S 0 12 F 26 12 F B (\)) S E
3600 10152 P 0 12 F 26 12 F () S 360 J ( <statement_list>) S
3600 10416 P ( ) S 60 J ( ) S 0 12 F 26 12 F B (return) S E 0 12 F 26 12 F () S 60 J ( [ <expr> ]) S
3600 10680 P 0 12 F 26 12 F B (end) S E
3600 11184 P B (proc) S E
3600 11688 P B (unproc) S E 0 12 F 26 12 F () S 60 J ( <namelist>) S
2880 12192 P 0 12 F 26 10 F (Procedures) S 101 J ( defined) S 102 J ( by) S 101 J ( the) S 102 J ( ) S 0 12 F 26 10 F B (proc) S E 0 12 F 26 10 F () S 101 J ( statement) S 102 J ( can) S 101 J ( recursively) S 102 J ( call other procedures.) S
2880 12456 P (They) S 50 J ( can) S 51 J ( be) S 50 J ( referred) S 51 J ( to) S 50 J ( inside) S 51 J ( an) S 50 J ( expression) S 51 J ( or) S 50 J ( as) S 51 J ( a) S 50 J ( new) S 51 J ( command,) S 50 J ( in) S 51 J ( which) S 50 J ( case any) S
2880 12720 P (value) S 61 J ( returned) S 62 J ( is) S 61 J ( written) S 62 J ( to) S 61 J ( stdout.) S 62 J ( ) S 61 J ( The) S 62 J ( ) S 0 12 F 26 10 F B (proc) S E 0 12 F 26 10 F () S 61 J ( statement) S 62 J ( with) S 61 J ( no) S 62 J ( arguments) S 61 J ( causes) S 62 J ( a) S
2880 12984 P (list) S 111 J ( of) S 112 J ( the) S 111 J ( available) S 112 J ( procedures) S 111 J ( to) S 112 J ( be written. The ) S 0 12 F 26 10 F B (unproc) S E 0 12 F 26 10 F () S 112 J ( statement allows a) S
2880 13248 P (procedure) S 50 J ( to be discarded.) S
5781 15384 P (Page ) S (139) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
1800 2712 P B (Aliases:) S E
3240 3216 P 0 12 F 26 12 F B (alias) S E 0 12 F 26 12 F () S 60 J ( <name> [ ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( ] ) S 0 12 F 26 12 F B (\() S E 0 12 F 26 12 F () S 60 J ( <word list> ) S 0 12 F 26 12 F B (\)) S E
3240 3480 P B (alias) S E 0 12 F 26 12 F () S 60 J ( <name> [ ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( ] <word list>) S
3240 3984 P 0 12 F 26 12 F B (alias) S E
3240 4248 P B (alias) S E 0 12 F 26 12 F () S 60 J ( <name>) S
3240 4752 P 0 12 F 26 12 F B (unalias) S E 0 12 F 26 12 F () S 60 J ( <namelist>) S
2520 5256 P 0 12 F 26 10 F (Aliases) S 59 J ( can) S 60 J ( be) S 59 J ( referred) S 60 J ( to) S 59 J ( at) S 60 J ( the beginning of a command and provide a quick, user-) S
2520 5520 P (defined) S 70 J ( shorthand. ) S 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F () S 70 J ( <name> with no arguments prints the value of the name.) S
2520 5784 P 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F () S 50 J ( without any arguments prints the values of all aliases.) S
1800 6528 P 0 12 F 8 12 F B (Variable) S 67 J ( and Expression Manipulation:) S E
3240 7032 P 0 12 F 26 12 F B (@) S E 0 12 F 26 12 F () S 60 J ( <expr>) S
3240 7296 P 0 12 F 26 12 F B (calc) S E 0 12 F 26 12 F () S 60 J ( <expr>) S
2520 7800 P 0 12 F 26 10 F (The) S 96 J ( ) S 0 12 F 26 10 F B (@) S E 0 12 F 26 10 F () S 97 J ( and) S 96 J ( ) S 0 12 F 26 10 F B (calc) S E 0 12 F 26 10 F () S 96 J ( statements will each calculate the value of an expression; the ) S 0 12 F 26 10 F B (@) S E
2520 8064 P 0 12 F 26 10 F (statement) S 50 J ( does it silently while the ) S 0 12 F 26 10 F B (calc) S E 0 12 F 26 10 F () S 50 J ( statement writes the result to stdout.) S
3240 8568 P 0 12 F 26 12 F B (set) S E 0 12 F 26 12 F () S 60 J ( <named_ref> [ ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( ] ) S 0 12 F 26 12 F B (\() S E 0 12 F 26 12 F () S 60 J ( <word list> ) S 0 12 F 26 12 F B (\)) S E
3240 8832 P B (set) S E 0 12 F 26 12 F () S 60 J ( <named_ref> [ ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( ] <word list>) S
3240 9096 P 0 12 F 26 12 F B (setenv) S E 0 12 F 26 12 F () S 60 J ( <named_ref> [ ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( ] ) S 0 12 F 26 12 F B (\() S E 0 12 F 26 12 F () S 60 J ( <word list> ) S 0 12 F 26 12 F B (\)) S E
3240 9360 P B (setenv) S E 0 12 F 26 12 F () S 60 J ( <named_ref> [ ) S 0 12 F 26 12 F B (=) S E 0 12 F 26 12 F () S 60 J ( ] <word list>) S
3240 9624 P 0 12 F 26 12 F B (shift) S E 0 12 F 26 12 F () S 60 J ( [ <name> ]) S
3240 10128 P 0 12 F 26 12 F B (set) S E
3240 10392 P B (set) S E 0 12 F 26 12 F () S 60 J ( <name>) S
3240 10656 P 0 12 F 26 12 F B (setenv) S E
3240 10920 P B (setenv) S E 0 12 F 26 12 F () S 60 J ( <name>) S
3240 11424 P 0 12 F 26 12 F B (unset) S E 0 12 F 26 12 F () S 60 J ( <namelist>) S
3240 11688 P 0 12 F 26 12 F B (unsetenv) S E 0 12 F 26 12 F () S 60 J ( <namelist>) S
2520 12192 P 0 12 F 26 10 F (The) S 102 J ( ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F (,) S 103 J ( ) S 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 102 J ( and) S 103 J ( ) S 0 12 F 26 10 F B (shift) S E 0 12 F 26 10 F () S 102 J ( statements) S 103 J ( manipulate) S 102 J ( variables) S 103 J ( as words rather than) S
2520 12456 P (expressions.) S 64 J ( ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 64 J ( defines a set variable that's shared between all threads in the shell;) S
2520 12720 P 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 68 J ( puts) S 69 J ( it) S 68 J ( into) S 69 J ( the) S 68 J ( environment) S 69 J ( and) S 68 J ( inherited by child processes. ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 68 J ( or ) S 0 12 F 26 10 F B (setenv) S E
2520 12984 P 0 12 F 26 10 F (with) S 77 J ( no operands prints a list of all defined variables of that type. ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 50 J ( <name>) S 77 J ( or) S
2520 13248 P 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 50 J ( <name>) S 68 J ( with) S 69 J ( no) S 68 J ( arguments) S 69 J ( print) S 68 J ( the) S 69 J ( value) S 68 J ( of) S 69 J ( the) S 68 J ( named) S 69 J ( variable.) S 68 J ( ) S 0 12 F 26 10 F B (unset) S E 0 12 F 26 10 F () S 68 J ( or) S
2520 13512 P 0 12 F 26 10 F B (unsetenv) S E 0 12 F 26 10 F () S 50 J ( let you discard a variable.) S
5781 15384 P (Page ) S (140) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
2160 2712 P B (Local Variables:) S E
2880 3216 P 0 12 F 26 10 F (The) S 71 J ( ) S 0 12 F 26 10 F B (local) S E 0 12 F 26 10 F () S 71 J ( command lets you define a list of variable names that you don't to share) S
2880 3480 P (with) S 78 J ( other) S 79 J ( routines) S 78 J ( or) S 79 J ( other) S 78 J ( processes) S 79 J ( or) S 78 J ( threads) S 79 J ( \(except) S 78 J ( your) S 79 J ( own) S 78 J ( child threads\).) S
2880 3744 P (When) S 85 J ( you define a local variable it hides any previous definition from any outer) S
2880 4008 P (statement) S 53 J ( list.) S 54 J ( ) S 53 J ( \(But you are not permitted to redefine any of the built-in ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 53 J ( or ) S 0 12 F 26 10 F B (setenv) S E
2880 4272 P 0 12 F 26 10 F (variable) S 50 J ( names.\)) S
3600 4776 P 0 12 F 26 12 F B (local) S E 0 12 F 26 12 F () S 60 J ( <namelist>) S
3600 5040 P 0 12 F 26 12 F B (local) S E
2880 5544 P 0 12 F 26 10 F (The) S 54 J ( <namelist>) S 55 J ( should) S 54 J ( be) S 55 J ( typed) S 54 J ( with) S 55 J ( commas) S 54 J ( between) S 55 J ( the names. When you create) S
2880 5808 P (a) S 75 J ( new) S 76 J ( local) S 75 J ( variable,) S 76 J ( its) S 75 J ( initial) S 76 J ( value) S 75 J ( is) S 76 J ( always) S 75 J ( a) S 76 J ( null) S 75 J ( string.) S 76 J ( ) S 75 J ( Typing) S 76 J ( ) S 0 12 F 26 10 F B (local) S E 0 12 F 26 10 F () S 75 J ( with) S 76 J ( no) S
2880 6072 P (operands) S 50 J ( reports the currently defined and accessible local variables, if any.) S
2880 6576 P (When) S 56 J ( you) S 57 J ( spawn) S 56 J ( a) S 57 J ( child) S 56 J ( thread) S 57 J ( either) S 56 J ( implicitly,) S 57 J ( e.g.,) S 56 J ( to run the second or following) S
2880 6840 P (stage) S 57 J ( of) S 58 J ( a) S 57 J ( pipeline) S 58 J ( or) S 57 J ( explicitly,) S 58 J ( by) S 57 J ( typing) S 58 J ( an) S 57 J ( ampersand) S 58 J ( at) S 57 J ( the) S 58 J ( end) S 57 J ( of) S 58 J ( a command to) S
2880 7104 P (run) S 63 J ( it) S 64 J ( in) S 63 J ( the background all your current local variables are snapshotted and copied) S
2880 7368 P (to) S 54 J ( the) S 55 J ( child.) S 54 J ( ) S 55 J ( If,) S 54 J ( following) S 55 J ( that,) S 54 J ( either) S 55 J ( the parent or the child changes the value of any) S
2880 7632 P (of) S 50 J ( these local variables, it affects only its own copy.) S
2880 8136 P (Local) S 53 J ( variables) S 54 J ( are) S 53 J ( automatically) S 54 J ( discarded) S 53 J ( as) S 54 J ( soon as execution leaves the statement) S
2880 8400 P (nesting) S 59 J ( level in which the variable was created. You can also explicitly discard local) S
2880 8664 P (variables) S 50 J ( using the ) S 0 12 F 26 10 F B (unlocal) S E 0 12 F 26 10 F () S 50 J ( command.) S
3600 9168 P 0 12 F 26 12 F B (unlocal) S E 0 12 F 26 12 F () S 60 J ( <namelist>) S
2880 9672 P 0 12 F 26 10 F (In) S 58 J ( all) S 59 J ( other) S 58 J ( respects, local variables act just like any other variables, though you may) S
2880 9936 P (find) S 50 J ( they're slightly faster since the shell doesn't need to semaphore its use of them.) S
5781 15384 P (Page ) S (141) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4975 2184 P 0 12 F 8 14 F B (Function) S 78 J ( Keys) S E
1800 3408 P 0 12 F 8 12 F B (setkey) S 67 J ( command:) S E
2520 3912 P 0 12 F 26 10 F (The) S 56 J ( ) S 0 12 F 26 10 F B (setkey) S E 0 12 F 26 10 F () S 57 J ( command) S 56 J ( lets) S 57 J ( you) S 56 J ( define) S 57 J ( a) S 56 J ( list) S 57 J ( of) S 56 J ( words) S 57 J ( that) S 56 J ( should be stuffed back onto) S
2520 4176 P (the) S 98 J ( command-line) S 99 J ( whenever) S 98 J ( you press a particular function key. The syntax is) S
2520 4440 P (exactly) S 50 J ( the same as used in the ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F (,) S 50 J ( ) S 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 50 J ( and ) S 0 12 F 26 10 F B (alias) S E 0 12 F 26 10 F () S 50 J ( commands:) S
3240 4944 P 0 12 F 26 12 F B (setkey) S E 0 12 F 26 12 F () S 60 J ( <fkey> [ = ] \( <word list> \)) S
3240 5208 P 0 12 F 26 12 F B (setkey) S E 0 12 F 26 12 F () S 60 J ( <fkey> [ = ] <word list>) S
2520 5712 P 0 12 F 26 10 F (where) S 50 J ( <fkey> is any of the function keys ) S 0 12 F 26 10 F B (f1) S E 0 12 F 26 10 F () S 50 J ( \(or ) S 0 12 F 26 10 F B (F1) S E 0 12 F 26 10 F (\)) S 50 J ( through ) S 0 12 F 26 10 F B (f12) S E 0 12 F 26 10 F () S 50 J ( \(or ) S 0 12 F 26 10 F B (F12) S E 0 12 F 26 10 F (.\)) S
2520 6216 P (Typing) S 77 J ( ) S 0 12 F 26 10 F B (setkey) S E 0 12 F 26 10 F () S 78 J ( with) S 77 J ( no) S 78 J ( operands) S 77 J ( reports) S 78 J ( the) S 77 J ( current) S 78 J ( function) S 77 J ( key) S 78 J ( bindings, if any.) S
2520 6480 P (Also,) S 50 J ( a corresponding ) S 0 12 F 26 10 F B (unsetkey) S E 0 12 F 26 10 F () S 50 J ( command lets you discard key bindings:) S
3240 6984 P 0 12 F 26 12 F B (setkey) S E
3240 7248 P B (unsetkey) S E 0 12 F 26 12 F () S 60 J ( <fkeylist>) S
2520 7752 P 0 12 F 26 10 F (The) S 50 J ( <fkeylist> should be typed with commas between the keys. For example:) S
3240 8256 P 0 12 F 0 12 F (unsetkey) S 144 J ( f1, f2) S
1800 9000 P 0 12 F 8 12 F B (Using) S 67 J ( the Function Keys) S E
2160 9744 P 0 12 F 26 12 F LU (Key) S 2098 J ( Meaning) S 4383 J ( ) S LE
2160 10248 P (<F) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (>) S 1977 J ( Clear) S 60 J ( the command line, post the text bound to) S
4680 10512 P (this key and execute the command.) S
2160 11016 P (Alt-<F) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (>) S 1562 J ( Insert) S 60 J ( the text bound to this key at the cursor) S
4680 11280 P (location but don't execute it yet.) S
2160 11784 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 12 F (-<F) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (>) S 1518 J ( Clear) S 60 J ( the command line and post the text bound) S
4680 12048 P (to this key but don't execute it yet.) S
2520 12792 P 0 12 F 26 10 F (Since) S 87 J ( the) S 88 J ( function) S 87 J ( key's) S 88 J ( bound) S 87 J ( text is written back into the command line inside) S
2520 13056 P (command) S 52 J ( line) S 53 J ( editor,) S 52 J ( the substitution happens ahead of any parsing of the command) S
2520 13320 P (line) S 67 J ( into) S 68 J ( words) S 67 J ( or) S 68 J ( expansion) S 67 J ( of) S 68 J ( history ``!...'' or ``%...'' references so it is possible to) S
2520 13584 P (meaningfully) S 50 J ( embed these kinds of references into the key binding.) S
5781 15384 P (Page ) S (142) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4548 1800 P 0 12 F 8 14 F B (Miscellaneous) S 78 J ( Statements) S E
2520 2544 P 0 12 F 26 12 F LU (Statement) S 2898 J ( Function) S 2944 J ( ) S LE
2520 2928 P (<drive>) S 0 12 F 26 12 F B (:) S E 0 12 F 26 12 F () S 3047 J ( Change) S 60 J ( current drive.) S
2520 3352 P (<label>) S 0 12 F 26 12 F B (:) S E 0 12 F 26 12 F () S 60 J ( <statement>) S 1654 J ( Define) S 60 J ( a label.) S
2520 3776 P 0 12 F 26 12 F B (\() S E 0 12 F 26 12 F () S 60 J ( <statement_list> ) S 0 12 F 26 12 F B (\)) S E 0 12 F 26 12 F () S 1912 J ( Group) S 60 J ( a list of statements, saving) S
6480 4040 P (and restoring the current directory) S
6480 4304 P (during execution) S
2520 4728 P 0 12 F 26 12 F B (break) S E 0 12 F 26 12 F () S 60 J ( [ <name> ]) S 2116 J ( Exit) S 60 J ( from the named or, by default,) S
6480 4992 P (the innermost ) S 0 12 F 26 12 F B (switch) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (foreach) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (for) S E 0 12 F 26 12 F (,) S
6480 5256 P 0 12 F 26 12 F B (while) S E 0 12 F 26 12 F () S 60 J ( or ) S 0 12 F 26 12 F B (repeat) S E 0 12 F 26 12 F () S 60 J ( statement.) S
2520 5680 P 0 12 F 26 12 F B (continue) S E 0 12 F 26 12 F () S 60 J ( [ <name> ]) S 1782 J ( Continue) S 60 J ( with the next iteration of) S
6480 5944 P (the named or innermost ) S 0 12 F 26 12 F B (foreach) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (for) S E 0 12 F 26 12 F (,) S
6480 6208 P 0 12 F 26 12 F B (while) S E 0 12 F 26 12 F () S 60 J ( or ) S 0 12 F 26 12 F B (repeat) S E 0 12 F 26 12 F (.) S
2520 6632 P 0 12 F 26 12 F B (exit) S E 0 12 F 26 12 F () S 60 J ( [ <expr> ]) S 2452 J ( Exit) S 60 J ( from this thread or, if this is the) S
6480 6896 P (main thread, from the C shell.) S
2520 7320 P 0 12 F 26 12 F B (goto) S E 0 12 F 26 12 F () S 60 J ( <name>) S 2544 J ( Continue) S 60 J ( at the labeled statement.) S
2520 7744 P 0 12 F 26 12 F B (onintr) S E 0 12 F 26 12 F () S 60 J ( <statement>) S 1892 J ( Define) S 60 J ( the action to be taken if an) S
6480 8008 P (interrupt is signaled. Whatever's) S
6480 8272 P (running is interrupted all the way) S
6480 8536 P (back up to the block in which the) S
6480 8800 P 0 12 F 26 12 F B (onintr) S E 0 12 F 26 12 F () S 60 J ( was defined. That statement) S
6480 9064 P (is run in the current thread and) S
6480 9328 P (execution continues with the next) S
6480 9592 P (statement in the block where the) S
6480 9856 P 0 12 F 26 12 F B (onintr) S E 0 12 F 26 12 F () S 60 J ( was defined. When execution) S
6480 10120 P (leaves a block in which an ) S 0 12 F 26 12 F B (onintr) S E 0 12 F 26 12 F () S 60 J ( is) S
6480 10384 P (defined, the previous ) S 0 12 F 26 12 F B (onintr) S E 0 12 F 26 12 F () S 60 J ( \(if any\)) S
6480 10648 P (again takes effect. To ignore or defer) S
6480 10912 P (interrupts, use the ) S 0 12 F 26 12 F B (irqmask) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2520 11336 P 0 12 F 26 12 F B (source) S E 0 12 F 26 12 F () S 60 J ( <wordargs>) S 1880 J ( Read) S 60 J ( and process statements from a) S
6480 11600 P (file as if they were typed into this) S
6480 11864 P (thread.) S
2520 12288 P 0 12 F 26 12 F B (time) S E 0 12 F 26 12 F () S 60 J ( <statement>) S 2079 J ( Execute) S 60 J ( the statement and report) S
6480 12552 P (how long it took.) S
2520 12976 P 0 12 F 26 12 F B (#) S E 0 12 F 26 12 F () S 3815 J ( Comment) S 60 J ( text up to the end of the) S
6480 13240 P (line. \(To be recognized as a valid) S
6480 13504 P (comment, the ) S 0 12 F 26 12 F B (#) S E 0 12 F 26 12 F () S 60 J ( must be followed by) S
6480 13768 P (at least one space or tab.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (143) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4305 2184 P 0 12 F 8 14 F B (Statement) S 78 J ( Relationships) S E
1800 2928 P 0 12 F 26 12 F (In) S 60 J ( order of decreasing precedence:) S
2160 3432 P LU (Operator) S 2993 J ( Meaning) S 2943 J ( ) S LE
2160 3816 P (\() S 60 J ( \)) S 3740 J ( Grouping) S
2160 4240 P (>) S 60 J ( >! >& >&! >> >>! >>& >>&! < <<) S
6120 4504 P (I/O Redirection) S
2160 4928 P (| |&) S 3183 J ( Piping) S 60 J ( \(stdout only or) S
6120 5192 P (stdout + stderr\) between concurrent) S
6120 5456 P (operations) S
2160 5880 P (... &) S 3533 J ( Background) S 60 J ( thread or process) S
2160 6304 P (&& ||) S 2996 J ( Conditional) S 60 J ( execution: only if first) S
6120 6568 P (succeeds or only if first fails) S
2160 6992 P (;) S 3900 J ( Serial) S 60 J ( execution) S
4943 8136 P 0 12 F 8 14 F B (I/O) S 78 J ( Redirection) S E
2160 8880 P 0 12 F 26 12 F LU (Operator) S 2993 J ( Meaning) S 2943 J ( ) S LE
2160 9264 P (>) S 60 J ( >! >& >&!) S 1972 J ( Output) S 60 J ( to a file \(`!' allows an existing) S
6120 9528 P (file to be overwritten; `&' redirects) S
6120 9792 P (both stdout and stderr.\)) S
2160 10216 P (>> >>! >>& >>&!) S 1392 J ( Append) S 60 J ( to a file) S
2160 10640 P (<) S 3815 J ( In) S 60 J ( from a file) S
2160 11064 P (<< <string>) S 2642 J ( Inline) S 60 J ( data: the text on the following) S
6120 11328 P (lines, up to the line containing only) S
6120 11592 P (the specified <string> will be fed as) S
6120 11856 P (stdin to the statement. Unless part) S
6120 12120 P (of <string> is escaped or single,) S
6120 12384 P (double or backquoted, command) S
6120 12648 P (and variable substitution will be) S
6120 12912 P (done on the inline text.) S
2520 13576 P 0 12 F 26 10 F (The) S 74 J ( grammar is completely recursive, so statements of arbitrary complexity can be) S
2520 13840 P (freely) S 50 J ( nested, conditionally executed, piped or redirected.) S
5781 15384 P (Page ) S (144) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4836 2184 P 0 12 F 8 14 F B (Expression) S 78 J ( Operators) S E
2160 2928 P 0 12 F 26 12 F (In) S 60 J ( order of decreasing precedence:) S
2520 3432 P LU (Operator) S 1553 J ( Meaning) S 4095 J ( ) S LE
2520 3912 P (\() S 60 J ( \)) S 2300 J ( Grouping) S 60 J ( or Procedure call arguments) S
2520 4336 P ({ }) S 2300 J ( Run) S 60 J ( the enclosed statement list and return 1 if) S
5040 4600 P (it succeeds or 0 otherwise.) S
2520 5024 P ([ ]) S 2300 J ( Array) S 60 J ( indexing. \(The first element is element) S
5040 5288 P (0.\)) S
2520 5712 P (-A -D -H -R -S -d -e -f -o -w -x -z) S
5040 5976 P (File system tests) S
2520 6400 P (++ --) S 1890 J ( Prefix) S 60 J ( and postfix increment/decrement) S
2520 6824 P (~ - ! +) S 1543 J ( Bitwise,) S 60 J ( arithmetic and logical complements) S
5040 7088 P (and unary plus) S
2520 7512 P (**) S 2334 J ( Exponentiation) S
2520 7936 P (*) S 60 J ( / % //) S 1250 J ( Multiplication,) S 60 J ( Division, Remainder and) S
5040 8200 P (Integer Division) S
2520 8624 P (+ -) S 2115 J ( Addition) S 60 J ( and Subtraction) S
2520 9048 P (<< >>) S 1760 J ( Bit) S 60 J ( Shifting) S
2520 9472 P (== != =~ !~ < <= >= >) S 106 J ( Relation-testing) S 60 J ( and pattern-matching) S
5040 9736 P (operators) S
2520 10160 P (&) S 2333 J ( Bit) S 60 J ( And) S
2520 10584 P (^) S 2375 J ( Bit) S 60 J ( Xor) S
2520 11008 P (|) S 2375 J ( Bit) S 60 J ( Or) S
2520 11432 P (&&) S 2146 J ( Logical) S 60 J ( And) S
2520 11856 P (||) S 2230 J ( Logical) S 60 J ( Or) S
2520 12280 P (?:) S 2353 J ( Conditional) S 60 J ( selection) S
2520 12704 P (= += -= *= /= %= //= >>= <<= &= ^= |= **=) S
5040 12968 P (Assignment operators) S
2160 13392 P (Expressions) S 63 J ( result) S 64 J ( in) S 63 J ( sensible) S 64 J ( types,) S 63 J ( considering) S 64 J ( both) S 63 J ( the types ) S 0 12 F 26 12 F I (and) S E 0 12 F 26 12 F () S 63 J ( the values) S
2160 13656 P (of) S 89 J ( the) S 90 J ( operands.) S 89 J ( ) S 90 J ( For) S 89 J ( example,) S 90 J ( 10/2) S 89 J ( returns) S 90 J ( the) S 89 J ( integer) S 90 J ( 5) S 89 J ( but 5/2 produces) S
2160 13920 P (the) S 85 J ( floating) S 86 J ( point value 2.5. Also, the integer 1, the floating point value 1.0) S
2160 14184 P (and) S 60 J ( the string ``1'' all compare equal.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (145) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4756 2184 P 0 12 F 8 14 F B (File) S 78 J ( System Tests) S E
1800 2928 P 0 12 F 26 12 F (The) S 75 J ( operand) S 76 J ( of) S 75 J ( a) S 76 J ( file) S 75 J ( system) S 76 J ( test) S 75 J ( is) S 76 J ( interpreted) S 75 J ( as) S 76 J ( a word, not an expression,) S
1800 3192 P (and) S 61 J ( may involve wildcarding. If wildcarding produces more than one match,) S
1800 3456 P (the) S 60 J ( test is done on the first one.) S
2160 3960 P LU (Prefix Operator) S 864 J ( True) S 60 J ( if) S 4328 J ( ) S LE
2160 4440 P (-A) S 2253 J ( Archive) S 60 J ( Bit Set) S
2160 4864 P (-D -d) S 1727 J ( Directory) S
2160 5288 P (-H) S 2240 J ( Hidden) S 60 J ( File or Directory) S
2160 5712 P (-R) S 2280 J ( Read-only) S 60 J ( File or Directory) S
2160 6136 P (-S) S 2314 J ( System) S 60 J ( File or Directory) S
2160 6560 P (-e) S 2325 J ( File) S 60 J ( or Directory Exists) S
2160 6984 P (-f) S 2360 J ( Ordinary) S 60 J ( File) S
2160 7408 P (-o) S 2309 J ( Ownership) S 60 J ( \(Same as Existence on an OS/2 or) S
4680 7672 P (NT FAT file system\)) S
2160 8096 P (-r) S 2345 J ( Readable) S 60 J ( \(Same as ordinary file on an OS/2 or) S
4680 8360 P (NT FAT file system\)) S
2160 8784 P (-w) S 2240 J ( Writable) S 60 J ( \(Not Read-only and not a directory\)) S
2160 9208 P (-x) S 2316 J ( Executable) S 60 J ( \(Has a .csh, .exe, .com or .cmd) S
4680 9472 P (extension and, if it's an .exe or a .com file,) S
4680 9736 P (appears to be a valid OS/2 or NT binary) S
4680 10000 P (executable.\)) S
2160 10424 P (-z) S 2320 J ( Zero-length) S 60 J ( File) S
2520 11088 P (Example:) S 880 J ( ) S 0 12 F 0 12 F (if) S 144 J ( \(-d $a\) then) S
2520 11352 P () S 1872 J ( ) S 288 J ( echo) S 144 J ( $a is a directory) S
2520 11616 P () S 1872 J ( end) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (146) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
5240 2184 P 0 12 F 8 14 F B (Special) S 78 J ( Devices) S E
2520 2928 P 0 12 F 26 12 F LU (Name) S 1874 J ( Use) S 4636 J ( ) S LE
2520 3328 P 489 J ( ) S () S 2031 J ( ) S
2520 3342 P 0 12 F 26 10 F 389 J ( ) S (\324) S
2520 3408 P 0 12 F 26 12 F (aux) S 2131 J ( ) S (The) S 60 J ( auxiliary port.) S
2520 3822 P 0 12 F 26 10 F 668 J ( ) S (\324) S
2520 3888 P 0 12 F 26 12 F (clock$) S 100 J ( ) S () S 1752 J ( The) S 60 J ( OS/2 system clock.) S
2520 4368 P (con) S 2142 J ( The) S 60 J ( OS/2 console. This is the text window the) S
5040 4632 P (shell is running in. Reading from it reads the) S
5040 4896 P (keyboard; writing to it writes to the screen.) S
2520 5376 P (conin$) S 1812 J ( The) S 60 J ( NT console keyboard. A read-only device.) S
2520 5856 P (conout$) S 1668 J ( The) S 60 J ( NT console display. A write-only device.) S
2520 6336 P (com1 .. com7) S 1140 J ( The) S 60 J ( various async communication ports you) S
5040 6600 P (may have. They can be read or written.) S
2520 7080 P (kbd$) S 1987 J ( The) S 60 J ( OS/2 keyboard. A read-only device.) S
2520 7494 P 0 12 F 26 10 F 1064 J ( ) S (\324) S
2520 7560 P 0 12 F 26 12 F (lpt1) S 60 J ( .. lpt4) S 100 J ( ) S () S 1356 J ( The) S 60 J ( line printer ports.) S
2520 8040 P (nul) S 2165 J ( The) S 60 J ( null device. Reads return end-of-file;) S
5040 8304 P (writes are discarded.) S
2520 8784 P (prn) S 2141 J ( The) S 60 J ( print spooler queue.) S
2520 9198 P 0 12 F 26 10 F 893 J ( ) S (\324) S
2520 9264 P 0 12 F 26 12 F (pointer$) S 100 J ( ) S () S 1527 J ( The) S 60 J ( OS/2 mouse and on-screen pointer) S
5040 9528 P (combination. Reads from the mouse; writes to) S
5040 9792 P (the screen.) S
2520 10272 P (screen$) S 1726 J ( The) S 60 J ( OS/2 text window. A write-only device.) S
2880 10992 P 0 12 F 26 10 F (Hamilton) S 82 J ( C) S 83 J ( shell) S 82 J ( recognizes) S 83 J ( the) S 82 J ( OS/2) S 83 J ( and) S 82 J ( NT) S 83 J ( special) S 82 J ( device) S 83 J ( names) S 82 J ( regardless of) S
2880 11256 P (whether) S 67 J ( they) S 68 J ( are) S 67 J ( typed) S 68 J ( in) S 67 J ( upper) S 68 J ( or) S 67 J ( lower) S 68 J ( case and regardless of whether there is a) S
2880 11520 P (trailing) S 103 J ( colon.) S 104 J ( ) S 103 J ( For) S 104 J ( example,) S 103 J ( ) S 0 12 F 0 10 F (COM1:) S 0 12 F 26 10 F () S 104 J ( is) S 103 J ( the) S 104 J ( same) S 103 J ( as ) S 0 12 F 0 10 F (COM1) S 0 12 F 26 10 F () S 103 J ( is the same as ) S 0 12 F 0 10 F (com1) S 0 12 F 26 10 F (.) S
2880 11784 P (Remember) S 67 J ( to) S 68 J ( quote) S 67 J ( the) S 68 J ( device) S 67 J ( name) S 68 J ( if) S 67 J ( it) S 68 J ( has) S 67 J ( a) S 68 J ( dollar sign at the end so it won't be) S
2880 12048 P (misinterpreted) S 50 J ( as the start of a variable reference.) S
2880 12552 P (Not) S 60 J ( all) S 61 J ( devices) S 60 J ( will) S 61 J ( be) S 60 J ( installed) S 61 J ( on) S 60 J ( any) S 61 J ( particular) S 60 J ( machine.) S 61 J ( ) S 60 J ( Also,) S 61 J ( the) S 60 J ( exact behavior) S
2880 12750 P 7460 J ( ) S (\324) S
2880 12816 P (of) S 63 J ( any) S 64 J ( device may depend which manufacturer supplied it. Devices marked with ) S
2880 13080 P (should) S 50 J ( only be accessed with some caution.) S
5781 15384 P (Page ) S (147) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
3675 2184 P 0 12 F 8 14 F B (Wildcarding) S 78 J ( and Pattern Matching) S E
2160 2928 P 0 12 F 26 12 F LU (Characters) S 1378 J ( Meaning) S 4095 J ( ) S LE
2160 3408 P (?) S 2413 J ( Match) S 60 J ( any single character, including `.' but) S
4680 3672 P (not `\\' or '/'.) S
2160 4152 P 0 12 F 0 12 F (*) S 0 12 F 26 12 F () S 2376 J ( Match) S 60 J ( any number of characters, including `.') S
4680 4416 P (but not '\\' or '/'.) S
2160 4896 P ([) S 0 12 F 26 12 F B (a) S E 0 12 F 26 12 F (-) S 0 12 F 26 12 F B (z) S E 0 12 F 26 12 F (]) S 2040 J ( An) S 60 J ( example range: match any character ) S 0 12 F 26 12 F B (a) S E
4680 5160 P 0 12 F 26 12 F (through) S 60 J ( ) S 0 12 F 26 12 F B (z) S E 0 12 F 26 12 F (.) S
2160 5640 P ([^) S 0 12 F 26 12 F B (a) S E 0 12 F 26 12 F (-) S 0 12 F 26 12 F B (z) S E 0 12 F 26 12 F (]) S 1895 J ( An) S 60 J ( example exclusion range: match any) S
4680 5904 P (character ) S 0 12 F 26 12 F B (not) S E 0 12 F 26 12 F () S 60 J ( in the set a through z.) S
2160 6384 P ({) S 0 12 F 26 12 F B (a) S E 0 12 F 26 12 F (,) S 0 12 F 26 12 F B (b) S E 0 12 F 26 12 F (}) S 0 12 F 26 12 F B (c) S E 0 12 F 26 12 F () S 1926 J ( Alternation:) S 60 J ( generate both ) S 0 12 F 26 12 F B (ac) S E 0 12 F 26 12 F () S 60 J ( and) S 0 12 F 26 12 F B () S 60 J ( bc) S E 0 12 F 26 12 F (.) S
2160 6864 P 0 12 F 0 12 F (...) S 0 12 F 26 12 F () S 2088 J ( Indefinite) S 60 J ( Directory: match any number of) S
4680 7128 P (directory levels -- zero or more -- whatever it) S
4680 7392 P (takes to make the rest of the pattern match.) S
2520 8112 P 0 12 F 26 10 F (Patterns) S 79 J ( are) S 80 J ( used) S 79 J ( both) S 80 J ( for) S 79 J ( traditional) S 80 J ( filename) S 79 J ( wildcarding) S 80 J ( in) S 79 J ( word mode and for) S
2520 8376 P (examining) S 116 J ( strings) S 117 J ( in expression mode. Patterns are nestable arbitrarily and a) S
2520 8640 P (recursive) S 58 J ( comparison algorithm is used to guarantee a sensible result no matter how) S
2520 8904 P (complex) S 50 J ( the pattern. For example: ) S 0 12 F 0 10 F (*r*) S 0 12 F 26 10 F () S 50 J ( or even ) S 0 12 F 0 10 F (*\\[a-c]*.[ch]) S 0 12 F 26 10 F () S 50 J ( operate sensibly.) S
2520 9408 P (Filename) S 79 J ( wildcards) S 80 J ( can) S 79 J ( be) S 80 J ( used) S 79 J ( wherever) S 80 J ( a) S 79 J ( word is expected and will match any) S
2520 9672 P (filename) S 66 J ( except ``) S 0 12 F 0 10 F (.) S 0 12 F 26 10 F ('') S 66 J ( and ``) S 0 12 F 0 10 F (..) S 0 12 F 26 10 F ('') S 66 J ( unless it's marked ``hidden.'' \(To allow wildcarding) S
2520 9936 P (to) S 145 J ( match) S 146 J ( hidden) S 145 J ( files,) S 146 J ( set ) S 0 12 F 0 10 F (nonohidden) S 0 12 F 26 10 F () S 146 J ( = 1.\) Quoting the word prevents) S
2520 10200 P (wildcarding.) S 102 J ( ) S 103 J ( Since) S 102 J ( filenames) S 103 J ( are) S 102 J ( not) S 103 J ( case) S 102 J ( sensitive,) S 103 J ( ) S 102 J ( filename) S 103 J ( wildcarding isn't) S
2520 10464 P (either.) S
2520 10968 P (A) S 78 J ( pattern) S 79 J ( can) S 78 J ( also) S 79 J ( be) S 78 J ( used) S 79 J ( ) S 78 J ( to) S 79 J ( examine) S 78 J ( a string in a ) S 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F () S 78 J ( statement or with the) S
2520 11232 P (``) S 0 12 F 26 10 F B (=~) S E 0 12 F 26 10 F ('') S 55 J ( \(pattern) S 56 J ( matches\)) S 55 J ( and) S 56 J ( ``) S 0 12 F 26 10 F B (!~) S E 0 12 F 26 10 F ('') S 56 J ( \(pattern fails\) expression operators. In this context,) S
2520 11496 P (the) S 122 J ( pattern) S 123 J ( must) S 122 J ( be) S 123 J ( inside) S 122 J ( quotes,) S 123 J ( since) S 122 J ( otherwise it would be parsed as an) S
2520 11760 P (expression,) S 61 J ( with) S 62 J ( ``) S 0 12 F 26 10 F B (*) S E 0 12 F 26 10 F ('') S 61 J ( being) S 62 J ( viewed) S 61 J ( as) S 62 J ( the) S 61 J ( multiply) S 62 J ( operator,) S 61 J ( etc.) S 62 J ( ) S 61 J ( When) S 62 J ( examining a) S
2520 12024 P (string) S 106 J ( with) S 107 J ( a) S 106 J ( pattern that uses alternation, the pattern ``matches'' if any of the) S
2520 12288 P (alternatives) S 50 J ( matches. When matching strings, case does matter.) S
2520 12792 P (When) S 73 J ( using) S 74 J ( a pattern to examine a string with ``) S 0 12 F 26 10 F B (=~) S E 0 12 F 26 10 F ('') S 74 J ( or ``) S 0 12 F 26 10 F B (!~) S E 0 12 F 26 10 F ('') S 74 J ( or with a ) S 0 12 F 26 10 F B (switch) S E 0 12 F 26 10 F (,) S 74 J ( the) S
2520 13056 P (string) S 50 J ( being tested is the left operand and the pattern is on the right.) S
5781 15384 P (Page ) S (148) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4883 2184 P 0 12 F 8 14 F B (Filename) S 78 J ( Completion) S E
2160 3288 P 0 12 F 26 10 F (Filename) S 51 J ( completion) S 52 J ( lets) S 51 J ( you) S 52 J ( type) S 51 J ( just) S 52 J ( the) S 51 J ( first) S 52 J ( part of a filename and have the shell fill in the) S
2160 3552 P (rest.) S 53 J ( The two variations are using the F key for basic filename completion or the D key if you) S
2160 3816 P (want) S 50 J ( all the duplicates listed.) S
2520 4560 P 0 12 F 26 12 F LU (Key) S 2098 J ( Meaning) S 4383 J ( ) S LE
2520 5064 P 0 12 F 26 11 F (Alt-F) S 55 J ( or Ctrl-F) S 1127 J ( Filename) S 55 J ( completion. Appending the ``) S 0 12 F 0 11 F (*) S 0 12 F 26 11 F ('') S 55 J ( wildcard) S
5040 5328 P (character onto the end, use the previous word as a) S
5040 5592 P (wildcard pattern. If it matches a single file, substitute) S
5040 5856 P (it in with a space following. \(If you ) S 0 12 F 26 11 F I (don't) S E 0 12 F 26 11 F () S 55 J ( want a space) S
5040 6120 P (following, use the ) S 0 12 F 0 11 F (-N) S 0 12 F 26 11 F () S 55 J ( option when you start the C) S
5040 6384 P (shell.\)) S
2520 6768 P () S 2520 J ( If) S 55 J ( there were multiple matches, but they all had some) S
5040 7032 P (common front-part that fully ``used up'' the pattern,) S
5040 7296 P (substitute in just that common front-part and show it) S
5040 7560 P (in the color specified by the ) S 0 12 F 0 11 F (DUPLICATES) S 0 12 F 26 11 F () S 55 J ( variable) S
5040 7824 P (\(default is green\).) S
2520 8208 P () S 2520 J ( If) S 55 J ( substitution wasn't possible, highlight the pattern in) S
5040 8472 P (the color specified by the ) S 0 12 F 0 11 F (MATCHFAIL) S 0 12 F 26 11 F () S 55 J ( variable \(default) S
5040 8736 P (is bright red\). \(Any highlighting color is turned off) S
5040 9000 P (when you press the next keystroke.\)) S
2520 9504 P (Alt-D or Ctrl-D) S 1031 J ( Duplicate) S 55 J ( completions. Same wildcarding, but if there) S
5040 9768 P (are multiple matches, show them all with a space) S
5040 10032 P (following. \(Here again, if you ) S 0 12 F 26 11 F I (don't) S E 0 12 F 26 11 F () S 55 J ( want a space) S
5040 10296 P (following, use the ) S 0 12 F 0 11 F (-N) S 0 12 F 26 11 F () S 55 J ( option when you start the C) S
5040 10560 P (shell.\) If there were no matches, highlight the pattern) S
5040 10824 P (in the color specified by the ) S 0 12 F 0 11 F (MATCHFAIL) S 0 12 F 26 11 F () S 55 J ( variable) S
5040 11088 P (\(default is bright red\).) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (149) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4415 1704 P 0 12 F 8 14 F B (Command) S 78 J ( Line Editing) S E
2160 2328 P 0 12 F 26 10 F LU (Key) S 1448 J ( Meaning) S 5262 J ( ) S LE
2160 2648 P (<Enter>) S 1080 J ( Accept) S 50 J ( the command as typed. Move to the end \(if not there) S
3960 2868 P (already\) and carriage return to a new line.) S
2160 3188 P (<Home>) S 1010 J ( Beginning) S 50 J ( of command line.) S
2160 3508 P (<End>) S 1198 J ( End) S 50 J ( of command line.) S
2160 3828 P 0 12 F 56 12 F B (\255) S E 0 12 F 26 10 F () S 1655 J ( Up) S 50 J ( one command in the history list. Each time it's pressed, it) S
3960 4048 P (displays the preceding entry in the history list. Any ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F (...'') S 50 J ( or ``) S 0 12 F 0 10 F (%) S 0 12 F 26 10 F (...'') S
3960 4268 P (history) S 50 J ( references in the original text will have been fixed up unless) S
3960 4488 P (it was the immediately preceding command and it had one these) S
3960 4708 P (references that failed. If already at the first entry, the command line) S
3960 4928 P (is highlighted in bright red.) S
2160 5248 P 0 12 F 56 12 F B (\257) S E 0 12 F 26 10 F () S 1655 J ( Down) S 50 J ( one command line in the history list. If already at the latest) S
3960 5468 P (entry, the command line is highlighted in bright red.) S
2160 5788 P 0 12 F 56 12 F B (\254) S E 0 12 F 26 10 F () S 1563 J ( One) S 50 J ( character left.) S
2160 6108 P 0 12 F 56 12 F B (\256) S E 0 12 F 26 10 F () S 1563 J ( One) S 50 J ( character right.) S
2160 6428 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-<Home>) S 564 J ( Move) S 50 J ( to the upper-leftmost character in the current screenful if the) S
3960 6648 P (command is long enough that it actually wraps across several) S
3960 6868 P (screens.) S
2160 7188 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-<End>) S 752 J ( Move) S 50 J ( to the lower-rightmost character in the current screenful.) S
2160 7508 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-) S 0 12 F 56 12 F B (\255) S E 0 12 F 26 10 F () S 1209 J ( Up) S 50 J ( one row on the screen if the command is long enough that it runs) S
3960 7728 P (over a row.) S
2160 8048 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-) S 0 12 F 56 12 F B (\257) S E 0 12 F 26 10 F () S 1209 J ( Down) S 50 J ( one row on the screen.) S
2160 8368 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-) S 0 12 F 56 12 F B (\254) S E 0 12 F 26 10 F () S 1117 J ( Backup) S 50 J ( word.) S
2160 8688 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-) S 0 12 F 56 12 F B (\256) S E 0 12 F 26 10 F () S 1117 J ( Forward) S 50 J ( word.) S
2160 9008 P (Alt-<Home>) S 664 J ( Delete) S 50 J ( all preceding characters on the command line.) S
2160 9328 P (Alt-<End>) S 852 J ( Delete) S 50 J ( all following characters.) S
2160 9648 P (Alt-) S 0 12 F 56 12 F B (\255) S E 0 12 F 26 10 F () S 1309 J ( Delete) S 50 J ( up one row on the screen if the command runs over a row.) S
2160 9968 P (Alt-) S 0 12 F 56 12 F B (\257) S E 0 12 F 26 10 F () S 1309 J ( Delete) S 50 J ( down one row.) S
2160 10288 P (Alt-) S 0 12 F 56 12 F B (\254) S E 0 12 F 26 10 F () S 1217 J ( Delete) S 50 J ( preceding word.) S
2160 10508 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-<Backspace>) S
2160 10828 P (Alt-) S 0 12 F 56 12 F B (\256) S E 0 12 F 26 10 F () S 1217 J ( Delete) S 50 J ( following word.) S
2160 11148 P (<Insert>) S 1050 J ( Toggle) S 50 J ( insert/overstrike mode. When inserting, the cursor is) S
3960 11368 P (slightly thicker.) S
2160 11688 P 0 12 F 26 11 F (Ctrl) S 0 12 F 26 10 F (-<Insert>) S 604 J ( Insert) S 50 J ( the next word from the last section of deleted text. When it) S
3960 11908 P (reaches the end of the deleted text, it starts over.) S
2160 12228 P (Alt-<Insert>) S 704 J ( Insert) S 50 J ( all the rest of the previously deleted text.) S
2160 12548 P (<PageUp>) S 854 J ( Backup) S 50 J ( to one past the last history reference. \(Repeatedly typing) S
3960 12768 P (<PageUp> <Enter> is a convenient way of picking up a whole series) S
3960 12988 P (of commands from history.\)) S
2160 13308 P (<PageDown>) S 583 J ( Forward) S 50 J ( to the newest entry in the history list.) S
2160 13628 P (<Esc>) S 1262 J ( Clear) S 50 J ( the command line.) S
2160 14188 P 0 12 F 26 11 F B I (Note:) S 55 J ( Users lacking separate arrow keys must press Ctrl-Shift instead of Alt.) S E E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (150) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
5365 1800 P 0 12 F 8 14 F B (History) S 78 J ( Recall) S E
2520 2544 P 0 12 F 26 12 F LU (Command) S 1388 J ( Meaning) S 4095 J ( ) S LE
2520 3024 P (!!) S 2386 J ( Last) S 60 J ( command) S
2520 3504 P (!^) S 2308 J ( First) S 60 J ( argument word of last command) S
2520 3984 P (!$) S 2333 J ( Last) S 60 J ( word of last command) S
2520 4464 P (!*) S 2360 J ( All) S 60 J ( arguments of last command) S
2520 4944 P (!) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F () S 2306 J ( Command) S 60 J ( ) S 0 12 F 26 12 F B (n) S E
2520 5424 P 0 12 F 26 12 F (!-) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F () S 2226 J ( ) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (th) S 60 J ( command from the last) S
2520 5904 P (!) S 0 12 F 26 12 F B (str) S E 0 12 F 26 12 F () S 2173 J ( Last) S 60 J ( command starting with ) S 0 12 F 26 12 F B (str) S E
2520 6384 P 0 12 F 26 12 F (!?) S 0 12 F 26 12 F B (str) S E 0 12 F 26 12 F (?) S 1959 J ( Last) S 60 J ( command containing ) S 0 12 F 26 12 F B (str) S E
2520 6864 P 0 12 F 26 12 F (%) S 0 12 F 26 12 F B (str1) S E 0 12 F 26 12 F (%) S 0 12 F 26 12 F B (str2) S E 0 12 F 26 12 F (%) S 1114 J ( Substitute) S 60 J ( ) S 0 12 F 26 12 F B (str2) S E 0 12 F 26 12 F () S 60 J ( for ) S 0 12 F 26 12 F B (str1) S E 0 12 F 26 12 F () S 60 J ( in last command. \(Used) S
5040 7128 P (only at the beginning of a line.\)) S
2880 7848 P 0 12 F 26 10 F (History) S 50 J ( recall) S 51 J ( allows) S 50 J ( a) S 51 J ( previous) S 50 J ( statement) S 51 J ( to) S 50 J ( be) S 51 J ( quickly) S 50 J ( recalled and re-executed. It's) S
2880 8112 P (a) S 51 J ( very) S 52 J ( fast) S 51 J ( shorthand,) S 52 J ( especially) S 51 J ( in) S 52 J ( the) S 51 J ( edit/compile/debug) S 52 J ( loop) S 51 J ( or) S 52 J ( to) S 51 J ( fix) S 52 J ( a) S 51 J ( typo.) S 52 J ( For) S
2880 8376 P (convenience,) S 68 J ( ``) S 0 12 F 0 10 F (!) S 0 12 F 26 10 F ('') S 68 J ( is taken as an ordinary character if followed by white space, ``) S 0 12 F 0 10 F (=) S 0 12 F 26 10 F ('',) S
2880 8640 P (``) S 0 12 F 0 10 F (~) S 0 12 F 26 10 F ('') S 50 J ( or ``) S 0 12 F 0 10 F (\() S 0 12 F 26 10 F (''.) S
2880 9144 P (If) S 75 J ( you want, you can choose different characters to introduce history references by) S
2880 9408 P (changing) S 50 J ( the ) S 0 12 F 0 10 F (histchars) S 0 12 F 26 10 F () S 50 J ( variable.) S
4806 10392 P 0 12 F 8 14 F B (Command) S 78 J ( Completion) S E
2160 11136 P 0 12 F 26 10 F (Command) S 50 J ( completion) S 51 J ( lets) S 50 J ( you) S 51 J ( type) S 50 J ( just) S 51 J ( part) S 50 J ( of) S 51 J ( a) S 50 J ( previous) S 51 J ( command) S 50 J ( and) S 51 J ( have) S 50 J ( the shell fill in) S
2160 11400 P (the) S 57 J ( rest.) S 58 J ( ) S 57 J ( As) S 58 J ( with) S 57 J ( filename) S 58 J ( completion,) S 57 J ( if) S 58 J ( no) S 57 J ( match) S 58 J ( is) S 57 J ( found,) S 58 J ( color) S 57 J ( highlighting) S 58 J ( as) S 57 J ( defined by) S
2160 11664 P (the) S 92 J ( ) S 0 12 F 0 11 F (MATCHFAIL) S 0 12 F 26 11 F () S 98 J ( variable) S 97 J ( ) S 0 12 F 26 10 F (\(default) S 93 J ( is) S 92 J ( bright) S 93 J ( red\) will be used. Consecutive depressions) S
2160 11928 P (cause) S 50 J ( the search to continue on back through the history list.) S
2520 12432 P 0 12 F 26 12 F LU (Key) S 2098 J ( Meaning) S 4095 J ( ) S LE
2520 12912 P (Ctrl-<Enter>) S 1162 J ( ) S 0 12 F 26 11 F (Search) S 55 J ( for the last command that starts with the) S
5040 13176 P (characters in the previous word.) S
2520 13656 P (Alt-<Enter>) S 1348 J ( Search) S 55 J ( for the last command that contains the) S
5040 13920 P (characters in the previous word anywhere on the) S
5040 14184 P (command line.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (151) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
5403 2184 P 0 12 F 8 14 F B (Quoting) S E
2160 2928 P 0 12 F 26 12 F LU (String) S 1878 J ( Meaning) S 4095 J ( ) S LE
2160 3408 P 0 12 F 0 12 F ('...') S 0 12 F 26 12 F () S 1800 J ( Literal) S 60 J ( character string. Only do history) S
4680 3672 P (substitutions.) S
2160 4152 P 0 12 F 0 12 F ("...") S 0 12 F 26 12 F () S 1800 J ( Single) S 60 J ( word. Typically used if there are) S
4680 4416 P (embedded blanks or wildcard characters you) S
4680 4680 P (want treated as ordinary. Has no effect on) S
4680 4944 P (command or variable substitutions: they're) S
4680 5208 P (still done.) S
2160 5688 P 0 12 F 0 12 F (`...`) S 0 12 F 26 12 F () S 1800 J ( Command) S 60 J ( substitution. Evaluate the string as) S
4680 5952 P (a separate command and substitute its output) S
4680 6216 P (back onto the command line. Newlines are) S
4680 6480 P (turned into spaces and Ansi escape sequences) S
4680 6744 P (\(for highlighting, etc.\) are filtered out.) S
2160 7224 P 0 12 F 0 12 F (^) S 0 12 F 26 12 F () S 2376 J ( Quote) S 60 J ( just the next character. Use to remove) S
4680 7488 P (any special meaning from the next character, to) S
4680 7752 P (specify a character by its binary value or to) S
4680 8016 P (specify one following non-printable characters.) S
4680 8280 P (If the NewLine character at the end of a line is) S
4680 8544 P (quoted this way, it's treated as ordinary white) S
4680 8808 P (space. \(You can choose a different escape) S
4680 9072 P (character by changing the escapesym variable.\)) S
4670 10272 P 0 12 F 8 14 F B (Escape) S 78 J ( Sequences) S E
2160 11016 P 0 12 F 26 12 F LU (String) S 1878 J ( Meaning) S 4095 J ( ) S LE
2160 11496 P (^a) S 2255 J ( Audible) S 60 J ( alert \(bell\)) S
2160 11860 P (^b) S 2242 J ( Backspace) S
2160 12224 P (^f) S 2295 J ( Form) S 60 J ( Feed) S
2160 12588 P (^n) S 2235 J ( New) S 60 J ( Line) S
2160 12952 P (^r) S 2280 J ( Carriage) S 60 J ( Return) S
2160 13316 P (^t) S 2297 J ( Tab) S
2160 13680 P (^v) S 2239 J ( Vertical) S 60 J ( Tab) S
2160 14044 P (^^) S 2230 J ( Single) S 60 J ( escapesym character) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (152) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4899 2976 P 0 12 F 8 14 F B (Variable) S 78 J ( Substitution) S E
2520 3720 P 0 12 F 26 12 F LU (Reference) S 2918 J ( Meaning) S 2943 J ( ) S LE
2520 4104 P ($) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F () S 60 J ( ${) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F (}) S 2568 J ( value) S 60 J ( of variable ) S 0 12 F 26 12 F B (var) S E
2520 4528 P 0 12 F 26 12 F ($) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F ([<expr>]) S 60 J ( ${) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F ([<expr>]}) S 712 J ( value) S 60 J ( of ) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F (,) S 60 J ( indexed by an) S
6480 4792 P (arbitrarily complex expression) S
2520 5216 P ($#) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F () S 60 J ( ${#) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F (}) S 2278 J ( Number) S 60 J ( of words in ) S 0 12 F 26 12 F B (var) S E
2520 5640 P 0 12 F 26 12 F ($?) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F () S 60 J ( ${?) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F (}) S 2354 J ( 1) S 60 J ( if ) S 0 12 F 26 12 F B (var) S E 0 12 F 26 12 F () S 60 J ( exists; 0 otherwise) S
2520 6064 P ($) S 0 12 F 26 12 F B (procname) S E 0 12 F 26 12 F (\() S 60 J ( <argument list> \)) S 772 J ( Procedure) S 60 J ( reference, used as a) S
6480 6328 P (variable substitution. The) S
6480 6592 P (arguments are expressions,) S
6480 6856 P (separated by commas. Any value) S
6480 7120 P (returned by the procedure will be) S
6480 7384 P (substituted in place.) S
2520 7808 P ($<) S 3695 J ( Pseudo-variable) S 60 J ( result of reading) S
6480 8072 P (one line from stdin each time it's) S
6480 8336 P (evaluated) S
2520 8760 P ($*) S 3747 J ( Same) S 60 J ( as $argv) S
2520 9184 P ($0 .. $9) S 3240 J ( Same) S 60 J ( as $argv[0] .. $argv[9]) S
2880 9848 P 0 12 F 26 10 F (Variable) S 59 J ( substitution) S 60 J ( is) S 59 J ( typically) S 60 J ( used) S 59 J ( to) S 60 J ( pass) S 59 J ( the) S 60 J ( value) S 59 J ( of) S 60 J ( a) S 59 J ( variable) S 60 J ( as) S 59 J ( an argument) S
2880 10112 P (to) S 50 J ( a command. For example: ) S 0 12 F 0 10 F (cl) S 120 J ( -AS -G2 -Zi $a.c) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (153) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4462 2184 P 0 12 F 8 14 F B (Substitution) S 78 J ( Modifiers) S E
2160 2928 P 0 12 F 26 12 F LU (Operator) S 2993 J ( Meaning) S 2943 J ( ) S LE
2160 3312 P (:) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F () S 3753 J ( ) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (th) S 60 J ( word) S
2160 3736 P (:#) S 3755 J ( Count) S 60 J ( the number of words) S
2160 4160 P (:^) S 3755 J ( Word) S 60 J ( number 1, counting from 0) S
2160 4584 P (:$) S 3780 J ( Last) S 60 J ( word) S
2160 5008 P (:%) S 3698 J ( Word) S 60 J ( matched by a !?) S 0 12 F 26 12 F B (str) S E 0 12 F 26 12 F (?) S 60 J ( history) S
6120 5272 P (search) S
2160 5696 P (:) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (-) S 0 12 F 26 12 F B (m) S E 0 12 F 26 12 F () S 3460 J ( ) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (th) S 60 J ( through ) S 0 12 F 26 12 F B (m) S E 0 12 F 26 12 F (th) S 60 J ( words) S
2160 6120 P (:-) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F () S 3673 J ( 0) S 60 J ( through ) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (th) S 60 J ( words) S
2160 6544 P (:) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (-) S 3673 J ( ) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F () S 60 J ( through next-to-last words) S
2160 6968 P (:) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F (*) S 3660 J ( ) S 0 12 F 26 12 F B (n) S E 0 12 F 26 12 F () S 60 J ( through last word) S
2160 7392 P (:*) S 3807 J ( 1) S 60 J ( through last word) S
2160 7816 P (:q) S 3766 J ( Single) S 60 J ( quote each word) S
2160 8240 P (:s/) S 0 12 F 26 12 F B (str1) S E 0 12 F 26 12 F (/) S 0 12 F 26 12 F B (str2) S E 0 12 F 26 12 F (/) S 2563 J ( Substitute) S 60 J ( ) S 0 12 F 26 12 F B (str2) S E 0 12 F 26 12 F () S 60 J ( for ) S 0 12 F 26 12 F B (str1) S E 0 12 F 26 12 F () S 60 J ( and then) S
6120 8504 P (reparse into words. Match failures) S
6120 8768 P (are considered to be errors unless) S
6120 9032 P (ignoreerrors == 2.) S
2160 9456 P (:S/) S 0 12 F 26 12 F B (str1) S E 0 12 F 26 12 F (/) S 0 12 F 26 12 F B (str2) S E 0 12 F 26 12 F (/) S 2539 J ( Substitute) S 60 J ( ) S 0 12 F 26 12 F B (str2) S E 0 12 F 26 12 F () S 60 J ( for ) S 0 12 F 26 12 F B (str1) S E 0 12 F 26 12 F () S 60 J ( but leave it as) S
6120 9720 P (a single string. Also, failure to match) S
6120 9984 P (is not considered an error.) S
2160 10408 P (:&) S 3713 J ( Repeat) S 60 J ( last substitution) S
2160 10832 P (:g...) S 3587 J ( Global) S 60 J ( editing: apply the edit) S
6120 11096 P (operation everywhere it matches, not) S
6120 11360 P (just the first occurrence.) S
2160 11784 P (:x) S 3776 J ( Treat) S 60 J ( each word as a string and) S
6120 12048 P (break it up into words) S
2160 12472 P (:p) S 3756 J ( Print) S 60 J ( the substitution but don't) S
6120 12736 P (execute the statement. \(Ignored) S
6120 13000 P (except in history substitutions.\)) S
2520 13664 P 0 12 F 26 10 F (Substitution) S 147 J ( modifiers) S 148 J ( can) S 147 J ( be) S 148 J ( applied) S 147 J ( to) S 148 J ( any command, variable or history) S
2520 13928 P (substitution.) S 50 J ( Also, any number in a row can be applied, as desired.) S
5781 15384 P (Page ) S (154) S 0 12 F
PE
8781 984 P 8 12 F B (Language) S 67 J ( Reference) S E
4447 2976 P 0 12 F 8 14 F B (Pathname) S 78 J ( Editing on x\\y\\z.c) S E
2520 3720 P 0 12 F 26 12 F LU (Operator) S 473 J ( Name) S 794 J ( Description) S 2002 J ( Result) S 50 J ( ) S LE
2520 4104 P (:h) S 1240 J ( head) S 918 J ( Directory) S 60 J ( containing) S 1041 J ( x\\y) S
2520 4488 P (:r) S 1285 J ( root) S 1005 J ( Path) S 60 J ( w/o .ext) S 1784 J ( x\\y\\z) S
2520 4872 P (:t) S 1302 J ( tail) S 1102 J ( Simple) S 60 J ( filename) S 1521 J ( z.c) S
2520 5256 P (:b) S 1247 J ( base) S 970 J ( Filename) S 60 J ( w/o .ext) S 1292 J ( z) S
2520 5640 P (:e) S 1265 J ( ext) S 1123 J ( .ext) S 60 J ( w/o the ``.'') S 1546 J ( c) S
2520 6024 P (:f) S 1300 J ( fullpath) S 593 J ( Fully-qualified) S 60 J ( name) S 1011 J ( d:\\bob\\x\\y\\z.c) S
2880 6648 P 0 12 F 26 10 F (Pathname) S 71 J ( editing can be applied to any command, variable or history substitution.) S
2880 6912 P (Also,) S 53 J ( any) S 54 J ( number) S 53 J ( of pathname editing operations can be applied, one after the other,) S
2880 7176 P (to) S 50 J ( a given substitution.) S
2880 7680 P (Example:) S 614 J ( ) S 0 12 F 0 10 F (echo) S 120 J ( $path:gt) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (155) S 0 12 F
PE
720 984 P 8 12 F B (Language) S 67 J ( Reference) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (156) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
3839 1800 P 0 12 F 8 14 F B (Environmental) S 78 J ( Variables Recognized) S E
2160 2544 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 2928 P 0 12 F 0 12 F (ADDITIONS) S 0 12 F 26 12 F () S 357 J ( Bright) S 60 J ( Green) S 288 J ( Lines) S 60 J ( added found by ) S 0 12 F 0 12 F (diff) S 0 12 F 26 12 F (.) S
2160 3312 P 0 12 F 0 12 F (CDPATH) S 0 12 F 26 12 F () S 2160 J ( ) S 288 J ( List) S 60 J ( of directories to search for the) S
5472 3576 P (subdirectory specified as the new current) S
5472 3840 P (directory.) S
2160 4224 P 0 12 F 0 12 F (COLORS) S 549 J ( ) S 0 12 F 26 12 F (White) S 60 J ( on Black) S 288 J ( Normal) S 60 J ( screen colors.) S
2160 4608 P 0 12 F 0 12 F (COMSPEC) S 0 12 F 26 12 F () S 2016 J ( ) S 288 J ( Usually,) S 60 J ( this is the pathname of ) S 0 12 F 0 12 F (cmd.exe) S 0 12 F 26 12 F (.) S 60 J ( If) S
5472 4872 P (you set it to point to the C shell, e.g., so other) S
5472 5136 P (programs will invoke the C shell rather than) S
5472 5400 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 12 F (,) S 60 J ( the C shell will try to look through) S
5472 5664 P (the search path for ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 12 F () S 60 J ( if it needs to run a) S
5472 5928 P 0 12 F 0 10 F (.cmd) S 0 12 F 26 12 F () S 60 J ( file.) S
2160 6312 P 0 12 F 0 12 F (CSHOPTIONS) S 0 12 F 26 12 F () S 1584 J ( ) S 288 J ( Default) S 60 J ( set of command line options to be) S
5472 6576 P (pasted ahead of any other command line) S
5472 6840 P (options passed to ) S 0 12 F 0 12 F (csh.exe) S 0 12 F 26 12 F (.) S
2160 7224 P 0 12 F 0 12 F (DELETIONS) S 0 12 F 26 12 F () S 583 J ( Bright) S 60 J ( Red) S 288 J ( Lines) S 60 J ( deleted found by ) S 0 12 F 0 12 F (diff) S 0 12 F 26 12 F (.) S
2160 7608 P 0 12 F 0 12 F (DIRECTORIES) S 0 12 F 26 12 F () S 777 J ( Bright) S 288 J ( Directories) S 60 J ( listed by ) S 0 12 F 0 12 F (ls) S 0 12 F 26 12 F (.) S
2160 7992 P 0 12 F 0 12 F (DRIVEMASK) S 0 12 F 26 12 F () S 1728 J ( ) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (du.exe) S 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 0 12 F (pwd.exe) S 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 0 12 F (vl.exe) S 0 12 F 26 12 F () S 60 J ( to) S
5472 8256 P (limit the default list of drives it will report on.) S
5472 8520 P (Written as a list of alphabetic characters) S
5472 8784 P (representing the drives you want listed;) S
5472 9048 P (ranges are allowed. If you don't define this) S
5472 9312 P (variable, all drives beginning with ) S 0 12 F 0 12 F (C:) S 0 12 F 26 12 F () S 60 J ( are) S
5472 9576 P (normally reported.) S
2160 9960 P 0 12 F 0 12 F (DUPLICATES) S 0 12 F 26 12 F () S 936 J ( Green) S 288 J ( When) S 60 J ( filename completion matches matches) S
5472 10224 P (more than one name.) S
2160 10608 P 0 12 F 0 12 F (ESCAPESYM) S 0 12 F 26 12 F () S 1583 J ( ^) S 288 J ( Character) S 60 J ( to be interpreted as a literal escape) S
5472 10872 P (character. Placed in the environment only if it) S
5472 11136 P (is not the default circumflex.) S
2160 11520 P 0 12 F 0 12 F (FOREIGNFILES) S 0 12 F 26 12 F () S 151 J ( Bright) S 60 J ( Red) S 288 J ( Filetypes) S 60 J ( in a ) S 0 12 F 0 12 F (tar) S 0 12 F 26 12 F () S 60 J ( file that have no) S
5472 11784 P (counterpart on OS/2.) S
2160 12168 P 0 12 F 0 12 F (HIGHLIGHT) S 0 12 F 26 12 F () S 1065 J ( Bright) S 288 J ( Current) S 60 J ( disk or directory.) S
2160 12552 P 0 12 F 0 12 F (HOME) S 0 12 F 26 12 F () S 2448 J ( ) S 288 J ( Home) S 60 J ( directory \(default is the initial current) S
5472 12816 P (directory.\)) S
2160 13200 P 0 12 F 0 12 F (LSOPTIONS) S 0 12 F 26 12 F () S 1728 J ( ) S 288 J ( Default) S 60 J ( set of command line options to be) S
5472 13464 P (pasted ahead of any other command line) S
5472 13728 P (options passed to ) S 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F (.) S
2160 14112 P 0 12 F 0 12 F (MATCHFAIL) S 0 12 F 26 12 F () S 583 J ( Bright) S 60 J ( Red) S 288 J ( When) S 60 J ( filename or command completion) S
5472 14376 P (doesn't match anything.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (157) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
3479 1800 P 0 12 F 8 14 F B (Environmental) S 78 J ( Variables Recognized) S E
1800 2544 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 2928 P 0 12 F 0 12 F (MIXEDCASEDRIVES) S 0 12 F 26 12 F () S 864 J ( ) S 288 J ( List) S 60 J ( of drives and UNC names for which) S
5112 3192 P 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 0 12 F () S 144 J ( pwd.exe) S 0 12 F 26 12 F (,) S 60 J ( wildcarding and the) S
5112 3456 P (fullname and current directory functions) S
5112 3720 P (should report filenames in mixed case rather) S
5112 3984 P (than all lower case.) S
1800 4368 P 0 12 F 0 12 F (MOREEOF) S 0 12 F 26 12 F () S 1368 J ( Green) S 288 J ( End) S 60 J ( or Top of File in ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 4752 P 0 12 F 0 12 F (MOREERROR) S 0 12 F 26 12 F () S 259 J ( Bright) S 60 J ( Yellow) S 288 J ( Unrecognizable) S 60 J ( command to ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 5136 P 0 12 F 0 12 F (MOREFILLIN) S 0 12 F 26 12 F () S 941 J ( White) S 288 J ( User) S 60 J ( response to ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F () S 60 J ( prompt.) S
1800 5520 P 0 12 F 0 12 F (MOREPROMPT) S 0 12 F 26 12 F () S 936 J ( Green) S 288 J ( Prompt) S 60 J ( line in ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 5904 P 0 12 F 0 12 F (MORETOPMEM) S 0 12 F 26 12 F () S 115 J ( Bright) S 60 J ( Yellow) S 288 J ( Top) S 60 J ( of Memory message from ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 6288 P 0 12 F 0 12 F (NETWORKBUG) S 0 12 F 26 12 F () S 1584 J ( ) S 288 J ( If) S 60 J ( ) S 0 12 F 0 12 F (NETWORKBUG) S 0 12 F 26 12 F () S 60 J ( = 1, the shell and all the) S
5112 6552 P (utilities will read directory entries only one-at-) S
5112 6816 P (a-time as a workaround for a networking bug.) S
5112 7080 P (\(Not used on NT.\)) S
1800 7464 P 0 12 F 0 12 F (PATH) S 0 12 F 26 12 F () S 2448 J ( ) S 288 J ( Search) S 60 J ( path for executable files.) S
1800 7848 P 0 12 F 0 12 F (PROMPT1) S 0 12 F 26 12 F () S 576 J ( ) S 0 12 F 0 12 F ($@) S 144 J ( $CDISK%) S 0 12 F 26 12 F () S 288 J ( Primary) S 60 J ( command prompt template.) S
1800 8232 P 0 12 F 0 12 F (PROMPT2) S 0 12 F 26 12 F () S 576 J ( ) S 0 12 F 0 12 F ($@) S 144 J ( $CDISK?) S 0 12 F 26 12 F () S 288 J ( Continuation) S 60 J ( line prompt template.) S
1800 8616 P 0 12 F 0 12 F (RADIX) S 0 12 F 26 12 F () S 2064 J ( 16) S 288 J ( Default) S 60 J ( radix used by ) S 0 12 F 0 12 F (more.exe) S 0 12 F 26 12 F () S 60 J ( and other) S
5112 8880 P (utilities when displaying binary data.) S
1800 9264 P 0 12 F 0 12 F (SHELL) S 0 12 F 26 12 F () S 2304 J ( ) S 288 J ( Always) S 60 J ( set to the pathname of the Hamilton C) S
5112 9528 P (shell ) S 0 12 F 0 12 F (csh.exe) S 0 12 F 26 12 F () S 60 J ( file.) S
1800 9912 P 0 12 F 0 12 F (SWITCHCHARS) S 0 12 F 26 12 F () S 1215 J ( -/) S 288 J ( Characters) S 60 J ( that can be used as option) S
5112 10176 P (introducers for the shell and utilities.) S
1800 10560 P 0 12 F 0 12 F (SYSTEMDIRS) S 0 12 F 26 12 F () S 213 J ( Bright) S 60 J ( Green) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F () S 60 J ( for directories with the) S
5112 10824 P (System bit on.) S
1800 11208 P 0 12 F 0 12 F (SYSTEMFILES) S 0 12 F 26 12 F () S 792 J ( Green) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F () S 60 J ( for files with the System bit) S
5112 11472 P (on.) S
1800 11856 P 0 12 F 0 12 F (TABS) S 0 12 F 26 12 F () S 2328 J ( 8) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (more.exe) S 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 0 12 F (head.exe) S 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 0 12 F (tail.exe) S
5112 12120 P 0 12 F 26 12 F (and) S 60 J ( ) S 0 12 F 0 12 F (tabs.exe) S 0 12 F 26 12 F () S 60 J ( to tell them how many) S
5112 12384 P (character positions there are between tab) S
5112 12648 P (stops.) S
1800 13032 P 0 12 F 0 12 F (TAPE) S 1152 J ( \\\\.\\tape0) S 0 12 F 26 12 F () S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (mt.exe) S 0 12 F 26 12 F () S 60 J ( under Windows NT to) S
5112 13296 P (specify the pathname of the default tape drive.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (158) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
3839 1800 P 0 12 F 8 14 F B (Environmental) S 78 J ( Variables Recognized) S E
2160 2544 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 2928 P 0 12 F 0 12 F (TZ) S 0 12 F 26 12 F () S 2736 J ( ) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (tar.exe) S 0 12 F 26 12 F () S 60 J ( under OS/2 to tell it how to) S
5472 3192 P (convert between local time and GMT. \(Under) S
5472 3456 P (Windows NT, the system keeps track of the) S
5472 3720 P (difference between local time and GMT, so the) S
5472 3984 P 0 12 F 0 12 F (TZ) S 0 12 F 26 12 F () S 60 J ( variable is not needed.\) The ) S 0 12 F 0 12 F (TZ) S 0 12 F 26 12 F () S 60 J ( variable) S
5472 4248 P (should be of the form of a three-letter) S
5472 4512 P (timezone, e.g., EST, followed by a signed) S
5472 4776 P (number giving the difference in hours) S
5472 5040 P (between GMT and local time, followed by an) S
5472 5304 P (optional daylight savings timezone. Examples) S
5472 5568 P (are ) S 0 12 F 0 12 F (EST5EDT) S 0 12 F 26 12 F () S 60 J ( in New York or ) S 0 12 F 0 12 F (PST8PDT) S 0 12 F 26 12 F () S 60 J ( in) S
5472 5832 P (California.) S
2880 6456 P 0 12 F 26 10 F (Environmental) S 70 J ( variables) S 71 J ( are) S 70 J ( passed) S 71 J ( to) S 70 J ( any child processes or screens you create by) S
2880 6720 P (invoking) S 58 J ( an) S 59 J ( external utility or application. When Hamilton C shell starts up it looks) S
2880 6984 P (for) S 75 J ( the) S 76 J ( ones) S 75 J ( shown) S 76 J ( here) S 75 J ( to) S 76 J ( be) S 75 J ( defined) S 76 J ( in the environment it inherits. ) S 0 12 F 0 10 F (HOME) S 0 12 F 26 10 F (,) S 76 J ( ) S 0 12 F 0 10 F (PATH) S
2880 7248 P 0 12 F 26 10 F (and) S 50 J ( ) S 0 12 F 0 10 F (SHELL) S 0 12 F 26 10 F () S 50 J ( are special: if they're not already defined, then the shell creates them.) S
2880 7752 P (On) S 67 J ( Windows) S 68 J ( NT,) S 67 J ( environmental) S 68 J ( variables) S 67 J ( are ) S 0 12 F 26 10 F B I (not) S E E 0 12 F 26 10 F () S 67 J ( case-sensitive, so, e.g., ) S 0 12 F 0 10 F (Path) S 0 12 F 26 10 F () S 67 J ( and) S
2880 8016 P 0 12 F 0 10 F (PATH) S 0 12 F 26 10 F () S 50 J ( refer to the same thing.) S
5781 15384 P (Page ) S (159) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
3588 2448 P 0 12 F 8 14 F B (Predefined) S 78 J ( Process-Wide Variables) S E
1800 3192 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 3576 P ($) S 2904 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F B (processid) S E 0 12 F 26 12 F () S 60 J ( variable.) S
1800 3960 P 0 12 F 26 12 F B (bsdhistory) S E 0 12 F 26 12 F () S 1730 J ( 0) S 288 J ( By) S 60 J ( default, ``) S 0 12 F 0 12 F (!!) S 0 12 F 26 12 F ('') S 60 J ( is the immediately preceding) S
5112 4224 P (command and ``) S 0 12 F 0 12 F (!-1) S 0 12 F 26 12 F ('') S 60 J ( is the one before that.) S
5112 4488 P (Setting ) S 0 12 F 26 12 F B (bsdhistory) S E 0 12 F 26 12 F () S 60 J ( = 1 makes them the same.) S
1800 4872 P 0 12 F 26 12 F B (cdpath) S E 0 12 F 26 12 F () S 1851 J ( null) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (CDPATH) S 0 12 F 26 12 F () S 60 J ( environmental variable,) S
5112 5136 P (broken into words.) S
1800 5520 P 0 12 F 26 12 F B (escapesym) S E 0 12 F 26 12 F () S 1706 J ( ) S 0 12 F 0 12 F (^) S 0 12 F 26 12 F () S 288 J ( Character) S 60 J ( to be interpreted as a literal escape) S
5112 5784 P (character.) S
1800 6168 P 0 12 F 26 12 F B (histchars) S E 0 12 F 26 12 F () S 1748 J ( ) S 0 12 F 0 12 F (!%) S 0 12 F 26 12 F () S 288 J ( Characters) S 60 J ( which introduce long-form and) S
5112 6432 P (short-form history references, respectively.) S
1800 6816 P 0 12 F 26 12 F B (home) S E 0 12 F 26 12 F () S 2411 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (HOME) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
1800 7200 P 0 12 F 26 12 F B (NTVersion) S E 0 12 F 26 12 F () S 1797 J ( ) S 288 J ( Build) S 60 J ( number of the NT system on which the) S
5112 7464 P (shell is running, e.g., 340 for the October Beta.) S
5112 7728 P (\(Not defined on OS/2.\)) S
1800 8112 P 0 12 F 26 12 F B (os2version) S E 0 12 F 26 12 F () S 1851 J ( ) S 288 J ( Version) S 60 J ( number of the OS/2 system on which) S
5112 8376 P (the shell is running. \(Not defined on NT.\)) S
1800 8760 P 0 12 F 26 12 F B (path) S E 0 12 F 26 12 F () S 2530 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (PATH) S 0 12 F 26 12 F () S 60 J ( environmental variable,) S
5112 9024 P (broken into words.) S
1800 9408 P 0 12 F 26 12 F B (processid) S E 0 12 F 26 12 F () S 1983 J ( ) S 0 12 F 0 10 F () S 288 J ( ) S 0 12 F 26 12 F (The) S 60 J ( unique process ID assigned by the OS/2) S
5112 9672 P (or NT kernel to this copy of the C shell.) S
1800 10056 P 0 12 F 26 12 F B (prompt1) S E 0 12 F 26 12 F () S 651 J ( ) S 0 12 F 0 12 F ($@) S 144 J ( $CDISK%) S 0 12 F 0 10 F () S 288 J ( ) S 0 12 F 26 12 F (Same) S 60 J ( as ) S 0 12 F 0 12 F (PROMPT1) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
1800 10440 P 0 12 F 26 12 F B (prompt2) S E 0 12 F 26 12 F () S 651 J ( ) S 0 12 F 0 12 F ($@) S 144 J ( $CDISK? ) S 0 12 F 26 12 F (Same) S 60 J ( as ) S 0 12 F 0 12 F (PROMPT2) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
1800 10824 P 0 12 F 26 12 F B (savehist) S E 0 12 F 26 12 F () S 2010 J ( 0) S 288 J ( Save) S 60 J ( the history contents into ) S 0 12 F 0 12 F (history.csh) S
5112 11088 P 0 12 F 26 12 F (in) S 60 J ( the ) S 0 12 F 26 12 F B (home) S E 0 12 F 26 12 F () S 60 J ( directory.) S
1800 11472 P 0 12 F 26 12 F B (shell) S E 0 12 F 26 12 F () S 2490 J ( ) S 288 J ( Same) S 60 J ( as ) S 0 12 F 0 12 F (SHELL) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
1800 11856 P 0 12 F 26 12 F B (WinVersion) S E 0 12 F 26 12 F () S 1690 J ( ) S 288 J ( Version) S 60 J ( number of the Windows API on) S
5112 12120 P (which the shell is running, e.g., 3.1 for the) S
5112 12384 P (October Beta. \(Not defined on OS/2.\)) S
2520 13008 P 0 12 F 26 10 F (Any) S 130 J ( user-defined) S 131 J ( variables) S 130 J ( \(with) S 131 J ( the) S 130 J ( exception) S 131 J ( of) S 130 J ( the) S 131 J ( parameter) S 130 J ( names) S 131 J ( of) S 130 J ( a) S
2520 13272 P (procedure) S 83 J ( or) S 84 J ( those) S 83 J ( variables) S 84 J ( explicitly) S 83 J ( defined) S 84 J ( as) S 83 J ( local\)) S 84 J ( are shared globally by all) S
2520 13536 P (threads.) S
5781 15384 P (Page) S 50 J ( ) S (160) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4135 2184 P 0 12 F 8 14 F B (Predefined) S 78 J ( Per-Thread Variables) S E
2160 2928 P 0 12 F 26 12 F (Inherited) S 60 J ( from the parent thread:) S
2160 3432 P LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 3816 P (argv) S 2540 J ( ) S 288 J ( Any) S 60 J ( argument words passed to the shell or to) S
5472 4080 P (a ) S 0 12 F 0 12 F (.csh) S 0 12 F 26 12 F () S 60 J ( batch file.) S
2160 4464 P (bsdargv) S 2038 J ( 0) S 288 J ( If) S 60 J ( set, ) S 0 12 F 0 12 F ($argv[0]) S 0 12 F 26 12 F () S 60 J ( contains the name of the) S
5472 4728 P (script, just as it would under the original) S
5472 4992 P (Berkeley C shell; by default, ) S 0 12 F 0 12 F ($argv[0]) S 0 12 F 26 12 F () S 60 J ( is the) S
5472 5256 P (first argument word.) S
2160 5640 P (cdhome) S 2052 J ( 0) S 288 J ( If) S 60 J ( set, ``) S 0 12 F 0 12 F (cd) S 0 12 F 26 12 F ('') S 60 J ( with no argument is the same as) S
5472 5904 P (``) S 0 12 F 0 12 F (cd) S 144 J ( $home) S 0 12 F 26 12 F ('';) S 60 J ( default is to simply print the) S
5472 6168 P (current directory name.) S
2160 6552 P (cdisk) S 2465 J ( ) S 288 J ( Current) S 60 J ( disk, not including colon.) S
2160 6936 P (CDISK) S 2287 J ( ) S 288 J ( Same) S 60 J ( as cdisk, but in upper case.) S
2160 7320 P (chgdisk) S 2072 J ( 0) S 288 J ( If) S 60 J ( set, ) S 0 12 F 0 12 F (cd) S 0 12 F 26 12 F () S 60 J ( automatically does a) S
5472 7584 P 0 12 F 0 12 F (DosSelectDisk) S 0 12 F 26 12 F () S 60 J ( if the path is on another) S
5472 7848 P (disk.) S
2160 8232 P (cwd) S 2570 J ( ) S 288 J ( Full) S 60 J ( pathname of the current directory.) S
2160 8616 P (gotowindow) S 1423 J ( 50) S 288 J ( Number) S 60 J ( of statements a ) S 0 12 F 0 12 F (goto) S 0 12 F 26 12 F () S 60 J ( can jump over) S
5472 8880 P (\(when not inside a nested block\) without) S
5472 9144 P (being considered an error.) S
2160 9528 P (nohashing) S 1788 J ( 0) S 288 J ( Determine) S 60 J ( how/whether path hashing is) S
5472 9792 P (done: 0 means full path hashing of the) S
5472 10056 P (directories on the search path; 1 means turn) S
5472 10320 P (off hashing completely; 2 means hash only the) S
5472 10584 P (directories which do not depend on the setting) S
5472 10848 P (of the current directory.) S
2160 11232 P (noclobber) S 1849 J ( 0) S 288 J ( If) S 60 J ( True, don't allow redirection to overwrite an) S
5472 11496 P (existing file unless the ``!'' override is given.) S
2160 11880 P (noglob) S 2286 J ( ) S 288 J ( A) S 60 J ( synonym for the nowild variable.) S
2160 12264 P (nonohidden) S 1603 J ( 0) S 288 J ( Determine) S 60 J ( whether wildcarding will match) S
5472 12528 P (against hidden files: 0 means don't match) S
5472 12792 P (hidden files; 1 means hidden files will be) S
5472 13056 P (found.) S
2160 13440 P (nonomatch) S 1705 J ( 0) S 288 J ( Determine) S 60 J ( the response to a wildcard that) S
5472 13704 P (doesn't match anything: 0 means it's an error;) S
5472 13968 P (1 means pass it through to the application; 2) S
5472 14232 P (means simply discard it.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (161) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
3775 2184 P 0 12 F 8 14 F B (Predefined) S 78 J ( Per-Thread Variables) S E
1800 2928 P 0 12 F 26 12 F (Inherited) S 60 J ( from the parent thread:) S
1800 3432 P LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 3816 P (nonovar) S 2011 J ( 0) S 288 J ( Determine) S 60 J ( the response to a reference to a) S
5112 4080 P (non-existent variable, procedure or alias.) S
5112 4344 P (Same encoding as nonomatch.) S
1800 4728 P (nowild) S 2146 J ( 0) S 288 J ( If) S 60 J ( True, turn off filename wildcarding.) S
1800 5112 P (nullwords) S 1804 J ( 0) S 288 J ( Determines) S 60 J ( whether an array index off the) S
5112 5376 P (end of a list is an error \(0\) or returns a null) S
5112 5640 P (word \(1\).) S
1800 6024 P (precision) S 1930 J ( 6) S 288 J ( Number) S 60 J ( of decimal places to print when) S
5112 6288 P (displaying floating point values.) S
1800 6672 P (tailstatus) S 1941 J ( 0) S 288 J ( Determines) S 60 J ( whether the status variable will) S
5112 6936 P (reflect the reflect the return code from the) S
5112 7200 P (leftmost or rightmost stage of a pipeline: 0) S
5112 7464 P (means leftmost; 1 means rightmost.) S
1800 7848 P (verbose) S 2077 J ( 0) S 288 J ( If) S 60 J ( True, print out all available information) S
5112 8112 P (when reporting errors.) S
2520 8736 P 0 12 F 26 10 F (Each) S 82 J ( new thread is initialized with default on-interrupt processing \(a forced exit\),) S
2520 9000 P (and) S 196 J ( null) S 197 J ( search) S 196 J ( and) S 197 J ( replace strings. ) S 0 12 F 0 10 F (echoinput) S 0 12 F 26 10 F (,) S 197 J ( ) S 0 12 F 0 10 F (ignoreerrors) S 0 12 F 26 10 F () S 197 J ( and) S
2520 9264 P 0 12 F 0 10 F (interactive) S 0 12 F 26 10 F () S 50 J ( are initialized for the main thread based on command-line options.) S
2520 9768 P (Each) S 118 J ( thread) S 119 J ( also) S 118 J ( has) S 119 J ( its own independent notion of current disk and current) S
2520 10032 P (directories,) S 50 J ( initially inherited from its parent.) S
5781 15384 P (Page ) S (162) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4135 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Per-Thread Variables) S E
2160 2544 P 0 12 F 26 12 F (Always) S 60 J ( initialized to the default for each new child thread:) S
2160 3048 P LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 3432 P (*) S 2931 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F I (argv) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 3816 P (<) S 2879 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F I (getline) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 4200 P (@) S 2845 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F I (stmtnumber) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 4584 P 0 12 F 26 12 F I (child) S E 0 12 F 26 12 F () S 2432 J ( 0) S 288 J ( Identification) S 60 J ( number of the last child process) S
5472 4848 P (spawned.) S
2160 5232 P 0 12 F 26 12 F I (echoinput) S E 0 12 F 26 12 F () S 1953 J ( 0) S 288 J ( Copy) S 60 J ( the input to stdout as it's read.) S
2160 5616 P 0 12 F 26 12 F I (eofgetline) S E 0 12 F 26 12 F () S 1984 J ( 0) S 288 J ( Pseudo-variable) S 60 J ( to indicate if the last) S
5472 5880 P (reference to getline encountered an end-of-file) S
5472 6144 P (condition.) S
2160 6528 P 0 12 F 26 12 F I (getchar) S E 0 12 F 26 12 F () S 2313 J ( ) S 288 J ( Read) S 60 J ( one character from stdin without) S
5472 6792 P (echoing. If stdin is tied to the keyboard,) S
5472 7056 P (outboard keys are returned as a two-character) S
5472 7320 P (string.) S
2160 7704 P 0 12 F 26 12 F I (getline) S E 0 12 F 26 12 F () S 2371 J ( ) S 288 J ( Read) S 60 J ( one line from stdin pseudo-variable. If) S
5472 7968 P (stdin is tied to the keyboard, keystrokes are) S
5472 8232 P (echoed as they're typed.) S
2160 8616 P 0 12 F 26 12 F I (history) S E 0 12 F 26 12 F () S 2224 J ( 0) S 288 J ( Number) S 60 J ( of statements to remember on the) S
5472 8880 P (history list; 0 turns off the history mechanism.) S
5472 9144 P (\(If the thread is interactive, history is) S
5472 9408 P (automatically set to 100.\)) S
2160 9792 P 0 12 F 26 12 F I (ignoreeof) S E 0 12 F 26 12 F () S 2024 J ( 0) S 288 J ( If) S 60 J ( True, don't exit at EOF on stdin; insist on an) S
5472 10056 P 0 12 F 0 12 F (exit) S 0 12 F 26 12 F () S 60 J ( command.) S
2160 10440 P 0 12 F 26 12 F I (ignoreerrors) S E 0 12 F 26 12 F () S 1719 J ( 0) S 288 J ( Determine) S 60 J ( whether execution should continue) S
5472 10704 P (if an error occurs: 0 means the thread exits; 1) S
5472 10968 P (\(the default for an interactive thread\) means) S
5472 11232 P (exit from loops or procedures and try to read a) S
5472 11496 P (new command; 2 means ignore all errors.) S
2160 11880 P 0 12 F 26 12 F I (ignorestatus) S E 0 12 F 26 12 F () S 1705 J ( 1) S 288 J ( If) S 60 J ( True, a non-zero status code from a child) S
5472 12144 P (process is ignored. Otherwise, it's an error.) S
2160 12528 P 0 12 F 26 12 F I (interactive) S E 0 12 F 26 12 F () S 1873 J ( 0) S 288 J ( If) S 60 J ( True, prompt for input.) S
2160 12912 P 0 12 F 26 12 F I (irqmask) S E 0 12 F 26 12 F () S 2139 J ( 0) S 288 J ( Determines) S 60 J ( whether interrupts are enabled) S
5472 13176 P (\(0\), deferred until the mask is cleared again \(1\)) S
5472 13440 P (or ignored \(2\).) S
2160 13824 P 0 12 F 26 12 F I (scriptname) S E 0 12 F 26 12 F () S 1953 J ( ) S 288 J ( Name) S 60 J ( of the C shell script file being executed,) S
5472 14088 P (if any.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (163) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
3775 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Per-Thread Variables) S E
1800 2544 P 0 12 F 26 12 F (Always) S 60 J ( initialized to the default for each new child thread:) S
1800 3048 P LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 3432 P 0 12 F 26 12 F I (status) S E 0 12 F 26 12 F () S 2318 J ( 0) S 288 J ( Exit) S 60 J ( code of the last child process.) S
1800 3816 P 0 12 F 26 12 F I (stmtnumber) S E 0 12 F 26 12 F () S 1714 J ( 1) S 288 J ( Autoincremented) S 60 J ( statement number used) S
5112 4080 P (with the history list and in prompting.) S
1800 4464 P 0 12 F 26 12 F I (threadid) S E 0 12 F 26 12 F () S 2224 J ( ) S 288 J ( Thread) S 60 J ( id of the currently executing thread.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (164) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4913 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Variables) S E
5233 2160 P B (Sorted by Name) S E
2160 2904 P 0 12 F 26 12 F (Legend) S 60 J ( for this table:) S
2520 3408 P 0 12 F 0 10 F (COURIER) S 0 12 F 26 10 F () S 240 J ( A) S 52 J ( ) S 0 12 F 26 10 F B (setenv) S E 0 12 F 26 10 F () S 53 J ( environmental) S 52 J ( variable.) S 53 J ( ) S 52 J ( Environmental variables are passed to any) S
3600 3672 P (child) S 107 J ( processes) S 108 J ( or) S 107 J ( screens) S 108 J ( you create by invoking an external utility or) S
3600 3936 P (application.) S 78 J ( ) S 79 J ( When) S 78 J ( Hamilton) S 79 J ( C) S 78 J ( shell) S 79 J ( starts) S 78 J ( up) S 79 J ( it) S 78 J ( looks) S 79 J ( for) S 78 J ( the ones shown) S
3600 4200 P (here) S 104 J ( to) S 105 J ( be) S 104 J ( defined) S 105 J ( in) S 104 J ( the) S 105 J ( environment it inherits; if they're not already) S
3600 4464 P (defined,) S 50 J ( the shell creates them.) S
2520 4920 P 0 12 F 26 10 F B (bold) S E 0 12 F 26 10 F () S 658 J ( A) S 50 J ( ) S 0 12 F 26 10 F B (set) S E 0 12 F 26 10 F () S 50 J ( variable shared by all threads: if one makes a change, all will see it.) S
2520 5376 P (normal) S 441 J ( Each) S 98 J ( thread) S 99 J ( gets) S 98 J ( its) S 99 J ( own copy but the initial value is inherited from its) S
3600 5640 P (parent.) S
2520 6096 P 0 12 F 26 10 F I (italics) S E 0 12 F 26 10 F () S 597 J ( Each) S 80 J ( thread) S 81 J ( gets) S 80 J ( its own copy but the initialization is always to a defined) S
3600 6360 P (value.) S
2160 6864 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 7248 P ($) S 2904 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F B (processid) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 7632 P (*) S 2931 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F I (argv) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 8016 P 0 12 F 26 12 F I (<) S E 0 12 F 26 12 F () S 2879 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F I (getline) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 8400 P 0 12 F 26 12 F I (@) S E 0 12 F 26 12 F () S 2845 J ( ) S 288 J ( A) S 60 J ( synonym for the ) S 0 12 F 26 12 F I (stmtnumber) S E 0 12 F 26 12 F () S 60 J ( variable.) S
2160 8784 P 0 12 F 0 12 F (ADDITIONS) S 0 12 F 26 12 F () S 357 J ( Bright) S 60 J ( Green) S 288 J ( Lines) S 60 J ( added found by ) S 0 12 F 0 12 F (diff) S 0 12 F 26 12 F (.) S
2160 9168 P (argv) S 2540 J ( ) S 288 J ( Any) S 60 J ( argument words passed to the shell or to) S
5472 9432 P (a ) S 0 12 F 0 12 F (.csh) S 0 12 F 26 12 F () S 60 J ( batch file.) S
2160 9816 P (bsdargv) S 2038 J ( 0) S 288 J ( If) S 60 J ( set, ) S 0 12 F 0 12 F ($argv[0]) S 0 12 F 26 12 F () S 60 J ( contains the name of the) S
5472 10080 P (script, just as it would under the original) S
5472 10344 P (Berkeley C shell; by default, ) S 0 12 F 0 12 F ($argv[0]) S 0 12 F 26 12 F () S 60 J ( is the) S
5472 10608 P (first argument word.) S
2160 10992 P 0 12 F 26 12 F B (bsdhistory) S E 0 12 F 26 12 F () S 1730 J ( 0) S 288 J ( By) S 60 J ( default, ``) S 0 12 F 0 12 F (!!) S 0 12 F 26 12 F ('') S 60 J ( is the immediately preceding) S
5472 11256 P (command and ``) S 0 12 F 0 12 F (!-1) S 0 12 F 26 12 F ('') S 60 J ( is the one before that.) S
5472 11520 P (Setting ) S 0 12 F 26 12 F B (bsdhistory) S E 0 12 F 26 12 F () S 60 J ( = 1 makes them the same.) S
2160 11904 P (cdhome) S 2052 J ( 0) S 288 J ( If) S 60 J ( set, ``) S 0 12 F 0 12 F (cd) S 0 12 F 26 12 F ('') S 60 J ( with no argument is the same as) S
5472 12168 P (``) S 0 12 F 0 12 F (cd) S 144 J ( $home) S 0 12 F 26 12 F ('';) S 60 J ( default is to simply print the) S
5472 12432 P (current directory name.) S
2160 12816 P (cdisk) S 2465 J ( ) S 288 J ( Current) S 60 J ( disk, not including colon.) S
2160 13200 P (CDISK) S 2287 J ( ) S 288 J ( Same) S 60 J ( as cdisk, but in upper case.) S
2160 13584 P 0 12 F 0 12 F (CDPATH) S 0 12 F 26 12 F () S 2160 J ( ) S 288 J ( List) S 60 J ( of directories to search for the) S
5472 13848 P (subdirectory specified as the new current) S
5472 14112 P (directory.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (165) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4553 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Variables) S E
4873 2160 P B (Sorted by Name) S E
1800 2904 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 3288 P 0 12 F 26 12 F B (cdpath) S E 0 12 F 26 12 F () S 1851 J ( null) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (CDPATH) S 0 12 F 26 12 F () S 60 J ( environmental variable,) S
5112 3552 P (broken into words.) S
1800 3936 P (chgdisk) S 2072 J ( 0) S 288 J ( If) S 60 J ( set, ) S 0 12 F 0 12 F (cd) S 0 12 F 26 12 F () S 60 J ( automatically does a) S
5112 4200 P 0 12 F 0 12 F (DosSelectDisk) S 0 12 F 26 12 F () S 60 J ( if the path is on another) S
5112 4464 P (disk.) S
1800 4848 P 0 12 F 26 12 F I (child) S E 0 12 F 26 12 F () S 2432 J ( 0) S 288 J ( Identification) S 60 J ( number of the last child process) S
5112 5112 P (spawned.) S
1800 5496 P 0 12 F 0 12 F (COLORS) S 0 12 F 26 12 F () S 549 J ( White) S 60 J ( on Black) S 288 J ( Normal) S 60 J ( screen colors.) S
1800 5880 P 0 12 F 0 12 F (COMSPEC) S 0 12 F 26 12 F () S 2016 J ( ) S 288 J ( Usually,) S 60 J ( this is the pathname of ) S 0 12 F 0 12 F (cmd.exe) S 0 12 F 26 12 F (.) S 60 J ( If) S
5112 6144 P (you set it to point to the C shell, e.g., so other) S
5112 6408 P (programs will invoke the C shell rather than) S
5112 6672 P 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 12 F (,) S 60 J ( the C shell will try to look through) S
5112 6936 P (the search path for ) S 0 12 F 0 10 F (cmd.exe) S 0 12 F 26 12 F () S 60 J ( if it needs to run a) S
5112 7200 P 0 12 F 0 10 F (.cmd) S 0 12 F 26 12 F () S 60 J ( file.) S
1800 7584 P 0 12 F 0 12 F (CSHOPTIONS) S 0 12 F 26 12 F () S 1584 J ( ) S 288 J ( Default) S 60 J ( set of command line options to be) S
5112 7848 P (pasted ahead of any other command line) S
5112 8112 P (options passed to ) S 0 12 F 0 12 F (csh.exe) S 0 12 F 26 12 F (.) S
1800 8496 P (cwd) S 2570 J ( ) S 288 J ( Full) S 60 J ( pathname of the current directory.) S
1800 8880 P 0 12 F 0 12 F (DELETIONS) S 0 12 F 26 12 F () S 583 J ( Bright) S 60 J ( Red) S 288 J ( Lines) S 60 J ( deleted found by ) S 0 12 F 0 12 F (diff) S 0 12 F 26 12 F (.) S
1800 9264 P 0 12 F 0 12 F (DIRECTORIES) S 0 12 F 26 12 F () S 777 J ( Bright) S 288 J ( Directories) S 60 J ( listed by ) S 0 12 F 0 12 F (ls) S 0 12 F 26 12 F (.) S
1800 9648 P 0 12 F 0 12 F (DUPLICATES) S 0 12 F 26 12 F () S 936 J ( Green) S 288 J ( When) S 60 J ( filename completion matches matches) S
5112 9912 P (more than one name.) S
1800 10296 P 0 12 F 0 12 F (DRIVEMASK) S 0 12 F 26 12 F () S 1728 J ( ) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (du.exe) S 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 0 12 F (pwd.exe) S 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 0 12 F (vl.exe) S 0 12 F 26 12 F () S 60 J ( to) S
5112 10560 P (limit the default list of drives it will report on.) S
5112 10824 P (Written as a list of alphabetic characters) S
5112 11088 P (representing the drives you want listed;) S
5112 11352 P (ranges are allowed. If you don't define this) S
5112 11616 P (variable, all drives beginning with ) S 0 12 F 0 12 F (C:) S 0 12 F 26 12 F () S 60 J ( are) S
5112 11880 P (normally reported.) S
1800 12264 P 0 12 F 26 12 F I (echoinput) S E 0 12 F 26 12 F () S 1953 J ( 0) S 288 J ( Copy) S 60 J ( the input to stdout as it's read.) S
1800 12648 P 0 12 F 26 12 F I (eofgetline) S E 0 12 F 26 12 F () S 1984 J ( 0) S 288 J ( Pseudo-variable) S 60 J ( to indicate if the last) S
5112 12912 P (reference to ) S 0 12 F 26 12 F I (getline) S E 0 12 F 26 12 F () S 60 J ( encountered an end-of-file) S
5112 13176 P (condition.) S
1800 13560 P 0 12 F 0 12 F (ESCAPESYM) S 0 12 F 26 12 F () S 1583 J ( ^) S 288 J ( Character) S 60 J ( to be interpreted as a literal escape) S
5112 13824 P (character. Placed in the environment only if it) S
5112 14088 P (is not the default circumflex.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (166) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4913 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Variables) S E
5233 2160 P B (Sorted by Name) S E
2160 2904 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 3288 P 0 12 F 26 12 F B (escapesym) S E 0 12 F 26 12 F () S 1706 J ( ) S 0 12 F 0 12 F (^) S 0 12 F 26 12 F () S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (ESCAPESYM) S 0 12 F 26 12 F () S 60 J ( environmental) S
5472 3552 P (variable.) S
2160 3936 P 0 12 F 0 12 F (FOREIGNFILES) S 0 12 F 26 12 F () S 151 J ( Bright) S 60 J ( Red) S 288 J ( Filetypes) S 60 J ( in a ) S 0 12 F 0 12 F (tar) S 0 12 F 26 12 F () S 60 J ( file that have no) S
5472 4200 P (counterpart on OS/2 or NT.) S
2160 4584 P 0 12 F 26 12 F I (getchar) S E 0 12 F 26 12 F () S 2313 J ( ) S 288 J ( Read) S 60 J ( one character from stdin without) S
5472 4848 P (echoing. If stdin is tied to the keyboard,) S
5472 5112 P (outboard keys are returned as a two-character) S
5472 5376 P (string.) S
2160 5760 P 0 12 F 26 12 F I (getline) S E 0 12 F 26 12 F () S 2371 J ( ) S 288 J ( Read) S 60 J ( one line from stdin pseudo-variable. If) S
5472 6024 P (stdin is tied to the keyboard, keystrokes are) S
5472 6288 P (echoed as they're typed.) S
2160 6672 P (gotowindow) S 1423 J ( 50) S 288 J ( Number) S 60 J ( of statements a ) S 0 12 F 0 12 F (goto) S 0 12 F 26 12 F () S 60 J ( can jump over) S
5472 6936 P (\(when not inside a nested block\) without) S
5472 7200 P (being considered an error.) S
2160 7584 P 0 12 F 0 12 F (HIGHLIGHT) S 0 12 F 26 12 F () S 1065 J ( Bright) S 288 J ( Current) S 60 J ( disk or directory.) S
2160 7968 P 0 12 F 26 12 F B (histchars) S E 0 12 F 26 12 F () S 1748 J ( ) S 0 12 F 0 12 F (!%) S 0 12 F 26 12 F () S 288 J ( Characters) S 60 J ( which introduce long-form and) S
5472 8232 P (short-form history references, respectively.) S
2160 8616 P 0 12 F 26 12 F I (history) S E 0 12 F 26 12 F () S 2224 J ( 0) S 288 J ( Number) S 60 J ( of statements to remember on the) S
5472 8880 P (history list; 0 turns off the history mechanism.) S
5472 9144 P (\(If the thread is interactive, history is) S
5472 9408 P (automatically set to 100.\)) S
2160 9792 P 0 12 F 0 12 F (HOME) S 0 12 F 26 12 F () S 2448 J ( ) S 288 J ( Home) S 60 J ( directory \(default is the initial current) S
5472 10056 P (directory.\)) S
2160 10440 P 0 12 F 26 12 F B (home) S E 0 12 F 26 12 F () S 2411 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (HOME) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
2160 10824 P 0 12 F 26 12 F I (ignoreeof) S E 0 12 F 26 12 F () S 2024 J ( 0) S 288 J ( If) S 60 J ( True, don't exit at EOF on stdin; insist on an) S
5472 11088 P 0 12 F 0 12 F (exit) S 0 12 F 26 12 F () S 60 J ( command.) S
2160 11472 P 0 12 F 26 12 F I (ignoreerrors) S E 0 12 F 26 12 F () S 1719 J ( 0) S 288 J ( Determine) S 60 J ( whether execution should continue) S
5472 11736 P (if an error occurs: 0 means the thread exits; 1) S
5472 12000 P (\(the default for an interactive thread\) means) S
5472 12264 P (exit from loops or procedures and try to read a) S
5472 12528 P (new command; 2 means ignore all errors.) S
2160 12912 P 0 12 F 26 12 F I (ignorestatus) S E 0 12 F 26 12 F () S 1705 J ( 1) S 288 J ( If) S 60 J ( True, a non-zero status code from a child) S
5472 13176 P (process is ignored. Otherwise, it's an error.) S
2160 13560 P 0 12 F 26 12 F I (interactive) S E 0 12 F 26 12 F () S 1873 J ( 0) S 288 J ( If) S 60 J ( True, prompt for input.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (167) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4553 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Variables) S E
4873 2160 P B (Sorted by Name) S E
1800 2904 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 3288 P 0 12 F 26 12 F I (irqmask) S E 0 12 F 26 12 F () S 2139 J ( 0) S 288 J ( Determines) S 60 J ( whether interrupts are enabled) S
5112 3552 P (\(0\), deferred until the mask is cleared again \(1\)) S
5112 3816 P (or ignored \(2\).) S
1800 4200 P 0 12 F 0 12 F (LSOPTIONS) S 0 12 F 26 12 F () S 1728 J ( ) S 288 J ( Default) S 60 J ( set of command line options to be) S
5112 4464 P (pasted ahead of any other command line) S
5112 4728 P (options passed to ) S 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F (.) S
1800 5112 P 0 12 F 0 12 F (MATCHFAIL) S 0 12 F 26 12 F () S 583 J ( Bright) S 60 J ( Red) S 288 J ( When) S 60 J ( filename or command completion) S
5112 5376 P (doesn't match anything.) S
1800 5760 P 0 12 F 0 12 F (MIXEDCASEDRIVES) S 0 12 F 26 12 F () S 864 J ( ) S 288 J ( List) S 60 J ( of drives and UNC names for which) S
5112 6024 P 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 0 12 F () S 144 J ( pwd.exe) S 0 12 F 26 12 F (,) S 60 J ( wildcarding and the) S
5112 6288 P (fullname and current directory functions) S
5112 6552 P (should report filenames in mixed case rather) S
5112 6816 P (than all lower case.) S
1800 7200 P 0 12 F 0 12 F (MOREEOF) S 0 12 F 26 12 F () S 1368 J ( Green) S 288 J ( End) S 60 J ( or Top of File in ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 7584 P 0 12 F 0 12 F (MOREERROR) S 0 12 F 26 12 F () S 259 J ( Bright) S 60 J ( Yellow) S 288 J ( Unrecognizable) S 60 J ( command to ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 7968 P 0 12 F 0 12 F (MOREFILLIN) S 0 12 F 26 12 F () S 941 J ( White) S 288 J ( User) S 60 J ( response to ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F () S 60 J ( prompt.) S
1800 8352 P 0 12 F 0 12 F (MOREPROMPT) S 0 12 F 26 12 F () S 936 J ( Green) S 288 J ( Prompt) S 60 J ( line in ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 8736 P 0 12 F 0 12 F (MORETOPMEM) S 0 12 F 26 12 F () S 115 J ( Bright) S 60 J ( Yellow) S 288 J ( Top) S 60 J ( of Memory message from ) S 0 12 F 0 12 F (more) S 0 12 F 26 12 F (.) S
1800 9120 P 0 12 F 0 12 F (NETWORKBUG) S 0 12 F 26 12 F () S 1584 J ( ) S 288 J ( If) S 60 J ( ) S 0 12 F 0 12 F (NETWORKBUG) S 0 12 F 26 12 F () S 60 J ( = 1, the shell and all the) S
5112 9384 P (utilities will read directory entries only one-at-) S
5112 9648 P (a-time as a workaround for a networking bug.) S
5112 9912 P (\(Not used on NT.\)) S
1800 10296 P (nohashing) S 1788 J ( 0) S 288 J ( Determine) S 60 J ( how/whether path hashing is) S
5112 10560 P (done: 0 means full path hashing of the) S
5112 10824 P (directories on the search path; 1 means turn) S
5112 11088 P (off hashing completely; 2 means hash only the) S
5112 11352 P (directories which do not depend on the setting) S
5112 11616 P (of the current directory.) S
1800 12000 P (noclobber) S 1849 J ( 0) S 288 J ( If) S 60 J ( True, don't allow redirection to overwrite an) S
5112 12264 P (existing file unless the ``) S 0 12 F 0 12 F (!) S 0 12 F 26 12 F ('') S 60 J ( override is given.) S
1800 12648 P (noglob) S 2286 J ( ) S 288 J ( A) S 60 J ( synonym for the nowild variable.) S
1800 13032 P (nonohidden) S 1603 J ( 0) S 288 J ( Determine) S 60 J ( whether wildcarding will match) S
5112 13296 P (against hidden files: 0 means don't match) S
5112 13560 P (hidden files; 1 means hidden files will be) S
5112 13824 P (found.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (168) S 0 12 F
PE
8767 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4913 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Variables) S E
5233 2160 P B (Sorted by Name) S E
2160 2904 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
2160 3288 P (nonomatch) S 1705 J ( 0) S 288 J ( Determine) S 60 J ( the response to a wildcard that) S
5472 3552 P (doesn't match anything: 0 means it's an error;) S
5472 3816 P (1 means pass it through to the application; 2) S
5472 4080 P (means simply discard it.) S
2160 4464 P (nonovar) S 2011 J ( 0) S 288 J ( Determine) S 60 J ( the response to a non-existent) S
5472 4728 P (variable, procedure or alias. Same encoding) S
5472 4992 P (as nonomatch.) S
2160 5376 P (nowild) S 2146 J ( 0) S 288 J ( If) S 60 J ( True, turn off filename wildcarding.) S
2160 5760 P 0 12 F 26 12 F B (NTVersion) S E 0 12 F 26 12 F () S 1797 J ( ) S 288 J ( Build) S 60 J ( number of the NT system on which the) S
5472 6024 P (shell is running, e.g., 340 for the October Beta.) S
5472 6288 P (\(Not defined on OS/2.\)) S
2160 6672 P (nullwords) S 1804 J ( 0) S 288 J ( Determines) S 60 J ( whether an array index off the) S
5472 6936 P (end of a list is an error \(0\) or returns a null) S
5472 7200 P (word \(1\).) S
2160 7584 P 0 12 F 26 12 F B (os2version) S E 0 12 F 26 12 F () S 1851 J ( ) S 288 J ( Version) S 60 J ( number of the OS/2 system on which) S
5472 7848 P (the shell is running. \(Not defined on NT.\)) S
2160 8232 P 0 12 F 0 12 F (PATH) S 0 12 F 26 12 F () S 2448 J ( ) S 288 J ( Search) S 60 J ( path for executable files.) S
2160 8616 P 0 12 F 26 12 F B (path) S E 0 12 F 26 12 F () S 2530 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (PATH) S 0 12 F 26 12 F () S 60 J ( environmental variable,) S
5472 8880 P (broken into words.) S
2160 9264 P (precision) S 1930 J ( 6) S 288 J ( Number) S 60 J ( of decimal places to print when) S
5472 9528 P (displaying floating point values.) S
2160 9912 P 0 12 F 26 12 F B (processid) S E 0 12 F 26 12 F () S 1983 J ( ) S 0 12 F 0 10 F () S 288 J ( ) S 0 12 F 26 12 F (The) S 60 J ( unique process ID assigned by the OS/2) S
5472 10176 P (or NT kernel to this copy of the C shell.) S
2160 10560 P 0 12 F 0 12 F (PROMPT1) S 576 J ( $@) S 144 J ( $CDISK%) S 0 12 F 26 12 F () S 288 J ( Primary) S 60 J ( command prompt template.) S
2160 10944 P 0 12 F 26 12 F B (prompt1) S E 0 12 F 26 12 F () S 2091 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (PROMPT1) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
2160 11328 P 0 12 F 0 12 F (PROMPT2) S 576 J ( $@) S 144 J ( $CDISK?) S 0 12 F 26 12 F () S 288 J ( Continuation) S 60 J ( line prompt template.) S
2160 11712 P 0 12 F 26 12 F B (prompt2) S E 0 12 F 26 12 F () S 2091 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (PROMPT2) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
2160 12096 P 0 12 F 0 12 F (RADIX) S 0 12 F 26 12 F () S 2064 J ( 16) S 288 J ( Default) S 60 J ( radix used by ) S 0 12 F 0 12 F (more.exe) S 0 12 F 26 12 F () S 60 J ( when) S
5472 12360 P (displaying binary data.) S
2160 12744 P 0 12 F 26 12 F B (savehist) S E 0 12 F 26 12 F () S 2010 J ( 0) S 288 J ( Save) S 60 J ( the history contents into ) S 0 12 F 0 12 F (history.csh) S
5472 13008 P 0 12 F 26 12 F (in) S 60 J ( the ) S 0 12 F 26 12 F B (home) S E 0 12 F 26 12 F () S 60 J ( directory.) S
2160 13392 P 0 12 F 26 12 F I (scriptname) S E 0 12 F 26 12 F () S 1953 J ( ) S 288 J ( Name) S 60 J ( of the C shell script file being executed,) S
5472 13656 P (if any.) S
2160 14040 P 0 12 F 0 12 F (SHELL) S 0 12 F 26 12 F () S 2304 J ( ) S 288 J ( Always) S 60 J ( set to the pathname of the Hamilton C) S
5472 14304 P (shell ) S 0 12 F 0 12 F (csh.exe) S 0 12 F 26 12 F () S 60 J ( file.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (169) S 0 12 F
PE
720 984 P 8 12 F B (Predefined) S 67 J ( Variables) S E
4553 1800 P 0 12 F 8 14 F B (Predefined) S 78 J ( Variables) S E
4873 2160 P B (Sorted by Name) S E
1800 2904 P 0 12 F 26 12 F LU (Name) S 1584 J ( Default) S 288 J ( Use) S 4924 J ( ) S LE
1800 3288 P 0 12 F 26 12 F B (shell) S E 0 12 F 26 12 F () S 2490 J ( ) S 288 J ( Same) S 60 J ( as the ) S 0 12 F 0 12 F (SHELL) S 0 12 F 26 12 F () S 60 J ( environmental variable.) S
1800 3672 P 0 12 F 26 12 F I (status) S E 0 12 F 26 12 F () S 2318 J ( 0) S 288 J ( Exit) S 60 J ( code of the last child process.) S
1800 4056 P 0 12 F 26 12 F I (stmtnumber) S E 0 12 F 26 12 F () S 1714 J ( 1) S 288 J ( Autoincremented) S 60 J ( statement number used) S
5112 4320 P (with the history list and in prompting.) S
1800 4704 P 0 12 F 0 12 F (SWITCHCHARS) S 0 12 F 26 12 F () S 1215 J ( -/) S 288 J ( Characters) S 60 J ( that can be used as option) S
5112 4968 P (introducers for the shell and utilities.) S
1800 5352 P 0 12 F 0 12 F (SYSTEMDIRS) S 0 12 F 26 12 F () S 213 J ( Bright) S 60 J ( Green) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F () S 60 J ( for directories with the) S
5112 5616 P (System bit on.) S
1800 6000 P 0 12 F 0 12 F (SYSTEMFILES) S 0 12 F 26 12 F () S 792 J ( Green) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (ls.exe) S 0 12 F 26 12 F () S 60 J ( for files with the System bit) S
5112 6264 P (on.) S
1800 6648 P 0 12 F 0 12 F (TABS) S 0 12 F 26 12 F () S 2328 J ( 8) S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (more.exe) S 0 12 F 26 12 F () S 60 J ( to tell it how many) S
5112 6912 P (character positions there are between tab) S
5112 7176 P (stops.) S
1800 7560 P (tailstatus) S 1941 J ( 0) S 288 J ( Determines) S 60 J ( whether the status variable will) S
5112 7824 P (reflect the reflect the return code from the) S
5112 8088 P (leftmost or rightmost stage of a pipeline: 0) S
5112 8352 P (means leftmost; 1 means rightmost.) S
1800 8736 P 0 12 F 0 12 F (TAPE) S 1152 J ( \\\\.\\tape0) S 0 12 F 26 12 F () S 288 J ( Used) S 60 J ( by ) S 0 12 F 0 12 F (mt.exe) S 0 12 F 26 12 F () S 60 J ( under Windows NT to) S
5112 9000 P (specify the pathname of the default tape drive.) S
1800 9384 P 0 12 F 26 12 F I (threadid) S E 0 12 F 26 12 F () S 2224 J ( ) S 288 J ( Thread) S 60 J ( id of the currently executing thread.) S
1800 9768 P 0 12 F 0 12 F (TZ) S 0 12 F 26 12 F () S 2736 J ( ) S 288 J ( Used) S 60 J ( by tar.exe under OS/2 to tell it how to) S
5112 10032 P (convert between local time and GMT. \(Under) S
5112 10296 P (Windows NT, the system keeps track of the) S
5112 10560 P (difference between local time and GMT, so the) S
5112 10824 P 0 12 F 0 12 F (TZ) S 0 12 F 26 12 F () S 60 J ( variable is not needed.\) The ) S 0 12 F 0 12 F (TZ) S 0 12 F 26 12 F () S 60 J ( variable) S
5112 11088 P (should be in the form of a three-letter) S
5112 11352 P (timezone, e.g., EST, followed by a signed) S
5112 11616 P (number giving the difference in hours) S
5112 11880 P (between GMT and local time, followed by an) S
5112 12144 P (optional daylight savings timezone. Examples) S
5112 12408 P (are ) S 0 12 F 0 12 F (EST5EDT) S 0 12 F 26 12 F () S 60 J ( in New York or ) S 0 12 F 0 12 F (PST8PDT) S 0 12 F 26 12 F () S 60 J ( in) S
5112 12672 P (California.) S
1800 13056 P (verbose) S 2077 J ( 0) S 288 J ( If) S 60 J ( True, print out all available information) S
5112 13320 P (when reporting errors.) S
1800 13704 P 0 12 F 26 12 F B (WinVersion) S E 0 12 F 26 12 F () S 1690 J ( ) S 288 J ( Version) S 60 J ( number of the Windows API on) S
5112 13968 P (which the shell is running, e.g., 3.1 for the) S
5112 14232 P (October Beta. \(Not defined on OS/2.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (170) S 0 12 F
PE
8926 984 P 8 12 F B (Built-in) S 67 J ( Procedures) S E
5008 2760 P 0 12 F 8 14 F B (Built-in) S 78 J ( Procedures) S E
2520 3504 P 0 12 F 26 12 F LU (Name) S 3314 J ( Function) S 2944 J ( ) S LE
2160 4008 P 0 12 F 8 12 F B (Filename) S 67 J ( Functions:) S E
2520 4392 P 0 12 F 26 12 F (childpath\() S 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F I (c) S E 0 12 F 26 12 F (\)) S 2446 J ( Test) S 60 J ( whether filename ) S 0 12 F 26 12 F I (c) S E 0 12 F 26 12 F () S 60 J ( could be in a) S
6480 4656 P (subdirectory of ) S 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (.) S 60 J ( \(Does not test for) S
6480 4920 P (actual existence of either ) S 0 12 F 26 12 F I (c) S E 0 12 F 26 12 F () S 60 J ( or ) S 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (.\)) S
2520 5344 P (driveno\() S 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (\)) S 2846 J ( Drive) S 60 J ( number implied by pathname) S
6480 5608 P 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (.) S
2520 6032 P (fullpath\() S 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (\)) S 2833 J ( Fully) S 60 J ( resolve pathname ) S 0 12 F 26 12 F I (p) S E 0 12 F 26 12 F (.) S
2520 6456 P (samepath\() S 0 12 F 26 12 F I (a) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (\)) S 2431 J ( Test) S 60 J ( whether two filenames, ) S 0 12 F 26 12 F I (a) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (,) S
6480 6720 P (point) S 60 J ( to the same file.) S
2160 7264 P 0 12 F 8 12 F B (Math) S 67 J ( Functions:) S E
2520 7648 P 0 12 F 26 12 F (abs\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 3325 J ( Absolute) S 60 J ( value) S
2520 8072 P (acos\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( asin\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( atan\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( cos\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( sin\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( tan\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S
6480 8336 P (Trigonometric) S 60 J ( functions) S
2520 8760 P (cosh\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( sinh\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( tanh\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 1350 J ( Hyperbolic) S 60 J ( functions) S
2520 9184 P (ceil\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 3318 J ( Ceiling) S 60 J ( \(lowest integer ) S 0 12 F 56 12 F (\263) S 0 12 F 26 12 F () S 60 J ( ) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S
2520 9608 P (exp\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( log\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( log2\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 60 J ( log10\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 555 J ( Exponential) S 60 J ( and logarithmic) S
6480 9872 P (functions) S
2520 10296 P (floor\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 3173 J ( Floor) S 60 J ( \(highest integer ) S 0 12 F 56 12 F (\243) S 0 12 F 26 12 F () S 60 J ( ) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S
2520 10720 P (round\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 3022 J ( floor\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F () S 60 J ( + 0.5\)) S
2520 11144 P (sqrt\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 3271 J ( Square) S 60 J ( root) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (171) S 0 12 F
PE
720 984 P 8 12 F B (Built-in) S 67 J ( Procedures) S E
4648 1800 P 0 12 F 8 14 F B (Built-in) S 78 J ( Procedures) S E
2160 2544 P 0 12 F 26 12 F LU (Name) S 3314 J ( Function) S 2944 J ( ) S LE
1800 3048 P 0 12 F 8 12 F B (String) S 67 J ( Functions:) S E
2160 3432 P 0 12 F 26 12 F (ansi\() S 0 12 F 26 12 F I (color) S E 0 12 F 26 12 F (\)) S 2896 J ( Return) S 60 J ( an ANSI escape sequence) S
6120 3696 P (which will produce the specified) S
6120 3960 P (screen colors. If the argument is) S
6120 4224 P (ambiguous, e.g., simply ``bright,'' it's) S
6120 4488 P (taken as a modification of the default) S
6120 4752 P (colors specified by the COLORS) S
6120 5016 P (variable.) S
2160 5440 P (char\() S 0 12 F 26 12 F I (i) S E 0 12 F 26 12 F (\)) S 3271 J ( Return) S 60 J ( the character corresponding) S
6120 5704 P (to the numeric value ) S 0 12 F 26 12 F I (i) S E 0 12 F 26 12 F (.) S
2160 6128 P (code\() S 0 12 F 26 12 F I (c) S E 0 12 F 26 12 F (\)) S 3202 J ( Return) S 60 J ( the numeric encoding of the) S
6120 6392 P (character ) S 0 12 F 26 12 F I (c) S E 0 12 F 26 12 F (.) S
2160 6816 P (concat\() S 0 12 F 26 12 F I (a) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (,) S 60 J ( ...\)) S 2479 J ( Concatenation) S 60 J ( of a series of strings.) S
2160 7240 P (isinteger\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 2762 J ( Test) S 60 J ( whether ) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F () S 60 J ( is an integer.) S
6120 7504 P (\(Remember that null strings and) S
6120 7768 P (strings consisting only of white) S
6120 8032 P (space are considered equal to 0.\)) S
2160 8456 P (isnumber\() S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F (\)) S 2668 J ( Test) S 60 J ( whether ) S 0 12 F 26 12 F I (x) S E 0 12 F 26 12 F () S 60 J ( is a number.) S
2160 8880 P (printf\() S 0 12 F 26 12 F I (fmt) S E 0 12 F 26 12 F (,) S 60 J ( ...\)) S 2559 J ( Perform) S 60 J ( C language-style print) S
6120 9144 P (formatting, returning the result as a) S
6120 9408 P (string. \(See table of format) S
6120 9672 P (conversions on following page.\)) S
2160 10096 P (reverse\() S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (\)) S 2934 J ( Reverse) S 60 J ( the order of characters in ) S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (.) S
2160 10520 P (strindex\() S 0 12 F 26 12 F I (a) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (\)) S 2591 J ( Return) S 60 J ( the position in ) S 0 12 F 26 12 F I (a) S E 0 12 F 26 12 F () S 60 J ( of the first) S
6120 10784 P (occurrence of ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (.) S 60 J ( \(0 means ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F () S 60 J ( was not) S
6120 11048 P (found.\)) S
2160 11472 P (strlen\() S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (\)) S 3107 J ( Number) S 60 J ( of characters in ) S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (,) S
6120 11736 P (represented) S 60 J ( as a string) S
2160 12160 P (substr\() S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F I (i) S E 0 12 F 26 12 F (\)) S 2634 J ( Substring) S 60 J ( of length ) S 0 12 F 26 12 F I (i) S E 0 12 F 26 12 F () S 60 J ( beginning at ) S 0 12 F 26 12 F I (b) S E 0 12 F 26 12 F (-) S
6120 12424 P (th) S 60 J ( character of ) S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (.) S 60 J ( \() S 0 12 F 26 12 F I (i) S E 0 12 F 26 12 F () S 60 J ( = 0 means ``rest) S
6120 12688 P (of ) S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (''\)) S
2160 13112 P (upper\() S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (\)) S 60 J ( lower\() S 0 12 F 26 12 F I (s) S E 0 12 F 26 12 F (\)) S 2020 J ( Translate) S 60 J ( a string to all upper- or all) S
6120 13376 P (lower-case) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (172) S 0 12 F
PE
8926 984 P 8 12 F B (Built-in) S 67 J ( Procedures) S E
4712 2760 P 0 12 F 8 14 F B (Printf) S 78 J ( Format Directives) S E
3240 3504 P 0 12 F 26 12 F (These) S 60 J ( argument formats are recognized by printf:) S
3600 3928 P (%c) S 1131 J ( Single) S 60 J ( character.) S
3600 4252 P (%d) S 1091 J ( Decimal) S 60 J ( number.) S
3600 4576 P (%e) S 1123 J ( [-]d.dddddde[+-]ddd) S
3600 4900 P (%f) S 1158 J ( [-]ddd.dddddd) S
3600 5224 P (%g) S 1105 J ( %e) S 60 J ( or %f formatting, whichever is shorter.) S
3600 5548 P (%o) S 1107 J ( Unsigned) S 60 J ( octal number.) S
3600 5872 P (%s) S 1136 J ( String.) S
3600 6196 P (%x) S 1114 J ( unsigned) S 60 J ( hexadecimal number.) S
3600 6520 P (%%) S 1036 J ( Literal) S 60 J ( % character.) S
3240 7168 P (Additional parameters may lie between the % and the control) S
3240 7432 P (letter:) S
3600 7856 P (-) S 1360 J ( Left-justify) S 60 J ( expression in its field.) S
3600 8180 P (width) S 805 J ( Pad) S 60 J ( field to this width as needed; leading 0 pads) S
5040 8444 P (with zeros.) S
3600 8768 P (.prec) S 919 J ( Maximum) S 60 J ( string width or digits to right of) S
5040 9032 P (decimal point.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (173) S 0 12 F
PE
720 984 P 8 12 F B (Built-in) S 67 J ( Procedures) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (174) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
5273 2184 P 0 12 F 8 14 F B (Built-in) S 78 J ( Utilities) S E
3240 2928 P 0 12 F 26 12 F LU (Command) S 2108 J ( Function) S 2368 J ( ) S LE
3240 3312 P (cd) S 2986 J ( Change) S 60 J ( working directory.) S
6480 3576 P (Optionally, change disk.) S
3240 3960 P (chcp) S 2742 J ( Change) S 60 J ( code page. \(Not) S
6480 4224 P (implemented on NT.\)) S
3240 4608 P (chdir) S 2681 J ( A) S 60 J ( synonym for cd.) S
3240 4992 P (cls) S 2961 J ( Clear) S 60 J ( the screen.) S
3240 5376 P (dirs) S 2826 J ( Print) S 60 J ( the directory stack.) S
3240 5760 P (echo) S 2747 J ( Echo) S 60 J ( arguments to stdout.) S
3240 6144 P (eval) S 2799 J ( Defer) S 60 J ( parsing of the word list until) S
6480 6408 P (the evaluation phase.) S
3240 6792 P (hashstat) S 2360 J ( Print) S 60 J ( path hash statistics.) S
3240 7176 P (heapstat) S 2343 J ( Print) S 60 J ( heap usage statistics.) S
3240 7560 P (history) S 2491 J ( Display) S 60 J ( the history list.) S
3240 7944 P (kill) S 2897 J ( Kill) S 60 J ( background activity.) S
3240 8328 P (popd) S 2674 J ( Pop) S 60 J ( directory stack.) S
3240 8712 P (ps) S 2994 J ( List) S 60 J ( process and thread status.) S
3240 9096 P (pushd) S 2562 J ( Push) S 60 J ( a new current directory on the) S
6480 9360 P (directory stack or exchange the top) S
6480 9624 P (two items.) S
3240 10008 P (rehash) S 2528 J ( Rehash) S 60 J ( the path directories.) S
3240 10392 P (rotd) S 2789 J ( Rotate) S 60 J ( the directory stack.) S
3240 10776 P (sleep) S 2694 J ( Sleep) S 60 J ( for a specified period.) S
3240 11160 P (source) S 2545 J ( Read) S 60 J ( commands from a file.) S
3240 11544 P (unhash) S 2453 J ( Turn) S 60 J ( off path list hashing.) S
3240 11928 P (verify) S 2611 J ( Turn) S 60 J ( on write verification mode.) S
3240 12312 P (wait) S 2772 J ( Wait) S 60 J ( for children to complete.) S
3240 12936 P (All built-in utilities self-document with the -h option.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (175) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
4842 2184 P 0 12 F 8 14 F B (External) S 78 J ( Utilities) S E
2880 2928 P 0 12 F 26 12 F LU (Command) S 2108 J ( Function) S 2368 J ( ) S LE
2880 3312 P (binedit) S 2487 J ( Binary) S 60 J ( edit.) S
2880 3696 P (cat) S 2935 J ( Concatenate) S 60 J ( files.) S
2880 4080 P (chmod) S 2503 J ( Change) S 60 J ( mode bits of file.) S
2880 4464 P (cp) S 2989 J ( Copy) S 60 J ( files or directories.) S
2880 4848 P (cron) S 2767 J ( Run) S 60 J ( commands at specified times.) S
2880 5232 P (cut) S 2910 J ( Cut) S 60 J ( out selected fields of each line of) S
6120 5496 P (text.) S
2880 5880 P (des) S 2876 J ( Encrypt) S 60 J ( or decrypt data using the) S
6120 6144 P (Data Encryption Standard \(DES\).) S
6120 6408 P (Due to U.S. Federal Law, this utility) S
6120 6672 P (cannot be exported outside the U.S.) S
6120 6936 P (or Canada.) S
2880 7320 P (date) S 2780 J ( Display) S 60 J ( the date and time.) S
2880 7704 P (diff) S 2863 J ( Compare) S 60 J ( files or directories.) S
2880 8088 P (dim) S 2811 J ( Discard) S 60 J ( any ansi escape sequences in) S
6120 8352 P (the input stream.) S
2880 8736 P (dskread) S 2381 J ( Read) S 60 J ( raw sectors from a disk.) S
2880 9120 P (dskwrite) S 2300 J ( Write) S 60 J ( raw sectors to a disk.) S
2880 9504 P (du) S 2948 J ( Display) S 60 J ( disk usage.) S
2880 9888 P (fgrep) S 2673 J ( Fast) S 60 J ( string search \(fast grep\) of text) S
6120 10152 P (files.) S
2880 10536 P (grep) S 2753 J ( Regular) S 60 J ( expression pattern search of) S
6120 10800 P (text files.) S
2880 11184 P (head) S 2718 J ( Copy) S 60 J ( the first few lines or bytes of a) S
6120 11448 P (file to stdout.) S
2880 11832 P (label) S 2732 J ( Read/Write) S 60 J ( the volume label.) S
2880 12216 P (ls) S 3068 J ( List) S 60 J ( directory contents.) S
2880 12600 P (markexe) S 2326 J ( Mark) S 60 J ( an ) S 0 12 F 0 12 F (.exe) S 0 12 F 26 12 F () S 60 J ( file to indicate what) S
6120 12864 P (sort of application it is. \(OS/2 only.\)) S
2880 13248 P (mkdir) S 2583 J ( Make) S 60 J ( a new directory.) S
2880 13632 P (more) S 2687 J ( A) S 60 J ( better more utility. \(Able to search) S
6120 13896 P (forward or backward or to a specific) S
6120 14160 P (line.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (176) S 0 12 F
PE
10273 984 P 8 12 F B (Utilities) S E
5202 2184 P 0 12 F 8 14 F B (External) S 78 J ( Utilities) S E
3240 2928 P 0 12 F 26 12 F LU (Command) S 2108 J ( Function) S 2368 J ( ) S LE
3240 3312 P (moreh) S 2547 J ( A) S 60 J ( large model version of more.) S
3240 3696 P (mt) S 2950 J ( Manipulate) S 60 J ( the tape device. \(NT) S
6480 3960 P (only.\)) S
3240 4344 P (mv) S 2892 J ( Move) S 60 J ( files or directories.) S
3240 4728 P (newer) S 2575 J ( Test) S 60 J ( whether first file is newer than) S
6480 4992 P (the others.) S
3240 5376 P (older) S 2682 J ( Test) S 60 J ( whether first file is older than) S
6480 5640 P (the others.) S
3240 6024 P (patchlnk) S 2308 J ( A) S 60 J ( \(very\) special-purpose utility to) S
6480 6288 P (patch a bug in the Microsoft linker) S
6480 6552 P (on OS/2.) S
3240 6936 P (pwd) S 2749 J ( Print) S 60 J ( the working directories.) S
3240 7320 P (rm) S 2933 J ( Remove) S 60 J ( files or directories.) S
3240 7704 P (rmdir) S 2621 J ( Remove) S 60 J ( directories.) S
3240 8088 P (sed) S 2876 J ( Stream) S 60 J ( editor.) S
3240 8472 P (setrows) S 2417 J ( Set) S 60 J ( or report the number of rows in) S
6480 8736 P (the display window. \(OS/2 only.\)) S
3240 9120 P (split) S 2776 J ( Split) S 60 J ( a large file into equal-sized) S
6480 9384 P (chunks.) S
3240 9768 P (startwin) S 2357 J ( Start) S 60 J ( Win3.x applications under) S
6480 10032 P (OS/2 2.x.) S
3240 10416 P (strings) S 2520 J ( Extract) S 60 J ( ASCII strings from a file.) S
3240 10800 P (sum) S 2781 J ( Checksum) S 60 J ( the contents of a file.) S
3240 11184 P (tabs) S 2807 J ( Expand/Unexpand) S 60 J ( tabs.) S
3240 11568 P (tail) S 2902 J ( Copy) S 60 J ( the last few lines or bytes of a) S
6480 11832 P (file to stdout.) S
3240 12216 P (tar) S 2947 J ( Read/Write) S 60 J ( UNIX tape archive \(tar\)) S
6480 12480 P (format files.) S
3240 12864 P (tee) S 2932 J ( Pipe) S 60 J ( fitting.) S
3240 13248 P (touch) S 2639 J ( Update) S 60 J ( the time-stamp on a file.) S
3240 13632 P (tr) S 3067 J ( Translate) S 60 J ( characters.) S
3240 14016 P (uniq) S 2751 J ( Report) S 60 J ( unique lines in text files.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (177) S 0 12 F
PE
720 984 P 8 12 F B (Utilities) S E
4842 2184 P 0 12 F 8 14 F B (External) S 78 J ( Utilities) S E
2880 2928 P 0 12 F 26 12 F LU (Command) S 2108 J ( Function) S 2368 J ( ) S LE
2880 3312 P (ver) S 2894 J ( Display) S 60 J ( the current system and) S
6120 3576 P (Hamilton C shell version numbers.) S
2880 3960 P (vol) S 2903 J ( Display) S 60 J ( the disk volume label.) S
2880 4344 P (wc) S 2933 J ( Count) S 60 J ( lines, words and characters.) S
2880 4728 P (whereis) S 2403 J ( Tell) S 60 J ( which PATH directory a given) S
6120 4992 P (executable is in.) S
2880 5376 P (xd) S 2969 J ( Hex) S 60 J ( dump a file to stdout.) S
2880 6000 P (All external utilities except whereis self-document with the -h) S
2880 6264 P (option. Any external utility may be renamed simply by renaming) S
2880 6528 P (the executable file.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (178) S 0 12 F
PE
9340 984 P 8 12 F B (Popular) S 67 J ( Aliases) S E
5248 2184 P 0 12 F 8 14 F B (Popular) S 78 J ( Aliases) S E
3240 2928 P 0 12 F 26 12 F LU (Command) S 236 J ( Definition) S 792 J ( Function) S 2368 J ( ) S LE
3240 3312 P (app) S 960 J ( cat) S 60 J ( >>) S 1217 J ( Append) S 60 J ( to a file.) S
3240 3696 P (beep) S 861 J ( eval) S 60 J ( echo -n ^a) S 273 J ( Beep) S 60 J ( sound.) S
3240 4080 P (breaksw) S 470 J ( break) S 1276 J ( Older) S 60 J ( BSD4.3 name for a break) S
6480 4344 P (statement inside a switch.) S
3240 4728 P (cdd) S 967 J ( cd) S 60 J ( +c) S 1306 J ( Change) S 60 J ( the directory and disk in one) S
6480 4992 P (command.) S
3240 5376 P (copy) S 853 J ( local) S 60 J ( s ; @ s = $nowild ; @ nowild = 1 ; safecopy) S
6480 5640 P (Invoke the standard IBM/MS copy) S
6480 5904 P (command with shell wildcarding) S
6480 6168 P (turned off so copy will work) S
6480 6432 P (sensibly.) S
3240 6816 P (date) S 908 J ( dt) S 1647 J ( Display) S 60 J ( the current time and date.) S
3240 7200 P (del) S 1036 J ( local) S 60 J ( s ; @ s = $nowild ; @ nowild = 1 ; safedel) S
6480 7464 P (Invoke the del command with shell) S
6480 7728 P (wildcarding turned off so ``del *.*'') S
6480 7992 P (will still produce the ``Are you) S
6480 8256 P (sure?'' message.) S
3240 8640 P (di) S 1151 J ( diff) S 60 J ( -b!) S 1155 J ( Run) S 60 J ( the diff command, ignoring) S
6480 8904 P (white space differences and using) S
6480 9168 P (color to highlight the changes.) S
3240 9552 P (dir) S 1056 J ( cmd) S 60 J ( /c dir) S 722 J ( Invoke) S 60 J ( the cmd.exe dir command.) S
6480 9816 P (\(Alternately, you may wish to) S
6480 10080 P (intercept dir the same way copy or) S
6480 10344 P (del is done, turning off shell) S
6480 10608 P (wildcarding before running the) S
6480 10872 P (command.\)) S
3240 11256 P (duc) S 969 J ( du) S 60 J ( -c) S 1333 J ( Disk) S 60 J ( usage for the current disk only.) S
3240 11640 P (dumphist) S 330 J ( history) S 60 J ( -s > ~\\history.csh) S
6480 11904 P (Dump out the history list.) S
3240 12288 P (endif) S 816 J ( end) S 1470 J ( Older) S 60 J ( BSD4.3 name for the end of an) S
6480 12552 P (if statement.) S
3240 12936 P (endsw) S 664 J ( end) S 1470 J ( Older) S 60 J ( BSD4.3 name for the end of) S
6480 13200 P (switch statement.) S
3240 13584 P (erase) S 821 J ( del) S 1540 J ( Alternate) S 60 J ( name for del.) S
3240 13968 P (f) S 1288 J ( fgrep) S 1305 J ( Quicker) S 60 J ( name for fgrep.) S
3240 14352 P (fn) S 1148 J ( fgrep) S 60 J ( -n) S 1025 J ( Fgrep) S 60 J ( and print line numbers.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (179) S 0 12 F
PE
720 984 P 8 12 F B (Popular) S 67 J ( Aliases) S E
4888 2184 P 0 12 F 8 14 F B (Popular) S 78 J ( Aliases) S E
2880 2928 P 0 12 F 26 12 F LU (Command) S 236 J ( Definition) S 792 J ( Function) S 2368 J ( ) S LE
2880 3312 P (g) S 1235 J ( grep) S 1385 J ( Quicker) S 60 J ( name for grep.) S
2880 3696 P (h) S 1228 J ( history) S 1123 J ( Quicker) S 60 J ( name for history.) S
2880 4080 P (help) S 899 J ( ) S 1872 J ( Under) S 60 J ( OS/2, invoke the) S
6120 4344 P (IBM/Microsoft help command.) S
6120 4608 P (Under NT, this is a procedure using) S
6120 4872 P (winerror \(in the samples directory\)) S
6120 5136 P (to print the message corresponding) S
6120 5400 P (to the return code from the last) S
6120 5664 P (command.) S
2880 6048 P (home) S 770 J ( cdd) S 60 J ( ~) S 1266 J ( Change) S 60 J ( to the home disk and) S
6120 6312 P (directory.) S
2880 6696 P (ld) S 1151 J ( ls) S 60 J ( -a +D -.) S 849 J ( List) S 60 J ( only the subdirectories.) S
2880 7080 P (ll) S 1228 J ( ls) S 60 J ( -L) S 1413 J ( List) S 60 J ( directories, long format.) S
2880 7464 P (loadhist) S 510 J ( source) S 60 J ( -n ~\\history.csh) S
6120 7728 P (Load the history list without) S
6120 7992 P (executing any of it.) S
2880 8376 P (md) S 1009 J ( mkdir) S 1215 J ( Make) S 60 J ( directories.) S
2880 8760 P (mi) S 1086 J ( moreh) S 60 J ( -i) S 969 J ( Quick) S 60 J ( interactive startup of your) S
6120 9024 P (favorite version more. Clears the) S
6120 9288 P (screen when it starts up and doesn't) S
6120 9552 P (just exit if there's less than a) S
6120 9816 P (screenful.) S
2880 10200 P (mih) S 946 J ( moreh) S 60 J ( -i) S 969 J ( Huge) S 60 J ( interactive more.) S
2880 10584 P (mis) S 984 J ( more) S 60 J ( -i) S 1109 J ( Small) S 60 J ( interactive more.) S
2880 10968 P (pause) S 742 J ( echo) S 60 J ( -n Press any key when ready ... ; @ getchar ; echo) S
6120 11232 P (Pause, waiting for any keystroke or) S
6120 11496 P (character from stdin.) S
2880 11880 P (q) S 1234 J ( exit) S 1485 J ( Exit) S 60 J ( the C shell) S
2880 12264 P (rd) S 1126 J ( rmdir) S 1253 J ( Remove) S 60 J ( empty directories.) S
2880 12648 P (ren) S 1018 J ( rename) S 1075 J ( Another) S 60 J ( name for the rename alias.) S
2880 13032 P (rename) S 571 J ( local) S 60 J ( s ; @ s = nowild ; @ nowild = 1 ; saferename) S
6120 13296 P (Invoke the standard IBM/MS) S
6120 13560 P (rename command with shell) S
6120 13824 P (wildcarding turned off so the) S
6120 14088 P (rename will work sensibly.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (180) S 0 12 F
PE
9340 984 P 8 12 F B (Popular) S 67 J ( Aliases) S E
5248 2184 P 0 12 F 8 14 F B (Popular) S 78 J ( Aliases) S E
3240 2928 P 0 12 F 26 12 F LU (Command) S 236 J ( Definition) S 792 J ( Function) S 2368 J ( ) S LE
3240 3312 P (start) S 895 J ( cmd) S 60 J ( /c start) S 561 J ( Start) S 60 J ( a new session via the cmd.exe) S
6480 3576 P (start command.) S
3240 3960 P (type) S 898 J ( cat) S 1567 J ( Copy) S 60 J ( files to stdout.) S
3240 4344 P (vol) S 1031 J ( vl) S 1666 J ( List) S 60 J ( volume labels.) S
3240 4728 P (w) S 1168 J ( \(wait;) S 60 J ( beep\)) S 617 J ( Wait) S 60 J ( for background processes and) S
6480 4992 P (beep.) S
3240 5376 P (xcopy) S 729 J ( local) S 60 J ( s ; @ s = nowild ; @ nowild = 1 ; safexcopy) S
6480 5640 P (Invoke the standard IBM/MS xcopy) S
6480 5904 P (command with shell wildcarding) S
6480 6168 P (turned off so xcopy will work) S
6480 6432 P (sensibly.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (181) S 0 12 F
PE
720 984 P 8 12 F B (Popular) S 67 J ( Aliases) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (182) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
4396 1800 P 0 12 F 8 16 F B (Help) S 89 J ( for Hamilton C shell) S E
2160 2544 P 0 12 F 8 12 F B (csh:) S 947 J ( Startup) S 67 J ( the Hamilton C shell) S E
2880 3048 P 0 12 F 26 12 F (Usage:) S 60 J ( csh [-!BbefFhHiKLlNnstuXYZ-] [-IO] [+IO] [-cC command]) S
2880 3312 P ( ) S 660 J ( ) S 720 J ( [arguments) S 60 J ( ... ]) S
2880 3816 P (Options:) S
3456 4320 P (-!) S 429 J ( Ignore) S 60 J ( errors: Continue execution even if a command) S
4032 4584 P (terminates abnormally. \(Implied by interactive.\)) S
3456 4908 P (-B) S 349 J ( Berkeley) S 60 J ( mode for better compatibility with the BSD4.3 C) S
4032 5172 P (shell for commands typed, not just those read from a script) S
4032 5436 P (starting with #!/bin/csh.) S
3456 5760 P (-b) S 363 J ( No) S 60 J ( Berkeley compatibility mode at all, not even on scripts) S
4032 6024 P (starting with #!/bin/csh.) S
3456 6348 P (-c) S 389 J ( Execute) S 60 J ( the command following on the command line, then) S
4032 6612 P (exit. \(Implies not interactive.\)) S
3456 6936 P (-C) S 326 J ( Normally,) S 60 J ( this means immediately run the command on the) S
4032 7200 P (command line, then continue with normal startup and) S
4032 7464 P (processing of stdin. But for compatibility with cmd.exe, the) S
4032 7728 P (-X option may be used to toggle this to have the same) S
4032 7992 P (meaning as -c but with the initial greeting and copyright) S
4032 8256 P (notice suppressed.) S
3456 8580 P (-e) S 381 J ( Echo) S 60 J ( the raw input to stdout.) S
3456 8904 P (-f) S 416 J ( Fast) S 60 J ( startup: Don't look for a startup.csh file.) S
3456 9228 P (-F) S 363 J ( ) S 0 12 F 26 12 F I (Faster) S E 0 12 F 26 12 F () S 60 J ( startup: Don't look for a startup.csh file and don't) S
4032 9492 P (hash the path directories.) S
3456 9816 P (-H) S 296 J ( Heapstats.) S 60 J ( At some penalty in performance, this causes the) S
4032 10080 P (shell to keep a count of the number and total size of all) S
4032 10344 P (objects allocated or freed from the heap. Statistics can be) S
4032 10608 P (displayed using the heapstat command.) S
3456 10932 P (-i) S 426 J ( Interactive) S 60 J ( \(even if stdin appears to be a file or a pipe\):) S
4032 11196 P (Prompt for input and show the result of history) S
4032 11460 P (substitutions.) S
3456 11784 P (-I) S 415 J ( Start) S 60 J ( with command-line editing in insert mode.) S
3456 12108 P (+I) S 350 J ( Start) S 60 J ( every command in insert mode.) S
3456 12432 P (-K) S 322 J ( Do) S 60 J ( a fast startup, skipping both the login.csh and) S
4032 12696 P (startup.csh files, run the command on the command line,) S
4032 12960 P (and exit.) S
3456 13284 P (-L) S 349 J ( Login) S 60 J ( shell: Look for login.csh and logout.csh and do) S
4032 13548 P (history save at exit if savehist == 1.) S
3456 13872 P (-l) S 426 J ( same) S 60 J ( as -L.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (183) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
3096 1704 P 0 12 F 26 12 F (-N) S 297 J ( No) S 60 J ( space after the last filename generated by filename) S
3672 1968 P (completion. \(It's convenient to set this with) S
3672 2232 P (CSHOPTIONS.\)) S
3096 2556 P (-n) S 356 J ( No) S 60 J ( execution: Parse commands looking for syntax errors) S
3672 2820 P (but don't execute them.) S
3096 3144 P (-O) S 307 J ( Start) S 60 J ( with command-line editing in overstrike \(default\)) S
3672 3408 P (mode.) S
3096 3732 P (+O) S 242 J ( Start) S 60 J ( every command in overstrike mode.) S
3096 4056 P (-s) S 394 J ( Read) S 60 J ( and execute a single line from stdin. \(Implies not) S
3672 4320 P (interactive.\)) S
3096 4644 P (-t) S 418 J ( Suppress) S 60 J ( callstack tracing. Error messages will not include) S
3672 4908 P (a dump of the callstack but performance will be improved) S
3672 5172 P (slightly.) S
3096 5496 P (-u) S 351 J ( Reads) S 60 J ( from devices or pipes should be unbuffered.) S
3672 5760 P (\(Intended to all the shell to be used over a comm line.\)) S
3096 6084 P (-X) S 336 J ( Toggle) S 60 J ( between the normal meaning of -C and a cmd.exe-) S
3672 6348 P (compatible interpretation. You can set this with the) S
3672 6612 P (CSHOPTIONS environmental variable in combination with) S
3672 6876 P (setting COMSPEC to point to the C shell to allow programs) S
3672 7140 P (that use /C to pass commands to cmd.exe to be used with) S
3672 7404 P (the C shell instead.) S
3096 7728 P (-Y) S 336 J ( No) S 60 J ( interrupts. Don't install an interrupt handler during) S
3672 7992 P (startup. \(Ignored under Windows NT.\)) S
3096 8316 P (-Z) S 336 J ( Very) S 60 J ( special purpose: Don't bump the maximum file) S
3672 8580 P (handle count during shell initialization. Use this option) S
3672 8844 P (under OS/2 as a workaround if you encounter an) S
3672 9108 P (application that fails if it inherits a larger limit. This option) S
3672 9372 P (only works from the Start Programs or Group menus, not) S
3672 9636 P (the command line. Under NT, this option affects only the) S
3672 9900 P (limit on the number of open file handles on a FAT) S
3672 10164 P (filesystem; it has no effect on HPFS or NTFS files.) S
3096 10488 P (-h) S 356 J ( Help.) S
3096 10812 P (--) S 416 J ( End) S 60 J ( of options.) S
1800 11616 P (\(If) S 96 J ( preferred,) S 97 J ( the) S 96 J ( slash,) S 97 J ( ``/,'') S 96 J ( may) S 97 J ( be) S 96 J ( used) S 97 J ( in) S 96 J ( place) S 97 J ( of a minus to introduce) S
1800 11880 P (options.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (184) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
4787 1800 P 0 12 F 8 16 F B (Help) S 89 J ( for the Utilities) S E
2160 2544 P 0 12 F 8 12 F B (binedit:) S 572 J ( Binary) S 67 J ( Edit) S E
2880 3048 P 0 12 F 26 12 F (Usage:) S 60 J ( binedit [-ih!-] [-r replace] search file1 [ file2 ... ]) S
3312 3552 P 0 12 F 26 12 F B (binedit) S E 0 12 F 26 12 F () S 69 J ( is) S 70 J ( a) S 69 J ( very) S 70 J ( simple) S 69 J ( utility) S 70 J ( for scanning arbitrary files, looking) S
3312 3816 P (for) S 68 J ( and) S 69 J ( optionally) S 68 J ( changing) S 69 J ( any) S 68 J ( references to the search argument) S
3312 4080 P (to) S 88 J ( the) S 89 J ( replacement) S 88 J ( value.) S 89 J ( ) S 88 J ( binedit is quite useful patching binary) S
3312 4344 P (files,) S 60 J ( e.g., to replace all occurrences of C:\\OS2 with C:\\1.X.) S
3312 4848 P (Occurrences) S 97 J ( will) S 98 J ( be) S 97 J ( reported) S 98 J ( as hex offsets from the start of the) S
3312 5112 P (files) S 72 J ( you) S 73 J ( name.) S 72 J ( ) S 73 J ( You) S 72 J ( can) S 73 J ( use) S 72 J ( these) S 73 J ( numbers) S 72 J ( to) S 73 J ( go) S 72 J ( examine the file) S
3312 5376 P (with) S 184 J ( IBM/MS) S 185 J ( patch.exe) S 184 J ( if) S 185 J ( you) S 184 J ( like) S 185 J ( and make the change) S
3312 5640 P (manually.) S
3312 6144 P (You) S 65 J ( can) S 66 J ( also) S 65 J ( ask) S 66 J ( ) S 0 12 F 26 12 F B (binedit) S E 0 12 F 26 12 F () S 65 J ( to) S 66 J ( make) S 65 J ( the) S 66 J ( change,) S 65 J ( using) S 66 J ( the) S 65 J ( -r \(replace\)) S
3312 6408 P (option.) S 63 J ( ) S 64 J ( Nothing fancy. It just changes all occurrences to the string) S
3312 6672 P (you) S 60 J ( specify and quits.) S
3312 7176 P (Neither) S 171 J ( the) S 172 J ( search) S 171 J ( nor) S 172 J ( the) S 171 J ( replace) S 172 J ( string may contain null) S
3312 7440 P (characters,) S 60 J ( but otherwise there are no restrictions.) S
2880 7944 P (Options:) S
3456 8448 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 8772 P (-i) S 426 J ( Ignore) S 60 J ( character case in the search argument.) S
3456 9096 P (-r replace) S 583 J ( Replace) S 60 J ( any occurrences of the search string with) S
5040 9360 P (this replacement value.) S
3456 9684 P (-!) S 429 J ( Pad) S 60 J ( with nulls or truncate the replace string to be the same) S
4032 9948 P (length as the search string. \(Otherwise, it's an error if) S
4032 10212 P (they're different lengths.\)) S
3456 10536 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 11340 P 0 12 F 8 12 F B (cat:) S 1014 J ( Concatenate) S 67 J ( Files to Stdout) S E
2880 11844 P 0 12 F 26 12 F (Usage:) S 60 J ( cat [-h-] [ file1 file2 ... ]) S
3312 12348 P 0 12 F 26 12 F B (cat) S E 0 12 F 26 12 F () S 118 J ( copies) S 119 J ( the) S 118 J ( files) S 119 J ( you) S 118 J ( specify,) S 119 J ( one) S 118 J ( immediately) S 119 J ( after another,) S
3312 12612 P (onto) S 144 J ( stdout.) S 145 J ( ) S 144 J ( No) S 145 J ( end-of-file or other delimiter characters are) S
3312 12876 P (inserted) S 60 J ( between files.) S
2880 13380 P (Options:) S
3456 13884 P (-h) S 356 J ( Help.) S
3456 14208 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (185) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (cd:) S 1080 J ( Change) S 67 J ( to a New Current Directory) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( cd [-chr-] [+chr] [ directory ]) S
2952 2712 P 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F () S 67 J ( works) S 68 J ( exactly) S 67 J ( like) S 68 J ( the) S 67 J ( one) S 68 J ( in) S 67 J ( cmd.exe) S 68 J ( by) S 67 J ( default:) S 68 J ( ) S 67 J ( if) S 68 J ( you specify) S
2952 2976 P (a) S 60 J ( directory,) S 61 J ( it) S 60 J ( tries to make that the current on appropriate disk but) S
2952 3240 P (won't) S 65 J ( change) S 66 J ( your) S 65 J ( current) S 66 J ( disk.) S 65 J ( ) S 66 J ( If) S 65 J ( you don't specify a directory, it) S
2952 3504 P (reports) S 60 J ( the current setting.) S
2952 4008 P (If) S 72 J ( the) S 73 J ( path) S 72 J ( you) S 73 J ( specify) S 72 J ( is) S 73 J ( just) S 72 J ( 3) S 73 J ( or) S 72 J ( more dots, ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F () S 72 J ( will interpret that) S
2952 4272 P (specially.) S 74 J ( Just as ``) S 0 12 F 0 12 F (..) S 0 12 F 26 12 F ('') S 74 J ( means go up one level, ``) S 0 12 F 0 12 F (...) S 0 12 F 26 12 F ('') S 74 J ( means up 2) S
2952 4536 P (levels,) S 87 J ( ``) S 0 12 F 0 12 F (....) S 0 12 F 26 12 F ('') S 88 J ( means) S 87 J ( up) S 88 J ( 3) S 87 J ( levels,) S 88 J ( etc.) S 87 J ( ) S 88 J ( Note) S 87 J ( that) S 88 J ( ``) S 0 12 F 0 12 F (...) S 0 12 F 26 12 F ('') S 87 J ( is also a) S
2952 4800 P (wildcard) S 72 J ( notation) S 73 J ( for zero or more directory levels, but only if it's) S
2952 5064 P (preceded) S 84 J ( by) S 85 J ( ``) S 0 12 F 0 12 F (\\) S 0 12 F 26 12 F ('',) S 85 J ( ``) S 0 12 F 0 12 F (/) S 0 12 F 26 12 F ('',) S 85 J ( ``) S 0 12 F 0 12 F (~) S 0 12 F 26 12 F ('') S 85 J ( or ``) S 0 12 F 0 12 F (:) S 0 12 F 26 12 F ('') S 85 J ( or followed by ``) S 0 12 F 0 12 F (\\) S 0 12 F 26 12 F ('') S 85 J ( or ``) S 0 12 F 0 12 F (/) S 0 12 F 26 12 F ('',) S 85 J ( so) S
2952 5328 P (usually) S 70 J ( there's) S 71 J ( no) S 70 J ( conflict) S 71 J ( with) S 70 J ( this) S 71 J ( notation) S 70 J ( for) S 71 J ( going) S 70 J ( up) S 71 J ( multiple) S
2952 5592 P (directories) S 102 J ( with) S 103 J ( ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F (.) S 103 J ( The exception is when you'd like to go up) S
2952 5856 P (multiple) S 98 J ( directories) S 99 J ( on) S 98 J ( an) S 99 J ( explicitly) S 98 J ( specified drive; in that case,) S
2952 6120 P (you'll) S 60 J ( have to quote the word to turn off the wildcarding.) S
2952 6624 P (This) S 83 J ( version) S 84 J ( of) S 83 J ( ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F () S 84 J ( also) S 83 J ( supports) S 84 J ( ) S 0 12 F 26 12 F B (CDPATH) S E 0 12 F 26 12 F (.) S 83 J ( ) S 84 J ( If) S 83 J ( you) S 84 J ( specify) S 83 J ( a path) S
2952 6888 P (that) S 64 J ( isn't) S 65 J ( found,) S 64 J ( cd) S 65 J ( will) S 64 J ( look through the list of any directories you) S
2952 7152 P (specify) S 73 J ( in the ) S 0 12 F 26 12 F B (CDPATH) S E 0 12 F 26 12 F () S 73 J ( environmental variable \(or the equivalent) S
2952 7416 P 0 12 F 26 12 F B (cdpath) S E 0 12 F 26 12 F () S 78 J ( shell) S 79 J ( variable\)) S 78 J ( to) S 79 J ( see) S 78 J ( if) S 79 J ( the) S 78 J ( directory) S 79 J ( you want is in one of) S
2952 7680 P (those) S 63 J ( directories.) S 64 J ( ) S 63 J ( The) S 64 J ( syntax) S 63 J ( for) S 64 J ( ) S 0 12 F 26 12 F B (CDPATH) S E 0 12 F 26 12 F () S 63 J ( and ) S 0 12 F 26 12 F B (cdpath) S E 0 12 F 26 12 F () S 63 J ( is the same) S
2952 7944 P (as) S 74 J ( for) S 75 J ( ) S 0 12 F 26 12 F B (PATH) S E 0 12 F 26 12 F () S 74 J ( or) S 75 J ( ) S 0 12 F 26 12 F B (path) S E 0 12 F 26 12 F () S 74 J ( except) S 75 J ( that) S 74 J ( the) S 75 J ( current) S 74 J ( directory) S 75 J ( need) S 74 J ( not) S 75 J ( be) S
2952 8208 P (listed.) S
2952 8712 P (\(See) S 60 J ( also the ) S 0 12 F 26 12 F B (dirs) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (pushd) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (popd) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (rotd) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2520 9216 P (Options:) S
2952 9720 P (If) S 79 J ( you) S 80 J ( set) S 79 J ( the) S 80 J ( ) S 0 12 F 26 12 F B (chgdisk) S E 0 12 F 26 12 F () S 79 J ( variable) S 80 J ( equal) S 79 J ( to 1 \(its default is 0\), ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F () S 79 J ( will) S
2952 9984 P (automatically) S 97 J ( change) S 98 J ( current) S 97 J ( disks if the directory is on another) S
2952 10248 P (drive.) S 100 J ( The +c and -c options allow you to manually control this) S
2952 10512 P (drive) S 60 J ( switching:) S
3096 11016 P (+c) S 324 J ( Automatically) S 60 J ( change the current disk.) S
3096 11340 P (-c) S 389 J ( Don't) S 60 J ( automatically change current disk.) S
2952 11904 P (If) S 67 J ( you) S 68 J ( set) S 67 J ( the ) S 0 12 F 26 12 F B (cdhome) S E 0 12 F 26 12 F () S 67 J ( variable to 1 \(its default is 0\), ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F () S 67 J ( will change) S
2952 12168 P (to) S 60 J ( your) S 61 J ( home) S 60 J ( directory) S 61 J ( if) S 60 J ( you specify one instead of reporting your) S
2952 12432 P (current) S 63 J ( position.) S 64 J ( ) S 63 J ( You) S 64 J ( can) S 63 J ( manually) S 64 J ( control this with the +r and -r) S
2952 12696 P (options:) S
3096 13200 P (+r) S 336 J ( Report) S 60 J ( but don't change the current directory if no) S
3672 13464 P (destination directory is specified.) S
3096 13788 P (-r) S 401 J ( Change) S 60 J ( to the home directory in this situation.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (186) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3456 1704 P 0 12 F 26 12 F (-h) S 356 J ( Help.) S
3456 2028 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 2832 P 0 12 F 8 12 F B (chcp:) S 800 J ( Report) S 67 J ( or Change the Code Page) S E
2880 3336 P 0 12 F 26 12 F (Usage:) S 60 J ( chcp [-h-] [ page ]) S
3312 3840 P (Change) S 79 J ( to) S 80 J ( the) S 79 J ( specified) S 80 J ( OS/2) S 79 J ( character set code page. If no page) S
3312 4104 P (is) S 95 J ( specified,) S 96 J ( report the current active and prepared pages. \(This) S
3312 4368 P (command) S 60 J ( is not yet supported under NT.\)) S
2880 4872 P (Options:) S
3456 5376 P (-h) S 356 J ( Help.) S
3456 5700 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 6504 P 0 12 F 8 12 F B (chmod:) S 573 J ( Change) S 67 J ( Mode Bits on Files or Directories) S E
2880 7008 P 0 12 F 26 12 F (Usage:) S 60 J ( chmod [-+] [rRAHSh] pathname1 [ pathname2 ... ]) S
2880 7512 P (Options:) S
3456 8016 P (-r) S 401 J ( Recursively) S 60 J ( change contents of directories.) S
3456 8340 P (+R) S 271 J ( Read-only) S 60 J ( mode is set. \(The file is write-protected.\)) S
3456 8664 P (-R) S 336 J ( Read-only) S 60 J ( mode is turned off.) S
3456 8988 P (+A) S 244 J ( Archive) S 60 J ( bit is set.) S
3456 9312 P (-A) S 309 J ( Archive) S 60 J ( bit is turned off.) S
3456 9636 P (+H) S 231 J ( Hidden) S 60 J ( mode is set.) S
3456 9960 P (-H) S 296 J ( Hidden) S 60 J ( mode is turned off.) S
3456 10284 P (+S) S 305 J ( Mark) S 60 J ( as a System file.) S
3456 10608 P (-S) S 370 J ( Mark) S 60 J ( as a normal user file.) S
3456 10932 P (-h) S 356 J ( Help.) S
3456 11256 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 12060 P 0 12 F 8 12 F B (cls:) S 1027 J ( Clear) S 67 J ( the Screen) S E
2880 12564 P 0 12 F 26 12 F (Usage:) S 60 J ( cls [-h-]) S
2880 13068 P (Options:) S
3456 13572 P (-h) S 356 J ( Help.) S
3456 13896 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (187) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (cp:) S 1080 J ( Copy) S 67 J ( Files or Directories) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( cp [-filmh-] source1 [ source2 ... ] destination) S
2952 2712 P 0 12 F 26 12 F B (cp) S E 0 12 F 26 12 F () S 113 J ( can) S 114 J ( copy) S 113 J ( both) S 114 J ( files) S 113 J ( and) S 114 J ( directories.) S 113 J ( ) S 114 J ( If the destination is an) S
2952 2976 P (existing) S 127 J ( directory,) S 128 J ( the) S 127 J ( source) S 128 J ( object\(s\)) S 127 J ( will) S 128 J ( be) S 127 J ( copied) S 128 J ( into that) S
2952 3240 P (directory.) S 168 J ( ) S 169 J ( If more than one source object is specified, the) S
2952 3504 P (destination) S 60 J ( must be a directory, but it need not already exist.) S
2952 4008 P (If) S 70 J ( a destination file already exists, it will be overwritten; this is not) S
2952 4272 P (considered) S 60 J ( an error and no diagnostic message is given.) S
2520 4776 P (Options:) S
3096 5280 P (-f) S 416 J ( Force) S 60 J ( read-only files to be overwritten.) S
3096 5604 P (-i) S 426 J ( Interactive:) S 60 J ( ask before copying each object on the command) S
3672 5868 P (line.) S
3096 6192 P (-l) S 426 J ( Logging) S 60 J ( is on: display the name of each file or directory as) S
3672 6456 P (it's copied.) S
3096 6780 P (-m) S 284 J ( Merge) S 60 J ( sub-directories of same name in source and) S
3672 7044 P (destination.) S
3096 7368 P (-h) S 356 J ( Help.) S
3096 7692 P (--) S 416 J ( End) S 60 J ( of options. \(Useful if filenames start with ``-''.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (188) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (cron:) S 840 J ( Run) S 67 J ( Commands at Specified Times) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( cron [-asLwh-] [-o<opt>] [-d <dir>] [ crontab1 crontab2 ... ]) S
3312 2712 P 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 100 J ( executes) S 101 J ( commands) S 100 J ( at) S 101 J ( times) S 100 J ( according) S 101 J ( to) S 100 J ( the) S 101 J ( crontab \(.crt\)) S
3312 2976 P (files) S 97 J ( specifed.) S 98 J ( ) S 97 J ( If) S 98 J ( any) S 97 J ( path) S 98 J ( specified) S 97 J ( is) S 98 J ( a directory, ) S 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 98 J ( will run) S
3312 3240 P (any) S 83 J ( crontab) S 84 J ( files) S 83 J ( in) S 84 J ( that) S 83 J ( directory or any subdirectory. If no files) S
3312 3504 P (are) S 60 J ( specified, ) S 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 60 J ( will read the crontab from stdin.) S
3312 4008 P (Each) S 118 J ( file) S 119 J ( is) S 118 J ( expected to contain a list of activities to be run at) S
3312 4272 P (certain) S 82 J ( times,) S 83 J ( specified) S 82 J ( one) S 83 J ( per) S 82 J ( line.) S 83 J ( ) S 82 J ( There) S 83 J ( are) S 82 J ( six) S 83 J ( fields) S 82 J ( per) S 83 J ( line,) S
3312 4536 P (separated) S 60 J ( by white space. The first five specify:) S
3744 5040 P (minute) S 1400 J ( \(0-59\)) S
3744 5364 P (hour) S 1649 J ( \(0-23\)) S
3744 5688 P (day) S 60 J ( of the month) S 335 J ( \(1-31\)) S
3744 6012 P (month) S 60 J ( of the year) S 272 J ( \(1-12\)) S
3744 6336 P (day) S 60 J ( of the week) S 473 J ( \(0-6,) S 60 J ( 0 is Sunday\)) S
3312 6840 P (Each) S 85 J ( of these fields may be an asterisk \(meaning all legal values\)) S
3312 7104 P (or) S 131 J ( a) S 132 J ( comma-separated) S 131 J ( list) S 132 J ( of) S 131 J ( elements,) S 132 J ( where) S 131 J ( each element is) S
3312 7368 P (either) S 64 J ( a) S 65 J ( single) S 64 J ( number) S 65 J ( or a range, given as two numbers separated) S
3312 7632 P (by) S 86 J ( a) S 87 J ( minus.) S 86 J ( ) S 87 J ( If) S 86 J ( either) S 87 J ( end) S 86 J ( of a range is omitted, it defaults to the) S
3312 7896 P (highest/lowest) S 165 J ( legal) S 166 J ( value,) S 165 J ( as) S 166 J ( appropriate.) S 165 J ( ) S 166 J ( If the days are) S
3312 8160 P (specified) S 73 J ( in) S 74 J ( both) S 73 J ( day of the month and day of the week fields, the) S
3312 8424 P (union) S 72 J ( of) S 73 J ( those) S 72 J ( fields is used; to specify the days by only one field,) S
3312 8688 P (the) S 77 J ( other) S 78 J ( should) S 77 J ( be) S 78 J ( an) S 77 J ( asterisk. For example, 0 0 1 * 1 means run) S
3312 8952 P (the) S 75 J ( command) S 76 J ( at) S 75 J ( midnight) S 76 J ( on) S 75 J ( the first of every month and also on) S
3312 9216 P (every) S 60 J ( Monday.) S
3312 9720 P (The) S 73 J ( sixth) S 74 J ( field) S 73 J ( of) S 74 J ( each) S 73 J ( line is a command that is to be executed by) S
3312 9984 P (the) S 63 J ( shell) S 64 J ( at) S 63 J ( the) S 64 J ( specified) S 63 J ( times.) S 64 J ( Any percent characters in this field) S
3312 10248 P (\(unless) S 78 J ( escaped) S 79 J ( by) S 78 J ( the) S 79 J ( escape) S 78 J ( character\)) S 79 J ( are) S 78 J ( translated) S 79 J ( to) S 78 J ( carriage) S
3312 10512 P (return/newline) S 68 J ( combinations. Only the first line \(up to the first %) S
3312 10776 P (or) S 72 J ( end) S 73 J ( of) S 72 J ( line\)) S 73 J ( is) S 72 J ( passed) S 73 J ( as a command; the other lines are written) S
3312 11040 P (to) S 110 J ( the shell as stdin. If no input lines are given, the shell will) S
3312 11304 P (inherit) S 60 J ( stdin opened to the nul device.) S
3312 11808 P (If) S 66 J ( the) S 67 J ( crontab) S 66 J ( was) S 67 J ( read) S 66 J ( from) S 67 J ( a) S 66 J ( file,) S 67 J ( the) S 66 J ( shell will inherit stdout and) S
3312 12072 P (stderr) S 77 J ( handles) S 78 J ( for writing \(appending, if the file already exists\) to) S
3312 12336 P (a) S 109 J ( file) S 110 J ( created) S 109 J ( by) S 110 J ( replacing) S 109 J ( the) S 110 J ( .crt) S 109 J ( extension) S 110 J ( on) S 109 J ( the) S 110 J ( crontab file) S
3312 12600 P (with) S 109 J ( .nnn,) S 110 J ( where) S 109 J ( nnn) S 110 J ( is) S 109 J ( the) S 110 J ( linenumber) S 109 J ( in) S 110 J ( the) S 109 J ( .crt) S 110 J ( file.) S 109 J ( ) S 110 J ( \(If) S 109 J ( the) S
3312 12864 P (crontab) S 79 J ( was) S 80 J ( read) S 79 J ( from) S 80 J ( stdin,) S 79 J ( then) S 80 J ( the) S 79 J ( shell) S 80 J ( will) S 79 J ( inherit) S 80 J ( the stdout) S
3312 13128 P (and) S 60 J ( stderr that ) S 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 60 J ( inherited when it started.\)) S
3312 13632 P (If) S 70 J ( a) S 71 J ( syntax) S 70 J ( or) S 71 J ( other) S 70 J ( error) S 71 J ( is) S 70 J ( encountered in a crontab, that line, but) S
3312 13896 P (not) S 87 J ( the) S 88 J ( rest) S 87 J ( of the file will be ignored. The rationale is that ) S 0 12 F 26 12 F B (cron) S E
3312 14160 P 0 12 F 26 12 F (should) S 76 J ( continue) S 77 J ( running) S 76 J ( even) S 77 J ( if) S 76 J ( it) S 77 J ( encounters) S 76 J ( problems; it should) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (189) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2952 1704 P 0 12 F 26 12 F (not) S 74 J ( be) S 75 J ( necessary) S 74 J ( to) S 75 J ( restart) S 74 J ( it) S 75 J ( just because one entry in one crontab) S
2952 1968 P (contained) S 60 J ( an error.) S
2952 2472 P (By) S 65 J ( default,) S 66 J ( if) S 65 J ( the) S 66 J ( crontab) S 65 J ( is) S 66 J ( read from a file, commands will be run) S
2952 2736 P (asynchronously,) S 91 J ( meaning) S 92 J ( that) S 91 J ( all) S 92 J ( entries) S 91 J ( that) S 92 J ( are) S 91 J ( ready) S 92 J ( to) S 91 J ( run) S 92 J ( at) S
2952 3000 P (any) S 91 J ( given) S 92 J ( time will be quickly spawned, one right after another,) S
2952 3264 P (without) S 84 J ( waiting) S 85 J ( for) S 84 J ( each) S 85 J ( to) S 84 J ( complete) S 85 J ( before the next is spawned.) S
2952 3528 P (If) S 86 J ( the) S 87 J ( crontab) S 86 J ( is) S 87 J ( read) S 86 J ( from) S 87 J ( stdin, the default will be synchronous) S
2952 3792 P (execution,) S 128 J ( meaning) S 129 J ( each) S 128 J ( must) S 129 J ( complete) S 128 J ( before) S 129 J ( the) S 128 J ( next) S 129 J ( starts;) S
2952 4056 P (that's) S 130 J ( so) S 131 J ( any) S 130 J ( output) S 131 J ( from) S 130 J ( one) S 131 J ( won't) S 130 J ( be) S 131 J ( jumbled) S 130 J ( with) S 131 J ( that) S 130 J ( of) S
2952 4320 P (another.) S 116 J ( ) S 117 J ( These defaults can be overridden with command-line) S
2952 4584 P (options.) S
2952 5088 P (Once) S 71 J ( it's) S 72 J ( started, ) S 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 72 J ( will make an initial scan of the crontab files) S
2952 5352 P (or) S 98 J ( directories.) S 99 J ( ) S 98 J ( Once) S 99 J ( every minute after that it will look for any) S
2952 5616 P (changes) S 60 J ( by comparing timestamps on the files.) S
2520 6120 P (Options:) S
3096 6624 P (-a) S 376 J ( Asynchronout) S 60 J ( execution. Don't wait for one command to) S
3672 6888 P (complete before spawning the next, even if the crontab was) S
3672 7152 P (read from stdin.) S
3096 7476 P (-s) S 394 J ( Synchronous) S 60 J ( execution. Always wait for one command to) S
3672 7740 P (complete before spawing the next, even if the crontab was) S
3672 8004 P (read from a file.) S
3096 8328 P (-L) S 349 J ( Logging.) S 60 J ( As each command is spawned, timestamp and log) S
3672 8592 P (it to stdout and to the output file if that's not the same as) S
3672 8856 P (stdout.) S
3096 9180 P (-w) S 296 J ( Wait) S 60 J ( 'till whole minute. If ) S 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 60 J ( wasn't started near a whole) S
3672 9444 P (minute \(i.e., zero to three seconds past a whole minute) S
3672 9708 P (mark\), wait 'till the next whole minute before beginning to) S
3672 9972 P (schedule ) S 0 12 F 26 12 F B (cron) S E 0 12 F 26 12 F () S 60 J ( events.) S
3096 10296 P (-o<opt>) S 10 J ( Remainder of word contains options to be passed to the) S
3672 10560 P (C shell with any commands. E.g., -oF means C shell should) S
3672 10824 P (do fast startup when running commands.) S
3096 11148 P (-d <dir>) S 695 J ( Output) S 60 J ( files should be created in the specified) S
3672 11412 P (directory, not the directory where the .crt files were found.) S
3096 11736 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 12060 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (190) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (cut:) S 1000 J ( Cut) S 67 J ( out selected fields of each line of text,) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( cut [-hsr-] [-c<list>] [-f<list>] [-d<delims>] [ file1 file2 ...]) S
3312 2712 P 0 12 F 26 12 F B (cut) S E 0 12 F 26 12 F () S 63 J ( can) S 64 J ( be) S 63 J ( used) S 64 J ( to) S 63 J ( select) S 64 J ( certain) S 63 J ( columns) S 64 J ( or) S 63 J ( fields) S 64 J ( from) S 63 J ( each) S 64 J ( line of) S
3312 2976 P (input.) S 135 J ( ) S 136 J ( If) S 135 J ( the) S 136 J ( -c option is used, fields are defined as specific) S
3312 3240 P (character) S 99 J ( positions.) S 100 J ( ) S 99 J ( If) S 100 J ( the) S 99 J ( -f) S 100 J ( option) S 99 J ( is) S 100 J ( used,) S 99 J ( the fields can be of) S
3312 3504 P (variable) S 65 J ( length,) S 66 J ( each) S 65 J ( field) S 66 J ( separated) S 65 J ( from) S 66 J ( the) S 65 J ( next) S 66 J ( by) S 65 J ( the delimiter) S
3312 3768 P (character.) S 60 J ( If no files are specified, ) S 0 12 F 26 12 F B (cut) S E 0 12 F 26 12 F () S 60 J ( reads input data from stdin.) S
3312 4272 P (A list) S 121 J ( of) S 120 J ( fields) S 121 J ( or character positions is specified as a comma-) S
3312 4536 P (separated) S 64 J ( list) S 65 J ( of) S 64 J ( integers.) S 65 J ( ) S 64 J ( The) S 65 J ( minus) S 64 J ( sign) S 65 J ( can) S 64 J ( be) S 65 J ( used) S 64 J ( to indicate a) S
3312 4800 P (range.) S 104 J ( ) S 105 J ( Here) S 104 J ( are) S 105 J ( some) S 104 J ( examples:) S 105 J ( ) S 104 J ( 1,4,7;) S 105 J ( 1-3,8; -5,10 \(short for 1-) S
3312 5064 P (5,10\);) S 60 J ( or 3- \(short for third through last field.\)) S
2880 5568 P (Options:) S
3456 6072 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 6396 P (-s) S 394 J ( Suppress) S 60 J ( lines with no delimiters in case of -f option.) S
4032 6660 P (Otherwise, lines with no delimiters are passed through) S
4032 6924 P (unchanged.) S
3456 7248 P (-c<list>) S 787 J ( The) S 60 J ( list specifies character positions.) S
3456 7572 P (-f<list>) S 814 J ( The) S 60 J ( list specifies field numbers.) S
3456 7896 P (-d<delims>) S 351 J ( The) S 60 J ( specified characters are used as the field) S
5040 8160 P (delimiters with the -f option. Any number of) S
5040 8424 P (delimiters can be specified. The default is the tab) S
5040 8688 P (character.) S
3456 9012 P (-r) S 401 J ( Repeated) S 60 J ( delimiters are treated as if only a single delimiter) S
4032 9276 P (had appeared.) S
2160 10080 P 0 12 F 8 12 F B (date:) S 867 J ( Print) S 67 J ( the Date and Time) S E
2880 10584 P 0 12 F 26 12 F (Usage:) S 60 J ( date [-nh-]) S
3312 11088 P 0 12 F 26 12 F B (date) S E 0 12 F 26 12 F () S 94 J ( prints the day of the week, the date and time of day in 24-) S
3312 11352 P (hour) S 73 J ( notation.) S 74 J ( This command is normally stored in the file dt.exe) S
3312 11616 P (and) S 72 J ( invoked) S 73 J ( with) S 72 J ( an) S 73 J ( alias so it can be used from cmd.exe without) S
3312 11880 P (colliding) S 60 J ( with the internal cmd.exe date function.) S
2880 12384 P (Options:) S
3456 12888 P (-n) S 356 J ( Don't) S 60 J ( automatically append a Carriage Return/Line Feed) S
4032 13152 P (sequence to the end of the output.) S
3456 13476 P (-h) S 356 J ( Help.) S
3456 13800 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (191) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (des:) S 947 J ( DES) S 67 J ( Data Encryption) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( des [-edbhnrz-] [-k key] [ file1 file2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (des) S E 0 12 F 26 12 F () S 64 J ( is) S 65 J ( a) S 64 J ( filter) S 65 J ( that) S 64 J ( encrypts) S 65 J ( or) S 64 J ( decrypts) S 65 J ( data) S 64 J ( read) S 65 J ( from) S 64 J ( the) S 65 J ( files) S 64 J ( you) S
2952 2976 P (specify,) S 129 J ( one) S 130 J ( after) S 129 J ( another,) S 130 J ( to) S 129 J ( stdout) S 130 J ( with) S 129 J ( the Data Encryption) S
2952 3240 P (Standard) S 60 J ( \(DES\).) S 61 J ( ) S 60 J ( If) S 61 J ( no) S 60 J ( files) S 61 J ( are given, ) S 0 12 F 26 12 F B (des) S E 0 12 F 26 12 F () S 61 J ( reads from stdin. If there) S
2952 3504 P (are) S 60 J ( multiple files, they're simply concatenated as they're read.) S
2952 4008 P (Either) S 86 J ( -e) S 87 J ( \(encrypt\)) S 86 J ( or) S 87 J ( -d \(decrypt\) must be specified. If the key is) S
2952 4272 P (not) S 61 J ( given) S 62 J ( on) S 61 J ( the) S 62 J ( command) S 61 J ( line) S 62 J ( with the -k option, ) S 0 12 F 26 12 F B (des) S E 0 12 F 26 12 F () S 62 J ( will prompt) S
2952 4536 P (for) S 60 J ( it, suppressing echo.) S
2952 5040 P (Distribution) S 121 J ( of) S 122 J ( this) S 121 J ( software) S 122 J ( is) S 121 J ( controlled by U.S. Federal Law) S
2952 5304 P (under) S 165 J ( Title) S 166 J ( 22,) S 165 J ( Code) S 166 J ( of) S 165 J ( Federal) S 166 J ( Regulations,) S 165 J ( Subchapter M,) S
2952 5568 P (Category) S 131 J ( XIII\(b\).) S 132 J ( ) S 131 J ( It) S 132 J ( may) S 131 J ( not) S 132 J ( be) S 131 J ( exported) S 132 J ( outside) S 131 J ( the) S 132 J ( U.S. or) S
2952 5832 P (Canada) S 60 J ( without an export license.) S
2520 6336 P (Options:) S
3096 6840 P (-e) S 381 J ( Encrypt.) S
3096 7164 P (-d) S 349 J ( Decrypt.) S
3096 7488 P (-b) S 363 J ( Electronic) S 60 J ( Code Book \(ECB\) mode is used. The default is to) S
3672 7752 P (use DES Cipher Block Chaining \(CBC\) mode with an initial) S
3672 8016 P (vector \(IV\) of all zeros. Under ECB mode, each block of 8) S
3672 8280 P (bytes is enciphered independently, depending only on the) S
3672 8544 P (key. Under CBC mode, the enciphering of each block also) S
3672 8808 P (depends on the data in the previous blocks. The default) S
3672 9072 P (CBC mode is considered somewhat more secure.) S
3096 9396 P (-k key) S 930 J ( Encryption) S 60 J ( key, typed as a simple ascii string.) S
4680 9660 P (With an ascii key, DES ignores the low order bit of) S
4680 9924 P (each key byte but the high order bit is set for odd) S
4680 10188 P (parity, thus retaining the information contained in) S
4680 10452 P (the low order bit.) S
3096 10776 P (-x) S 372 J ( Hex) S 60 J ( key. The key string is a sequence of up to 16 hex) S
3672 11040 P (characters, right padded with zeros. With a hex key, the) S
3672 11304 P (low order bit of each byte is again ignored per the DES) S
3672 11568 P (algorithm. This allows the use of any arbitrary 56-bit key,) S
3672 11832 P (including bytes representing control characters that could) S
3672 12096 P (not be typed.) S
3096 12420 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
2520 13068 P (Special Interchange Options:) S
2952 13572 P (Not) S 68 J ( all) S 69 J ( DES) S 68 J ( implementations) S 69 J ( are) S 68 J ( the) S 69 J ( same.) S 68 J ( There are a number of) S
2952 13836 P (early) S 213 J ( implementations) S 214 J ( in) S 213 J ( circulation) S 214 J ( that either poorly or) S
2952 14100 P (improperly) S 97 J ( implement) S 98 J ( DES.) S 97 J ( ) S 98 J ( Cipher) S 97 J ( Block) S 98 J ( Chaining) S 97 J ( may) S 98 J ( not) S 97 J ( be) S
2952 14364 P (supported,) S 64 J ( forcing) S 65 J ( the) S 64 J ( use) S 65 J ( of the -b option. You may also discover) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (192) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3312 1704 P 0 12 F 26 12 F (other) S 80 J ( flaws,) S 81 J ( necessitating) S 80 J ( that) S 81 J ( you) S 80 J ( experiment) S 81 J ( with) S 80 J ( some) S 81 J ( of these) S
3312 1968 P (special) S 60 J ( options:) S
3456 2472 P (-n) S 356 J ( Suppress) S 60 J ( parity calculation on an ascii key. Just use the) S
4032 2736 P (low-order 7 bits of each character as-is.) S
3456 3060 P (-r) S 401 J ( Convert) S 60 J ( all \\r\\n sequences to \\n on input and all \\n) S
4032 3324 P (characters to \\r\\n sequences on output. \(Some) S
4032 3588 P (implementors have used the C library stdio read and write) S
4032 3852 P (routines but have forgotten to use binary mode.\)) S
3456 4176 P (-z) S 376 J ( Do) S 60 J ( not mark the last block with a length; just fill it with) S
4032 4440 P (binary zeros. If you encipher, then decipher a file this way,) S
4032 4704 P (the result will be padded with zeros out to an 8-byte) S
4032 4968 P (boundary.) S
3312 5616 P (If) S 177 J ( you) S 178 J ( encounter) S 177 J ( problems) S 178 J ( exchanging) S 177 J ( encrypted data with) S
3312 5880 P (another) S 156 J ( DES) S 157 J ( implementation,) S 156 J ( you) S 157 J ( should) S 156 J ( try) S 157 J ( all the various) S
3312 6144 P (combinations) S 66 J ( of) S 67 J ( the) S 66 J ( -b,) S 67 J ( -n, -r and -z options. \(We've seen one very) S
3312 6408 P (poor) S 60 J ( implementation of DES that had all these flaws.\)) S
2880 6912 P (Notes:) S
3456 7416 P (1.) S 396 J ( If) S 75 J ( you lose the key to a file encrypted with DES, there is no) S
4032 7680 P (known) S 60 J ( way to decrypt it. The data is lost.) S
3456 8144 P (2.) S 396 J ( When) S 72 J ( choosing) S 73 J ( keys,) S 72 J ( avoid) S 73 J ( anything) S 72 J ( obvious) S 73 J ( that someone) S
4032 8408 P (else) S 93 J ( might easily guess. E.g., don't use just your name or) S
4032 8672 P (your) S 61 J ( date) S 62 J ( of) S 61 J ( birth) S 62 J ( or) S 61 J ( a) S 62 J ( common) S 61 J ( word. Instead, choose a key) S
4032 8936 P (with) S 194 J ( a) S 195 J ( seemingly) S 194 J ( random) S 195 J ( mix of alphanumeric and) S
4032 9200 P (punctuation) S 60 J ( characters.) S
3456 9664 P (3.) S 396 J ( No) S 182 J ( encryption) S 183 J ( system) S 182 J ( should) S 183 J ( be) S 182 J ( considered perfectly) S
4032 9928 P (secure.) S 68 J ( ) S 69 J ( Although) S 68 J ( there) S 69 J ( are) S 68 J ( no) S 69 J ( known) S 68 J ( practical methods for) S
4032 10192 P (attacking) S 60 J ( DES, such methods may exist.) S
3456 10656 P (4.) S 396 J ( Encryption) S 86 J ( can) S 87 J ( only) S 86 J ( protect) S 87 J ( data that's actually encrypted.) S
4032 10920 P (If) S 104 J ( you) S 105 J ( have) S 104 J ( copies) S 105 J ( of) S 104 J ( the clear text on your disk, anyone) S
4032 11184 P (with) S 86 J ( access) S 87 J ( to) S 86 J ( your) S 87 J ( machine may be able to read the data.) S
4032 11448 P (Also,) S 84 J ( even) S 85 J ( when) S 84 J ( a) S 85 J ( file) S 84 J ( is deleted, the contents may remain) S
4032 11712 P (on) S 97 J ( your) S 98 J ( disk,) S 97 J ( accessible) S 98 J ( to) S 97 J ( anyone) S 98 J ( with) S 97 J ( knowledge of the) S
4032 11976 P (file) S 60 J ( system.) S
3456 12440 P (5.) S 396 J ( If) S 113 J ( you) S 114 J ( would like to compress encrypted data, e.g., with) S
4032 12704 P (utilities) S 62 J ( such) S 63 J ( as) S 62 J ( PKZip) S 63 J ( or) S 62 J ( ARC, compress first, then encrypt.) S
4032 12968 P (The) S 79 J ( encryption) S 80 J ( process) S 79 J ( tends to destroy the redundancy in) S
4032 13232 P (the) S 60 J ( data that compression programs depend on.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (193) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (diff:) S 986 J ( Compare) S 67 J ( Files or Directories) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( diff [-bBefhiqrvw!-] [-m minmatch] [-Dstring] oldpath newpath) S
2952 2712 P 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 75 J ( produces) S 76 J ( a list of differences between two files or directories.) S
2952 2976 P (The) S 109 J ( working) S 110 J ( assumption) S 109 J ( is) S 110 J ( that newpath is a newer version of) S
2952 3240 P (whatever's) S 89 J ( in) S 90 J ( oldpath.) S 89 J ( ) S 90 J ( If) S 89 J ( they're) S 90 J ( files,) S 89 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 90 J ( assumes they contain) S
2952 3504 P (ascii) S 69 J ( text) S 70 J ( but) S 69 J ( if) S 70 J ( it) S 69 J ( encounters) S 70 J ( a) S 69 J ( file) S 70 J ( containing) S 69 J ( lots) S 70 J ( of) S 69 J ( binary data, it) S
2952 3768 P (switches) S 60 J ( to) S 61 J ( a) S 60 J ( binary) S 61 J ( comparison) S 60 J ( mode to avoid dumping gibberish) S
2952 4032 P (to the screen.) S
2952 4536 P (Comparing) S 94 J ( files,) S 95 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 94 J ( looks) S 95 J ( for) S 94 J ( minimal) S 95 J ( sections) S 94 J ( of) S 95 J ( change. Each) S
2952 4800 P (difference) S 178 J ( is) S 179 J ( shown) S 178 J ( as an add, delete or change with the) S
2952 5064 P (appropriate) S 118 J ( line) S 119 J ( numbers) S 118 J ( or) S 119 J ( line) S 118 J ( number) S 119 J ( ranges) S 118 J ( for) S 119 J ( each file.) S
2952 5328 P (Following) S 85 J ( are) S 86 J ( texts) S 85 J ( of) S 86 J ( the) S 85 J ( differing) S 86 J ( section.) S 85 J ( ) S 86 J ( Lines that have been) S
2952 5592 P (deleted) S 145 J ( are) S 146 J ( flagged) S 145 J ( with) S 146 J ( '<';) S 145 J ( lines) S 146 J ( that) S 145 J ( have been added are) S
2952 5856 P (flagged) S 72 J ( with) S 73 J ( '>'.) S 72 J ( ) S 73 J ( Alternately,) S 72 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 73 J ( can) S 72 J ( be used to produce merged) S
2952 6120 P (listings) S 94 J ( with) S 95 J ( #ifdefs) S 94 J ( for) S 95 J ( the) S 94 J ( C) S 95 J ( compiler) S 94 J ( or) S 95 J ( highlighting) S 94 J ( for) S 95 J ( quick) S
2952 6384 P (visual) S 60 J ( scanning.) S
2952 6888 P (Comparing) S 102 J ( directories,) S 103 J ( the) S 102 J ( lists) S 103 J ( of) S 102 J ( files) S 103 J ( they contain all the way) S
2952 7152 P (down) S 109 J ( through) S 110 J ( the) S 109 J ( tree) S 110 J ( are) S 109 J ( sorted,) S 110 J ( then compared. If the same) S
2952 7416 P (filename) S 66 J ( exists) S 67 J ( in) S 66 J ( each) S 67 J ( directory) S 66 J ( tree,) S 67 J ( a) S 66 J ( quick) S 67 J ( binary) S 66 J ( comparison) S 67 J ( is) S
2952 7680 P (normally) S 69 J ( made) S 70 J ( to) S 69 J ( give) S 70 J ( a) S 69 J ( quick) S 70 J ( yes-or-no) S 69 J ( are they different. If -r is) S
2952 7944 P (specified,) S 94 J ( the) S 95 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 94 J ( text) S 95 J ( comparison) S 94 J ( is done recursively the whole) S
2952 8208 P (way) S 60 J ( down the two trees.) S
2952 8712 P (If) S 68 J ( one) S 69 J ( of) S 68 J ( the) S 69 J ( arguments) S 68 J ( to) S 69 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 68 J ( is) S 69 J ( a) S 68 J ( file) S 69 J ( and) S 68 J ( the) S 69 J ( other) S 68 J ( is a directory,) S
2952 8976 P 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 84 J ( will) S 85 J ( look) S 84 J ( for) S 85 J ( and) S 84 J ( compare) S 85 J ( against) S 84 J ( a file of the same name in) S
2952 9240 P (the) S 60 J ( directory.) S
2520 9744 P (Options:) S
3096 10248 P (-b) S 363 J ( Blank) S 60 J ( spaces of any length compare equal. Ignore any) S
3672 10512 P (leading or trailing white space on each line.) S
3096 10836 P (-B) S 349 J ( Binary) S 60 J ( comparison even on text files.) S
3096 11160 P (-Dstring) S 700 J ( Produce) S 60 J ( a merged #ifdef'ed listing, with the string) S
4680 11424 P (being defined meaning use the older version.) S
4680 11688 P (\(Newer version is intentionally the default.\)) S
3096 12012 P (-e) S 381 J ( Turn) S 60 J ( off highlighting of empty lines. Byt default, if) S
3672 12276 P (highlighting is used to show areeas of change, even empty) S
3672 12540 P (lines will have Ansi sequences at the beginning and end so) S
3672 12804 P (that if ) S 0 12 F 26 12 F B (more) S E 0 12 F 26 12 F () S 60 J ( is used to display the output with the default) S
3672 13068 P (color stretch mode on, empty lines will still be highlighted.) S
3096 13392 P (-f) S 416 J ( Force) S 60 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F (-style) S 60 J ( comparison to continue even on files that) S
3672 13656 P (appear to contain binary data.) S
3096 13980 P (-i) S 426 J ( Ignore) S 60 J ( character case.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (194) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3456 1704 P 0 12 F 26 12 F (-m) S 60 J ( minmatch) S 153 J ( Minimum) S 60 J ( match length to insist on before) S
5040 1968 P (resynchronizing two files. \(Default is 2 lines.\)) S
3456 2292 P (-q) S 362 J ( Quiet:) S 60 J ( supress warnings about files containing binary data.) S
3456 2616 P (-r) S 401 J ( Recursively) S 60 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F () S 60 J ( the contents of any subdirectories.) S
3456 2940 P (-v Verbose listing of all the contents of any entire subdirectory) S
4032 3204 P (added or deleted.) S
3456 3528 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 3852 P (-w) S 296 J ( White) S 60 J ( space is ignored totally.) S
3456 4176 P (-!) S 429 J ( Produce) S 60 J ( merged, highlighted version. Text that's) S
4032 4440 P (unchanged is normal, deleted text is red, new text is green.) S
3456 4764 P (--) S 416 J ( End) S 60 J ( of options.) S
2880 5412 P (Colors:) S
3312 5916 P (You) S 142 J ( may) S 143 J ( set your own choices for screen colors using these) S
3312 6180 P (environmental) S 60 J ( variables:) S
3312 6684 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
3312 7068 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
3312 7332 P 0 12 F 26 12 F B (ADDITIONS) S E 0 12 F 26 12 F () S 536 J ( Lines) S 60 J ( added) S 2002 J ( Bright) S 60 J ( Green) S
3312 7596 P 0 12 F 26 12 F B (DELETIONS) S E 0 12 F 26 12 F () S 575 J ( Lines) S 60 J ( deleted) S 1891 J ( Bright) S 60 J ( Red) S
3312 8060 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
3312 8324 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
3312 8588 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
3312 8852 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
3312 9116 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
3312 9380 P (all) S 60 J ( upper case.) S
3312 9884 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
3312 10148 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
3312 10412 P (and) S 190 J ( inherits) S 191 J ( the) S 190 J ( color) S 191 J ( underneath) S 190 J ( it.) S 191 J ( ) S 190 J ( ) S 191 J ( ) S 0 12 F 26 12 F B (ADDITIONS) S E 0 12 F 26 12 F () S 190 J ( and) S
3312 10676 P 0 12 F 26 12 F B (DELETIONS) S E 0 12 F 26 12 F () S 60 J ( inherit from ) S 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (195) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (dim:) S 933 J ( Discard) S 67 J ( any ansi escape sequences in the input stream) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( dim [-h-] [ file1 file2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (dim) S E 0 12 F 26 12 F () S 82 J ( deletes) S 83 J ( any) S 82 J ( ansi) S 83 J ( escape) S 82 J ( sequences) S 83 J ( as) S 82 J ( it) S 83 J ( copies text from each) S
2952 2976 P (of) S 119 J ( the) S 120 J ( files) S 119 J ( you) S 120 J ( specify) S 119 J ( onto) S 120 J ( stdout.) S 119 J ( If several files are given,) S
2952 3240 P (they're) S 60 J ( concatenated one after another to the output.) S
2952 3744 P (If no files are given, ) S 0 12 F 26 12 F B (dim) S E 0 12 F 26 12 F () S 60 J ( reads from stdin.) S
2520 4248 P (Options:) S
3096 4752 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 5076 P (--) S 416 J ( End) S 60 J ( of options.) S
1800 5880 P 0 12 F 8 12 F B (dirs:) S 920 J ( List) S 67 J ( the Current Directory Stack) S E
2520 6384 P 0 12 F 26 12 F (Usage:) S 60 J ( dirs [-h-]) S
2952 6888 P (Show) S 68 J ( the) S 69 J ( list) S 68 J ( of) S 69 J ( fully-qualified) S 68 J ( directory) S 69 J ( pathnames) S 68 J ( on) S 69 J ( the current) S
2952 7152 P (directory) S 60 J ( stack, highlighting the current disk:directory pair.) S
2952 7656 P (Hamilton) S 159 J ( C) S 160 J ( shell) S 159 J ( maintains) S 160 J ( a stack representing the current) S
2952 7920 P (directory) S 60 J ( and any previous current directories has saved there.) S
2952 8424 P (\(See also the ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (pushd) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (popd) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (rotd) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2520 8928 P (Options:) S
3096 9432 P (-h) S 356 J ( Help.) S
3096 9756 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (196) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (dskread:) S 441 J ( Read) S 67 J ( Raw Sectors from a Disk) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( dskread [-bcdhHL-] [-n name] [-N sectors] [-s size] [-t tracks]) S
2880 2472 P () S 720 J ( [) S 60 J ( disk: ] [ <sectorlist> ]) S
3312 2976 P 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F () S 102 J ( copies) S 103 J ( low-level) S 102 J ( raw sectors on the disk you specify to) S
3312 3240 P (stdout.) S
3312 3744 P (In) S 97 J ( conjunction) S 98 J ( with) S 97 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F (,) S 98 J ( ) S 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F () S 97 J ( is) S 98 J ( most) S 97 J ( useful) S 98 J ( as a quick) S
3312 4008 P (diskette) S 84 J ( duplication) S 85 J ( utility:) S 84 J ( ) S 85 J ( you) S 84 J ( can) S 85 J ( read a whole diskette image) S
3312 4272 P (into) S 77 J ( a) S 78 J ( file) S 77 J ( with) S 78 J ( ) S 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F (,) S 77 J ( then) S 78 J ( write) S 77 J ( it) S 78 J ( back) S 77 J ( out) S 78 J ( with) S 77 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 78 J ( to a) S
3312 4536 P (new) S 101 J ( diskette.) S 102 J ( ) S 101 J ( But) S 102 J ( it's) S 101 J ( also) S 102 J ( useful) S 101 J ( for) S 102 J ( restoring) S 101 J ( a long stream of) S
3312 4800 P (data) S 60 J ( dumped across a series of diskettes with ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F (.) S
3312 5304 P (The) S 75 J ( disk) S 76 J ( is) S 75 J ( given) S 76 J ( as) S 75 J ( a) S 76 J ( a single alphabetic drive letter plus a colon.) S
3312 5568 P (If) S 92 J ( no) S 93 J ( disk) S 92 J ( is) S 93 J ( specified,) S 92 J ( the) S 93 J ( first) S 92 J ( logical) S 93 J ( drive is assumed \(in most) S
3312 5832 P (machines,) S 60 J ( this is the ) S 0 12 F 0 12 F (a:) S 0 12 F 26 12 F () S 60 J ( drive\).) S
2880 6336 P (Operation:) S
3312 6840 P 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F () S 87 J ( normally) S 88 J ( starts) S 87 J ( at) S 88 J ( cylinder) S 87 J ( 0,) S 88 J ( head) S 87 J ( 0,) S 88 J ( sector 0 and walks) S
3312 7104 P (through) S 96 J ( the whole disk, reading all the sectors on a track under) S
3312 7368 P (one) S 74 J ( head) S 75 J ( and) S 74 J ( then) S 75 J ( all) S 74 J ( tracks) S 75 J ( in) S 74 J ( a cylinder before repositioning the) S
3312 7632 P (heads) S 60 J ( to the next cylinder.) S
3312 8136 P 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F () S 89 J ( always reads whole sectors except when reading from a) S
3312 8400 P (file) S 60 J ( using the -d option.) S
2880 8904 P (Options:) S
3456 9408 P (-b) S 363 J ( Boot) S 60 J ( record. Skip sector 0 on the assumption it simply) S
4032 9672 P (contains a standard boot record and parameter block) S
4032 9936 P (corresponding to the particular media.) S
3456 10260 P (-c) S 389 J ( Continuation.) S 60 J ( Assume the data has been split across) S
4032 10524 P (several diskettes. After each disk has been read, prompt for) S
4032 10788 P (the next one. If -d is specified also, the filename extension) S
4032 11052 P (on each disk will be the disk number, i.e., 001, 002, 003, etc.) S
3456 11376 P (-d) S 349 J ( Dummy) S 60 J ( filesystem. Assume the data is in a single file on) S
4032 11640 P (the disk. If neither the -d nor the -b options is given, the) S
4032 11904 P (disk will be read beginning with sector 0.) S
3456 12228 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 12552 P (-n <name>) S 427 J ( The) S 60 J ( filename to look for if the -d \(dummy file-) S
5040 12816 P (system\) option is used. Default is `) S 0 12 F 0 12 F (bindata) S 0 12 F 26 12 F ('.) S
3456 13140 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (197) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2520 1704 P 0 12 F 26 12 F (Formatting:) S
2952 2208 P (Default) S 143 J ( is to let OS/2 or Windows NT try to determine the) S
2952 2472 P (formatting) S 123 J ( that) S 124 J ( was used. If the disk was written in unusual) S
2952 2736 P (format) S 74 J ( or) S 75 J ( has) S 74 J ( non-standard) S 75 J ( data) S 74 J ( in) S 75 J ( sector 0, the following options) S
2952 3000 P (can) S 129 J ( be) S 130 J ( override) S 129 J ( OS/2) S 130 J ( or) S 129 J ( Windows) S 130 J ( NT's) S 129 J ( attempt) S 130 J ( to) S 129 J ( guess the) S
2952 3264 P (format:) S
3096 3768 P (-H) S 296 J ( High) S 60 J ( density formatting.) S
3096 4092 P (-L) S 349 J ( Low) S 60 J ( density formatting.) S
3096 4416 P (-N <sectors>) S 225 J ( Sectors) S 60 J ( per track.) S
3096 4740 P (-s <size>) S 645 J ( Sector) S 60 J ( size. Normally only 512 is supported but,) S
4680 5004 P (depending on your hardware, you may also be) S
4680 5268 P (able to create 128, 256 or 1024-byte sectors.) S
3096 5592 P (-t <tracks>) S 441 J ( Number) S 60 J ( of tracks.) S
2520 6240 P (Sector lists:) S
2952 6744 P (Optionally,) S 123 J ( you) S 124 J ( can) S 123 J ( specify) S 124 J ( a) S 123 J ( list of sectors you want written.) S
2952 7008 P (Sectors) S 60 J ( are given in) S
3528 7472 P 0 12 F 0 10 F (\(cylinder,) S 120 J ( head, sector\)) S
2952 7936 P 0 12 F 26 12 F (coordinates) S 81 J ( with) S 82 J ( parentheses) S 81 J ( around) S 82 J ( and) S 81 J ( commas) S 82 J ( or) S 81 J ( white) S 82 J ( space) S
2952 8200 P (to) S 96 J ( separate) S 97 J ( the) S 96 J ( numeric) S 97 J ( values) S 96 J ( you) S 97 J ( write.) S 96 J ( ) S 97 J ( Cylinders,) S 96 J ( heads) S 97 J ( and) S
2952 8464 P (sectors) S 69 J ( are) S 70 J ( counted) S 69 J ( from) S 70 J ( zero) S 69 J ( and) S 70 J ( can) S 69 J ( be) S 70 J ( specified) S 69 J ( in) S 70 J ( decimal,) S 69 J ( hex) S
2952 8728 P (or) S 60 J ( octal.) S
2952 9232 P (A) S 138 J ( single) S 139 J ( sector) S 138 J ( specified alone means just that sector. Listing) S
2952 9496 P (several) S 214 J ( separated) S 215 J ( by) S 214 J ( commas) S 215 J ( or) S 214 J ( spaces) S 215 J ( means) S 214 J ( each) S 215 J ( one) S
2952 9760 P (individually.) S
2952 10264 P (A) S 126 J ( pair) S 127 J ( of) S 126 J ( sectors) S 127 J ( joined by a hyphen means a range: all the) S
2952 10528 P (consecutive) S 87 J ( sectors) S 88 J ( beginning) S 87 J ( with) S 88 J ( the) S 87 J ( first) S 88 J ( and) S 87 J ( running) S 88 J ( through) S
2952 10792 P (to) S 60 J ( the second.) S
2952 11296 P (Specifying a) S 61 J ( negative) S 60 J ( number) S 61 J ( as) S 60 J ( an) S 61 J ( ordinate) S 60 J ( means use the highest) S
2952 11560 P (possible value for that disk.) S
2952 12064 P (If) S 79 J ( any) S 80 J ( of) S 79 J ( the) S 80 J ( ordinates) S 79 J ( of) S 80 J ( a sector are omitted, they're assumed to) S
2952 12328 P (be) S 60 J ( zero) S 61 J ( exept) S 60 J ( when) S 61 J ( it) S 60 J ( closes) S 61 J ( a) S 60 J ( range,) S 61 J ( in) S 60 J ( which) S 61 J ( case) S 60 J ( it) S 61 J ( means) S 60 J ( use) S 61 J ( the) S
2952 12592 P (highest) S 60 J ( possible value.) S
2520 13096 P (Examples:) S
3096 13600 P (1.) S 396 J ( To) S 123 J ( duplicate) S 124 J ( a) S 123 J ( whole) S 124 J ( diskette image, autoformatting the) S
3672 13864 P (output) S 60 J ( media if it's not already formatted:) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (198) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3888 1704 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskread a: > dskimage.a) S
3888 1968 P () S 432 J ( %) S 120 J ( dskwrite -av a: < dskimage.a) S
3456 2432 P 0 12 F 26 12 F (2.) S 396 J ( To) S 96 J ( use) S 97 J ( a diskette as a serial archive media: The -d option) S
4032 2696 P (allows) S 150 J ( you) S 151 J ( to) S 150 J ( request) S 151 J ( just) S 150 J ( enough dummy file system) S
4032 2960 P (``envelope'') S 73 J ( around) S 74 J ( the) S 73 J ( otherwise) S 74 J ( arbitrary) S 73 J ( data) S 74 J ( you) S 73 J ( intend) S
4032 3224 P (to) S 66 J ( write) S 67 J ( to) S 66 J ( ensure) S 67 J ( the) S 66 J ( disk can still be used with other OS/2) S
4032 3488 P (or) S 108 J ( Windows) S 109 J ( NT) S 108 J ( utilities.) S 109 J ( ) S 108 J ( Here's) S 109 J ( an) S 108 J ( example writing the) S
4032 3752 P (result) S 64 J ( of) S 65 J ( a) S 64 J ( ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F ('ing) S 65 J ( \(archiving\)) S 64 J ( a) S 65 J ( whole directory to a series of) S
4032 4016 P (diskettes,) S 60 J ( again autoformatting:) S
3888 4480 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( tar -asr mydir < nul | dskwrite -avcd -n mydir a:) S
3456 4944 P 0 12 F 26 12 F () S 576 J ( It's) S 60 J ( restored with) S
3888 5408 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskread -dc -n mydir a: | tar -xsr) S
3456 5872 P 0 12 F 26 12 F () S 576 J ( The) S 88 J ( diskettes) S 89 J ( used) S 88 J ( do) S 89 J ( not) S 88 J ( all) S 89 J ( have) S 88 J ( to) S 89 J ( be the same density;) S
4032 6136 P (any) S 93 J ( mix) S 94 J ( of) S 93 J ( high and low is okay. But remember that if a) S
4032 6400 P (disk) S 73 J ( isn't) S 74 J ( already) S 73 J ( formatted, there's no way for ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 73 J ( to) S
4032 6664 P (tell) S 91 J ( whether) S 92 J ( it should be high or low density; any disks it) S
4032 6928 P (has) S 60 J ( to format will all be formatted the same way.) S
3456 7392 P () S 576 J ( If) S 69 J ( putting) S 70 J ( the) S 69 J ( greatest) S 70 J ( possible) S 69 J ( amount of data on a diskette) S
4032 7656 P (is) S 108 J ( more) S 109 J ( important) S 108 J ( than) S 109 J ( compatibility) S 108 J ( with) S 109 J ( other) S 108 J ( OS/2) S 109 J ( or) S
4032 7920 P (Windows) S 80 J ( NT) S 81 J ( utilities,) S 80 J ( you can also use the space normally) S
4032 8184 P (devoted) S 104 J ( to) S 105 J ( the) S 104 J ( FAT) S 105 J ( file) S 104 J ( system) S 105 J ( and) S 104 J ( even) S 105 J ( the boot sector.) S
4032 8448 P (Here) S 103 J ( is) S 104 J ( the) S 103 J ( same ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F (,) S 103 J ( written to a series of autoformatted) S
4032 8712 P (high-density) S 60 J ( diskettes where every sector is used for data:) S
3888 9176 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( tar -asr mydir < nul | dskwrite -avcHx a:) S
3456 9640 P 0 12 F 26 12 F () S 576 J ( It's) S 60 J ( restored with) S
3888 10104 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskread -cH a: | tar -xsr) S
3456 10568 P 0 12 F 26 12 F () S 576 J ( Since) S 92 J ( no) S 93 J ( labeling) S 92 J ( of) S 93 J ( the) S 92 J ( data is written to the diskette, it's) S
4032 10832 P (the) S 68 J ( user's) S 69 J ( responsibility) S 68 J ( to) S 69 J ( ) S 68 J ( keep) S 69 J ( track) S 68 J ( of) S 69 J ( the) S 68 J ( order) S 69 J ( in) S 68 J ( which) S
4032 11096 P (the) S 60 J ( disks were written and even what format was used.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (199) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (dskwrite:) S 387 J ( Write) S 67 J ( Raw Sectors to a Disk) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( dskwrite [-abcdfFhHLTvxz-] [-Z!] [-n name] [-N sectors] [-s) S
2520 2472 P (size] [-t tracks]) S
2520 2736 P () S 720 J ( [-V) S 60 J ( volid] [ disk: ] [ <sectorlist> ]) S
2952 3240 P 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 73 J ( copies) S 74 J ( stdin) S 73 J ( to) S 74 J ( the) S 73 J ( low-level) S 74 J ( raw) S 73 J ( sectors) S 74 J ( on) S 73 J ( the) S 74 J ( disk you) S
2952 3504 P (specify.) S
2952 4008 P (In) S 97 J ( conjunction) S 98 J ( with) S 97 J ( ) S 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F (,) S 98 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 97 J ( is) S 98 J ( most) S 97 J ( useful) S 98 J ( as a quick) S
2952 4272 P (diskette) S 84 J ( duplication) S 85 J ( utility:) S 84 J ( ) S 85 J ( you) S 84 J ( can) S 85 J ( read a whole diskette image) S
2952 4536 P (into) S 77 J ( a) S 78 J ( file) S 77 J ( with) S 78 J ( ) S 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F (,) S 77 J ( then) S 78 J ( write) S 77 J ( it) S 78 J ( back) S 77 J ( out) S 78 J ( with) S 77 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 78 J ( to a) S
2952 4800 P (new) S 98 J ( diskette.) S 99 J ( ) S 98 J ( But) S 99 J ( it's) S 98 J ( also) S 99 J ( useful) S 98 J ( for) S 99 J ( dumping a long stream of) S
2952 5064 P (data) S 119 J ( across) S 120 J ( a) S 119 J ( series) S 120 J ( of) S 119 J ( diskettes,) S 120 J ( formatting) S 119 J ( and) S 120 J ( filling) S 119 J ( each) S 120 J ( as) S
2952 5328 P (much) S 60 J ( as possible before requesting the next one.) S
2952 5832 P (The) S 75 J ( disk) S 76 J ( is) S 75 J ( given) S 76 J ( as) S 75 J ( a) S 76 J ( a single alphabetic drive letter plus a colon.) S
2952 6096 P (If) S 80 J ( no) S 81 J ( disk) S 80 J ( is specified, the first logical drive is assumed. \(In most) S
2952 6360 P (machines,) S 60 J ( this is the ) S 0 12 F 0 12 F (a:) S 0 12 F 26 12 F () S 60 J ( drive.\)) S
2520 6864 P (Operation:) S
2952 7368 P 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 79 J ( normally) S 80 J ( starts) S 79 J ( at) S 80 J ( cylinder) S 79 J ( 0, head 0, sector 0 and walks) S
2952 7632 P (through) S 99 J ( the) S 100 J ( whole) S 99 J ( disk, writing all the sectors on a track under) S
2952 7896 P (one) S 74 J ( head) S 75 J ( and) S 74 J ( then) S 75 J ( all) S 74 J ( tracks) S 75 J ( in) S 74 J ( a cylinder before repositioning the) S
2952 8160 P (heads) S 61 J ( to) S 62 J ( the) S 61 J ( next) S 62 J ( cylinder.) S 61 J ( ) S 62 J ( You can also cause ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 62 J ( to write to) S
2952 8424 P (just) S 60 J ( specific sectors by giving it a sector list.) S
2952 8928 P 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 102 J ( always) S 103 J ( writes) S 102 J ( whole) S 103 J ( sectors and, if requested, formats) S
2952 9192 P (whole) S 65 J ( tracks.) S 66 J ( ) S 65 J ( If) S 66 J ( the last sector is only partially-used, ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 66 J ( fills) S
2952 9456 P (it) S 60 J ( out with binary zeros.) S
2952 9960 P (To) S 64 J ( avoid conflicts with other applications, ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 64 J ( always locks a) S
2952 10224 P (drive) S 60 J ( before actually writing to it.) S
2520 10728 P (Basic Options:) S
3096 11232 P (-a) S 376 J ( Autoformat.) S 60 J ( If the disk appears to be unformatted,) S
3672 11496 P (automatically do a low-level format of the entire disk.) S
3096 11820 P (-f) S 416 J ( Low-level) S 60 J ( format the entire disk as data is copied to it from) S
3672 12084 P (stdin.) S
3096 12408 P (-F) S 363 J ( Low-level) S 60 J ( format the entire disk and create an empty FAT) S
3672 12672 P (filesystem. Do not read anything from stdin.) S
3096 12996 P (-v Verify. Read back and verify each write.) S
3096 13320 P (-h ) S 296 J ( Help.) S 60 J ( \(This screen.\)) S
3096 13644 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (200) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2880 1704 P 0 12 F 26 12 F (Options) S 60 J ( for using the disk as a serial media:) S
3456 2208 P (-b) S 363 J ( Boot) S 60 J ( record. Write a simple non-system disk boot record) S
4032 2472 P (and parameter block corresponding to the particular media) S
4032 2736 P (into sector 0. If writing the entire disk, continue with the) S
4032 3000 P (next sector.) S
3456 3324 P (-c ) S 329 J ( Continuation.) S 60 J ( If there's more data on stdin after an entire) S
4032 3588 P (disk has been written, prompt for a new disk to be inserted) S
4032 3852 P (and continue. If -d is specified also, the filename extension) S
4032 4116 P (on each disk will be the disk number, i.e., 001, 002, 003, etc.) S
3456 4440 P (-d) S 349 J ( Dummy) S 60 J ( filesystem. Write a boot record and a FAT) S
4032 4704 P (filesystem into the initial sectors allocating whatever is) S
4032 4968 P (written to a single file.) S
3456 5292 P (-n <name>) S 427 J ( The) S 60 J ( filename to be given to any data written onto) S
5040 5556 P (the disk if the -d \(dummy filesystem\) option is) S
5040 5820 P (used. Default is 'bindata'.) S
2880 6468 P (Formatting:) S
3312 6972 P (Default) S 91 J ( is) S 92 J ( to) S 91 J ( let) S 92 J ( OS/2 or Windows NT try to determine how the) S
3312 7236 P (media) S 60 J ( has been formatted and not to reformat the disk.) S
3312 7740 P (If) S 64 J ( the) S 65 J ( disk) S 64 J ( isn't) S 65 J ( already formatted and the -a \(autoformat\) option is) S
3312 8004 P (selected) S 104 J ( or) S 105 J ( if) S 104 J ( formatting) S 105 J ( is) S 104 J ( explicitly) S 105 J ( requested) S 104 J ( with the -f or -F) S
3312 8268 P (options,) S 60 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 60 J ( will do a low-level format of the media.) S
3312 8772 P 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 171 J ( takes) S 172 J ( its specification of the format \(e.g., low- or) S
3312 9036 P (high-density\)) S 60 J ( from the following sources, in decreasing priority:) S
3456 9540 P (1.) S 396 J ( Explicit) S 60 J ( specifications on the command line.) S
3456 9864 P (2.) S 396 J ( The) S 60 J ( OS/2 or Windows NT kernel's guess at the media) S
4032 10128 P (format, assuming the disk is already formatted and not) S
4032 10392 P (being re-formatted.) S
3456 10716 P (3.) S 396 J ( The) S 60 J ( format parameters in the boot sector copied from stdin,) S
4032 10980 P (assuming neither the -b nor the -d options is given.) S
3456 11304 P (4.) S 396 J ( The) S 60 J ( previous format of the media, assuming it's already) S
4032 11568 P (formatted in a standard configuration but being) S
4032 11832 P (reformatted.) S
3456 12156 P (5.) S 396 J ( The) S 60 J ( highest-density format supported by the drive.) S
3312 12804 P (Unless) S 146 J ( you) S 147 J ( specify) S 146 J ( -b) S 147 J ( or -d, ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 147 J ( will expect to copy a) S
3312 13068 P (compatible) S 72 J ( disk) S 73 J ( image) S 72 J ( from) S 73 J ( stdin including a suitable boot sector,) S
3312 13332 P (etc.) S 63 J ( ) S 64 J ( That) S 63 J ( happens) S 64 J ( automatically when ) S 0 12 F 26 12 F B (dskread) S E 0 12 F 26 12 F ('ing) S 64 J ( a whole disk is) S
3312 13596 P (paired) S 60 J ( with ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F ('ing) S 60 J ( a whole disk but not otherwise.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (201) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2520 1704 P 0 12 F 26 12 F (Explicit) S 60 J ( Format Specification Options:) S
3096 2208 P (-H) S 296 J ( High) S 60 J ( density format.) S
3096 2532 P (-L) S 349 J ( Low) S 60 J ( density format.) S
3096 2856 P (-N <sectors>) S 225 J ( Sectors) S 60 J ( per track.) S
3096 3180 P (-s <size>) S 645 J ( Sector) S 60 J ( size. Normally only 512 is supported but,) S
4680 3444 P (depending on your hardware, you may also be) S
4680 3708 P (able to create 128, 256 or 1024-byte sectors.) S
3096 4032 P (-t <tracks>) S 441 J ( Number) S 60 J ( of tracks.) S
2952 4680 P (Other Advanced Options:) S
3096 5184 P (-T) S 349 J ( Low-level) S 60 J ( format the media track-at-a-time as the disk is) S
3672 5448 P (written. Only as much of the disk as is being written to will) S
3672 5712 P (be formatted.) S
3096 6036 P (-V <volid>) S 427 J ( The) S 60 J ( volume identifier to be written into the) S
4680 6300 P (dummy filesystem header if -F or -d is used.) S
4680 6564 P (\(Ignored otherwise.\)) S
3096 6888 P (-x) S 372 J ( Force) S 60 J ( use of a non-standard format or writing of non-) S
3672 7152 P (standard format parameters to the boot sector.) S
3096 7476 P (-z) S 376 J ( Zero-length) S 60 J ( files written with -d option should still be) S
3672 7740 P (added to the directory. \(Otherwise, they're ignored.\)) S
3096 8064 P (-Z!) S 269 J ( Force) S 60 J ( write to a hard disk. Warning! Very risky unless you) S
3672 8328 P (know exactly what you're doing.) S
2520 8976 P (Sector lists:) S
2952 9480 P (Optionally,) S 123 J ( you) S 124 J ( can) S 123 J ( specify) S 124 J ( a) S 123 J ( list of sectors you want written.) S
2952 9744 P (Sectors) S 60 J ( are given in) S
3528 10208 P 0 12 F 0 10 F (\(cylinder,) S 120 J ( head, sector\)) S
2952 10672 P 0 12 F 26 12 F (coordinates) S 81 J ( with) S 82 J ( parentheses) S 81 J ( around) S 82 J ( and) S 81 J ( commas) S 82 J ( or) S 81 J ( white) S 82 J ( space) S
2952 10936 P (to) S 96 J ( separate) S 97 J ( the) S 96 J ( numeric) S 97 J ( values) S 96 J ( you) S 97 J ( write.) S 96 J ( ) S 97 J ( Cylinders,) S 96 J ( heads) S 97 J ( and) S
2952 11200 P (sectors) S 69 J ( are) S 70 J ( counted) S 69 J ( from) S 70 J ( zero) S 69 J ( and) S 70 J ( can) S 69 J ( be) S 70 J ( specified) S 69 J ( in) S 70 J ( decimal,) S 69 J ( hex) S
2952 11464 P (or) S 60 J ( octal.) S
2952 11968 P (A) S 138 J ( single) S 139 J ( sector) S 138 J ( specified alone means just that sector. Listing) S
2952 12232 P (several) S 214 J ( separated) S 215 J ( by) S 214 J ( commas) S 215 J ( or) S 214 J ( spaces) S 215 J ( means) S 214 J ( each) S 215 J ( one) S
2952 12496 P (individually.) S
2952 13000 P (A) S 126 J ( pair) S 127 J ( of) S 126 J ( sectors) S 127 J ( joined by a hyphen means a range: all the) S
2952 13264 P (consecutive) S 87 J ( sectors) S 88 J ( beginning) S 87 J ( with) S 88 J ( the) S 87 J ( first) S 88 J ( and) S 87 J ( running) S 88 J ( through) S
2952 13528 P (to) S 60 J ( the second.) S
2952 14032 P (Specifying a) S 61 J ( negative) S 60 J ( number) S 61 J ( as) S 60 J ( an) S 61 J ( ordinate) S 60 J ( means use the highest) S
2952 14296 P (possible value for that disk.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (202) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3312 1704 P 0 12 F 26 12 F (If) S 79 J ( any) S 80 J ( of) S 79 J ( the) S 80 J ( ordinates) S 79 J ( of) S 80 J ( a sector are omitted, they're assumed to) S
3312 1968 P (be) S 60 J ( zero) S 61 J ( exept) S 60 J ( when) S 61 J ( it) S 60 J ( closes) S 61 J ( a) S 60 J ( range,) S 61 J ( in) S 60 J ( which) S 61 J ( case) S 60 J ( it) S 61 J ( means) S 60 J ( use) S 61 J ( the) S
3312 2232 P (highest) S 60 J ( possible value.) S
2880 2736 P (Examples:) S
3456 3240 P (1.) S 396 J ( To) S 123 J ( duplicate) S 124 J ( a) S 123 J ( whole) S 124 J ( diskette image, autoformatting the) S
4032 3504 P (output) S 60 J ( media if it's not already formatted:) S
3888 3968 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskread a: > dskimage.a) S
3888 4232 P () S 432 J ( %) S 120 J ( dskwrite -av a: < dskimage.a) S
3456 4696 P 0 12 F 26 12 F (2.) S 396 J ( To) S 99 J ( use) S 100 J ( dskwrite to format a disk with an empty FAT file) S
4032 4960 P (system,) S 60 J ( use either:) S
3888 5424 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskwrite -F a:) S
3456 5888 P 0 12 F 26 12 F () S 576 J ( or:) S
3888 6352 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskwrite -df a: <nul) S
3456 6816 P 0 12 F 26 12 F (3.) S 396 J ( To) S 60 J ( rewrite just the boot sector to make it a non-system disk:) S
3888 7280 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskwrite -b a: <nul) S
3456 7744 P 0 12 F 26 12 F (4.) S 396 J ( To) S 60 J ( use a diskette as a serial archive media:) S
3456 8208 P () S 576 J ( The) S 62 J ( -d) S 63 J ( option) S 62 J ( allows you to request just enough dummy file) S
4032 8472 P (system) S 66 J ( ``envelope'' around the otherwise arbitrary data you) S
4032 8736 P (intend) S 113 J ( to write to ensure the disk can still be used with) S
4032 9000 P (other) S 106 J ( OS/2) S 107 J ( or) S 106 J ( Windows NT utilities. Here's an example) S
4032 9264 P (writing) S 81 J ( the) S 82 J ( result) S 81 J ( of) S 82 J ( a) S 81 J ( ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F ('ing) S 82 J ( \(archiving\)) S 81 J ( a whole directory) S
4032 9528 P (to) S 60 J ( a series of diskettes, again autoformatting:) S
3888 9992 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( tar -asr mydir < nul | dskwrite -avcd -n mydir a:) S
3456 10456 P 0 12 F 26 12 F () S 576 J ( It's) S 60 J ( restored with) S
3888 10920 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskread -dc -n mydir a: | tar -xsr) S
3456 11384 P 0 12 F 26 12 F () S 576 J ( The) S 88 J ( diskettes) S 89 J ( used) S 88 J ( do) S 89 J ( not) S 88 J ( all) S 89 J ( have) S 88 J ( to) S 89 J ( be the same density;) S
4032 11648 P (any) S 93 J ( mix) S 94 J ( of) S 93 J ( high and low is okay. But remember that if a) S
4032 11912 P (disk) S 73 J ( isn't) S 74 J ( already) S 73 J ( formatted, there's no way for ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 73 J ( to) S
4032 12176 P (tell) S 91 J ( whether) S 92 J ( it should be high or low density; any disks it) S
4032 12440 P (has) S 60 J ( to format will all be formatted the same way.) S
3456 12904 P () S 576 J ( If) S 69 J ( putting) S 70 J ( the) S 69 J ( greatest) S 70 J ( possible) S 69 J ( amount of data on a diskette) S
4032 13168 P (is) S 108 J ( more) S 109 J ( important) S 108 J ( than) S 109 J ( compatibility) S 108 J ( with) S 109 J ( other) S 108 J ( OS/2) S 109 J ( or) S
4032 13432 P (Windows) S 80 J ( NT) S 81 J ( utilities,) S 80 J ( you can also use the space normally) S
4032 13696 P (devoted) S 104 J ( to) S 105 J ( the) S 104 J ( FAT) S 105 J ( file) S 104 J ( system) S 105 J ( and) S 104 J ( even) S 105 J ( the boot sector.) S
4032 13960 P (Here) S 103 J ( is) S 104 J ( the) S 103 J ( same ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F (,) S 103 J ( written to a series of autoformatted) S
4032 14224 P (high-density) S 60 J ( diskettes where every sector is used for data:) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (203) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
3528 1704 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( tar -asr mydir < nul | dskwrite -avcHx a:) S
3096 2168 P 0 12 F 26 12 F () S 576 J ( It's) S 60 J ( restored with) S
3528 2632 P 0 12 F 0 10 F () S 432 J ( %) S 120 J ( dskread -cH a: | tar -xsr) S
3096 3096 P 0 12 F 26 12 F () S 576 J ( Since) S 92 J ( no) S 93 J ( labeling) S 92 J ( of) S 93 J ( the) S 92 J ( data is written to the diskette, it's) S
3672 3360 P (the) S 68 J ( user's) S 69 J ( responsibility) S 68 J ( to) S 69 J ( ) S 68 J ( keep) S 69 J ( track) S 68 J ( of) S 69 J ( the) S 68 J ( order) S 69 J ( in) S 68 J ( which) S
3672 3624 P (the) S 60 J ( disks were written and even what format was used.) S
2520 4088 P (Non-standard Diskette Formats:) S
2952 4592 P (If) S 112 J ( you) S 113 J ( write) S 112 J ( anything but a standard boot record into the boot) S
2952 4856 P (sector,) S 89 J ( you) S 90 J ( will) S 89 J ( not) S 90 J ( be) S 89 J ( able) S 90 J ( to) S 89 J ( read) S 90 J ( it) S 89 J ( with) S 90 J ( anything) S 89 J ( but ) S 0 12 F 26 12 F B (dskread) S E
2952 5120 P 0 12 F 26 12 F (and) S 86 J ( even) S 87 J ( then) S 86 J ( only if you tell it explicitly what what format was) S
2952 5384 P (used.) S 82 J ( ) S 83 J ( Without) S 82 J ( a standard parameter block in the boot sector, the) S
2952 5648 P (the) S 91 J ( OS/2) S 92 J ( and) S 91 J ( Windows) S 92 J ( NT diskette device drivers just can't tell) S
2952 5912 P (on) S 60 J ( its own how the diskette was written.) S
2952 6416 P (Similarly,) S 103 J ( it's) S 104 J ( possible) S 103 J ( you may be able to write a non-standard) S
2952 6680 P (format) S 79 J ( \(e.g., a sector size other than 512 bytes, etc.\) depending on) S
2952 6944 P (your) S 76 J ( hardware. But doing that may make the diskette impossible) S
2952 7208 P (to) S 60 J ( read on other machines.) S
2952 7712 P (For that) S 121 J ( reason,) S 120 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 121 J ( normally) S 120 J ( won't) S 121 J ( let) S 120 J ( you) S 121 J ( write a boot) S
2952 7976 P (record) S 67 J ( that) S 68 J ( doesn't) S 67 J ( match the actual format of the diskette nor will) S
2952 8240 P (it) S 63 J ( let) S 64 J ( you) S 63 J ( write) S 64 J ( anything) S 63 J ( other) S 64 J ( than) S 63 J ( one) S 64 J ( of) S 63 J ( the) S 64 J ( standard) S 63 J ( format.) S 64 J ( To) S
2952 8504 P (override) S 60 J ( these checks, you must use the -x option.) S
2520 9008 P (Writing to a Hard Disk:) S
2952 9512 P (Deliberately, ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 60 J ( normally only lets you write to diskettes.) S
2952 10016 P (Writing) S 61 J ( to) S 62 J ( a) S 61 J ( hard) S 62 J ( disk) S 61 J ( is) S 62 J ( very) S 61 J ( risky) S 62 J ( since) S 61 J ( the chance of catastrophic) S
2952 10280 P (loss) S 114 J ( of) S 115 J ( information) S 114 J ( is) S 115 J ( so) S 114 J ( high.) S 115 J ( ) S 114 J ( Also, only ESDI and SCSI disk) S
2952 10544 P (controllers) S 134 J ( routinely) S 135 J ( map) S 134 J ( out) S 135 J ( bad blocks, so reading the disk) S
2952 10808 P (image) S 68 J ( from) S 69 J ( one) S 68 J ( drive) S 69 J ( and writing it to another is unlikely to work) S
2952 11072 P (if) S 60 J ( there are bad blocks on either one.) S
2952 11576 P (To) S 69 J ( force) S 70 J ( ) S 0 12 F 26 12 F B (dskwrite) S E 0 12 F 26 12 F () S 69 J ( to) S 70 J ( write) S 69 J ( to) S 70 J ( a) S 69 J ( hard) S 70 J ( disk,) S 69 J ( you must specify the -Z!) S
2952 11840 P (option,) S 95 J ( meant) S 96 J ( to) S 95 J ( be) S 96 J ( hard) S 95 J ( to) S 96 J ( accidentally) S 95 J ( type. In effect, the -Z!) S
2952 12104 P (option) S 60 J ( means you understand the risk you're taking.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (204) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (du:) S 1066 J ( List) S 67 J ( Disk Usage Statistics) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( du [-acdxvh] [ disk1 disk2 ... ]) S
3312 2712 P 0 12 F 26 12 F B (du) S E 0 12 F 26 12 F () S 77 J ( prints) S 78 J ( statistics) S 77 J ( showing) S 78 J ( the) S 77 J ( total,) S 78 J ( used) S 77 J ( and free space on each) S
3312 2976 P (disk) S 188 J ( partition.) S 189 J ( ) S 188 J ( If) S 189 J ( no disks are specified, ) S 0 12 F 26 12 F B (du) S E 0 12 F 26 12 F () S 189 J ( looks for a) S
3312 3240 P 0 12 F 26 12 F B (DRIVEMASK) S E 0 12 F 26 12 F () S 103 J ( environmental) S 104 J ( variable) S 103 J ( that) S 104 J ( can be used to mask) S
3312 3504 P (off) S 149 J ( just) S 150 J ( the) S 149 J ( drive) S 150 J ( you want reported. The ) S 0 12 F 26 12 F B (DRIVEMASK) S E 0 12 F 26 12 F () S 150 J ( is) S
3312 3768 P (specified) S 83 J ( as) S 84 J ( a) S 83 J ( list) S 84 J ( of) S 83 J ( drive) S 84 J ( letters;) S 83 J ( ranges) S 84 J ( are) S 83 J ( allowed. Otherwise,) S
3312 4032 P (all) S 98 J ( the fixed disk partitions beginning with c: are reported. The) S
3312 4296 P (current) S 170 J ( disk's) S 171 J ( statistics) S 170 J ( are) S 171 J ( highlighted.) S 170 J ( ) S 171 J ( Sizes are normally) S
3312 4560 P (reported) S 60 J ( in binary \(1000*1024\) megabytes.) S
2880 5064 P (Option:) S
3456 5568 P (-a) S 376 J ( If) S 60 J ( no disks are specified, report on all disks.) S
3456 5892 P (-c) S 389 J ( If) S 60 J ( no disks are specified, report on just the current disk.) S
3456 6216 P (-d) S 349 J ( Report) S 60 J ( in decimal \(1,000,000\) megabytes.) S
3456 6540 P (-x) S 372 J ( Report) S 60 J ( in hex \(1024*1024\) megabytes.) S
3456 6864 P (-v Give detailed cluster information.) S
3456 7188 P (-h) S 356 J ( Help.) S
3456 7512 P (--) S 416 J ( End) S 60 J ( of options.) S
3312 8160 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
3312 8544 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
3312 8808 P 0 12 F 26 12 F B (HIGHLIGHT) S E 0 12 F 26 12 F () S 523 J ( Current) S 60 J ( disk or directory.) S 585 J ( Bright) S
3312 9272 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
3312 9536 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
3312 9800 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
3312 10064 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
3312 10328 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
3312 10592 P (all) S 60 J ( upper case.) S
3312 11096 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
3312 11360 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
3312 11624 P (and) S 78 J ( inherits the color underneath it. ) S 0 12 F 26 12 F B (HIGHLIGHT) S E 0 12 F 26 12 F () S 78 J ( inherits from) S
3312 11888 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (205) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (echo:) S 800 J ( Echo) S 67 J ( the Arguments to Standard Output) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( echo [-n2h-] [ text ]) S
2952 2712 P (Echo) S 61 J ( the) S 62 J ( text) S 61 J ( to) S 62 J ( standard) S 61 J ( output) S 62 J ( \(or) S 61 J ( stderr\), substituting for certain) S
2952 2976 P (character) S 114 J ( sequences) S 115 J ( preceded) S 114 J ( by the ) S 0 12 F 26 12 F B (escapesym) S E 0 12 F 26 12 F () S 114 J ( character. \(The) S
2952 3240 P 0 12 F 26 12 F B (escapesym) S E 0 12 F 26 12 F () S 86 J ( character) S 87 J ( is) S 86 J ( normally `^' but can be changed with the) S
2952 3504 P 0 12 F 26 12 F B (set) S E 0 12 F 26 12 F () S 60 J ( command.\)) S
2952 4008 P () S 432 J ( ^a) S 311 J ( Audible) S 60 J ( Alert \(Bell\)) S 1218 J ( ^r) S 336 J ( Carriage) S 60 J ( Return) S
2952 4272 P () S 432 J ( ^b) S 298 J ( BackSpace) S 2193 J ( ^t) S 353 J ( Tab) S
2952 4536 P () S 432 J ( ^f) S 351 J ( Form) S 60 J ( Feed) S 2171 J ( ^v) S 295 J ( Vertical) S 60 J ( Tab) S
2952 4800 P () S 432 J ( ^n) S 291 J ( NewLine) S 2326 J ( ^^) S 286 J ( Single) S 60 J ( escapesym) S
2952 5304 P (The) S 87 J ( ) S 0 12 F 26 12 F B (escapesym) S E 0 12 F 26 12 F () S 88 J ( character) S 87 J ( may) S 88 J ( also be followed with the numeric) S
2952 5568 P (value) S 115 J ( of) S 116 J ( the) S 115 J ( intended) S 116 J ( substitution) S 115 J ( character) S 116 J ( where the value is) S
2952 5832 P (specified) S 60 J ( in hex \(as an 'x' followed by hex digits\) or in octal.) S
2520 6336 P (Options:) S
3096 6840 P (-n) S 356 J ( Don't) S 60 J ( automatically append a Carriage Return/Line Feed) S
3672 7104 P (sequence to the end of the output.) S
3096 7428 P (-2) S 376 J ( Write) S 60 J ( to stderr instead of stdout.) S
3096 7752 P (-h) S 356 J ( Help.) S
3096 8076 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (206) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (eval:) S 894 J ( Parse) S 67 J ( & Evaluate at Run-Time) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( eval [delta] [-irfth-] [ argument words ]) S
3312 2712 P (Evaluate) S 92 J ( the) S 93 J ( words following on the command line as text to be) S
3312 2976 P (parsed) S 73 J ( and) S 74 J ( evaluated) S 73 J ( as) S 74 J ( statements) S 73 J ( only) S 74 J ( after) S 73 J ( all) S 74 J ( the) S 73 J ( substitutions) S
3312 3240 P (and) S 97 J ( wildcarding) S 98 J ( have) S 97 J ( been) S 98 J ( done.) S 97 J ( Optionally, under OS/2, ) S 0 12 F 26 12 F B (eval) S E
3312 3504 P 0 12 F 26 12 F (lets) S 60 J ( you run the command at a higher or lower scheduling priority.) S
3312 4008 P (Command) S 130 J ( or) S 131 J ( variable) S 130 J ( substitutions) S 131 J ( aren't normally done until) S
3312 4272 P (after) S 97 J ( statements) S 98 J ( have already been parsed and compiled into an) S
3312 4536 P (internal) S 90 J ( form) S 91 J ( and,) S 90 J ( if) S 91 J ( it's) S 90 J ( a) S 91 J ( background) S 90 J ( statement,) S 91 J ( passed) S 90 J ( off) S 91 J ( to a) S
3312 4800 P (background) S 60 J ( child thread.) S
3312 5304 P (The ) S 0 12 F 26 12 F B (eval) S E 0 12 F 26 12 F () S 60 J ( command is useful if either:) S
3456 5808 P (-) S 496 J ( You) S 60 J ( want command or variable substitutions to be) S
4032 6072 P (recognized as any of the reserved words of the language or) S
4032 6336 P (as an alias, or) S
3456 6660 P (-) S 496 J ( You) S 60 J ( want the substitutions done before a background) S
4032 6924 P (thread is started, or) S
3456 7248 P (-) S 496 J ( You) S 60 J ( want to run the command at a different priority.) S
2880 7752 P (Options:) S
3456 8256 P (-i) S 426 J ( Idle) S 60 J ( time priority. \(In Unix terms, this is the ``nice'' option:) S
4032 8520 P (if you're nice, you run at idle priority and let everything) S
4032 8784 P (else run ahead of you.\)) S
3456 9108 P (-r) S 401 J ( Regular) S 60 J ( priority. \(The usual initial value.\)) S
3456 9432 P (-f) S 416 J ( Foreground) S 60 J ( priority.) S
3456 9756 P (-t) S 418 J ( Time) S 60 J ( critical priority.) S
3456 10080 P (delta) S 1054 J ( A) S 60 J ( signed integer amount by which the scheduling) S
5040 10344 P (priority for this command is to be adjusted up or) S
5040 10608 P (down. The `+' or `-' sign is required to distinguish) S
5040 10872 P (this as an option. Priority ranges from 0 to 31 and) S
5040 11136 P (is normally 0 when the C shell starts up or if a new) S
5040 11400 P (priority class is chosen. Attempting to set priority) S
5040 11664 P (below 0 or above the maximum results in priority) S
5040 11928 P (0 or 31 respectively.) S
3456 12252 P (-h) S 356 J ( Help.) S
3456 12576 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (207) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (fgrep:) S 760 J ( Fast) S 67 J ( string search \(fast grep\) of text files) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( fgrep [-hbcilnqsvwx-] [-f ptrnfile] [ pattern ] [ file1 file2 ...]) S
2952 2712 P 0 12 F 26 12 F B (fgrep) S E 0 12 F 26 12 F () S 85 J ( does) S 86 J ( a) S 85 J ( quick,) S 86 J ( deliberately simple string search. It does not) S
2952 2976 P (use) S 75 J ( regular) S 76 J ( expressions,) S 75 J ( but) S 76 J ( does) S 75 J ( have) S 76 J ( some) S 75 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F (-style) S 75 J ( options for) S
2952 3240 P (ignoring) S 69 J ( upper-/lower-case) S 70 J ( differences) S 69 J ( or) S 70 J ( treating white spaces of) S
2952 3504 P (any) S 81 J ( length) S 82 J ( as) S 81 J ( equal,) S 82 J ( etc.) S 81 J ( ) S 82 J ( You) S 81 J ( can) S 82 J ( also) S 81 J ( give) S 82 J ( it a list of strings you) S
2952 3768 P (want) S 60 J ( searched for, one per line in a pattern file or via stdin.) S
2952 4272 P (Each) S 99 J ( matching) S 100 J ( line) S 99 J ( is) S 100 J ( copied to stdout. If more than one file is) S
2952 4536 P (being) S 64 J ( searched,) S 65 J ( each) S 64 J ( line) S 65 J ( is) S 64 J ( preceded) S 65 J ( by) S 64 J ( the) S 65 J ( name) S 64 J ( of file where the) S
2952 4800 P (match) S 60 J ( occurred plus a `:' character.) S
2520 5304 P (Options:) S
3096 5808 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 6132 P (-b) S 363 J ( Blank) S 60 J ( spaces of any length compare equal. Ignore any) S
3672 6396 P (leading or trailing white space on each line.) S
3096 6720 P (-c) S 389 J ( Just) S 60 J ( print a count of the number of lines which match.) S
3096 7044 P (-f ptrnfile Read the patterns from a file.) S
3096 7368 P (-i) S 426 J ( Ignore) S 60 J ( character case.) S
3096 7692 P (-l) S 426 J ( Show) S 60 J ( just the names of any files containing at least one) S
3672 7956 P (match. Show each name only once, each on a separate line.) S
3096 8280 P (-n) S 356 J ( Show) S 60 J ( the line numbers of any matches.) S
3096 8604 P (-q) S 362 J ( Quiet:) S 60 J ( don't show filenames where the matches occur.) S
3096 8928 P (-s) S 394 J ( Read) S 60 J ( the patterns from stdin.) S
3096 9252 P (-v Invert the pattern: show all lines ) S 0 12 F 26 12 F B (except) S E 0 12 F 26 12 F () S 60 J ( those that match.) S
3096 9576 P (-w) S 296 J ( White) S 60 J ( space is ignored totally.) S
3096 9900 P (-x) S 372 J ( Exact) S 60 J ( match: the whole line must match the pattern.) S
3096 10224 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (208) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (grep:) S 840 J ( Regular) S 67 J ( expression pattern search of text files) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( grep [-hcilnqsv-] [-f ptrnfile] [ pattern ] [ file1 file2 ...]) S
3312 2712 P 0 12 F 26 12 F B (grep) S E 0 12 F 26 12 F () S 74 J ( uses) S 75 J ( special patterns called regular expressions to filter what) S
3312 2976 P (it) S 60 J ( reads from stdin or from any files you specify.) S
3312 3480 P (Regular) S 130 J ( expressions) S 131 J ( are) S 130 J ( written) S 131 J ( in) S 130 J ( this notation, in decreasing) S
3312 3744 P (precedence:) S
3456 4248 P (c) S 1477 J ( Any) S 60 J ( ordinary character matches itself.) S
3456 4572 P (\\c) S 1332 J ( Match) S 60 J ( the literal character c.) S
3456 4896 P (^) S 1439 J ( Beginning) S 60 J ( of line.) S
3456 5220 P ($) S 1464 J ( End) S 60 J ( of line.) S
3456 5544 P (.) S 1524 J ( Match) S 60 J ( any single character.) S
3456 5868 P ([...]) S 1244 J ( Match) S 60 J ( any single character in the list.) S
3456 6192 P ([^...]) S 1099 J ( Match) S 60 J ( any single character not in the list.) S
3456 6516 P (\\n) S 1299 J ( Match) S 60 J ( whatever literal text the n'th tagged \\\(...\\\)) S
5040 6780 P (expression matched.) S
3456 7104 P (r*) S 1396 J ( Match) S 60 J ( zero or more occurrences of r.) S
3456 7428 P (r1r2) S 1154 J ( Match) S 60 J ( expression r1 followed by r2.) S
3456 7752 P (\\\(r\\\)) S 1039 J ( Tagged) S 60 J ( regular expression. Match the pattern) S
5040 8016 P (inside the \\\(...\\\), and remember the literal text) S
5040 8280 P (that matched.) S
3312 8928 P (A) S 125 J ( regular) S 126 J ( expression) S 125 J ( pattern) S 126 J ( cannot) S 125 J ( contain Null, NewLine or) S
3312 9192 P (CarriageReturn) S 60 J ( characters.) S
3312 9696 P (When typing) S 61 J ( a) S 60 J ( regular) S 61 J ( expression) S 60 J ( on) S 61 J ( the) S 60 J ( command) S 61 J ( line,) S 60 J ( remember) S
3312 9960 P (that) S 65 J ( $,) S 66 J ( [,) S 65 J ( ],) S 66 J ( ^,) S 65 J ( \() S 66 J ( and) S 65 J ( \)) S 66 J ( have special meaning to Hamilton C shell. Put) S
3312 10224 P (single) S 97 J ( quotes) S 98 J ( around) S 97 J ( the) S 98 J ( string) S 97 J ( to turn off that special meaning.) S
3312 10488 P (Also,) S 139 J ( even) S 140 J ( inside) S 139 J ( quotes,) S 140 J ( type) S 139 J ( ^^) S 140 J ( to) S 139 J ( mean) S 140 J ( ^ except when it) S
3312 10752 P (immediately) S 60 J ( follows [.) S
3312 11256 P (Each) S 99 J ( matching) S 100 J ( line) S 99 J ( is) S 100 J ( copied to stdout. If more than one file is) S
3312 11520 P (being) S 64 J ( searched,) S 65 J ( each) S 64 J ( line) S 65 J ( is) S 64 J ( preceded) S 65 J ( by) S 64 J ( the) S 65 J ( name) S 64 J ( of file where the) S
3312 11784 P (matched) S 60 J ( occurred plus a `:' character.) S
2880 12288 P (Options:) S
3456 12792 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 13116 P (-c) S 389 J ( Just) S 60 J ( print a count of the number of lines which match.) S
3456 13440 P (-f ptrnfile) S 572 J ( Read) S 60 J ( the patterns from a file.) S
3456 13764 P (-i) S 426 J ( Ignore) S 60 J ( character case.) S
3456 14088 P (-l) S 426 J ( Show) S 60 J ( just the names of any files containing at least one) S
4032 14352 P (match. Show each name only once, each on a separate line.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (209) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
3096 1704 P 0 12 F 26 12 F (-n) S 356 J ( Show) S 60 J ( the line numbers of any matches.) S
3096 2028 P (-q) S 362 J ( Quiet:) S 60 J ( don't show filenames where the matches occur.) S
3096 2352 P (-s) S 394 J ( Read) S 60 J ( the patterns from stdin.) S
3096 2676 P (-v Invert the pattern: show all lines ) S 0 12 F 26 12 F B (except) S E 0 12 F 26 12 F () S 60 J ( those that match.) S
3096 3000 P (--) S 416 J ( End) S 60 J ( of options.) S
1800 3804 P 0 12 F 8 12 F B (hashstat:) S 374 J ( Print) S 67 J ( Path Hashing Performance Statistics) S E
2520 4308 P 0 12 F 26 12 F (Usage:) S 60 J ( hashstat [-h-]) S
2952 4812 P (Summarize) S 243 J ( the) S 244 J ( recent) S 243 J ( effectiveness) S 244 J ( of) S 243 J ( the) S 244 J ( path) S 243 J ( hashing) S
2952 5076 P (mechanism.) S
2952 5580 P (Hamilton) S 126 J ( C) S 127 J ( shell) S 126 J ( uses) S 127 J ( a) S 126 J ( hashing) S 127 J ( mechanism) S 126 J ( to) S 127 J ( help it decide) S
2952 5844 P (which) S 108 J ( path) S 109 J ( directories) S 108 J ( and) S 109 J ( filetype extensions should tried first) S
2952 6108 P (when) S 88 J ( looking) S 89 J ( for) S 88 J ( an) S 89 J ( executable) S 88 J ( file.) S 89 J ( ) S 88 J ( This) S 89 J ( way,) S 88 J ( it) S 89 J ( avoids) S 88 J ( wasting) S
2952 6372 P (time) S 75 J ( with) S 76 J ( requests) S 75 J ( to) S 76 J ( the) S 75 J ( OS/2) S 76 J ( or) S 75 J ( NT) S 76 J ( kernels) S 75 J ( to) S 76 J ( look) S 75 J ( for) S 76 J ( files that) S
2952 6636 P (are) S 60 J ( known) S 61 J ( to) S 60 J ( be) S 61 J ( non-existent.) S 60 J ( ) S 61 J ( Sometimes,) S 60 J ( the) S 61 J ( first) S 60 J ( guess made this) S
2952 6900 P (way) S 78 J ( is) S 79 J ( wrong) S 78 J ( \(the) S 79 J ( hash) S 78 J ( says) S 79 J ( a file might exist, but it doesn't\) and) S
2952 7164 P (the) S 60 J ( shell has to try again with a different directory or extension.) S
2952 7668 P 0 12 F 26 12 F B (hashstat) S E 0 12 F 26 12 F () S 131 J ( shows) S 132 J ( you) S 131 J ( the) S 132 J ( hit) S 131 J ( rate,) S 132 J ( which) S 131 J ( is the number of hits) S
2952 7932 P (divided) S 86 J ( by) S 87 J ( the) S 86 J ( number) S 87 J ( of) S 86 J ( tries) S 87 J ( \(hits) S 86 J ( plus) S 87 J ( misses.\)) S 86 J ( ) S 87 J ( Blindspots) S 86 J ( are) S
2952 8196 P (files) S 94 J ( that) S 95 J ( aren't) S 94 J ( found) S 95 J ( using) S 94 J ( the hash but are found on a second) S
2952 8460 P (pass,) S 103 J ( using) S 104 J ( an) S 103 J ( exhaustive search. Blindspots happen when you) S
2952 8724 P (add) S 94 J ( new) S 95 J ( files) S 94 J ( to a path directory; when detected, they cause the) S
2952 8988 P (directory) S 60 J ( to be rehashed.) S
2952 9492 P (\(See also the ) S 0 12 F 26 12 F B (rehash) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (unhash) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2520 9996 P (Options:) S
3096 10500 P (-h) S 356 J ( Help.) S
3096 10824 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (210) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (head:) S 800 J ( Copy) S 67 J ( the first few lines or bytes of a file to Stdout) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( head [-hbnq<size>-] [-t<tabs>][ file1 file2 ... ]) S
3312 2712 P 0 12 F 26 12 F B (head) S E 0 12 F 26 12 F () S 118 J ( copies the first part of each of the files you specify onto) S
3312 2976 P (stdout.) S 102 J ( ) S 103 J ( If) S 102 J ( several) S 103 J ( files) S 102 J ( are) S 103 J ( given, each is announced unless you) S
3312 3240 P (specify) S 63 J ( quiet) S 64 J ( mode.) S 63 J ( You may specify how much to read from each) S
3312 3504 P (file) S 81 J ( in) S 82 J ( either) S 81 J ( lines) S 82 J ( or) S 81 J ( bytes.) S 82 J ( ) S 81 J ( If) S 82 J ( no) S 81 J ( files) S 82 J ( are) S 81 J ( given,) S 82 J ( ) S 0 12 F 26 12 F B (head) S E 0 12 F 26 12 F () S 82 J ( reads from) S
3312 3768 P (stdin.) S
2880 4272 P (Options:) S
3456 4776 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 5100 P (-c) S 389 J ( Count) S 60 J ( characters. \(Default is lines.\)) S
3456 5424 P (-q) S 362 J ( Quiet) S 60 J ( mode. Don't announce the name of each file as it's) S
4032 5688 P (read.) S
3456 6012 P (-<size>) S 807 J ( Amount) S 60 J ( to be read from each file. \(Default is 10) S
5040 6276 P (lines or 512 bytes.\)) S
3456 6600 P (-t<tabs>) S 703 J ( Tab) S 60 J ( settings to use for viewing text. \(Default is to) S
5040 6864 P (use value given by the TABS environment variable) S
5040 7128 P (or, if that's undefined, to do no tab expansion.\)) S
3456 7452 P (-n) S 356 J ( No) S 60 J ( tab expansion.) S
3456 7776 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 8580 P 0 12 F 8 12 F B (heapstat:) S 374 J ( Print) S 67 J ( Heap Usage Statistics) S E
2880 9084 P 0 12 F 26 12 F (Usage:) S 60 J ( heapstat [-h-]) S
3312 9588 P (Summarize) S 126 J ( the) S 127 J ( current) S 126 J ( heap) S 127 J ( usage,) S 126 J ( i.e.,) S 127 J ( the number of objects) S
3312 9852 P (allocated) S 99 J ( on) S 100 J ( the) S 99 J ( heap) S 100 J ( and the total storage used. Heapstats are) S
3312 10116 P (only) S 90 J ( available) S 91 J ( if) S 90 J ( they) S 91 J ( were) S 90 J ( enabled) S 91 J ( with) S 90 J ( the) S 91 J ( -H) S 90 J ( option) S 91 J ( when the) S
3312 10380 P (shell) S 94 J ( was) S 95 J ( started.) S 94 J ( Because) S 95 J ( of) S 94 J ( the) S 95 J ( significant) S 94 J ( performance penalty) S
3312 10644 P (associated) S 103 J ( with) S 104 J ( tracking) S 103 J ( heap) S 104 J ( usage,) S 103 J ( heapstats) S 104 J ( are not normally) S
3312 10908 P (enabled.) S
2880 11412 P (Options:) S
3456 11916 P (-h) S 356 J ( Help.) S
3456 12240 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (211) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (history:) S 560 J ( Display) S 67 J ( the History List) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( history [-srh-] [ n [m] ]) S
2952 2712 P (Display) S 67 J ( commands) S 68 J ( from) S 67 J ( the) S 68 J ( history) S 67 J ( list.) S 68 J ( ) S 67 J ( If) S 68 J ( no) S 67 J ( operands) S 68 J ( are) S 67 J ( given,) S
2952 2976 P (show) S 76 J ( the) S 77 J ( entire) S 76 J ( list.) S 77 J ( ) S 76 J ( If) S 77 J ( a) S 76 J ( single) S 77 J ( integer `n' is specified, display the) S
2952 3240 P (last) S 60 J ( n commands. If both integers `n' and `m' are given, then:) S
3384 3744 P (if m >= n:) S 408 J ( Display) S 60 J ( commands numbered n through m.) S
3384 4128 P (if m < n:) S 553 J ( Display) S 60 J ( m commands, beginning at command n.) S
2952 4512 P (\(The) S 84 J ( size) S 85 J ( of) S 84 J ( the) S 85 J ( list) S 84 J ( is controlled by the ) S 0 12 F 26 12 F B (history) S E 0 12 F 26 12 F () S 84 J ( variable, changed) S
2952 4776 P (using) S 60 J ( the ) S 0 12 F 26 12 F B (set) S E 0 12 F 26 12 F () S 60 J ( command.\)) S
2520 5280 P (Options:) S
3096 5784 P (-s) S 394 J ( Short) S 60 J ( form: Leave off the command numbers.) S
3096 6108 P (-r) S 401 J ( Reverse) S 60 J ( order: Show the oldest first.) S
3096 6432 P (-h) S 356 J ( Help.) S
3096 6756 P (--) S 416 J ( End) S 60 J ( of options.) S
1800 7560 P 0 12 F 8 12 F B (kill:) S 1026 J ( Kill) S 67 J ( Specified Process or Thread Activity) S E
2520 8064 P 0 12 F 26 12 F (Usage:) S 60 J ( kill [-xh-] scheduling_id [ scheduling_id ... ]) S
2952 8568 P (Terminate) S 106 J ( specific) S 107 J ( activities.) S 106 J ( ) S 107 J ( Normally,) S 106 J ( only) S 107 J ( direct) S 106 J ( child screen) S
2952 8832 P (groups) S 121 J ( and) S 122 J ( processes) S 121 J ( can) S 122 J ( be) S 121 J ( killed.) S 122 J ( ) S 121 J ( Only) S 122 J ( certain) S 121 J ( threads will) S
2952 9096 P (respond) S 113 J ( to) S 114 J ( a) S 113 J ( kill;) S 114 J ( you) S 113 J ( cannot) S 114 J ( inadvertently) S 113 J ( kill) S 114 J ( normal) S 113 J ( internal) S
2952 9360 P (housekeeping.) S
2952 9864 P (Scheduling_ids) S 81 J ( are) S 82 J ( the) S 81 J ( thread,) S 82 J ( process) S 81 J ( or) S 82 J ( screen) S 81 J ( group) S 82 J ( identifiers) S
2952 10128 P (as) S 61 J ( reported) S 62 J ( by) S 61 J ( the) S 62 J ( ) S 0 12 F 26 12 F B (ps) S E 0 12 F 26 12 F () S 61 J ( command.) S 62 J ( ) S 61 J ( An) S 62 J ( id) S 61 J ( beginning) S 62 J ( with) S 61 J ( `t' indicates) S
2952 10392 P (a) S 136 J ( thread;) S 137 J ( `p') S 136 J ( indicates) S 137 J ( a) S 136 J ( process;) S 137 J ( `s') S 136 J ( indicates a screen group.) S
2952 10656 P (\(Screen) S 60 J ( groups are only on OS/2.\)) S
2520 11160 P (Options:) S
3096 11664 P (-x) S 372 J ( Kill) S 60 J ( even processes that are not direct children. \(Has no) S
3672 11928 P (effect on OS/2 screen groups that are not direct children;) S
3672 12192 P (this is an OS/2 kernel restriction.\)) S
3096 12516 P (-h) S 356 J ( Help.) S
3096 12840 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (212) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (label:) S 813 J ( Read/Write) S 67 J ( the Volume Label) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( label [-h-] [ disk: ] [ label ]) S
3312 2712 P 0 12 F 26 12 F B (label) S E 0 12 F 26 12 F () S 106 J ( reads) S 107 J ( or) S 106 J ( writes the label on the specified disk, given as a) S
3312 2976 P (single) S 83 J ( alphabetic) S 84 J ( drive) S 83 J ( letter) S 84 J ( plus) S 83 J ( a) S 84 J ( colon.) S 83 J ( ) S 84 J ( If) S 83 J ( no) S 84 J ( disk) S 83 J ( is specified,) S
3312 3240 P (the) S 96 J ( current) S 97 J ( disk is assumed. If no label is specified, the current) S
3312 3504 P (label) S 126 J ( name is printed. Otherwise label tries to set the label to) S
3312 3768 P (specified) S 70 J ( name.) S 71 J ( ) S 70 J ( Spacing) S 71 J ( between the disk: and the label operands) S
3312 4032 P (is) S 60 J ( optional.) S
3312 4536 P (The) S 91 J ( principal differences between this and the standard OS/2 or) S
3312 4800 P (NT) S 73 J ( label) S 74 J ( command) S 73 J ( are) S 74 J ( that) S 73 J ( \(1\) it can be invoked directly from the) S
3312 5064 P (C) S 95 J ( shell) S 96 J ( \(the) S 95 J ( standard) S 96 J ( OS/2) S 95 J ( label) S 96 J ( had a bug in its command line) S
3312 5328 P (processing) S 72 J ( that) S 73 J ( meant) S 72 J ( it) S 73 J ( had) S 72 J ( to) S 73 J ( be) S 72 J ( invoked) S 73 J ( only) S 72 J ( via) S 73 J ( cmd.exe\),) S 72 J ( and) S
3312 5592 P (\(2\)) S 60 J ( it never prompts, making it more suitable in scripts.) S
2880 6096 P (Options:) S
3456 6600 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 6924 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (213) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B () S 67 J ( ls:) S 1093 J ( List) S 67 J ( Files or Directories) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( ls [-+][lL!rqhx- ndtsez mU DHSARa 0-9 wME] path1 [ path2 ...) S
2520 2472 P (]) S
2952 2976 P 0 12 F 26 12 F B (ls) S E 0 12 F 26 12 F () S 135 J ( lists) S 136 J ( the specified files or directories. Directory names are) S
2952 3240 P (highlighted;) S 61 J ( names) S 62 J ( of) S 61 J ( files) S 62 J ( or) S 61 J ( directories) S 62 J ( with) S 61 J ( the) S 62 J ( system) S 61 J ( bit set are) S
2952 3504 P (shown) S 60 J ( in green.) S
2952 4008 P (File) S 73 J ( and) S 74 J ( directory) S 73 J ( names) S 74 J ( are normally converted to lower case for) S
2952 4272 P (better) S 82 J ( readability.) S 83 J ( ) S 82 J ( But) S 83 J ( ) S 0 12 F 26 12 F B (ls) S E 0 12 F 26 12 F () S 82 J ( will) S 83 J ( look) S 82 J ( for) S 83 J ( an) S 82 J ( environmental variable,) S
2952 4536 P 0 12 F 26 12 F B (MIXEDCASEDRIVES) S E 0 12 F 26 12 F (,) S 89 J ( giving) S 90 J ( a) S 89 J ( list) S 90 J ( of) S 89 J ( drives,) S 90 J ( e.g., f-hq, meaning) S
2952 4800 P (drives) S 88 J ( F:) S 89 J ( through) S 88 J ( H:) S 89 J ( and) S 88 J ( drive) S 89 J ( Q:,) S 88 J ( which should be displayed in) S
2952 5064 P (mixed) S 60 J ( case.) S
2952 5568 P (To) S 65 J ( customize) S 66 J ( ) S 0 12 F 26 12 F B (ls) S E 0 12 F 26 12 F () S 65 J ( with) S 66 J ( a) S 65 J ( default) S 66 J ( behavior) S 65 J ( of your own choosing, use) S
2952 5832 P (the) S 73 J ( ) S 0 12 F 26 12 F B (LSOPTIONS) S E 0 12 F 26 12 F () S 74 J ( environmental) S 73 J ( variable.) S 74 J ( ) S 73 J ( ) S 0 12 F 26 12 F B (ls) S E 0 12 F 26 12 F () S 74 J ( will) S 73 J ( first) S 74 J ( process any) S
2952 6096 P (options) S 139 J ( specified) S 140 J ( in) S 139 J ( ) S 0 12 F 26 12 F B (LSOPTIONS) S E 0 12 F 26 12 F () S 140 J ( before) S 139 J ( any) S 140 J ( specified) S 139 J ( on the) S
2952 6360 P (command) S 60 J ( line.) S
2520 6864 P (General Options:) S
3096 7368 P (-l) S 426 J ( Long) S 60 J ( format listings of the files or directories.) S
3096 7692 P (-L) S 349 J ( Very) S 60 J ( Long format listings. \(Under OS/2 1.1, used and) S
3672 7956 P (allocated media space is always reported. Under 1.2, the) S
3672 8220 P (size of any extended attributes is shown instead of media) S
3672 8484 P (space if -E is specified. Also, under 1.2, root directories do) S
3672 8748 P (not have a timestamp and are reported as midnight, Jan 1,) S
3672 9012 P (1980\)) S
3096 9336 P (-!) S 429 J ( List) S 60 J ( just the names specified, not the contents of any) S
3672 9600 P (directories. \(Remember to type this option at the end of the) S
3672 9864 P (list so the space afterward will prevent it being confused as) S
3672 10128 P (a history reference.\)) S
3096 10452 P (-r) S 401 J ( Recursively) S 60 J ( list contents of any subdirectories.) S
3096 10776 P (-q) S 362 J ( Quiet.) S 60 J ( Don't generate an error message for non-existent) S
3672 11040 P (files.) S
3096 11364 P (-h) S 356 J ( Help) S 60 J ( \(short list.\)) S
3096 11688 P (-hx) S 232 J ( Extended) S 60 J ( help \(this description.\)) S
3096 12012 P (--) S 416 J ( End) S 60 J ( of options. \(Useful if filenames start with ``-''.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (214) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2880 1704 P 0 12 F 26 12 F (Sorting) S 60 J ( Options:) S
3312 2208 P (Sorts) S 89 J ( may) S 90 J ( be) S 89 J ( done) S 90 J ( in) S 89 J ( any) S 90 J ( order;) S 89 J ( default) S 90 J ( is) S 89 J ( -nds. \(The filename is) S
3312 2472 P (the) S 113 J ( most) S 114 J ( important) S 113 J ( sort) S 114 J ( criteria) S 113 J ( and) S 114 J ( ties) S 113 J ( are) S 114 J ( broken) S 113 J ( by date or) S
3312 2736 P (size.\)) S
3456 3240 P (-n) S 356 J ( Name) S 60 J ( \(lowest alphabetic first.\)) S
3456 3564 P (-d) S 349 J ( Date) S 60 J ( \(oldest first.\)) S
3456 3888 P (-t) S 418 J ( Time) S 60 J ( \(newest first; same as -dz\)) S
3456 4212 P (-s) S 394 J ( Size) S 60 J ( \(largest first.\)) S
3456 4536 P (-e) S 381 J ( Extension) S 60 J ( \(lowest alphabetic first.\)) S
3456 4860 P (-z) S 376 J ( Reverse) S 60 J ( the major or last specified sort.) S
3456 5184 P (-m) S 284 J ( Merge) S 60 J ( the listings of directories and files.) S
3456 5508 P (-U) S 309 J ( Unordered) S 60 J ( \(in order of appearance in the directory.\)) S
2880 6156 P (Selection Criteria:) S
3456 6660 P (+<type>) S 247 J ( Include) S 60 J ( files/directories fitting this pattern.) S
3456 6984 P (-<type>) S 312 J ( Leave) S 60 J ( out anything fitting this pattern.) S
3312 7572 P (where <type> is combination of following characters:) S
3456 8076 P (D) S 390 J ( Directories.) S
3456 8400 P (H) S 376 J ( Hidden) S 60 J ( files or directories.) S
3456 8724 P (S) S 450 J ( System) S 60 J ( files or directories.) S
3456 9048 P (A) S 389 J ( Archive) S 60 J ( bit set.) S
3456 9372 P (R) S 416 J ( Read-only) S 60 J ( files or directories.) S
3456 9696 P (.) S 516 J ( ``.'') S 60 J ( and ``..'' files.) S
3456 10020 P (a) S 456 J ( All) S 60 J ( files or directories regardless of attributes.) S
3312 10608 P (The) S 67 J ( default) S 68 J ( is) S 67 J ( ``+a) S 68 J ( -.) S 67 J ( -H'',) S 68 J ( meaning) S 67 J ( list) S 68 J ( anything) S 67 J ( other) S 68 J ( than) S 67 J ( ``.'') S 68 J ( and) S
3312 10872 P (``..'') S 233 J ( not) S 234 J ( marked Hidden. Anything specified is added) S
3312 11136 P (to/subtracted) S 73 J ( from) S 74 J ( this) S 73 J ( set.) S 74 J ( Ordering of additions or subtractions) S
3312 11400 P (does) S 110 J ( make) S 111 J ( a) S 110 J ( difference.) S 111 J ( If the slash, ``/'', is used to introduce) S
3312 11664 P (options,) S 60 J ( it is treated as a plus when used with selection criteria.) S
3312 12168 P (Selection) S 129 J ( criteria) S 130 J ( normally) S 129 J ( applies) S 130 J ( only to directories and files) S
3312 12432 P (found) S 60 J ( by) S 61 J ( listing) S 60 J ( a) S 61 J ( directory.) S 60 J ( ) S 61 J ( All) S 60 J ( names) S 61 J ( given) S 60 J ( on) S 61 J ( the command line) S
3312 12696 P (will) S 103 J ( be) S 104 J ( listed) S 103 J ( if) S 104 J ( they) S 103 J ( exist) S 104 J ( regardless) S 103 J ( of) S 104 J ( whether) S 103 J ( they) S 104 J ( match the) S
3312 12960 P (selection) S 60 J ( criteria unless the -c option is specified.) S
3456 13464 P (-c) S 389 J ( Command) S 60 J ( line names must match criteria also, unless only) S
4032 13728 P (one name is given.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (215) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2520 1704 P 0 12 F 26 12 F (Listing) S 60 J ( Options:) S
3096 2208 P (-<integer>) S 468 J ( Specified) S 60 J ( number of columns.) S
3096 2532 P (-0) S 376 J ( Standard) S 60 J ( multi-columns on an 80-column screen.) S
3096 2856 P (-C) S 326 J ( Capitalization.) S 60 J ( Display filenames in the upper- or lower-) S
3672 3120 P (case characters actually stored in the file system.) S
3096 3444 P (-w) S 296 J ( Walk) S 60 J ( subdirectories to show true sizes in long format) S
3672 3708 P (listings.) S
3096 4032 P (-M) S 269 J ( Media) S 60 J ( allocation is shown instead of amount used with -l.) S
3096 4356 P (-E) S 349 J ( Extended) S 60 J ( attribute size is shown instead of media allocation) S
3672 4620 P (with -L. \(-E is ignored under OS/2 1.1.\)) S
2520 5268 P (Colors:) S
2952 5772 P (You) S 142 J ( may) S 143 J ( set your own choices for screen colors using these) S
2952 6036 P (environmental) S 60 J ( variables:) S
2952 6540 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
2952 6924 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
2952 7188 P 0 12 F 26 12 F B (DIRECTORIES) S E 0 12 F 26 12 F () S 310 J ( Directories) S 2148 J ( Bright) S
2952 7452 P 0 12 F 26 12 F B (SYSTEMFILES) S E 0 12 F 26 12 F () S 348 J ( Files) S 60 J ( with system bit set) S 776 J ( Green) S
2952 7716 P 0 12 F 26 12 F B (SYSTEMDIRS) S E 0 12 F 26 12 F () S 402 J ( Directories) S 60 J ( with system) S 798 J ( \(see) S 60 J ( below\)) S
2952 7980 P () S 2016 J ( bit) S 60 J ( set) S
2952 8444 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
2952 8708 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
2952 8972 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
2952 9236 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
2952 9500 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
2952 9764 P (all) S 60 J ( upper case.) S
2952 10268 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
2952 10532 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
2952 10796 P (and) S 60 J ( inherits the color underneath it.) S
2952 11300 P 0 12 F 26 12 F B (SYSTEMDIRS) S E 0 12 F 26 12 F () S 60 J ( normally inherits a merging of the ) S 0 12 F 26 12 F B (DIRECTORIES) S E
2952 11564 P 0 12 F 26 12 F (and) S 60 J ( ) S 0 12 F 26 12 F B (SYSTEMFILES) S E 0 12 F 26 12 F () S 60 J ( colors. ) S 0 12 F 26 12 F B (DIRECTORIES) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (SYSTEMFILES) S E
2952 11828 P 0 12 F 26 12 F (inherit) S 60 J ( from ) S 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (216) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (markexe:) S 389 J ( Mark) S 67 J ( the application type bits in an .exe file) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( markexe [-ftpzslh-] file1 [ file2 ... ]) S
3312 2712 P 0 12 F 26 12 F B (markexe) S E 0 12 F 26 12 F () S 66 J ( reports) S 67 J ( or) S 66 J ( sets) S 67 J ( the) S 66 J ( application) S 67 J ( type) S 66 J ( bits) S 67 J ( on) S 66 J ( OS/2 .exe files) S
3312 2976 P (to) S 116 J ( indicate) S 117 J ( how) S 116 J ( the) S 117 J ( application) S 116 J ( should) S 117 J ( be) S 116 J ( started,) S 117 J ( i.e.,) S 116 J ( whether) S
3312 3240 P (they) S 99 J ( must) S 100 J ( run) S 99 J ( full-screen,) S 100 J ( can) S 99 J ( run) S 100 J ( in) S 99 J ( a) S 100 J ( text) S 99 J ( window) S 100 J ( or must be) S
3312 3504 P (started) S 60 J ( as full PM graphics applications.) S
3312 4008 P (If) S 115 J ( the) S 116 J ( .exe) S 115 J ( is) S 116 J ( a) S 115 J ( 16-bit) S 116 J ( application,) S 115 J ( ) S 0 12 F 26 12 F B (markexe) S E 0 12 F 26 12 F () S 116 J ( can) S 115 J ( also be used to) S
3312 4272 P (indicate) S 217 J ( whether) S 218 J ( it supports long filenames. \(All 32-bit) S
3312 4536 P (applications) S 60 J ( must, by definition, support long filenames.\)) S
3312 5040 P (If no flags are specified, the types are reported but not altered.) S
2880 5544 P (Application Types:) S
3456 6048 P (-f) S 416 J ( Full-screen.) S
3456 6372 P (-t) S 418 J ( Text) S 60 J ( windowable.) S
3456 6696 P (-p) S 352 J ( PM) S 60 J ( graphics.) S
3456 7020 P (-z) S 376 J ( Zero) S 60 J ( the type bits. \(Undefined type.\)) S
2880 7668 P (Long Filename Support \(ignored for 32-bit .exe files\):) S
3456 8172 P (-s) S 394 J ( Short) S 60 J ( filenames only.) S
3456 8496 P (-l) S 426 J ( Long) S 60 J ( \(HPFS-style\) filenames supported.) S
2880 9144 P (Other Options:) S
3456 9648 P (-h ) S 296 J ( Help.) S 60 J ( \(This screen.\)) S
3456 9972 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 10776 P 0 12 F 8 12 F B (mkdir:) S 707 J ( Make) S 67 J ( Directories) S E
2880 11280 P 0 12 F 26 12 F (Usage:) S 60 J ( mkdir [-h-] directory1 [ directory2 ... ]) S
2880 11784 P (Options:) S
3456 12288 P (-h) S 356 J ( Help.) S
3456 12612 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (217) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (more:) S 774 J ( A) S 67 J ( Better More Filter) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( more [-#IinNcvbodxCh-] [-r) S 0 12 F 26 12 F B (radix) S E 0 12 F 26 12 F (]) S 60 J ( [-t) S 0 12 F 26 12 F B (tabs) S E 0 12 F 26 12 F (]) S 60 J ( [-s) S 0 12 F 26 12 F B (scroll) S E 0 12 F 26 12 F (]) S
2520 2472 P () S 720 J ( [file1) S 60 J ( file2 ... ]) S
2952 2976 P (This) S 114 J ( ) S 0 12 F 26 12 F B (more) S E 0 12 F 26 12 F () S 115 J ( provides) S 114 J ( a) S 115 J ( number) S 114 J ( of) S 115 J ( advantages) S 114 J ( over the standard) S
2952 3240 P (more.com) S 71 J ( filter.) S 72 J ( ) S 71 J ( It's) S 72 J ( faster,) S 71 J ( goes) S 72 J ( backwards) S 71 J ( and forwards through) S
2952 3504 P (a) S 121 J ( file,) S 122 J ( can) S 121 J ( search) S 122 J ( for) S 121 J ( character) S 122 J ( strings) S 121 J ( and) S 122 J ( display) S 121 J ( binary) S 122 J ( data) S
2952 3768 P (embedded) S 136 J ( in) S 137 J ( the) S 136 J ( text.) S 137 J ( ) S 136 J ( As) S 137 J ( it) S 136 J ( reads) S 137 J ( a) S 136 J ( file, it builds an ISAM) S
2952 4032 P (structure) S 127 J ( on-the-fly) S 128 J ( that) S 127 J ( lets) S 128 J ( it) S 127 J ( jump) S 128 J ( to) S 127 J ( a) S 128 J ( specific line number) S
2952 4296 P (almost) S 60 J ( instantaneously. It's designed for very fast browsing.) S
2952 4800 P (On-line) S 63 J ( help) S 64 J ( is) S 63 J ( available) S 64 J ( to) S 63 J ( the) S 64 J ( key bindings by pressing ``h'' when) S
2952 5064 P (you) S 60 J ( see) S 61 J ( the) S 60 J ( Press) S 61 J ( H) S 60 J ( for) S 61 J ( Help prompt at the bottom of a screenful of) S
2952 5328 P (data.) S
2952 5832 P (For) S 105 J ( OS/2,) S 106 J ( there) S 105 J ( are) S 106 J ( two) S 105 J ( versions) S 106 J ( of ) S 0 12 F 26 12 F B (more) S E 0 12 F 26 12 F (:) S 106 J ( ) S 0 12 F 26 12 F B (more.exe) S E 0 12 F 26 12 F () S 106 J ( is built in) S
2952 6096 P (small) S 159 J ( model) S 160 J ( and) S 159 J ( can) S 160 J ( cache) S 159 J ( about) S 160 J ( 11K) S 159 J ( characters;) S 160 J ( a) S 159 J ( ``huge'') S
2952 6360 P (version,) S 134 J ( ) S 0 12 F 26 12 F B (moreh.exe) S E 0 12 F 26 12 F (,) S 135 J ( is) S 134 J ( built) S 135 J ( in) S 134 J ( large) S 135 J ( model) S 134 J ( and while slightly) S
2952 6624 P (slower,) S 141 J ( can) S 142 J ( cache) S 141 J ( about) S 142 J ( 4M) S 141 J ( characters.) S 142 J ( Where speed is less) S
2952 6888 P (important) S 113 J ( than) S 114 J ( being) S 113 J ( able) S 114 J ( to) S 113 J ( scroll) S 114 J ( all) S 113 J ( the) S 114 J ( way) S 113 J ( back) S 114 J ( through) S 113 J ( a) S
2952 7152 P (large) S 66 J ( amount) S 67 J ( of text coming through a pipe, use moreh.exe, which) S
2952 7416 P (was) S 60 J ( compiled in large model.) S
2520 7920 P (Options:) S
3096 8424 P (-#) S 351 J ( Show) S 60 J ( line numbers.) S
3096 8748 P (-I) S 415 J ( Start) S 60 J ( up in case-independent search mode.) S
3096 9072 P (-i) S 426 J ( Go) S 60 J ( into Interactive mode immediately, which means clear) S
3672 9336 P (the screen first for faster painting and put up the Press H for) S
3672 9600 P (Help prompt rather than just exiting if there's less than a) S
3672 9864 P (screenful of input.) S
3096 10188 P (-n) S 356 J ( Next) S 60 J ( file option. Pressing space bar when the end-of-file) S
3672 10452 P (message is displayed causes more to continue with the next) S
3672 10716 P (file or to exit if there are no more files.) S
3096 11040 P (-N) S 297 J ( No) S 60 J ( stretch. Don't stretch color changes out to the right edge) S
3672 11304 P (of the screen.) S
3096 11628 P (-c) S 389 J ( Show) S 60 J ( non-printables in C language style.) S
3096 11952 P (-v Make non-printables Visible as control characters.) S
3096 12276 P (-b) S 363 J ( Show) S 60 J ( Binary values of non-printable characters.) S
3096 12600 P (-o) S 365 J ( Use) S 60 J ( Octal for binary data.) S
3096 12924 P (-d) S 349 J ( Use) S 60 J ( Decimal for binary data.) S
3096 13248 P (-x) S 372 J ( Use) S 60 J ( Hexadecimal for binary data.) S
3096 13572 P (-C) S 326 J ( Don't) S 60 J ( clear the screen before each new screenful.) S
3096 13896 P (-r) S 0 12 F 26 12 F B (radix) S E 0 12 F 26 12 F () S 129 J ( Use) S 60 J ( user-specified radix for binary data.) S
3096 14220 P (-t) S 0 12 F 26 12 F B (tabs) S E 0 12 F 26 12 F () S 252 J ( Set) S 60 J ( tabs every integer number of spaces.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (218) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3456 1704 P 0 12 F 26 12 F (-s) S 0 12 F 26 12 F B (scroll) S E 0 12 F 26 12 F () S 82 J ( Set) S 60 J ( the integer default scroll amount.) S
3456 2028 P (--) S 416 J ( End) S 60 J ( of options. \(Useful if a filename begins with ``-''.\)) S
3312 2616 P (Initial) S 214 J ( tab) S 215 J ( settings) S 214 J ( and) S 215 J ( radix) S 214 J ( values) S 215 J ( are taken from the) S
3312 2880 P (environmental) S 137 J ( ) S 0 12 F 26 12 F B (TABS) S E 0 12 F 26 12 F () S 138 J ( and) S 137 J ( ) S 0 12 F 26 12 F B (RADIX) S E 0 12 F 26 12 F () S 138 J ( variables if they're defined.) S
3312 3144 P (Otherwise,) S 60 J ( ) S 0 12 F 26 12 F B (TABS) S E 0 12 F 26 12 F () S 60 J ( = 8 and ) S 0 12 F 26 12 F B (RADIX) S E 0 12 F 26 12 F () S 60 J ( = 16 is assumed.) S
2880 3648 P (Colors:) S
3312 4152 P (You) S 142 J ( may) S 143 J ( set your own choices for screen colors using these) S
3312 4416 P (environmental) S 60 J ( variables:) S
3312 4920 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
3312 5304 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
3312 5568 P 0 12 F 26 12 F B (MOREEOF) S E 0 12 F 26 12 F () S 776 J ( End) S 60 J ( or Top of File messages) S 330 J ( Green) S
3312 5832 P 0 12 F 26 12 F B (MORETOPMEM) S E 0 12 F 26 12 F () S 122 J ( Top) S 60 J ( of Memory message) S 687 J ( Bright) S 60 J ( Yellow) S
3312 6096 P 0 12 F 26 12 F B (MOREPROMPT) S E 0 12 F 26 12 F () S 189 J ( Prompt) S 60 J ( line at the bottom) S 578 J ( Green) S
3312 6360 P 0 12 F 26 12 F B (MOREFILLIN) S E 0 12 F 26 12 F () S 443 J ( Characters) S 60 J ( typed at the) S 842 J ( White) S
3312 6624 P () S 2016 J ( prompt) S
3312 6888 P 0 12 F 26 12 F B (MOREERROR) S E 0 12 F 26 12 F () S 390 J ( Unrecognizable) S 60 J ( command) S 507 J ( Bright) S 60 J ( Yellow) S
3312 7152 P () S 2016 J ( errors) S
3312 7616 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
3312 7880 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
3312 8144 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
3312 8408 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
3312 8672 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
3312 8936 P (all) S 60 J ( upper case.) S
3312 9440 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
3312 9704 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
3312 9968 P (and) S 174 J ( inherits) S 175 J ( the) S 174 J ( color) S 175 J ( underneath) S 174 J ( it. ) S 0 12 F 26 12 F B (MOREERROR) S E 0 12 F 26 12 F () S 174 J ( and) S
3312 10232 P 0 12 F 26 12 F B (MOREFILLIN) S E 0 12 F 26 12 F () S 111 J ( inherit from ) S 0 12 F 26 12 F B (MOREPROMPT) S E 0 12 F 26 12 F (.) S 111 J ( ) S 0 12 F 26 12 F B (MOREPROMPT) S E 0 12 F 26 12 F (,) S
3312 10496 P 0 12 F 26 12 F B (MORETOPMEM) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (MOREEOF) S E 0 12 F 26 12 F () S 60 J ( inherit from ) S 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (219) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (mt:) S 1067 J ( Manipulate) S 67 J ( the Tape Device \(Windows NT only\)) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( mt [-hv-] [-f device] command1 [ command2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (mt) S E 0 12 F 26 12 F () S 71 J ( is) S 72 J ( used to give commands to the tape device. If a device is not) S
2952 2976 P (specified,) S 84 J ( the) S 85 J ( device) S 84 J ( specified) S 85 J ( by) S 84 J ( the ) S 0 12 F 26 12 F B (TAPE) S E 0 12 F 26 12 F () S 84 J ( environment variable) S
2952 3240 P (is) S 98 J ( used.) S 99 J ( ) S 98 J ( If) S 99 J ( ) S 0 12 F 26 12 F B (TAPE) S E 0 12 F 26 12 F () S 98 J ( is) S 99 J ( not) S 98 J ( defined,) S 99 J ( \\\\.\\tape0) S 98 J ( is) S 99 J ( used. By default,) S
2952 3504 P (each) S 139 J ( command) S 140 J ( is performed once. Many operations may be) S
2952 3768 P (performed) S 60 J ( multiple times by specifying a count.) S
2952 4272 P (These) S 61 J ( are the available commands. Only as many characters as are) S
2952 4536 P (required) S 107 J ( to) S 108 J ( uniquely) S 107 J ( identify a command need be given. If no) S
2952 4800 P (commands) S 60 J ( are specified, status is given.) S
3384 5304 P (fss [n]) S 1516 J ( Forward) S 60 J ( space n setmarks.) S
3384 5628 P (fsqs [n]) S 1382 J ( Forward) S 60 J ( space to n sequential setmarks.) S
3384 5952 P (fsf [n]) S 1538 J ( Forward) S 60 J ( space n filemarks.) S
3384 6276 P (fsqf [n]) S 1404 J ( Forward) S 60 J ( space to n sequential filemarks.) S
3384 6600 P (fsr [n]) S 1523 J ( Forward) S 60 J ( space n records.) S
3384 7104 P (bss [n]) S 1463 J ( Back) S 60 J ( space n setmarks.) S
3384 7428 P (bsqs [n]) S 1329 J ( Back) S 60 J ( space to n sequential setmarks.) S
3384 7752 P (bsf [n]) S 1485 J ( Back) S 60 J ( space n filemark.) S
3384 8076 P (bsqf [n]) S 1351 J ( Back) S 60 J ( space to n sequential filemarks.) S
3384 8400 P (bsr [n]) S 1470 J ( Back) S 60 J ( space n records.) S
3384 8904 P (stp [n [p]]) S 1112 J ( Set) S 60 J ( tape position to block n in partition p.) S 511 J ( ) S
5544 9168 P (Default) S 60 J ( is block 1 in current partition.) S
3384 9492 P (stpa [n]) S 1356 J ( Set) S 60 J ( tape position absolute. Go to block n) S
5544 9756 P (counting from the beginning of the tape.) S
3384 10260 P (eod [p]) S 1403 J ( Goto) S 60 J ( to end of data in partition p.) S
3384 10584 P (weod) S 1567 J ( Write) S 60 J ( end of data at current position.) S
3384 11088 P (wfm [n]) S 1308 J ( Write) S 60 J ( n filemarks.) S
3384 11412 P (wsfm [n]) S 1206 J ( Write) S 60 J ( n short filemarks.) S
3384 11736 P (wlfm [n]) S 1238 J ( Write) S 60 J ( n long filemarks.) S
3384 12060 P (wsm [n]) S 1286 J ( Write) S 60 J ( n setmarks.) S
3384 12564 P (rewind) S 1393 J ( Rewind) S 60 J ( the tape.) S
3384 12888 P (load) S 1692 J ( Load) S 60 J ( the tape and move to the beginning.) S
3384 13212 P (lock) S 1719 J ( Lock) S 60 J ( the tape ejection mechanism.) S
3384 13536 P (tension) S 1384 J ( Adjust) S 60 J ( tension by moving to the end of) S
5544 13800 P (tape and then rewinding.) S
3384 14124 P (unload) S 1407 J ( Rewind) S 60 J ( and unload the tape.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (220) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3744 1704 P 0 12 F 26 12 F (unlock) S 1434 J ( Unlock) S 60 J ( the tape ejection mechanism.) S
3744 2208 P (blksize [n]) S 1057 J ( Set) S 60 J ( blocksize. \(Default is device default.\)) S
3744 2712 P (compress [n]) S 792 J ( Enable) S 60 J ( \(1\) or disable \(0\) compression.) S
3744 3216 P (ecc [n]) S 1471 J ( Enable) S 60 J ( \(1\) or disable \(0\) ECC.) S
3744 3720 P (setmarks [1]) S 863 J ( Enable) S 60 J ( \(1\) or disable \(0\) setmark) S
5904 3984 P (reporting.) S
3744 4488 P (warning [1]) S 922 J ( Set) S 60 J ( end-of-tape warning size.) S
3744 4992 P (padding [1]) S 919 J ( Enable) S 60 J ( \(1\) or disable \(0\) data padding.) S
3744 5496 P (status) S 1535 J ( Print) S 60 J ( status information about the tape) S
5904 5760 P (device.) S
3744 6264 P (erase) S 1613 J ( Erase) S 60 J ( from current position to end of) S
5904 6528 P (partition.) S
3744 7032 P (create [n [size]]) S 543 J ( Create) S 60 J ( partitions of device default number) S
5904 7296 P (and size. Default number and size are) S
5904 7560 P (determined by the device.) S
2880 8064 P (Options:) S
3456 8568 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 8892 P (-v Verbose. Status command should dump out complete drive) S
4032 9156 P (and media parameters. Default is to give just brief status) S
4032 9420 P (and position information.) S
3456 9744 P (-f ) S 0 12 F 26 12 F B (device) S E 0 12 F 26 12 F () S 657 J ( Name) S 60 J ( of the tape device to open.) S
3456 10068 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (221) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (mv:) S 1014 J ( Move) S 67 J ( Files or Directories) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( mv [-filmh-] source1 [ source2 ... ] destination) S
2952 2712 P 0 12 F 26 12 F B (mv) S E 0 12 F 26 12 F () S 67 J ( is) S 68 J ( an) S 67 J ( intelligent) S 68 J ( file) S 67 J ( or) S 68 J ( directory) S 67 J ( mover.) S 68 J ( It's) S 67 J ( able to move either) S
2952 2976 P (files) S 77 J ( or) S 78 J ( directories) S 77 J ( as) S 78 J ( objects) S 77 J ( regardless) S 78 J ( of) S 77 J ( whether the source and) S
2952 3240 P (destination) S 60 J ( are in the same directory or even the same drive.) S
2952 3744 P (Files) S 123 J ( being) S 124 J ( moved) S 123 J ( anywhere on the same partition are simply) S
2952 4008 P (renamed;) S 92 J ( the) S 93 J ( data) S 92 J ( stays) S 93 J ( where) S 92 J ( it) S 93 J ( is.) S 92 J ( ) S 93 J ( Moving a file to a different) S
2952 4272 P (partition) S 66 J ( is) S 67 J ( done) S 66 J ( by) S 67 J ( copying the file and then deleting the original.) S
2952 4536 P (If) S 71 J ( you) S 72 J ( move) S 71 J ( a directory but it keeps the same parent, that also is a) S
2952 4800 P (simple) S 81 J ( rename.) S 82 J ( ) S 81 J ( Moving) S 82 J ( a) S 81 J ( directory) S 82 J ( to a new parent is done by a) S
2952 5064 P 0 12 F 26 12 F B (mkdir) S E 0 12 F 26 12 F () S 107 J ( in) S 108 J ( the) S 107 J ( new) S 108 J ( parent) S 107 J ( and) S 108 J ( moving) S 107 J ( all) S 108 J ( the) S 107 J ( directory contents) S
2952 5328 P (using) S 60 J ( the same ``rename where possible'' strategy recursively.) S
2520 5832 P (Options:) S
3096 6336 P (-f) S 416 J ( Force) S 60 J ( read-only files to be overwritten.) S
3096 6660 P (-i) S 426 J ( Interactive:) S 60 J ( ask before moving each object on the command) S
3672 6924 P (line.) S
3096 7248 P (-l) S 426 J ( Logging) S 60 J ( is on: display the name of each file or directory) S
3096 7572 P (-m) S 284 J ( Merge) S 60 J ( sub-directories of same name in source and) S
3672 7836 P (destination.) S
3096 8160 P (-h) S 356 J ( Help.) S
3096 8484 P (--) S 416 J ( End) S 60 J ( of options. \(Useful if filenames start with ``-''.\)) S
1800 9288 P 0 12 F 8 12 F B (newer:) S 667 J ( Test) S 67 J ( whether file1 is newer than all the others) S E
2520 9792 P 0 12 F 26 12 F (Usage:) S 60 J ( newer [-h-] [ file1 file2 ... ]) S
2952 10296 P (Prints ``1'' if file1 is newer, otherwise prints ``0''.) S
2520 10800 P (Options:) S
3096 11304 P (-h) S 356 J ( Help.) S
3096 11628 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (222) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (older:) S 773 J ( Test) S 67 J ( whether file1 is older than all the others) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( older [-h-] [ file1 file2 ... ]) S
3312 2712 P (Prints ``1'' if file1 is older, otherwise prints ``0''.) S
2880 3216 P (Options:) S
3456 3720 P (-h) S 356 J ( Help.) S
3456 4044 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 4848 P 0 12 F 8 12 F B (patchlnk:) S 373 J ( Patch) S 67 J ( ``The linker bug'' \(OS/2 only\)) S E
2880 5352 P 0 12 F 26 12 F (Usage:) S 60 J ( patchlnk [-hcw-] filename) S
3312 5856 P 0 12 F 26 12 F B (patchlnk) S E 0 12 F 26 12 F () S 118 J ( can) S 119 J ( be) S 118 J ( used) S 119 J ( to) S 118 J ( patch a specific bug in your linker if) S
3312 6120 P (you're) S 112 J ( having) S 113 J ( problems) S 112 J ( linking) S 113 J ( under) S 112 J ( the) S 113 J ( Hamilton) S 112 J ( C shell on) S
3312 6384 P (OS/2.) S 157 J ( \(See) S 158 J ( also) S 157 J ( the) S 158 J ( discussion) S 157 J ( under ``Known Bugs'' in the) S
3312 6648 P (readme.too) S 60 J ( file sent with Hamilton C shell.\)) S
3312 7152 P (If) S 139 J ( you're) S 140 J ( having) S 139 J ( problems linking long lists of .obj files, you) S
3312 7416 P (should) S 77 J ( save) S 78 J ( a) S 77 J ( copy) S 78 J ( of) S 77 J ( your) S 78 J ( link.exe the way it is, then patch your) S
3312 7680 P (linker) S 60 J ( with this program and see if the problem goes away.) S
3312 8184 P (Microsoft) S 94 J ( has) S 95 J ( discovered) S 94 J ( they) S 95 J ( had) S 94 J ( a bug in the version of the C) S
3312 8448 P (library) S 155 J ( used) S 156 J ( to) S 155 J ( build) S 156 J ( their) S 155 J ( link.exe) S 156 J ( releases) S 155 J ( \(roughly\) 5.01.21) S
3312 8712 P (through) S 63 J ( \(and) S 64 J ( possibly) S 63 J ( past\)) S 64 J ( 5.03.) S 63 J ( ) S 64 J ( In) S 63 J ( the) S 64 J ( file open routine, they had) S
3312 8976 P (an) S 94 J ( ``off) S 95 J ( by) S 94 J ( one) S 95 J ( error'') S 94 J ( that) S 95 J ( caused problems if the DosSetMaxFH) S
3312 9240 P (\(maximum) S 96 J ( file) S 97 J ( handles\)) S 96 J ( parameter for the process allowed more) S
3312 9504 P (than) S 86 J ( 20) S 87 J ( file) S 86 J ( handles) S 87 J ( to be open. There's a JLE \(0x7e\) that should) S
3312 9768 P (have) S 98 J ( been) S 99 J ( a) S 98 J ( JB) S 99 J ( \(0x72\).) S 98 J ( ) S 99 J ( It) S 98 J ( occurs) S 99 J ( in) S 98 J ( the) S 99 J ( following byte string \(in) S
3312 10032 P (hex\):) S
3312 10536 P 0 12 F 0 12 F () S 288 J ( 3b) S 144 J ( 06 ?? ?? ) S 0 12 F 0 12 F B (7e) S E 0 12 F 0 12 F () S 144 J ( 0d 9a) S
3312 11040 P 0 12 F 26 12 F (where) S 107 J ( the) S 108 J ( ?'s) S 107 J ( mark) S 108 J ( bytes) S 107 J ( that) S 108 J ( can) S 107 J ( change) S 108 J ( because) S 107 J ( they) S 108 J ( refer to) S
3312 11304 P (data) S 60 J ( locations that move from one build of link.exe to the next.) S 118 J ( ) S
3312 11808 P (\(Since) S 61 J ( the) S 62 J ( problem) S 61 J ( is) S 62 J ( in) S 61 J ( the) S 62 J ( MS) S 61 J ( C) S 62 J ( library, the bug ) S 0 12 F 26 12 F I (could) S E 0 12 F 26 12 F () S 62 J ( affect ) S 0 12 F 26 12 F I (any) S E 0 12 F 26 12 F () S 62 J ( C) S
3312 12072 P (program) S 60 J ( that) S 61 J ( tries to simultaneously open 20 or more handles with) S
3312 12336 P (stdio.) S 71 J ( ) S 72 J ( So) S 71 J ( far,) S 72 J ( MS) S 71 J ( link.exe) S 72 J ( is) S 71 J ( only) S 72 J ( application) S 71 J ( known) S 72 J ( to do this but) S
3312 12600 P (there) S 100 J ( could) S 101 J ( be) S 100 J ( others. ) S 0 12 F 26 12 F B (patchlnk) S E 0 12 F 26 12 F () S 100 J ( should work on them also and) S
3312 12864 P (probably) S 60 J ( even on your MS C library .lib files.\)) S
3312 13368 P 0 12 F 26 12 F B (patchlnk) S E 0 12 F 26 12 F () S 66 J ( will scan through the file, looking for occurrences, which) S
3312 13632 P (it) S 61 J ( will) S 62 J ( report) S 61 J ( as) S 62 J ( hex offsets from the start of the file you name. You) S
3312 13896 P (can) S 142 J ( use) S 143 J ( these numbers to go examine the file with IBM/MS) S
3312 14160 P (patch.exe) S 60 J ( if you like and make the change manually.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (223) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2952 1704 P 0 12 F 26 12 F (You) S 130 J ( can) S 131 J ( also) S 130 J ( ask) S 131 J ( ) S 0 12 F 26 12 F B (patchlnk) S E 0 12 F 26 12 F () S 130 J ( to make the change, using the -w) S
2952 1968 P (\(write\)) S 73 J ( option.) S 74 J ( Nothing fancy. It just changes the first occurrence) S
2952 2232 P (and) S 105 J ( quits.) S 106 J ( ) S 105 J ( \(If) S 106 J ( you) S 105 J ( really) S 106 J ( think) S 105 J ( you) S 106 J ( want) S 105 J ( any) S 106 J ( other) S 105 J ( occurrences) S
2952 2496 P (patched,) S 119 J ( just keep rerunning this.\) If want to look for changes) S
2952 2760 P (already) S 60 J ( made, use -c.) S
2520 3264 P (Options:) S
3096 3768 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 4092 P (-c) S 389 J ( Look) S 60 J ( for changes already made.) S
3096 4416 P (-w) S 296 J ( Write) S 60 J ( the first change.) S
3096 4740 P (--) S 416 J ( End) S 60 J ( of options.) S
1800 5544 P 0 12 F 8 12 F B (popd:) S 772 J ( Pop) S 67 J ( a new Current Directory and Disk off the Stack) S E
2520 6048 P 0 12 F 26 12 F (Usage:) S 60 J ( popd [-dsh-] [ n ]) S
2952 6552 P (Pop) S 70 J ( an) S 71 J ( integer n directory paths from the top of the stack, making) S
2952 6816 P (the) S 100 J ( top) S 101 J ( one) S 100 J ( remaining) S 101 J ( the) S 100 J ( new) S 101 J ( current) S 100 J ( directory) S 101 J ( and) S 100 J ( disk.) S 101 J ( The) S
2952 7080 P (default) S 60 J ( for n is 1.) S
2952 7584 P (\(See also the ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (dirs) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (pushd) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (rotd) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2520 8088 P (Options:) S
3096 8592 P (-d) S 349 J ( Discard) S 60 J ( just stack entry n, counting from 0 at the top,) S
3672 8856 P (popping everything below it up one level) S
3096 9180 P (-s) S 394 J ( Silent.) S 60 J ( Don't print the resulting directory stack.) S
3096 9504 P (-h) S 356 J ( Help.) S
3096 9828 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (224) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (ps:) S 1080 J ( Print) S 67 J ( Process & Thread Status) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( ps [-h-]) S
3312 2712 P (Show) S 105 J ( the) S 106 J ( status) S 105 J ( of) S 106 J ( all the screen groups \(OS/2 only\), processes) S
3312 2976 P (and) S 167 J ( threads related to this invocation of Hamilton C shell,) S
3312 3240 P (highlighting) S 60 J ( the current thread.) S
3312 3744 P (Screen) S 91 J ( groups) S 92 J ( are created when a command you type requires a) S
3312 4008 P (different) S 104 J ( style) S 105 J ( of) S 104 J ( window) S 105 J ( than) S 104 J ( is) S 105 J ( currently) S 104 J ( running. Screen ids) S
3312 4272 P (begin) S 60 J ( with `s'.) S
3312 4776 P (Processes) S 61 J ( are) S 62 J ( created) S 61 J ( when commands are typed that require other) S
3312 5040 P (executable) S 73 J ( programs) S 74 J ( to) S 73 J ( run.) S 74 J ( ) S 73 J ( Process ids begin with `p'. OS/2 and) S
3312 5304 P (NT) S 60 J ( will only provide information on direct child processes.) S
3312 5808 P (Threads) S 62 J ( are) S 63 J ( concurrent) S 62 J ( activities) S 63 J ( going) S 62 J ( on) S 63 J ( inside) S 62 J ( Hamilton) S 63 J ( C shell.) S
3312 6072 P (Some, such) S 64 J ( as) S 63 J ( the) S 64 J ( cleanup) S 63 J ( activities) S 64 J ( that) S 63 J ( watch) S 64 J ( for) S 63 J ( other) S 64 J ( threads or) S
3312 6336 P (processes) S 60 J ( to) S 61 J ( end) S 60 J ( always) S 61 J ( run) S 60 J ( in) S 61 J ( the) S 60 J ( background.) S 61 J ( ) S 60 J ( Others) S 61 J ( are created) S
3312 6600 P (when) S 82 J ( a) S 83 J ( command) S 82 J ( requires) S 83 J ( that) S 82 J ( an) S 83 J ( internal) S 82 J ( function) S 83 J ( be) S 82 J ( run) S 83 J ( in) S 82 J ( the) S
3312 6864 P (background.) S 60 J ( Thread ids begin with `t'.) S
2880 7368 P (Options:) S
3456 7872 P (-h) S 356 J ( Help.) S
3456 8196 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 9000 P 0 12 F 8 12 F B (pushd:) S 639 J ( Push) S 67 J ( a new Current Directory and Disk onto the Stack) S E
2880 9504 P 0 12 F 26 12 F (Usage:) S 60 J ( pushd [-hs-] [ -c [n] ] [ directory ]) S
3312 10008 P (Go) S 85 J ( to) S 86 J ( a) S 85 J ( new) S 86 J ( current) S 85 J ( directory) S 86 J ( and) S 85 J ( disk,) S 86 J ( saving) S 85 J ( the old values on) S
3312 10272 P (the) S 96 J ( directory) S 97 J ( stack.) S 96 J ( If no operands are given, swap the top two) S
3312 10536 P (elements) S 62 J ( of) S 63 J ( the) S 62 J ( stack. If the path you specify is just 3 or more dots,) S
3312 10800 P 0 12 F 26 12 F B (pushd) S E 0 12 F 26 12 F () S 86 J ( will) S 87 J ( interpret that specially. Just as ``..'' means go up one) S
3312 11064 P (level, ``...'') S 88 J ( means) S 87 J ( up) S 88 J ( 2) S 87 J ( levels, ``....'' means up 3 levels, etc. If the) S
3312 11328 P (directory) S 60 J ( isn't found, the ) S 0 12 F 26 12 F B (CDPATH) S E 0 12 F 26 12 F () S 60 J ( is searched.) S
3312 11832 P (\(See also the ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (dirs) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (popd) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (rotd) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2880 12336 P (Options:) S
3456 12840 P (-c) S 389 J ( Copy) S 60 J ( an item already on the stack onto the top. This form) S
4032 13104 P (takes an optional parameter n which specifies the integer) S
4032 13368 P (item number counting from 0 at the top. Default is n == 0.) S
3456 13692 P (-s) S 394 J ( Silent.) S 60 J ( Don't print the resulting directory stack.) S
3456 14016 P (-h) S 356 J ( Help.) S
3456 14340 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (225) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (pwd:) S 879 J ( Print) S 67 J ( the Current Working Directories) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( pwd [-ch-] [ disk1 disk2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (pwd) S E 0 12 F 26 12 F () S 145 J ( prints) S 146 J ( a) S 145 J ( list) S 146 J ( of) S 145 J ( the) S 146 J ( current) S 145 J ( directories.) S 146 J ( ) S 145 J ( If) S 146 J ( no) S 145 J ( disks are) S
2952 2976 P (specified,) S 92 J ( ) S 0 12 F 26 12 F B (pwd) S E 0 12 F 26 12 F () S 93 J ( looks) S 92 J ( for) S 93 J ( a ) S 0 12 F 26 12 F B (DRIVEMASK) S E 0 12 F 26 12 F () S 93 J ( environmental variable) S
2952 3240 P (that) S 65 J ( can) S 66 J ( be) S 65 J ( used) S 66 J ( to) S 65 J ( mask) S 66 J ( off) S 65 J ( just) S 66 J ( the) S 65 J ( drive) S 66 J ( you) S 65 J ( want reported. The) S
2952 3504 P 0 12 F 26 12 F B (DRIVEMASK) S E 0 12 F 26 12 F () S 126 J ( is) S 127 J ( specified) S 126 J ( as a list of drive letters; ranges are) S
2952 3768 P (allowed.) S 71 J ( ) S 72 J ( Otherwise,) S 71 J ( all) S 72 J ( the) S 71 J ( fixed) S 72 J ( disk) S 71 J ( partitions beginning with c:) S
2952 4032 P (are) S 155 J ( reported.) S 156 J ( ) S 155 J ( The) S 156 J ( current) S 155 J ( directory) S 156 J ( on) S 155 J ( the) S 156 J ( current drive is) S
2952 4296 P (highlighted.) S
2952 4800 P 0 12 F 26 12 F B (pwd) S E 0 12 F 26 12 F () S 194 J ( routinely) S 195 J ( reports) S 194 J ( everything) S 195 J ( in) S 194 J ( lower) S 195 J ( case for better) S
2952 5064 P (readability.) S 125 J ( ) S 126 J ( But) S 125 J ( ) S 0 12 F 26 12 F B (pwd) S E 0 12 F 26 12 F () S 126 J ( will) S 125 J ( look) S 126 J ( for an environmental variable,) S
2952 5328 P 0 12 F 26 12 F B (MIXEDCASEDRIVES) S E 0 12 F 26 12 F (,) S 89 J ( giving) S 90 J ( a) S 89 J ( list) S 90 J ( of) S 89 J ( drives,) S 90 J ( e.g., f-hq, meaning) S
2952 5592 P (drives) S 88 J ( F:) S 89 J ( through) S 88 J ( H:) S 89 J ( and) S 88 J ( drive) S 89 J ( Q:,) S 88 J ( which should be displayed in) S
2952 5856 P (mixed) S 60 J ( case.) S
2520 6360 P (Options:) S
3096 6864 P (-a) S 376 J ( If) S 60 J ( no disks are specified, report on all disks.) S
3096 7188 P (-c) S 389 J ( If) S 60 J ( no disks are specified, report on just the current disk.) S
3096 7512 P (-h) S 356 J ( Help.) S
3096 7836 P (--) S 416 J ( End) S 60 J ( of options.) S
2520 8484 P (Colors:) S
2952 8988 P (You) S 142 J ( may) S 143 J ( set your own choices for screen colors using these) S
2952 9252 P (environmental) S 60 J ( variables:) S
2952 9756 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
2952 10140 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
2952 10404 P 0 12 F 26 12 F B (HIGHLIGHT) S E 0 12 F 26 12 F () S 523 J ( Current) S 60 J ( disk) S 1962 J ( Bright) S
2952 10868 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
2952 11132 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
2952 11396 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
2952 11660 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
2952 11924 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
2952 12188 P (all) S 60 J ( upper case.) S
2952 12692 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
2952 12956 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
2952 13220 P (and) S 86 J ( inherits) S 87 J ( the) S 86 J ( color) S 87 J ( underneath) S 86 J ( it.) S 87 J ( ) S 0 12 F 26 12 F B (HIGHLIGHT) S E 0 12 F 26 12 F () S 87 J ( inherits from) S
2952 13484 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (226) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (rehash:) S 574 J ( Reinitialize) S 67 J ( Path Hashing) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( rehash [-h-]) S
3312 2712 P (Hamilton) S 77 J ( C) S 78 J ( shell) S 77 J ( uses) S 78 J ( a) S 77 J ( hashing) S 78 J ( mechanism) S 77 J ( to) S 78 J ( speed up searches) S
3312 2976 P (of) S 60 J ( the path directories. If you're performing system administration) S
3312 3240 P (work,) S 109 J ( moving) S 110 J ( files) S 109 J ( in) S 110 J ( the) S 109 J ( path) S 110 J ( directories, the hash mechanism) S
3312 3504 P (may) S 137 J ( not) S 138 J ( always) S 137 J ( reflect) S 138 J ( the) S 137 J ( latest) S 138 J ( changes) S 137 J ( you've made. The) S
3312 3768 P 0 12 F 26 12 F B (rehash) S E 0 12 F 26 12 F () S 95 J ( command) S 96 J ( allows) S 95 J ( you) S 96 J ( to) S 95 J ( turn re-initialize the hash by re-) S
3312 4032 P (reading) S 96 J ( all) S 97 J ( the) S 96 J ( path) S 97 J ( directories) S 96 J ( and) S 97 J ( setting) S 96 J ( nohashing) S 97 J ( =) S 96 J ( 0.) S 97 J ( \(The) S
3312 4296 P 0 12 F 26 12 F B (unhash) S E 0 12 F 26 12 F () S 60 J ( command can be used to turn hashing off.\)) S
2880 4800 P (Options:) S
3456 5304 P (-h) S 356 J ( Help.) S
3456 5628 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (227) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (rm:) S 1054 J ( Remove) S 67 J ( Files or Directories) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( rm [-rfHSxilh-] pathname1 [ pathname2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (rm) S E 0 12 F 26 12 F () S 64 J ( can delete both files and directories. If you try to remove a file) S
2952 2976 P (with) S 95 J ( one) S 96 J ( of) S 95 J ( the) S 96 J ( special) S 95 J ( mode) S 96 J ( bits) S 95 J ( set \(see ) S 0 12 F 26 12 F B (chmod) S E 0 12 F 26 12 F (\)) S 95 J ( or a directory) S
2952 3240 P (that's) S 61 J ( not) S 62 J ( empty,) S 61 J ( it'll) S 62 J ( refuse) S 61 J ( unless) S 62 J ( you) S 61 J ( use) S 62 J ( one of the options to let) S
2952 3504 P (it) S 60 J ( know that's really what you mean.) S
2520 4008 P (Options:) S
3096 4512 P (-r) S 401 J ( Recursively) S 60 J ( remove non-empty directories.) S
3096 4836 P (-f) S 416 J ( Force) S 60 J ( read-only files or directories to be removed.) S
3096 5160 P (-H) S 296 J ( Hidden) S 60 J ( files or directories can be removed.) S
3096 5484 P (-S) S 370 J ( System) S 60 J ( files or directories can be removed.) S
3096 5808 P (-x) S 372 J ( All) S 60 J ( of the above.) S
3096 6132 P (-i) S 426 J ( Interactive:) S 60 J ( ask before removing each object on the) S
3672 6396 P (command line.) S
3096 6720 P (-l) S 426 J ( Logging) S 60 J ( is on: display the name of each file or directory as) S
3672 6984 P (it's removed.) S
3096 7308 P (-h) S 356 J ( Help.) S
3096 7632 P (--) S 416 J ( End) S 60 J ( of options. \(Useful if filenames start with ``-''.\)) S
1800 8436 P 0 12 F 8 12 F B (rmdir:) S 747 J ( Remove) S 67 J ( Directories) S E
2520 8940 P 0 12 F 26 12 F (Usage:) S 60 J ( rmdir [-h-] directory1 [ directory2 ... ]) S
2952 9444 P 0 12 F 26 12 F B (rmdir) S E 0 12 F 26 12 F () S 118 J ( will only remove empty directories. Mode bits \(system,) S
2952 9708 P (hidden) S 60 J ( or read-only\) are ignored.) S
2520 10212 P (Options:) S
3096 10716 P (-h) S 356 J ( Help.) S
3096 11040 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (228) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (rotd:) S 893 J ( Rotate) S 67 J ( the Directory Stack) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( rotd [-hs-] [ n ]) S
3312 2712 P (Rotate) S 89 J ( the) S 90 J ( directory) S 89 J ( stack) S 90 J ( an) S 89 J ( integer) S 90 J ( n) S 89 J ( positions. Positive values) S
3312 2976 P (cause) S 74 J ( upward rotation; negative values cause downward rotation.) S
3312 3240 P (The) S 60 J ( default is upward rotation by one position.\)) S
3312 3744 P (\(See also the ) S 0 12 F 26 12 F B (cd) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (dirs) S E 0 12 F 26 12 F (,) S 60 J ( ) S 0 12 F 26 12 F B (pushd) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (popd) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2880 4248 P (Options:) S
3456 4752 P (-s) S 394 J ( Silent.) S 60 J ( Don't print the resulting directory stack.) S
3456 5076 P (-h) S 356 J ( Help.) S
3456 5400 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 6204 P 0 12 F 8 12 F B (sed:) S 947 J ( Stream) S 67 J ( Editor) S E
2880 6708 P 0 12 F 26 12 F (Usage:) S 60 J ( sed [-hins-] [-f scriptfile ] [-e script] [ script ] [ file1 file2 ...]) S
3312 7212 P 0 12 F 26 12 F B (sed) S E 0 12 F 26 12 F () S 111 J ( is) S 112 J ( a) S 111 J ( special) S 112 J ( text) S 111 J ( editor) S 112 J ( for) S 111 J ( use) S 112 J ( on) S 111 J ( streams) S 112 J ( of data where it) S
3312 7476 P (cycles,) S 86 J ( reading) S 87 J ( a) S 86 J ( line) S 87 J ( from) S 86 J ( input,) S 87 J ( applying) S 86 J ( the) S 87 J ( editing) S 86 J ( operations) S
3312 7740 P (you've) S 62 J ( specified, and writing the result to stdout. The input is read) S
3312 8004 P (in) S 60 J ( a single pass and each line is acted on only once.) S
3312 8508 P (The) S 82 J ( editing) S 83 J ( script) S 82 J ( can) S 83 J ( be) S 82 J ( specified) S 83 J ( on) S 82 J ( the) S 83 J ( command) S 82 J ( line) S 83 J ( or, if it's) S
3312 8772 P (long) S 67 J ( and) S 68 J ( complex,) S 67 J ( in) S 68 J ( a) S 67 J ( file.) S 68 J ( ) S 67 J ( If) S 68 J ( you) S 67 J ( want) S 68 J ( to) S 67 J ( combine) S 68 J ( a script on the) S
3312 9036 P (command) S 88 J ( line) S 89 J ( with any other script, you must use the -e option.) S
3312 9300 P (The) S 142 J ( editing) S 143 J ( operations) S 142 J ( available) S 143 J ( are) S 142 J ( the) S 143 J ( usual search/replace,) S
3312 9564 P (insert/delete,) S 88 J ( etc.) S 89 J ( With each operation, you generally can specify) S
3312 9828 P (the) S 134 J ( lines) S 135 J ( in) S 134 J ( the) S 135 J ( file) S 134 J ( it) S 135 J ( should affect either by line number or) S
3312 10092 P (matching) S 60 J ( a pattern or a range of lines.) S
2880 10596 P (Options:) S
3456 11100 P (-h) S 1364 J ( Help.) S 60 J ( \(This screen.\)) S
3456 11424 P (-f scriptfile) S 433 J ( Read) S 60 J ( the script from a file. Multiple -f options are) S
5040 11688 P (allowed and the scripts are concatenated.) S
3456 12012 P (-e script) S 733 J ( Take) S 60 J ( the following argument word as a script.) S
5040 12276 P (Multiple -e options are allowed.) S
3456 12600 P (-i) S 1434 J ( Ignore) S 60 J ( character case.) S
3456 12924 P (-n) S 1364 J ( Don't) S 60 J ( automatically write the contents of the edit) S
5040 13188 P (buffer to stdout at the end of each cycle.) S
3456 13512 P (-s) S 1402 J ( Read) S 60 J ( the script from stdin. \(The input stream to) S
5040 13776 P (be edited must be in a file.\)) S
3456 14100 P (--) S 1424 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (229) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2520 1704 P 0 12 F 26 12 F (Scripts:) S
2952 2208 P (The) S 69 J ( script) S 70 J ( is) S 69 J ( written) S 70 J ( as) S 69 J ( a) S 70 J ( series) S 69 J ( of) S 70 J ( commands,) S 69 J ( each separated from) S
2952 2472 P (the) S 60 J ( next by a line end or a semicolon. The format of a command is:) S
3096 2976 P () S 1584 J ( [) S 60 J ( address1 [ , address2 ] ] operation) S
2952 3624 P (Spacing) S 104 J ( between) S 105 J ( fields) S 104 J ( is) S 105 J ( arbitrary:) S 104 J ( ) S 105 J ( you) S 104 J ( can) S 105 J ( use) S 104 J ( spaces) S 105 J ( or tabs) S
2952 3888 P (between) S 108 J ( fields or have none at all as you prefer. Here are the) S
2952 4152 P (fields:) S
3096 4656 P (address is) S 60 J ( a line number or regular expression to be) S
4680 4920 P (matched. When a regular expression is used as an) S
4680 5184 P (address, it's normally written as /regexp/ but it's) S
4680 5448 P (also possible to use the syntax \\?regexp? where ?) S
4680 5712 P (is any character.) S
3096 6360 P () S 576 J ( Zero-) S 60 J ( or One-Address Operations:) S
3096 7008 P () S 1584 J ( If) S 60 J ( you don't give an address, the operation is) S
4680 7272 P (applied to all lines.) S
3096 7920 P () S 1584 J ( If) S 60 J ( you give a single address, the operation is done) S
4680 8184 P (on each line that matches.) S
3096 8832 P () S 576 J ( Ranges:) S
3096 9480 P () S 1584 J ( When) S 60 J ( you give two addresses, you define a range.) S
4680 9744 P (A range can be a single line, e.g., ``3,3'', or a whole) S
4680 10008 P (group of lines. If the addresses involve pattern) S
4680 10272 P (matching, e.g., ``/^#ifdef/,/^#endif/'', the range) S
4680 10536 P (might occur over and over in the input and will be) S
4680 10800 P (acted on each time.) S
3096 11448 P () S 1584 J ( Most) S 60 J ( operations, e.g., search/replace, are done) S
4680 11712 P (against all lines in the range. The exceptions are i\\) S
4680 11976 P (\(insert\), which is acted on at entry to the range; a\\) S
4680 12240 P (\(append\), and q \(quit\), which are acted on at the) S
4680 12504 P (end; and c\\ \(change\), which deletes all the lines in) S
4680 12768 P (the range but doesn't write any output until the) S
4680 13032 P (end of the range.) S
3096 13680 P (operation) S 560 J ( is) S 60 J ( one of the 28 basic operations provided,) S
4680 13944 P (together with any arguments it takes.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (230) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2880 1704 P 0 12 F 26 12 F (Operations:) S
3312 2208 P (There) S 88 J ( are two buffers in ) S 0 12 F 26 12 F B (sed) S E 0 12 F 26 12 F (:) S 88 J ( the edit buffer and the hold buffer.) S
3312 2472 P (Most) S 126 J ( of) S 127 J ( the) S 126 J ( editing) S 127 J ( operations) S 126 J ( work) S 127 J ( on) S 126 J ( the) S 127 J ( edit) S 126 J ( buffer,) S 127 J ( doing) S
3312 2736 P (search/replace) S 122 J ( operations,) S 123 J ( translating) S 122 J ( characters, and saving or) S
3312 3000 P (retrieving) S 64 J ( text) S 65 J ( in) S 64 J ( the) S 65 J ( hold buffer. ) S 0 12 F 26 12 F B (sed) S E 0 12 F 26 12 F () S 65 J ( automatically puts each new) S
3312 3264 P (line into) S 66 J ( the) S 65 J ( edit) S 66 J ( buffer) S 65 J ( \(along) S 66 J ( with) S 65 J ( its) S 66 J ( trailing line end\) at the start) S
3312 3528 P (of) S 67 J ( each) S 68 J ( cycle) S 67 J ( unless) S 68 J ( there) S 67 J ( was) S 68 J ( something) S 67 J ( left) S 68 J ( over) S 67 J ( after) S 68 J ( a) S 67 J ( D \(delete) S
3312 3792 P (head\)) S 60 J ( command.) S
3312 4296 P (A) S 78 J ( second group of operations provide ways of inserting blocks of) S
3312 4560 P (static) S 60 J ( text.) S
3312 5064 P (The) S 166 J ( next) S 167 J ( group) S 166 J ( of) S 167 J ( operations) S 166 J ( provide rudimentary ways of) S
3312 5328 P (condition-testing) S 188 J ( and) S 189 J ( branching) S 188 J ( and) S 189 J ( of) S 188 J ( nesting) S 189 J ( a) S 188 J ( series of) S
3312 5592 P (operations) S 60 J ( together.) S
3312 6096 P (Finally) S 75 J ( there) S 76 J ( operations) S 75 J ( for printing and doing other i/o and for) S
3312 6360 P (other) S 60 J ( miscellaneous things.) S
2880 6864 P (Basic Editing:) S
3456 7368 P (d) S 1437 J ( Delete) S 60 J ( this section. Start the next cycle.) S
3456 7692 P (D) S 1398 J ( Delete) S 60 J ( from the beginning of edit buffer through) S
5040 7956 P (and including the first line ending. If there's text) S
5040 8220 P (remaining, immediately start over at the top of the) S
5040 8484 P (script without reading a new line.) S
3456 8808 P (s/.../.../[ngpw]) S 630 J ( Search/replace) S 60 J ( using regular expressions.) S
5040 9072 P (In the replace string, ``&'' means whatever the) S
5040 9336 P (search string matched. ``\\n'', where n is a number,) S
5040 9600 P (means whatever matched that tagged expression) S
5040 9864 P (in the search string. The search and replace) S
5040 10128 P (strings are shown here delimited with /, but you) S
5040 10392 P (may choose any character you like that doesn't) S
5040 10656 P (occur in either string. The following modifiers are) S
5040 10920 P (accepted:) S
5040 11244 P (n) S 868 J ( A) S 60 J ( decimal number from 1 to 65,535.) S
6048 11508 P (Substitute for just the n'th occurrence of) S
6048 11772 P (the search pattern.) S
5040 12096 P (g) S 875 J ( Global.) S 60 J ( Substitute all occurrences.) S
5040 12420 P (p) S 864 J ( Print) S 60 J ( the edit buffer if a change was) S
6048 12684 P (made.) S
5040 13008 P (w file) S 413 J ( Write) S 60 J ( the edit buffer onto the end of the) S
6048 13272 P (file if a change was made.) S
3456 13596 P (y/.../.../[c]) S 389 J ( Translate) S 60 J ( all occurrences of characters in the first) S
5040 13860 P (string to the corresponding characters in the) S
5040 14124 P (second string. As in the ) S 0 12 F 26 12 F B (tr) S E 0 12 F 26 12 F () S 60 J ( utility, ranges are) S
5040 14388 P (allowed, as in ``y/a-z/A-Z/''. The optional ``c'') S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (231) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
4680 1704 P 0 12 F 26 12 F (flag) S 60 J ( can be used to complement the input range.) S
4680 1968 P (Either string can contain \\r and \\n characters. If) S
4680 2232 P (the first string is longer than the second, all the) S
4680 2496 P (extra characters are mapped to the last character) S
4680 2760 P (in the replacement string or to a null if there was) S
4680 3024 P (none. If the second string is longer, the extras are) S
4680 3288 P (ignored.) S
2520 3936 P (Using the Hold Buffer:) S
3096 4440 P (g) S 1451 J ( Get) S 60 J ( from the hold buffer. Replace the current) S
4680 4704 P (contents of the edit buffer.) S
3096 5028 P (G) S 1401 J ( Get) S 60 J ( from the hold buffer and paste onto the end of) S
4680 5292 P (the edit buffer.) S
3096 5616 P (h) S 1444 J ( Hold.) S 60 J ( Replace the contents of the hold buffer with) S
4680 5880 P (a copy of the edit buffer.) S
3096 6204 P (H) S 1384 J ( Append) S 60 J ( to hold. Copy the edit buffer contents) S
4680 6468 P (onto the end of the hold buffer.) S
3096 6792 P (x) S 1460 J ( Exchange) S 60 J ( the edit and hold buffers.) S
2520 7440 P (Inserting blocks of Static Text:) S
3096 7944 P (a\\ \\r\\n text) S 279 J ( Append) S 60 J ( the text to the output at the end of the) S
4680 8208 P (cycle if this is the last line in the range. All but the) S
4680 8472 P (last line of text should have a ``\\'' just before the) S
4680 8736 P (\\r\\n sequence at the end of each line.) S
3096 9060 P (c\\ \\r\\n text) S 292 J ( Change) S 60 J ( this section to read as shown in the) S
4680 9324 P (following text. Start the next cycle.) S
3096 9648 P (i\\ \\r\\n text) S 329 J ( Insert.) S 60 J ( Immediately copy the following text to) S
4680 9912 P (stdout if this is the start of the range.) S
2520 10560 P (Condition-Testing, Branching and Grouping operations:) S
3096 11064 P (b label) S 883 J ( Branch) S 60 J ( to the label elsewhere in the script. \(If no) S
4680 11328 P (label is given, it's to the end of the script.\)) S
3096 11652 P (q) S 1450 J ( If) S 60 J ( this is the end of the range, quit.) S
3096 11976 P (t label) S 938 J ( Branch) S 60 J ( to the label if search/replace changes have) S
4680 12240 P (been made since the most recent input line was) S
4680 12504 P (read or a t operation was run.) S
3096 12828 P (: label) S 956 J ( Label.) S 60 J ( \(No address prefix is allowed.\)) S
3096 13152 P ({ }) S 1244 J ( Group) S 60 J ( a series of operations together.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (232) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2880 1704 P 0 12 F 26 12 F (Printing:) S
3456 2208 P (=) S 1439 J ( Write) S 60 J ( the line number to stdout.) S
3456 2532 P (l) S 1514 J ( List) S 60 J ( the contents of the edit buffer in C language) S
5040 2796 P (style with escape sequences for binary characters.) S
3456 3120 P (p) S 1440 J ( Print.) S 60 J ( Write the contents of the edit buffer to) S
5040 3384 P (stdout.) S
3456 3708 P (P) S 1439 J ( Print) S 60 J ( from the beginning of the edit buffer through) S
5040 3972 P (and including the first line ending.) S
3456 4296 P (#n) S 1299 J ( Suppress) S 60 J ( any automatic output at the end of each) S
5040 4560 P (cycle.) S
2880 5208 P (Other I/O operations:) S
3456 5712 P (n) S 1444 J ( Next) S 60 J ( line. Write the contents of the edit buffer to) S
5040 5976 P (stdout, dump any appended text and read a new) S
5040 6240 P (line from stdin to the edit buffer.) S
3456 6564 P (N) S 1385 J ( Read) S 60 J ( the next line onto the end of the edit buffer) S
5040 6828 P (with a \\r\\n sequence in between.) S
3456 7152 P (r file) S 1094 J ( Copy) S 60 J ( the contents of this file to stdout at the end) S
5040 7416 P (of the cycle.) S
3456 7740 P (w file) S 989 J ( Write) S 60 J ( the edit butter onto the end of the file,) S
5040 8004 P (creating it if it doesn't exist.) S
2880 8652 P (Miscellaneous:) S
3456 9156 P (! operation) S 433 J ( Don't) S 60 J ( apply this function unless the addressing) S
5040 9420 P 0 12 F 26 12 F I (doesn't) S E 0 12 F 26 12 F () S 60 J ( match. Invert the line selections.) S
3456 9744 P (;) S 1524 J ( Null) S 60 J ( statement.) S
3456 10068 P (# comment) S 384 J ( Comments) S 60 J ( and blank lines are ignored.) S
3312 10716 P (If) S 63 J ( multiple) S 64 J ( a\\) S 63 J ( \(append\)) S 64 J ( or) S 63 J ( r \(read file\) instructions are executed \(or) S
3312 10980 P (the) S 67 J ( same) S 68 J ( one) S 67 J ( is) S 68 J ( iterated) S 67 J ( in) S 68 J ( a) S 67 J ( loop\),) S 68 J ( a new entry is made on the end) S
3312 11244 P (of) S 62 J ( a) S 63 J ( list) S 62 J ( of) S 63 J ( all) S 62 J ( the) S 63 J ( appended) S 62 J ( text) S 63 J ( blocks) S 62 J ( to) S 63 J ( be) S 62 J ( copied) S 63 J ( to) S 62 J ( stdout) S 63 J ( at the) S
3312 11508 P (end) S 75 J ( of) S 76 J ( the) S 75 J ( cycle.) S 76 J ( ) S 75 J ( When) S 76 J ( the) S 75 J ( end) S 76 J ( of) S 75 J ( the) S 76 J ( cycle) S 75 J ( is) S 76 J ( finally) S 75 J ( reached,) S 76 J ( the) S
3312 11772 P (whole) S 60 J ( list is dumped, in order from the top.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (233) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
2520 1704 P 0 12 F 26 12 F (Regular) S 60 J ( Expressions:) S
2952 2208 P (Search) S 63 J ( patterns) S 64 J ( are specified as regular expressions like those used) S
2952 2472 P (by) S 137 J ( grep.) S 138 J ( ) S 137 J ( Regular) S 138 J ( expressions) S 137 J ( are) S 138 J ( written) S 137 J ( in this notation, in) S
2952 2736 P (decreasing) S 60 J ( precedence:) S
3096 3240 P (c) S 1477 J ( Any) S 60 J ( ordinary character matches itself.) S
3096 3564 P (\\c) S 1332 J ( Match) S 60 J ( the literal character c.) S
3096 3888 P (^) S 1439 J ( Beginning) S 60 J ( of line.) S
3096 4212 P ($) S 1464 J ( End) S 60 J ( of line.) S
3096 4536 P (.) S 1524 J ( Match) S 60 J ( any single character.) S
3096 4860 P ([...]) S 1244 J ( Match) S 60 J ( any single character in the list.) S
3096 5184 P ([^...]) S 1099 J ( Match) S 60 J ( any single character not in the list.) S
3096 5508 P (\\n) S 1299 J ( Match) S 60 J ( whatever literal text the n'th tagged \\\(...\\\)) S
4680 5772 P (expression matched.) S
3096 6096 P (r*) S 1396 J ( Match) S 60 J ( zero or more occurrences of r.) S
3096 6420 P (r1r2) S 1154 J ( Match) S 60 J ( expression r1 followed by r2.) S
3096 6744 P (\\\(r\\\)) S 1039 J ( Tagged) S 60 J ( regular expression. Match the pattern) S
4680 7008 P (inside the \\\(...\\\), and remember the literal text) S
4680 7272 P (that matched.) S
2952 7920 P (A) S 144 J ( regular) S 145 J ( expression) S 144 J ( pattern) S 145 J ( cannot) S 144 J ( contain) S 145 J ( Nulls) S 144 J ( but) S 145 J ( it can) S
2952 8184 P (contain) S 135 J ( NewLine) S 136 J ( or) S 135 J ( CarriageReturn) S 136 J ( characters \(which may be) S
2952 8448 P (useful) S 60 J ( with the N or G commands.\)) S
2952 8952 P (When typing) S 61 J ( a) S 60 J ( regular) S 61 J ( expression) S 60 J ( on) S 61 J ( the) S 60 J ( command) S 61 J ( line,) S 60 J ( remember) S
2952 9216 P (that) S 65 J ( $,) S 66 J ( [,) S 65 J ( ],) S 66 J ( ^,) S 65 J ( \() S 66 J ( and) S 65 J ( \)) S 66 J ( have special meaning to Hamilton C shell. Put) S
2952 9480 P (single) S 97 J ( quotes) S 98 J ( around) S 97 J ( the) S 98 J ( string) S 97 J ( to turn off that special meaning.) S
2952 9744 P (Also,) S 139 J ( even) S 140 J ( inside) S 139 J ( quotes,) S 140 J ( type) S 139 J ( ^^) S 140 J ( to) S 139 J ( mean) S 140 J ( ^ except when it) S
2952 10008 P (immediately) S 60 J ( follows [.) S
2952 10512 P (Also,) S 62 J ( /) S 63 J ( at) S 62 J ( the) S 63 J ( beginning) S 62 J ( of) S 63 J ( a) S 62 J ( word) S 63 J ( on) S 62 J ( the) S 63 J ( command) S 62 J ( line) S 63 J ( is taken as) S
2952 10776 P (introducing) S 62 J ( an) S 63 J ( option.) S 62 J ( ) S 63 J ( If) S 62 J ( you) S 63 J ( mean) S 62 J ( it) S 63 J ( to be the start of a script, use) S
2952 11040 P (the) S 60 J ( ``--'' option ahead of it.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (234) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (setrows:) S 67 J ( Set/Report the number of rows in an OS/2 window) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( setrows [-h-] [ rows ]) S
3312 2712 P 0 12 F 26 12 F B (setrows) S E 0 12 F 26 12 F () S 71 J ( will try to set the vertical height of the current window to) S
3312 2976 P (the) S 87 J ( specified number of rows. In a PM text window, almost any) S
3312 3240 P (reasonable) S 68 J ( number) S 69 J ( of) S 68 J ( rows) S 69 J ( can) S 68 J ( be) S 69 J ( chosen, but full-screen, you can) S
3312 3504 P (choose) S 75 J ( only) S 76 J ( from) S 75 J ( this set: 12, 14, 21, 23, 24, 25, 27 to 30, 33, 34, 39) S
3312 3768 P (to) S 81 J ( 43,) S 82 J ( 45) S 81 J ( to) S 82 J ( 50) S 81 J ( and) S 82 J ( 54) S 81 J ( to 60. \(Your hardware may not support all) S
3312 4032 P (these) S 60 J ( possibilities.\)) S
3312 4536 P (If) S 110 J ( the number of rows is not specified, ) S 0 12 F 26 12 F B (setrows) S E 0 12 F 26 12 F () S 110 J ( just reports the) S
3312 4800 P (current) S 60 J ( value.) S
3312 5304 P (\() S 0 12 F 26 12 F B (setrows) S E 0 12 F 26 12 F () S 60 J ( is supported only on OS/2.\)) S
2880 5808 P (Options:) S
3456 6312 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 6636 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 7440 P 0 12 F 8 12 F B (sleep:) S 747 J ( Sleep) S 67 J ( for a Specified Period) S E
2880 7944 P 0 12 F 26 12 F (Usage:) S 60 J ( sleep [-hm-] [ seconds ]) S
3312 8448 P (Sleep) S 63 J ( the) S 64 J ( specified) S 63 J ( integer) S 64 J ( number) S 63 J ( of) S 64 J ( seconds) S 63 J ( \(rounded) S 64 J ( to) S 63 J ( the) S 64 J ( next) S
3312 8712 P (clock) S 60 J ( tick.\) Default is 1 second or until an interrupt occurs.) S
2880 9216 P (Options:) S
3456 9720 P (-m) S 284 J ( Sleep) S 60 J ( interval is in milliseconds rather than seconds.) S
3456 10044 P (-h) S 356 J ( Help.) S
3456 10368 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (235) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (source:) S 574 J ( Read) S 67 J ( Commands from a File) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( source [-nh-] filename) S
2952 2712 P (Commands) S 93 J ( are executed just as if they were typed directly in to) S
2952 2976 P (this) S 68 J ( thread) S 69 J ( of) S 68 J ( Hamilton C shell and can change local variables and) S
2952 3240 P (current) S 60 J ( directory settings.) S
2952 3744 P (\(This) S 114 J ( differs) S 115 J ( from) S 114 J ( typing) S 115 J ( the name of a C shell script file as a) S
2952 4008 P (command;) S 60 J ( if you do that, a separate thread is created.\)) S
2520 4512 P (Options:) S
3096 5016 P (-n) S 356 J ( No) S 60 J ( Execute \(Just load the history list.\)) S
3096 5340 P (-h) S 356 J ( Help.) S
3096 5664 P (--) S 416 J ( End) S 60 J ( of options.) S
1800 6468 P 0 12 F 8 12 F B (split:) S 866 J ( Split) S 67 J ( a Large File into Chunks) S E
2520 6972 P 0 12 F 26 12 F (Usage:) S 60 J ( split [-bhs<size>-] [ infile [prefix] ]) S
2952 7476 P 0 12 F 26 12 F B (split) S E 0 12 F 26 12 F () S 124 J ( breaks) S 125 J ( up) S 124 J ( a) S 125 J ( large file into chunks, written to a series of) S
2952 7740 P (output) S 72 J ( files) S 73 J ( formed) S 72 J ( of) S 73 J ( the) S 72 J ( prefix) S 73 J ( plus) S 72 J ( a) S 73 J ( .nnn) S 72 J ( extension,) S 73 J ( where) S 72 J ( nnn) S
2952 8004 P (is) S 88 J ( a) S 89 J ( 3-digit decimal number. The default prefix is 'chunk'. Each) S
2952 8268 P (chunk) S 63 J ( will) S 64 J ( be of the specified number of lines or bytes. If only one) S
2952 8532 P (operand) S 69 J ( is) S 70 J ( given,) S 69 J ( it's) S 70 J ( assumed) S 69 J ( to) S 70 J ( be) S 69 J ( the) S 70 J ( input) S 69 J ( filename) S 70 J ( unless) S 69 J ( -s is) S
2952 8796 P (specified.) S
2520 9300 P (Options:) S
3096 9804 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 10128 P (-b) S 363 J ( Count) S 60 J ( bytes. \(Default is lines.\)) S
3096 10452 P (-s) S 394 J ( Stdin) S 60 J ( is split. \(Implied if no files are specified.\)) S
3096 10776 P (-<size>) S 807 J ( Chunk) S 60 J ( size. \(Defaults are 3000 lines/300000) S
4680 11040 P (bytes.\)) S
3096 11364 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (236) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (startwin:) S 440 J ( Start) S 67 J ( Win3.x Applications under OS/2 2.x) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( startwin [-h-] [-s type] [ file ] [ arguments ]) S
3312 2712 P (Start) S 101 J ( the) S 102 J ( specified) S 101 J ( Win3.x) S 102 J ( application) S 101 J ( in) S 102 J ( a) S 101 J ( Virtual) S 102 J ( DOS machine) S
3312 2976 P (using) S 146 J ( the) S 147 J ( WinStartApp) S 146 J ( API) S 147 J ( call.) S 146 J ( ) S 147 J ( This) S 146 J ( separate invisible PM) S
3312 3240 P (application) S 60 J ( is used to run the Windows application because:) S
3456 3744 P (\(a\)) S 296 J ( WinStartApp) S 60 J ( is the only way to start Win3.x apps in) S
4032 4008 P (seamless mode and) S
3456 4332 P (\(b\)) S 283 J ( the) S 60 J ( only way to find out when the Win3.x child started by) S
4032 4596 P (WinStartApp completes is via a message queue -- and only) S
4032 4860 P (PM applications may have a message queue.) S
3312 5364 P (By) S 84 J ( default,) S 85 J ( standard) S 84 J ( mode) S 85 J ( is) S 84 J ( used) S 85 J ( under) S 84 J ( OS/2) S 85 J ( 2.0) S 84 J ( and) S 85 J ( enhanced) S
3312 5628 P (mode) S 62 J ( under) S 63 J ( OS/2 2.1. If seamless support appears to be available,) S
3312 5892 P (the) S 74 J ( default) S 75 J ( is) S 74 J ( to) S 75 J ( run) S 74 J ( the) S 75 J ( application) S 74 J ( in a window using a common) S
3312 6156 P (\(shared\)) S 156 J ( copy) S 157 J ( of the Windows code; otherwise, a full-screen) S
3312 6420 P (Windows) S 60 J ( session is used by default.) S
3312 6924 P (If) S 69 J ( the) S 70 J ( filename specified to ) S 0 12 F 26 12 F B (startwin) S E 0 12 F 26 12 F () S 70 J ( is not fully-qualified, ) S 0 12 F 26 12 F B (startwin) S E
3312 7188 P 0 12 F 26 12 F (will) S 71 J ( search) S 72 J ( for) S 71 J ( it) S 72 J ( in) S 71 J ( the) S 72 J ( PATH) S 71 J ( directories.) S 72 J ( ) S 71 J ( Just) S 72 J ( as with the C shell,) S
3312 7452 P (the) S 117 J ( current) S 118 J ( directory) S 117 J ( will) S 118 J ( be) S 117 J ( searched) S 118 J ( only if it appears in the) S
3312 7716 P (PATH) S 96 J ( list) S 97 J ( or) S 96 J ( if) S 97 J ( the file specified is clearly a relative path \(i.e., it) S
3312 7980 P (contains) S 88 J ( a) S 89 J ( \\) S 88 J ( or) S 89 J ( /) S 88 J ( or) S 89 J ( a) S 88 J ( drive) S 89 J ( specification\). If necessary, ) S 0 12 F 26 12 F B (startwin) S E
3312 8244 P 0 12 F 26 12 F (will) S 60 J ( append .exe to the name specified.) S
3312 8748 P 0 12 F 26 12 F B (startwin) S E 0 12 F 26 12 F () S 62 J ( is) S 63 J ( called) S 62 J ( automatically) S 63 J ( by) S 62 J ( the) S 63 J ( C) S 62 J ( shell) S 63 J ( if) S 62 J ( you) S 63 J ( type the name) S
3312 9012 P (of) S 81 J ( a) S 82 J ( Win3.x) S 81 J ( app) S 82 J ( as) S 81 J ( a) S 82 J ( command) S 81 J ( under) S 82 J ( OS/2) S 81 J ( 2.x.) S 82 J ( ) S 81 J ( The) S 82 J ( only) S 81 J ( reason) S
3312 9276 P (you) S 117 J ( might) S 118 J ( manually) S 117 J ( invoke) S 118 J ( ) S 0 12 F 26 12 F B (startwin) S E 0 12 F 26 12 F () S 117 J ( would) S 118 J ( be) S 117 J ( to) S 118 J ( override) S 117 J ( the) S
3312 9540 P (default) S 60 J ( session type.) S
2880 10044 P (Options:) S
3456 10548 P (-s type) S 872 J ( Session) S 60 J ( type to be used, overriding the default) S
5040 10812 P (type. Session type numbers are as given in the) S
5040 11076 P (OS/2 pmshl.h header, including the following:) S
4032 11640 P (3.0 Standard Full-screen) S 1611 J ( 11) S
4032 11904 P (3.0) S 60 J ( Standard Seamless VDM) S 1175 J ( 13) S
4032 12168 P (3.0) S 60 J ( Standard Seamless Common) S 765 J ( 14) S 60 J ( <-2.0 default) S
4032 12432 P (3.1 Enhanced Seamless VDM) S 1092 J ( 17) S
4032 12696 P (3.1) S 60 J ( Enhanced Seamless Common) S 682 J ( 18) S 60 J ( <-2.1 default) S
4032 12960 P (3.1 Enhanced Full-screen) S 1528 J ( 19) S
3456 13464 P (-h) S 356 J ( Help.) S
3456 13788 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (237) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (strings:) S 560 J ( Extract) S 67 J ( ascii strings from a file) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( strings [-habetqvlodx-] [-<min>] [-r<radix>] [ file1 file2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (strings) S E 0 12 F 26 12 F () S 72 J ( will) S 73 J ( search) S 72 J ( for) S 73 J ( any) S 72 J ( occurrences) S 73 J ( of) S 72 J ( ascii) S 73 J ( text) S 72 J ( in) S 73 J ( the) S 72 J ( files) S 73 J ( you) S
2952 2976 P (give) S 98 J ( it. The presumption is that the files are mostly binary and) S
2952 3240 P (perhaps) S 60 J ( quite large, making it impractical to look at them directly.) S
2952 3744 P (A) S 66 J ( string) S 67 J ( is) S 66 J ( normally) S 67 J ( defined) S 66 J ( as) S 67 J ( 4) S 66 J ( or) S 67 J ( more) S 66 J ( printable) S 67 J ( ascii characters) S
2952 4008 P (terminated) S 233 J ( by) S 234 J ( a) S 233 J ( Null, CarriageReturn, a NewLine or a) S
2952 4272 P (CarriageReturn-NewLine) S 194 J ( combination.) S 195 J ( ) S 194 J ( All) S 195 J ( the white space) S
2952 4536 P (characters) S 76 J ( are) S 77 J ( considered) S 76 J ( printable) S 77 J ( and) S 76 J ( are) S 77 J ( included) S 76 J ( in) S 77 J ( the) S 76 J ( length) S
2952 4800 P (count) S 92 J ( except when they terminate a string. \(To C programmers,) S
2952 5064 P (these) S 152 J ( printable ascii characters are the isprint\(\) and isspace\(\)) S
2952 5328 P (characters.\)) S
2952 5832 P (If) S 72 J ( you) S 73 J ( specify) S 72 J ( a) S 73 J ( series) S 72 J ( of) S 73 J ( files,) S 72 J ( they're) S 73 J ( searched) S 72 J ( one) S 73 J ( after) S 72 J ( the) S 73 J ( other,) S
2952 6096 P (each) S 126 J ( one) S 127 J ( introduced) S 126 J ( by) S 127 J ( name) S 126 J ( unless you specify Quiet mode.) S
2952 6360 P (Each) S 76 J ( string) S 77 J ( that's) S 76 J ( found) S 77 J ( is) S 76 J ( listed) S 77 J ( on) S 76 J ( a) S 77 J ( separate) S 76 J ( line.) S 77 J ( ) S 76 J ( Note) S 77 J ( that) S 76 J ( if a) S
2952 6624 P (particular) S 61 J ( string) S 62 J ( contains) S 61 J ( NewLine or CarriageReturn characters, it) S
2952 6888 P (will) S 104 J ( be displayed as a series of \(possibly\) very short substrings,) S
2952 7152 P (one) S 60 J ( per line.) S
2520 7656 P (Options:) S
3096 8160 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 8484 P (-<min>) S 792 J ( Minimum) S 60 J ( string length to report, specified as a) S
4680 8748 P (decimal integer.) S
3096 9072 P (-a) S 376 J ( Any) S 60 J ( string, even if not terminated with a line ending or a) S
3672 9336 P (null character.) S
3096 9660 P (-t) S 418 J ( Trim) S 60 J ( leading white space from each string.) S
3096 9984 P (-b) S 363 J ( Discard) S 60 J ( strings containing only white space.) S
3096 10308 P (-e) S 381 J ( European) S 60 J ( characters \(accented alphabetics and European) S
3672 10572 P (punctuation\) will be considered as ordinary printable text.) S
3096 10896 P (-n) S 356 J ( Control) S 60 J ( characters other than Tab, CarriageReturn and) S
3672 11160 P (NewLine will be considered to be string terminators just) S
3672 11424 P (like the null character.) S
3096 11748 P (-q) S 362 J ( Quiet) S 60 J ( mode. Don't announce the name of each file as it's) S
3672 12012 P (read.) S
3096 12336 P (-v Verbose. Paste the name of the file in which it occurs onto) S
3672 12600 P (the front of each string.) S
3096 12924 P (-l) S 426 J ( Long) S 60 J ( mode. Show where each string occurs, counting bytes) S
3672 13188 P (from the beginning of the file. The radix used can be) S
3672 13452 P (explicitly chosen with -o, -d, -x, or -r; it defaults to the value) S
3672 13716 P (specified by the RADIX environmental variable if defined) S
3672 13980 P (or 16 otherwise.) S
3096 14304 P (-o) S 365 J ( Octal) S 60 J ( offsets.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (238) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3456 1704 P 0 12 F 26 12 F (-d) S 349 J ( Decimal) S 60 J ( offsets.) S
3456 2028 P (-x) S 372 J ( Hex) S 60 J ( offsets shown.) S
3456 2352 P (-r<radix>) S 563 J ( User-specified) S 60 J ( radix.) S
3456 2676 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 3480 P 0 12 F 8 12 F B (sum:) S 867 J ( Checksum) S 67 J ( the contents of a file) S E
2880 3984 P 0 12 F 26 12 F (Usage:) S 60 J ( sum [-rxh-] [ file1 file2 ... ]) S
3312 4488 P 0 12 F 26 12 F B (sum) S E 0 12 F 26 12 F () S 138 J ( checksums the contents of each of the files you specify,) S
3312 4752 P (writing) S 84 J ( the) S 85 J ( results) S 84 J ( to) S 85 J ( stdout) S 84 J ( along) S 85 J ( with) S 84 J ( a) S 85 J ( count) S 84 J ( of) S 85 J ( the) S 84 J ( number) S 85 J ( of) S
3312 5016 P (512-byte) S 60 J ( blocks) S 61 J ( it) S 60 J ( read \(including any partial blocks.\) If no files are) S
3312 5280 P (given,) S 87 J ( ) S 0 12 F 26 12 F B (sum) S E 0 12 F 26 12 F () S 88 J ( reads from stdin. ) S 0 12 F 26 12 F B (sum) S E 0 12 F 26 12 F () S 88 J ( is typically used to validate a) S
3312 5544 P (file) S 60 J ( communicated over a possibly noisy communications line.) S
3312 6048 P 0 12 F 26 12 F B (sum) S E 0 12 F 26 12 F () S 98 J ( treats) S 99 J ( the) S 98 J ( characters) S 99 J ( it) S 98 J ( reads) S 99 J ( as) S 98 J ( 8-bit) S 99 J ( unsigned) S 98 J ( integers and) S
3312 6312 P (normally) S 72 J ( just) S 73 J ( adds) S 72 J ( them) S 73 J ( together) S 72 J ( to) S 73 J ( form) S 72 J ( a) S 73 J ( 16-bit) S 72 J ( unsigned) S 73 J ( result.) S
3312 6576 P (Overflows) S 60 J ( are ignored.) S
2880 7080 P (Options:) S
3456 7584 P (-r) S 401 J ( Rotated) S 60 J ( checksum. Rotate the accumulated checksum right) S
4032 7848 P (one bit position before adding each character.) S
3456 8172 P (-x) S 372 J ( Xor'ed) S 60 J ( checksum. For each new character, ) S 0 12 F 0 12 F (c) S 0 12 F 26 12 F (,) S 60 J ( the checksum,) S
4032 8436 P 0 12 F 0 12 F (i) S 0 12 F 26 12 F (,) S 60 J ( is calculated as ) S 0 12 F 0 12 F (i) S 144 J ( += \(i << 1\) ^ c) S 0 12 F 26 12 F (.) S
3456 8760 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 9084 P (--) S 416 J ( End) S 60 J ( of options.) S
3312 9732 P (\(The) S 173 J ( default and rotated checksums are the same as those) S
3312 9996 P (calculated) S 178 J ( by) S 179 J ( the) S 178 J ( UNIX) S 179 J ( System) S 178 J ( V) S 179 J ( ) S 0 12 F 26 12 F B (sum) S E 0 12 F 26 12 F () S 178 J ( command; the xor) S
3312 10260 P (checksum) S 60 J ( is unique to this implementation.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (239) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (tabs:) S 867 J ( Expand/Unexpand) S 67 J ( Tabs) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( tabs [-hua-] [-<tabs>][ file1 file2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (tabs) S E 0 12 F 26 12 F () S 142 J ( expands tab characters into spaces or, if -u is specified,) S
2952 2976 P (unexpands) S 70 J ( spaces) S 71 J ( into) S 70 J ( tabs) S 71 J ( as) S 70 J ( it copies the input files to stdout. If) S
2952 3240 P (no) S 61 J ( files) S 62 J ( are) S 61 J ( given,) S 62 J ( ) S 0 12 F 26 12 F B (tabs) S E 0 12 F 26 12 F () S 61 J ( reads) S 62 J ( from) S 61 J ( stdin.) S 62 J ( If multiple files are given,) S
2952 3504 P (they're) S 60 J ( concatenated one after the other to stdout.) S
2952 4008 P (When) S 201 J ( unexpanding,) S 202 J ( only) S 201 J ( leading) S 202 J ( white space is normally) S
2952 4272 P (converted) S 103 J ( to) S 104 J ( tabs.) S 103 J ( ) S 104 J ( If) S 103 J ( -a) S 104 J ( is) S 103 J ( specified, tabs are inserted anywhere) S
2952 4536 P (they) S 60 J ( would replace two or more characters.) S
2520 5040 P (Options:) S
3096 5544 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3096 5868 P (-u) S 351 J ( Unexpand) S 60 J ( tabs.) S
3096 6192 P (-a) S 376 J ( Unexpand) S 60 J ( all tabs.) S
3096 6516 P (-<tabs>) S 781 J ( Tab) S 60 J ( settings to use for viewing text. Default is to) S
4680 6780 P (use value given by the TABS environment variable) S
4680 7044 P (or, if that's undefined, to assume tabstops every 8) S
4680 7308 P (characters. If desired, a list of tabstops can) S
4680 7572 P (specified, separated by commas; the difference) S
4680 7836 P (between the last two tabs given is used a standard) S
4680 8100 P (increment for following tabs.) S
3096 8424 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (240) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (tail:) S 1013 J ( Copy) S 67 J ( the last few lines or bytes of a file to Stdout) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( tail [-hcfnq-] [-i<sec>] [m<msec>] [-+<start>]) S
2880 2472 P () S 720 J ( [-t<tabs>]) S 60 J ( [ file1 file2 ... ]) S
3312 2976 P 0 12 F 26 12 F B (tail) S E 0 12 F 26 12 F () S 97 J ( copies) S 98 J ( the) S 97 J ( last) S 98 J ( part) S 97 J ( of the file you specify onto stdout. You) S
3312 3240 P (may) S 148 J ( specify) S 149 J ( where) S 148 J ( to) S 149 J ( begin) S 148 J ( copying in either lines or bytes) S
3312 3504 P (measured) S 62 J ( from) S 63 J ( either) S 62 J ( the) S 63 J ( beginning) S 62 J ( or) S 63 J ( the) S 62 J ( end) S 63 J ( of) S 62 J ( the file. If no file) S
3312 3768 P (is) S 104 J ( given,) S 105 J ( ) S 0 12 F 26 12 F B (tail) S E 0 12 F 26 12 F () S 105 J ( reads from stdin. If several files are given, each is) S
3312 4032 P (announced) S 60 J ( unless you specify quiet mode.) S
2880 4536 P (Options:) S
3456 5040 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 5364 P (-c) S 389 J ( Count) S 60 J ( characters. \(Default is lines.\)) S
3456 5688 P (-f) S 416 J ( Follow.) S 60 J ( At end of file, go into an endless loop, sleeping for) S
4032 5952 P (a second, then waking up to see if more data's been added.) S
4032 6216 P (\(Use ^C to exit.\) The follow option is not valid if more than) S
4032 6480 P (one file is specified and is ignored if data is being read from) S
4032 6744 P (a pipe.) S
3456 7068 P (-i<sec>) S 820 J ( Interval) S 60 J ( in seconds between checking for more) S
5040 7332 P (data if -f option is used. \(If the interval specified is) S
5040 7596 P (greater than one second, tail will temporarily drop) S
5040 7860 P (back to a one second interval anytime it finds new) S
5040 8124 P (data when it does wake up.\)) S
3456 8448 P (-m<msec>) S 466 J ( Interval) S 60 J ( in milliseconds between checking for) S
5040 8712 P (more data if -f option is used.) S
3456 9036 P (-<start>) S 741 J ( Starting) S 60 J ( point, relative to the end of the file.) S
5040 9300 P (\(Default is last 10 lines or 512 bytes.\)) S
3456 9624 P (+<start>) S 676 J ( Starting) S 60 J ( point, relative to the start of the file.) S
3456 9948 P (-t<tabs>) S 703 J ( Tab) S 60 J ( settings to use for viewing text. \(Default is to) S
5040 10212 P (use value given by the TABS environment variable) S
5040 10476 P (or, if that's undefined, to do no tab expansion.\)) S
3456 10800 P (-n) S 356 J ( No) S 60 J ( tab expansion.) S
3456 11124 P (-q) S 362 J ( Quiet) S 60 J ( mode. Don't announce the name of each file it's read.) S
3456 11448 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (241) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (tar:) S 67 J ( Read/Write UNIX Tape Archive \(tar\) Format Files) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( tar [-acCtMxXh FLvqs!rRfBQWZ-] [-d dir] [-m map]) S
2520 2472 P () S 720 J ( [-g) S 60 J ( hours] [-O offset] [-E endset] [-b sex]) S
2520 2736 P () S 720 J ( [) S 60 J ( tarfile ] [ file1 file2 ... ]) S
2952 3240 P 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F () S 99 J ( is) S 100 J ( used) S 99 J ( to) S 100 J ( read) S 99 J ( or) S 100 J ( write a simple archive format popular for) S
2952 3504 P (exchanging) S 60 J ( files between dissimilar machines.) S
2952 4008 P 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F () S 107 J ( normally) S 108 J ( expects) S 107 J ( the) S 108 J ( archive) S 107 J ( to) S 108 J ( be) S 107 J ( in) S 108 J ( a file specified by the) S
2952 4272 P (tarfile) S 77 J ( operand.) S 78 J ( ) S 77 J ( When) S 78 J ( listing) S 77 J ( or) S 78 J ( extracting) S 77 J ( files,) S 78 J ( the) S 77 J ( following file) S
2952 4536 P (names) S 108 J ( are) S 109 J ( considered) S 108 J ( to) S 109 J ( be) S 108 J ( in) S 109 J ( the) S 108 J ( name) S 109 J ( space of what's in the) S
2952 4800 P (archive) S 68 J ( and) S 69 J ( wildcards) S 68 J ( should) S 69 J ( not be used. When adding files, the) S
2952 5064 P (names) S 60 J ( are in the user's normal file name space.) S
2952 5568 P (When) S 133 J ( extracting) S 134 J ( files, this version of ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F () S 134 J ( incorporates logic to) S
2952 5832 P (interactively) S 96 J ( crunch) S 97 J ( up) S 96 J ( a) S 97 J ( filename) S 96 J ( in) S 97 J ( the archive into something) S
2952 6096 P (legal) S 100 J ( on) S 101 J ( an OS/2 or NT filesystem. If -F is specified \(or you're) S
2952 6360 P (using) S 62 J ( OS/2) S 63 J ( 1.1\),) S 62 J ( FAT naming rules are enforced. Otherwise, HPFS) S
2952 6624 P (rules) S 64 J ( are) S 65 J ( assumed.) S 64 J ( ) S 65 J ( ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F () S 64 J ( lists) S 65 J ( these) S 64 J ( renamings in a .map file. ) S 0 12 F 26 12 F B (tar) S E 0 12 F 26 12 F () S 64 J ( also) S
2952 6888 P (incorporates) S 114 J ( logic) S 115 J ( to) S 114 J ( automatically) S 115 J ( convert) S 114 J ( between) S 115 J ( the) S 114 J ( \\n line) S
2952 7152 P (ending) S 87 J ( used) S 88 J ( in) S 87 J ( an) S 88 J ( archive) S 87 J ( and) S 88 J ( the) S 87 J ( \\r\\n) S 88 J ( line) S 87 J ( endings) S 88 J ( used under) S
2952 7416 P (OS/2) S 60 J ( or NT unless the file appears to be binary.) S
2520 7920 P (Basic Commands:) S
3096 8424 P (-a) S 376 J ( Add) S 60 J ( files to the end of the archive.) S
3096 8748 P (-c) S 389 J ( Copy) S 60 J ( the specified files in the archive to stdout.) S
3096 9072 P (-C) S 326 J ( Copy) S 60 J ( entire tar segments \(including headers and any) S
3672 9336 P (padding\) to stdout. After the last segment, write two blocks) S
3672 9600 P (of zeros to mark the end of a tar archive. \(If you intend to) S
3672 9864 P (concatenate archive, use the -Z option to suppress writing) S
3672 10128 P (the trailing blocks of zeros.\)) S
3096 10452 P (-t) S 418 J ( List) S 60 J ( table of contents \(the default\). List the files in the) S
3672 10716 P (archive.) S
3096 11040 P (-M) S 269 J ( Just) S 60 J ( build the mapfile; don't extract anything.) S
3096 11364 P (-x) S 372 J ( Extract) S 60 J ( files from the archive. Default is all files in the) S
3672 11628 P (archive. \(Do not use wildcarding.\)) S
3096 11952 P (-X) S 336 J ( Extract) S 60 J ( everything EXCEPT the specified files from the) S
3672 12216 P (archive.) S
3096 12540 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (242) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2880 1704 P 0 12 F 26 12 F (Basic) S 60 J ( Options:) S
3456 2208 P (-F) S 363 J ( FAT) S 60 J ( filesystem naming. \(Automatically chosen if the OS/2) S
4032 2472 P (release level < 1.2.\)) S
3456 2796 P (-L) S 349 J ( Long) S 60 J ( listing similar to ls -L showing the attributes,) S
4032 3060 P (timestamp and length of each file in the archive.) S
3456 3384 P (-v Verbose. Also show the offset of each file from the) S
4032 3648 P (beginning of the archive.) S
3456 3972 P (-q) S 362 J ( Quiet.) S 60 J ( tar normally prints the head of each file as it's) S
4032 4236 P (extracted \(-x\) or added \(-a\) to the archive. This option turns) S
4032 4500 P (that off.) S
3456 4824 P (-s) S 394 J ( Read) S 60 J ( the archive from stdin when listing table of contents) S
4032 5088 P (or extracting. Write the archive to stdout when adding files.) S
4032 5352 P (\(Implies non-interactive.\)) S
3456 5676 P (-!) S 429 J ( Non-interactive.) S 60 J ( Files are renamed as necessary for OS/2 or) S
4032 5940 P (NT conventions. \(Particularly useful with -M when trying) S
4032 6204 P (to read a new, large archive file.\)) S
3456 6528 P (-r) S 401 J ( CarriageReturn/NewLine) S 60 J ( expansion is turned off. \(Default) S
4032 6792 P (is normally to convert between \\n in the archive and \\r\\n) S
4032 7056 P (under OS/2 or NT unless the file appears to be binary.\)) S
3456 7380 P (-R) S 336 J ( CarriageReturn/NewLine) S 60 J ( expansion is forced ON, even for) S
4032 7644 P (files that appear to be binary.) S
3456 7968 P (--) S 416 J ( End) S 60 J ( of options.) S
2880 8616 P (Advanced Options:) S
3456 9120 P (-d dir) S 985 J ( Default) S 60 J ( destination drive and directory when) S
5040 9384 P (extracting files.) S
3456 9708 P (-m map) S 756 J ( Specific) S 60 J ( filename to be used for showing) S
5040 9972 P (mappings from names in the archive to names) S
5040 10236 P (used on OS/2 or NT. \(Default is to paste a .map) S
5040 10500 P (extension onto the name of the tar file; if -s is) S
5040 10764 P (specified, no map file is used unless -m is given.\)) S
3456 11088 P (-f) S 1424 J ( Fullpath) S 60 J ( option. Put the full pathname \(minus) S
5040 11352 P (any disk prefix\) specified on the command line) S
5040 11616 P (into the archive header when adding. \(In this) S
5040 11880 P (context, the full path means the full name given on) S
5040 12144 P (the command line, not the fully-qualified name) S
5040 12408 P (starting from the root directory.\) When extracting,) S
5040 12672 P (use the full pathname given in the header to) S
5040 12936 P (determine where the files will go.) S
3456 13260 P (-g hours) S 698 J ( The) S 60 J ( number of hours GMT is ahead of the local) S
5040 13524 P (zone, e.g., 5 hours in New York or 8 hours in) S
5040 13788 P (California. U.S. daylight savings is assumed in the) S
5040 14052 P (summer months. \(OS/2 only.\)) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (243) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
3096 1704 P 0 12 F 26 12 F (-G) S 60 J ( hours) S 648 J ( Same) S 60 J ( as -g, but without daylight savings) S
4680 1968 P (adjustments. \(Under OS/2, if neither -g nor -G is) S
4680 2232 P (specified, tar looks for a TZ variable in the) S
4680 2496 P (environment; if it's not defined, tar ignores the) S
4680 2760 P (difference between local time and GMT used in) S
4680 3024 P (the archive. Under Windows NT, the -g and -G) S
4680 3288 P (options and the TZ variable are unnecessary since) S
4680 3552 P (the system keeps track of the difference between) S
4680 3816 P (local time and GMT.\)) S
3096 4140 P (-O offset) S 669 J ( Offset) S 60 J ( at which to start reading the archive file.) S
4680 4404 P (Given in bytes from beginning of the file.) S
3096 4728 P (-E endset Offset at which to stop reading the archive file.) S
3096 5052 P (-b sex) S 970 J ( Byte) S 60 J ( sex in the archive: abcd \(default\), badc, cdab) S
4680 5316 P (or dcba.) S
3096 5640 P (-B) S 1357 J ( Autosense) S 60 J ( byte sex when reading.) S
3096 5964 P (-Q) S 1315 J ( Very) S 60 J ( Quiet. tar normally warns of any garbled) S
4680 6228 P (sections that it skipped; this turns off those) S
4680 6492 P (warnings also.) S
3096 6816 P (-W) S 1264 J ( Warnings.) S 60 J ( Show just the files that can't be) S
4680 7080 P (extracted to OS/2 or NT because of their file types.) S
4680 7344 P (\(Always shown in bright red.\)) S
3096 7668 P (-Z) S 1344 J ( Suppress) S 60 J ( writing the trailing blocks of zeros) S
4680 7932 P (normally written following the last of the) S
4680 8196 P (segments extracted with the -C option. \(Useful for) S
4680 8460 P (concatenating segments extracted from several) S
4680 8724 P (separate archives.\)) S
2520 9372 P (File Format:) S
2952 9876 P (Tar) S 101 J ( files) S 102 J ( are) S 101 J ( organized) S 102 J ( as) S 101 J ( a) S 102 J ( series) S 101 J ( of) S 102 J ( 512-byte) S 101 J ( blocks.) S 102 J ( Individual) S
2952 10140 P (files) S 155 J ( always start on a block boundary with a header block) S
2952 10404 P (followed) S 83 J ( by) S 84 J ( the) S 83 J ( uncompressed) S 84 J ( data) S 83 J ( in) S 84 J ( the) S 83 J ( file.) S 84 J ( ) S 83 J ( At the end of the) S
2952 10668 P (file) S 99 J ( are) S 100 J ( two) S 99 J ( blocks) S 100 J ( filled) S 99 J ( with) S 100 J ( binary) S 99 J ( zeros.) S 100 J ( ) S 99 J ( The) S 100 J ( header has the) S
2952 10932 P (following) S 60 J ( format:) S
3528 11436 P 0 12 F 0 10 F (typedef) S 120 J ( struct {) S
3528 11700 P ( char name[100],) S
3528 11964 P ( mode[8],) S
3528 12228 P ( userid[8],) S
3528 12492 P ( groupid[8],) S
3528 12756 P ( filesize[12],) S
3528 13020 P ( timestamp[12],) S
3528 13284 P ( checksum[8],) S
3528 13548 P ( linkflag,) S
3528 13812 P ( linkname[100];) S
3528 14076 P ( unused_chars[255];) S
3528 14340 P ( } header;) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (244) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3312 1704 P 0 12 F 26 12 F (Everything) S 65 J ( is) S 66 J ( in) S 65 J ( ascii) S 66 J ( with) S 65 J ( nulls) S 66 J ( and) S 65 J ( spaces) S 66 J ( to) S 65 J ( punctuate) S 66 J ( the) S 65 J ( fields.) S
3312 1968 P (Numbers) S 63 J ( are) S 64 J ( always) S 63 J ( in) S 64 J ( octal.) S 63 J ( ) S 64 J ( The) S 63 J ( mode,) S 64 J ( user) S 63 J ( and) S 64 J ( group ids aren't) S
3312 2232 P (meaningful) S 66 J ( on) S 67 J ( OS/2 and NT and are ignored when extracting and) S
3312 2496 P (just) S 124 J ( filled) S 125 J ( in) S 124 J ( with read/write for owner, owned by root when) S
3312 2760 P (adding.) S 105 J ( ) S 106 J ( The) S 105 J ( timestamp) S 106 J ( is) S 105 J ( in) S 106 J ( seconds) S 105 J ( since) S 106 J ( Jan) S 105 J ( 1) S 106 J ( 00:00:00 GMT) S
3312 3024 P (1970.) S 80 J ( ) S 81 J ( The) S 80 J ( checksum) S 81 J ( is calculated as if the field contained spaces.) S
3312 3288 P (The) S 66 J ( linkflag tells the file type, reported in the long listing as one of) S
3312 3552 P (the) S 60 J ( following:) S
3456 4056 P (-) S 496 J ( Normal) S 60 J ( File) S
3456 4380 P (D) S 390 J ( Directory) S
3456 4704 P (L) S 429 J ( Link) S 60 J ( \(not a separate file, just another name for one that) S
4032 4968 P (already exists\)) S
3456 5292 P (S) S 450 J ( Symbolic) S 60 J ( Link) S
3456 5616 P (C) S 406 J ( Character) S 60 J ( Device) S
3456 5940 P (B) S 429 J ( Block) S 60 J ( Device) S
3456 6264 P (F) S 443 J ( FIFO) S
3312 6912 P (Under) S 99 J ( OS/2) S 100 J ( and) S 99 J ( NT,) S 100 J ( only) S 99 J ( the) S 100 J ( normal) S 99 J ( files) S 100 J ( and directories have) S
3312 7176 P (any) S 68 J ( meaning.) S 69 J ( ) S 68 J ( Directories) S 69 J ( are highlighted. The other file types are) S
3312 7440 P (reported) S 60 J ( in bright red but otherwise ignored.) S
2880 7944 P (Colors:) S
3312 8448 P (You) S 142 J ( may) S 143 J ( set your own choices for screen colors using these) S
3312 8712 P (environmental) S 60 J ( variables:) S
3312 9216 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
3312 9600 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
3312 9864 P 0 12 F 26 12 F B (DIRECTORIES) S E 0 12 F 26 12 F () S 310 J ( Directories) S 2148 J ( Bright) S
3312 10128 P 0 12 F 26 12 F B (FOREIGNFILES) S E 0 12 F 26 12 F () S 203 J ( Filetypes) S 60 J ( not supported) S 782 J ( Bright) S 60 J ( Red) S
3312 10392 P () S 2016 J ( ) S 60 J ( by OS/2 and NT) S
3312 10856 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
3312 11120 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
3312 11384 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
3312 11648 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
3312 11912 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
3312 12176 P (all) S 60 J ( upper case.) S
3312 12680 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
3312 12944 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
3312 13208 P (and) S 186 J ( inherits the color underneath it. ) S 0 12 F 26 12 F B (DIRECTORIES) S E 0 12 F 26 12 F () S 186 J ( and) S
3312 13472 P 0 12 F 26 12 F B (FOREIGNFILES) S E 0 12 F 26 12 F () S 60 J ( inherit from ) S 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (245) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (tee:) S 1014 J ( Copy) S 67 J ( Stdin to Stdout and to Each File Specified) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( tee [ -a- ] file1 [ file2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (tee) S E 0 12 F 26 12 F () S 123 J ( is) S 124 J ( a) S 123 J ( ``pipe-fitting'') S 124 J ( utility) S 123 J ( for snapshotting the data passing) S
2952 2976 P (through) S 60 J ( the middle of a pipeline.) S
2520 3480 P (Options:) S
3096 3984 P (-a) S 376 J ( Append) S 60 J ( to any output files that already exist instead of) S
3672 4248 P (truncating and overwriting them.) S
3096 4572 P (-h) S 356 J ( Help.) S
3096 4896 P (--) S 416 J ( End) S 60 J ( of Options.) S
1800 5700 P 0 12 F 8 12 F B (touch:) S 706 J ( Create) S 67 J ( File or Set Modification Time) S E
2520 6204 P 0 12 F 26 12 F (Usage:) S 60 J ( touch [-rfc-] [ mmddhhmm[yy] ] pathname1 [ pathname2 ... ]) S
2952 6708 P 0 12 F 26 12 F B (touch) S E 0 12 F 26 12 F () S 81 J ( sets) S 82 J ( the) S 81 J ( timestamp) S 82 J ( on) S 81 J ( a file to the current or specified date) S
2952 6972 P (and) S 60 J ( time. If the file doesn't exist, the normal action is to create it.) S
2952 7476 P (The) S 156 J ( OS/2) S 157 J ( 1.1) S 156 J ( kernel) S 157 J ( ignores) S 156 J ( attempts) S 157 J ( to change a directory) S
2952 7740 P (timestamp.) S
2520 8244 P (Options:) S
3096 8748 P (mmddhhmmyy) S 616 J ( Month,) S 60 J ( Day, Hour, Minutes and Year in) S
5400 9012 P (decimal.) S
3096 9336 P (-r) S 401 J ( Recursively) S 60 J ( touch contents of directories.) S
3096 9660 P (-f) S 416 J ( Force) S 60 J ( Read-only files to be touched also.) S
3096 9984 P (-c) S 389 J ( File) S 60 J ( is Not created if it doesn't already exist.) S
3096 10308 P (-h) S 356 J ( Help.) S
3096 10632 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (246) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (tr:) S 67 J ( Translate Characters Filter) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( tr [-cdsnh-] [ string1 [string2] ]) S
3312 2712 P 0 12 F 26 12 F B (tr) S E 0 12 F 26 12 F () S 109 J ( is used to perform simple character substitutions as it copies) S
3312 2976 P (data) S 117 J ( from) S 118 J ( stdin) S 117 J ( to) S 118 J ( stdout.) S 117 J ( ) S 118 J ( Individual) S 117 J ( characters) S 118 J ( in) S 117 J ( string1) S 118 J ( are) S
3312 3240 P (mapped) S 65 J ( to) S 66 J ( the) S 65 J ( corresponding) S 66 J ( characters) S 65 J ( of) S 66 J ( string2.) S 65 J ( If) S 66 J ( string2) S 65 J ( is) S 66 J ( too) S
3312 3504 P (short,) S 60 J ( it) S 61 J ( is) S 60 J ( padded) S 61 J ( by) S 60 J ( duplicating) S 61 J ( its) S 60 J ( last character. In either string,) S
3312 3768 P (the minus sign can be used to indicate a range of characters.) S
3312 4272 P (Here's) S 61 J ( an) S 62 J ( example) S 61 J ( which creates a list of all the words in file1, one) S
3312 4536 P (per) S 106 J ( line,) S 107 J ( in) S 106 J ( file2, where a word is taken as a maximal string of) S
3312 4800 P (alphabetics.) S 91 J ( ) S 92 J ( \(The) S 91 J ( ^n) S 92 J ( character) S 91 J ( is) S 92 J ( expanded) S 91 J ( by) S 92 J ( the) S 91 J ( C shell into a) S
3312 5064 P (newline) S 60 J ( character.\)) S
3888 5568 P 0 12 F 0 10 F (%) S 120 J ( tr -csn A-Za-z ^n <file1 >file2) S
2880 6032 P 0 12 F 26 12 F (Options:) S
3456 6536 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
3456 6860 P (-c) S 389 J ( Complement) S 60 J ( the set of characters in string1.) S
3456 7184 P (-d) S 349 J ( Delete) S 60 J ( any occurrences of the characters in string1. \(If) S
4032 7448 P (present, string2 is ignored.\)) S
3456 7772 P (-s) S 394 J ( Squeeze) S 60 J ( all strings of repeated output characters in string2) S
4032 8036 P (to single characters.) S
3456 8360 P (-n) S 356 J ( Normalize) S 60 J ( line endings. Ensure that every line ends with) S
4032 8624 P (\\r\\n. Fixup any \\r or \\n by itself or any reversed \\n\\r) S
4032 8888 P (character pair. When squeezing, normalization also causes) S
4032 9152 P (repeated \\r\\n sequences to be squeezed if either \\r or \\n is) S
4032 9416 P (in string2.) S
3456 9740 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (247) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (unhash:) S 506 J ( Turn) S 67 J ( off Path Hashing) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( unhash [-h-]) S
2952 2712 P (Normally,) S 68 J ( a) S 69 J ( hashing mechanism is used in an attempt to speed up) S
2952 2976 P (searches) S 135 J ( of) S 136 J ( the) S 135 J ( path) S 136 J ( directories.) S 135 J ( If you're performing system) S
2952 3240 P (administration) S 70 J ( work,) S 71 J ( moving) S 70 J ( files) S 71 J ( in) S 70 J ( the path directories, the hash) S
2952 3504 P (mechanism) S 61 J ( may) S 62 J ( not always reflect the latest changes you've made.) S
2952 3768 P (The) S 113 J ( ) S 0 12 F 26 12 F B (unhash) S E 0 12 F 26 12 F () S 114 J ( command can be used to turn hashing off, setting) S
2952 4032 P (nohashing) S 60 J ( = 1.) S
2952 4536 P (\(See also the ) S 0 12 F 26 12 F B (rehash) S E 0 12 F 26 12 F () S 60 J ( and ) S 0 12 F 26 12 F B (hashstat) S E 0 12 F 26 12 F () S 60 J ( commands.\)) S
2520 5040 P (Options:) S
3096 5544 P (-h) S 356 J ( Help.) S
3096 5868 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (248) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (uniq:) S 852 J ( Report) S 67 J ( unique lines in text files) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( uniq [-hbcdiuw-] [ file1 file2 ...]) S
3312 2712 P 0 12 F 26 12 F B (uniq) S E 0 12 F 26 12 F () S 95 J ( does) S 96 J ( a quick, simple string comparison of adjacent lines in) S
3312 2976 P (text) S 97 J ( files,) S 98 J ( normally) S 97 J ( just) S 98 J ( discarding) S 97 J ( any) S 98 J ( duplicates) S 97 J ( as it copies its) S
3312 3240 P (input) S 60 J ( to stdout.) S
3312 3744 P (There) S 88 J ( are) S 89 J ( some) S 88 J ( ) S 0 12 F 26 12 F B (diff) S E 0 12 F 26 12 F (-style) S 89 J ( options) S 88 J ( for ignoring upper-/lower-case) S
3312 4008 P (differences) S 110 J ( or) S 111 J ( treating) S 110 J ( white) S 111 J ( spaces of any length as equal, etc.) S
3312 4272 P (Also,) S 64 J ( you) S 65 J ( can) S 64 J ( optionally) S 65 J ( choose) S 64 J ( to) S 65 J ( list) S 64 J ( only) S 65 J ( the) S 64 J ( lines) S 65 J ( that) S 64 J ( occur) S 65 J ( just) S
3312 4536 P (once) S 60 J ( or only those that have duplicates.) S
3312 5040 P (If) S 112 J ( several) S 113 J ( files are given, the effect is the same as if they were) S
3312 5304 P (pasted) S 60 J ( together, one right after another into one long file.) S
2880 5808 P (Options:) S
3456 6312 P (-h) S 356 J ( Help.) S
3456 6636 P (-b) S 363 J ( Blank) S 60 J ( spaces of any length compare equal. Ignore any) S
4032 6900 P (leading or trailing white space on each line.) S
3456 7224 P (-c) S 389 J ( Preface) S 60 J ( each line with a count of the number of times it) S
4032 7488 P (occurred.) S
3456 7812 P (-d) S 349 J ( Duplicates.) S 60 J ( Only the lines which have at least one duplicate) S
4032 8076 P (are reported.) S
3456 8400 P (-i) S 426 J ( Ignore) S 60 J ( character case.) S
3456 8724 P (-u) S 351 J ( Unique) S 60 J ( lines. Only the lines which occur only once are) S
4032 8988 P (reported.) S
3456 9312 P (-w) S 296 J ( White) S 60 J ( space is ignored totally.) S
3456 9636 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 10440 P 0 12 F 8 12 F B (verify:) S 721 J ( Turn) S 67 J ( Write Verification Mode On or Off) S E
2880 10944 P 0 12 F 26 12 F (Usage:) S 60 J ( verify [-h-] [ mode ]) S
3312 11448 P (When) S 135 J ( verification) S 136 J ( mode is turned on, the system will always) S
3312 11712 P (verify) S 72 J ( that) S 73 J ( any) S 72 J ( data) S 73 J ( written) S 72 J ( to) S 73 J ( a) S 72 J ( disk) S 73 J ( can) S 72 J ( be) S 73 J ( read) S 72 J ( back.) S 73 J ( The mode) S
3312 11976 P (can) S 63 J ( be) S 64 J ( specified) S 63 J ( as) S 64 J ( 0) S 63 J ( or) S 64 J ( off, the default, or 1 or on. If no arguments) S
3312 12240 P (are) S 113 J ( given,) S 114 J ( ) S 0 12 F 26 12 F B (verify) S E 0 12 F 26 12 F () S 113 J ( simply) S 114 J ( reports the current mode. Under NT,) S
3312 12504 P (verify) S 60 J ( is always on.) S
2880 13008 P (Options:) S
3456 13512 P (-h) S 356 J ( Help.) S
3456 13836 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (249) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (vol:) S 1013 J ( List) S 67 J ( Volume Labels) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( vol [-ach] [ disk1 disk2 ... ]) S
2952 2712 P 0 12 F 26 12 F B (vol) S E 0 12 F 26 12 F () S 85 J ( reports) S 86 J ( the) S 85 J ( volume) S 86 J ( label information on each of the specified) S
2952 2976 P (disks.) S 117 J ( ) S 118 J ( If) S 117 J ( no disks are specified, ) S 0 12 F 26 12 F B (vol) S E 0 12 F 26 12 F () S 117 J ( looks for a ) S 0 12 F 26 12 F B (DRIVEMASK) S E
2952 3240 P 0 12 F 26 12 F (environmental) S 74 J ( variable) S 75 J ( that) S 74 J ( can) S 75 J ( be used to mask off just the drive) S
2952 3504 P (you) S 113 J ( want reported. The ) S 0 12 F 26 12 F B (DRIVEMASK) S E 0 12 F 26 12 F () S 113 J ( is specified as a list of) S
2952 3768 P (drive) S 124 J ( letters;) S 125 J ( ranges) S 124 J ( are) S 125 J ( allowed.) S 124 J ( ) S 125 J ( Otherwise,) S 124 J ( all the partitions) S
2952 4032 P (beginning) S 198 J ( with) S 199 J ( c:) S 198 J ( are reported. The current disk's label) S
2952 4296 P (information) S 60 J ( is highlighted.) S
2952 4800 P (This) S 62 J ( command) S 63 J ( is) S 62 J ( normally) S 63 J ( stored) S 62 J ( in) S 63 J ( the) S 62 J ( file) S 63 J ( vl.exe) S 62 J ( and invoked via) S
2952 5064 P (an) S 73 J ( alias) S 74 J ( so) S 73 J ( it) S 74 J ( can) S 73 J ( be) S 74 J ( used) S 73 J ( from) S 74 J ( cmd.exe) S 73 J ( without) S 74 J ( colliding) S 73 J ( with) S 74 J ( the) S
2952 5328 P (internal) S 60 J ( cmd.exe ) S 0 12 F 26 12 F B (vol) S E 0 12 F 26 12 F () S 60 J ( function.) S
2520 5832 P (Options:) S
3096 6336 P (-a) S 376 J ( If) S 60 J ( no disks are specified, report on all disks.) S
3096 6660 P (-c) S 389 J ( If) S 60 J ( no disks are specified, report on just the current disk.) S
3096 6984 P (-h) S 356 J ( Help.) S
3096 7308 P (--) S 416 J ( End) S 60 J ( of options.) S
2520 7632 P (Colors:) S
2952 8136 P (You) S 142 J ( may) S 143 J ( set your own choices for screen colors using these) S
2952 8400 P (environmental) S 60 J ( variables:) S
2952 8904 P LU (Name) S 1370 J ( Use) S 2908 J ( Default) S LE
2952 9288 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F () S 976 J ( Normal) S 60 J ( screen colors) S 1055 J ( White) S 60 J ( on Black) S
2952 9552 P 0 12 F 26 12 F B (HIGHLIGHT) S E 0 12 F 26 12 F () S 523 J ( Current) S 60 J ( disk) S 1962 J ( Bright) S
2952 10016 P (Colors) S 78 J ( recognized are black, red, green, yellow, blue, magenta \(or) S
2952 10280 P (red) S 87 J ( blue\),) S 88 J ( cyan) S 87 J ( \(or) S 88 J ( blue green\) or white. Foreground colors may) S
2952 10544 P (also) S 99 J ( be) S 100 J ( bright) S 99 J ( or) S 100 J ( blink.) S 99 J ( ) S 100 J ( The) S 99 J ( names of the colors and the words) S
2952 10808 P (bright,) S 64 J ( blink) S 65 J ( and) S 64 J ( on) S 65 J ( may) S 64 J ( be) S 65 J ( in) S 64 J ( either) S 65 J ( upper or lower or mixed case) S
2952 11072 P (but) S 79 J ( the) S 80 J ( names) S 79 J ( of) S 80 J ( the) S 79 J ( environmental variables themselves must be) S
2952 11336 P (all) S 60 J ( upper case.) S
2952 11840 P (Either) S 132 J ( or) S 133 J ( both) S 132 J ( the) S 133 J ( foreground) S 132 J ( and background colors may be) S
2952 12104 P (specified;) S 85 J ( if) S 86 J ( you) S 85 J ( don't specify a value, it's considered transparent) S
2952 12368 P (and) S 86 J ( inherits) S 87 J ( the) S 86 J ( color) S 87 J ( underneath) S 86 J ( it.) S 87 J ( ) S 0 12 F 26 12 F B (HIGHLIGHT) S E 0 12 F 26 12 F () S 87 J ( inherits from) S
2952 12632 P 0 12 F 26 12 F B (COLORS) S E 0 12 F 26 12 F (.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (250) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
2160 1704 P B (wait:) S 893 J ( Wait) S 67 J ( for Children to Complete) S E
2880 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( wait [-h-]) S
3312 2712 P (Sleep until) S 61 J ( a) S 60 J ( child thread or process completes or until an interrupt) S
3312 2976 P (occurs.) S
2880 3480 P (Options:) S
3456 3984 P (-h) S 356 J ( Help.) S
3456 4308 P (--) S 416 J ( End) S 60 J ( of options.) S
2160 5112 P 0 12 F 8 12 F B (wc:) S 1040 J ( Count) S 67 J ( Words \(and lines and characters\)) S E
2880 5616 P 0 12 F 26 12 F (Usage:) S 60 J ( wc [ -lwr ] [ file1 file2 ... ]) S
3312 6120 P 0 12 F 26 12 F B (wc) S E 0 12 F 26 12 F () S 82 J ( prints) S 83 J ( counts) S 82 J ( all) S 83 J ( the) S 82 J ( lines, words and/or characters in each of) S
3312 6384 P (the) S 114 J ( files) S 115 J ( specified,) S 114 J ( and) S 115 J ( totals) S 114 J ( for) S 115 J ( the) S 114 J ( whole) S 115 J ( list.) S 114 J ( ) S 115 J ( If) S 114 J ( no) S 115 J ( files) S 114 J ( are) S
3312 6648 P (specified,) S 60 J ( it counts stdin.) S
2880 7152 P (Options:) S
3456 7656 P (-l) S 426 J ( Count) S 60 J ( lines) S
3456 7980 P (-w) S 296 J ( Count) S 60 J ( words) S
3456 8304 P (-c) S 389 J ( Count) S 60 J ( characters) S
3456 8628 P (-h) S 356 J ( Help.) S
3456 8952 P (--) S 416 J ( End) S 60 J ( of options.) S
3312 9516 P (The default is -lwc.) S
2160 10260 P 0 12 F 8 12 F B (whereis:) S 467 J ( Find) S 67 J ( where executable files are located) S E
2880 10764 P 0 12 F 26 12 F (Usage:) S 60 J ( whereis command) S
3312 11268 P 0 12 F 26 12 F B (whereis) S E 0 12 F 26 12 F () S 65 J ( is) S 66 J ( a) S 65 J ( self-loading) S 66 J ( procedure) S 65 J ( that searches all the directories) S
3312 11532 P (on the) S 196 J ( path,) S 195 J ( looking) S 196 J ( for) S 195 J ( a) S 196 J ( .csh,) S 195 J ( .exe, .com, or .cmd file) S
3312 11796 P (corresponding) S 130 J ( to) S 131 J ( the) S 130 J ( command specified. All occurrences are) S
3312 12060 P (printed.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (251) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
1800 1704 P B (xd:) S 1080 J ( Hex) S 67 J ( dump a file to Stdout) S E
2520 2208 P 0 12 F 26 12 F (Usage:) S 60 J ( xd [-hbwlFD Zdxor nNq-] [-r<radix>]) S
2520 2472 P () S 720 J ( [-O) S 60 J ( <offset>] [-E <endset>]) S
2520 2736 P () S 720 J ( [-L[<items>]]) S 60 J ( [ file1 file2 ... ]) S
2952 3240 P 0 12 F 26 12 F B (xd) S E 0 12 F 26 12 F () S 142 J ( dumps) S 143 J ( its) S 142 J ( input, presumed to be in binary, in variety of) S
2952 3504 P (formats,) S 70 J ( the) S 71 J ( default) S 70 J ( being hex. If more than one file is given, each) S
2952 3768 P (is) S 102 J ( dumped) S 103 J ( in) S 102 J ( sequence.) S 103 J ( ) S 102 J ( If) S 103 J ( no) S 102 J ( files) S 103 J ( are) S 102 J ( specified,) S 103 J ( ) S 0 12 F 26 12 F B (xd) S E 0 12 F 26 12 F () S 102 J ( reads) S 103 J ( from) S
2952 4032 P (stdin.) S 91 J ( ) S 92 J ( Sequences) S 91 J ( of) S 92 J ( lines) S 91 J ( containing the same data are collapsed) S
2952 4296 P (out) S 60 J ( and replaced by an asterisk.) S
2520 4800 P (Options:) S
3096 5304 P (-h) S 356 J ( Help.) S 60 J ( \(This screen.\)) S
2520 5952 P (Basic display formats:) S
3096 6456 P (-b) S 363 J ( Bytes.) S 60 J ( \(Default.\)) S
3096 6780 P (-w) S 296 J ( 16-bit) S 60 J ( words.) S
3096 7104 P (-l) S 426 J ( 32-bit) S 60 J ( long words.) S
3096 7428 P (-F) S 363 J ( Short) S 60 J ( 4-byte floating point. Floating point values are) S
3672 7692 P (always displayed in decimal.) S
3096 8016 P (-D) S 310 J ( Double-precision) S 60 J ( 8-byte floating point.) S
3096 8340 P (-Z) S 336 J ( Suppress) S 60 J ( leading zeros. Normally, leading zeros are shown) S
3672 8604 P (except when displaying in decimal.) S
2520 9252 P (Radix to be used for offsets and data:) S
3096 9756 P (-d) S 349 J ( Decimal) S 60 J ( \(unsigned\).) S
3096 10080 P (-x) S 372 J ( Hex.) S
3096 10404 P (-o) S 365 J ( Octal.) S
3096 10728 P () S 60 J ( -r<radix>) S 503 J ( User-specified) S 60 J ( radix. If a radix < 8 is chosen,) S
4680 10992 P (offsets are always shown in hex.) S
2520 11640 P (Other options:) S
3096 12144 P (-O <offset>) S 379 J ( Offset) S 60 J ( at which to begin dumping.) S
3096 12468 P (-E <endset>) S 310 J ( Offset) S 60 J ( at which to stop dumping.) S
3096 12792 P (-L[<items>]) S 330 J ( Number) S 60 J ( of items \(bytes, words, etc.\) to dump. If) S
4680 13056 P (-L is specified, the default is one.) S
3096 13380 P (-n) S 356 J ( No) S 60 J ( ascii column.) S
3096 13704 P (-N) S 297 J ( No) S 60 J ( offset column.) S
3096 14028 P (-q) S 362 J ( Quiet) S 60 J ( mode. Don't announce the name of each file as it's) S
3672 14292 P (read.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (252) S 0 12 F
PE
10620 984 P 8 12 F B (Help) S E
3456 1704 P 0 12 F 26 12 F (-v) S 360 J ( Verbose.) S 60 J ( Show lines of repeated data.) S
3456 2028 P (--) S 416 J ( End) S 60 J ( of options.) S
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (253) S 0 12 F
PE
720 984 P 8 12 F B (Help) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (254) S 0 12 F
PE
10513 984 P 8 12 F B (Index) S E
5754 1800 P 0 12 F 8 14 F B (Index) S E
1800 2544 P 0 12 F 26 10 F (!) S 50 J ( ) S 564 J ( 49,) S 50 J ( 76, 78, 144, 145, 161, 168) S
6480 2544 P (-- ) S 486 J ( 76,) S 50 J ( 77, 145) S
1800 2808 P (!! ) S 508 J ( 49,) S 50 J ( 50, 130, 151, 165) S
6480 2808 P (-= ) S 432 J ( 76,) S 50 J ( 145) S
1800 3072 P (!$ ) S 464 J ( 151) S
6480 3072 P (-A) S 50 J ( ) S 397 J ( 76,) S 50 J ( 145, 146) S
1800 3336 P (!* ) S 486 J ( 151) S
6480 3336 P (-D) S 50 J ( ) S 398 J ( 76,) S 50 J ( 77, 145, 146) S
1800 3600 P (!-1 ) S 397 J ( 130,) S 50 J ( 165) S
6480 3600 P (-e ) S 457 J ( 76,) S 50 J ( 77, 124, 145, 146) S
1800 3864 P (!-n ) S 381 J ( 151) S
6480 3864 P (-f) S 50 J ( ) S 486 J ( 76,) S 50 J ( 145, 146) S
1800 4128 P (!= ) S 443 J ( 76,) S 50 J ( 79, 145) S
6480 4128 P (-H ) S 387 J ( 76,) S 50 J ( 145, 146) S
1800 4392 P (!? ) S 475 J ( 51,) S 50 J ( 67, 151) S
6480 4392 P (-h option ) S 530 J ( 27,) S 50 J ( 175, 178) S
1800 4656 P (!^ ) S 443 J ( 151) S
6480 4656 P (-L) S 50 J ( ) S 431 J ( 8,) S 50 J ( 112) S
1800 4920 P (!~ ) S 443 J ( 76,) S 50 J ( 79, 145, 148) S
6480 4920 P (-o ) S 444 J ( 76,) S 50 J ( 145, 146) S
1800 5184 P (!n ) S 448 J ( 151) S
6480 5184 P (-R) S 50 J ( ) S 419 J ( 145,) S 50 J ( 146) S
1800 5448 P (!str ) S 335 J ( 151) S
6480 5448 P (-S) S 50 J ( ) S 448 J ( 76,) S 50 J ( 145, 146) S
1800 5712 P (# ) S 499 J ( 133,) S 50 J ( 143) S
6480 5712 P (-w ) S 386 J ( 76,) S 50 J ( 145, 146) S
1800 5976 P (#!/bin/csh ) S 346 J ( 134) S
6480 5976 P (-x) S 50 J ( 76, 89, 145, 146) S
1800 6240 P ($ ) S 520 J ( 56,) S 50 J ( 68, 160, 165) S
6480 6240 P (-z ) S 453 J ( 76,) S 50 J ( 145, 146) S
1800 6504 P ($# ) S 399 J ( 153) S
6480 6504 P (...) S 50 J ( ) S 470 J ( 63,) S 50 J ( 148) S
1800 6768 P ($* ) S 442 J ( 153) S
6480 6768 P (.cshrc) S 50 J ( ) S 112 J ( 134) S
1800 7032 P ($<) S 50 J ( ) S 399 J ( 153) S
6480 7032 P (.history) S 50 J ( ) S 667 J ( 134) S
1800 7296 P ($?) S 50 J ( ) S 431 J ( 153) S
6480 7296 P (.login) S 50 J ( ) S 118 J ( 134) S
1800 7560 P (${) S 50 J ( } ) S 336 J ( 56) S
6480 7560 P (.logout) S 50 J ( ) S 717 J ( 134) S
1800 7824 P ($0) S 50 J ( .. $9 ) S 20 J ( 97,) S 50 J ( 153) S
6480 7824 P (/ ) S 499 J ( 76,) S 50 J ( 145) S
1800 8088 P (% ) S 452 J ( 52,) S 50 J ( 68, 76, 78, 145, 151) S
6480 8088 P (// ) S 378 J ( 76,) S 50 J ( 78, 145) S
1800 8352 P (%% ) S 284 J ( 52,) S 50 J ( 173) S
6480 8352 P (//= ) S 257 J ( 145) S
1800 8616 P (%=) S 50 J ( ) S 331 J ( 76,) S 50 J ( 145) S
6480 8616 P (/= ) S 378 J ( 76,) S 50 J ( 145) S
1800 8880 P (%c ) S 363 J ( 173) S
6480 8880 P (/K) S 50 J ( "%*" ) S 630 J ( 112) S
1800 9144 P (%d) S 50 J ( ) S 330 J ( 173) S
6480 9144 P (:#) S 50 J ( ) S 449 J ( 132,) S 50 J ( 154) S
1800 9408 P (%e ) S 356 J ( 173) S
6480 9408 P (:$) S 50 J ( ) S 470 J ( 67,) S 50 J ( 154) S
1800 9672 P (%f ) S 385 J ( 173) S
6480 9672 P (:%) S 50 J ( ) S 402 J ( 67,) S 50 J ( 154) S
1800 9936 P (%g ) S 341 J ( 173) S
6480 9936 P (:&) S 50 J ( ) S 414 J ( 154) S
1800 10200 P (%o) S 50 J ( ) S 343 J ( 173) S
6480 10200 P (:*) S 50 J ( ) S 492 J ( 67,) S 50 J ( 154) S
1800 10464 P (%s ) S 367 J ( 173) S
6480 10464 P (:^) S 50 J ( ) S 449 J ( 67,) S 50 J ( 154) S
1800 10728 P (%x ) S 349 J ( 173) S
6480 10728 P (:b) S 50 J ( ) S 459 J ( 132,) S 50 J ( 155) S
1800 10992 P (& ) S 464 J ( 68,) S 50 J ( 75, 76, 79, 104, 144, 145) S
6480 10992 P (:e ) S 474 J ( 155) S
1800 11256 P (&&) S 50 J ( ) S 308 J ( 75,) S 50 J ( 80, 85, 86, 126, 127, 144, 145) S
6480 11256 P (:f ) S 503 J ( 155) S
1800 11520 P (&=) S 50 J ( ) S 343 J ( 76,) S 50 J ( 145) S
6480 11520 P (:g... ) S 309 J ( 68,) S 50 J ( 154) S
1800 11784 P (\( \) ) S 436 J ( 75,) S 50 J ( 76, 144, 145) S
6480 11784 P (:h ) S 454 J ( 68,) S 50 J ( 155) S
1800 12048 P (* ) S 542 J ( 61,) S 50 J ( 76, 145, 148, 163, 165) S
6480 12048 P (:n ) S 454 J ( 67,) S 50 J ( 154) S
1800 12312 P (** ) S 464 J ( 76,) S 50 J ( 78, 131, 145) S
6480 12312 P (:n* ) S 376 J ( 154) S
1800 12576 P (**=) S 50 J ( ) S 343 J ( 76,) S 50 J ( 131, 145) S
6480 12576 P (:n- ) S 387 J ( 154) S
1800 12840 P (*=) S 50 J ( ) S 421 J ( 76,) S 50 J ( 145) S
6480 12840 P (:n-m ) S 210 J ( 67,) S 50 J ( 154) S
1800 13104 P (+ ) S 499 J ( 76,) S 50 J ( 145) S
6480 13104 P (:p 67, 69, 154) S
1800 13368 P (++ ) S 378 J ( 76,) S 50 J ( 77, 145) S
6480 13368 P (:q ) S 458 J ( 69,) S 50 J ( 154) S
1800 13632 P (+= ) S 378 J ( 76,) S 50 J ( 145) S
6480 13632 P (:r ) S 491 J ( 155) S
1800 13896 P (-) S 50 J ( ) S 553 J ( 76,) S 50 J ( 145) S
6480 13896 P (:s/str1/str2/ ) S 184 J ( 68,) S 50 J ( 154) S
1800 14160 P (-! option ) S 590 J ( 15,) S 50 J ( 36) S
6480 14160 P (:t ) S 505 J ( 155) S
5781 15384 P (Page) S 50 J ( ) S (255) S 0 12 F
PE
720 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (:x) S 50 J ( ) S 467 J ( 69,) S 50 J ( 154) S
6480 1704 P (| ) S 499 J ( 43,) S 50 J ( 75, 76, 79, 144, 145) S
1800 1968 P (< ) S 499 J ( 75,) S 50 J ( 76, 79, 144, 145, 163, 165) S
6480 1968 P (|& ) S 343 J ( 43,) S 50 J ( 144) S
1800 2232 P (<< ) S 378 J ( 45,) S 50 J ( 75, 76, 77, 144, 145) S
6480 2232 P (|= ) S 378 J ( 76,) S 50 J ( 145) S
1800 2496 P (<<= ) S 257 J ( 76,) S 50 J ( 145) S
6480 2496 P (|| ) S 378 J ( 75,) S 50 J ( 80, 85, 126, 127, 144, 145) S
1800 2760 P (<= ) S 378 J ( 76,) S 50 J ( 79, 145) S
6480 2760 P (~ ) S 499 J ( 61,) S 50 J ( 76, 78, 145) S
1800 3024 P (<DownArrow> ) S 681 J ( 25,) S 50 J ( 150) S
6480 3024 P (abs\(\) ) S 190 J ( 171) S
1800 3288 P (<End>) S 50 J ( ) S 18 J ( 25,) S 50 J ( 150) S
6480 3288 P (Absolute value ) S 1 J ( 171) S
1800 3552 P (<Esc>) S 50 J ( ) S 82 J ( 150) S
6480 3552 P (acos\(\)) S 50 J ( ) S 103 J ( 171) S
1800 3816 P (<Fx>) S 50 J ( ) S 164 J ( 142) S
6480 3816 P (ADDITIONS) S 50 J ( ) S 189 J ( 12,) S 50 J ( 115, 157, 165, 195) S
1800 4080 P (<Home> ) S 550 J ( 25,) S 50 J ( 150) S
6480 4080 P (Alias statement ) S 688 J ( 1,) S 80 J ( 14, 15, 24, 26, 34,) S
1800 4344 P (<Insert>) S 50 J ( ) S 590 J ( 25,) S 50 J ( 150) S
6912 4344 P (65,) S 97 J ( 66,) S 98 J ( 83,) S 97 J ( 84,) S 98 J ( 111,) S 97 J ( 113, 117, 129, 130,) S
1800 4608 P (<LeftArrow>) S 50 J ( ) S 158 J ( 25,) S 50 J ( 150) S
6912 4608 P (133, 140, 178, 179, 180, 181) S
1800 4872 P (<PageDown> ) S 123 J ( 150) S
6480 4872 P (Alt-<DownArrow>) S 50 J ( ) S 335 J ( 150) S
1800 5136 P (<PageUp>) S 50 J ( ) S 394 J ( 150) S
6480 5136 P (Alt-<End>) S 50 J ( ) S 392 J ( 150) S
1800 5400 P (<RightArrow>) S 50 J ( ) S 24 J ( 25,) S 50 J ( 150) S
6480 5400 P (Alt-<Enter> ) S 274 J ( 25,) S 50 J ( 151) S
1800 5664 P (<UpArrow> ) S 232 J ( 25,) S 50 J ( 150) S
6480 5664 P (Alt-<Fx> ) S 538 J ( 142) S
1800 5928 P (=) S 50 J ( ) S 499 J ( 76,) S 50 J ( 79, 145) S
6480 5928 P (Alt-<Home> ) S 204 J ( 150) S
1800 6192 P (=//) S 50 J ( ) S 257 J ( 76) S
6480 6192 P (Alt-<Insert>) S 50 J ( ) S 244 J ( 25,) S 50 J ( 150) S
1800 6456 P (== ) S 378 J ( 76,) S 50 J ( 79, 145) S
6480 6456 P (Alt-<LeftArrow> ) S 532 J ( 150) S
1800 6720 P (=~) S 50 J ( ) S 378 J ( 76,) S 50 J ( 79, 145, 148) S
6480 6720 P (Alt-<RightArrow> ) S 398 J ( 150) S
1800 6984 P (>) S 50 J ( ) S 499 J ( 41,) S 50 J ( 42, 53, 75, 76, 79, 144, 145) S
6480 6984 P (Alt-<UpArrow> ) S 606 J ( 150) S
1800 7248 P (>!) S 50 J ( ) S 443 J ( 42,) S 50 J ( 144) S
6480 7248 P (Alt-D ) S 119 J ( 26,) S 50 J ( 149) S
1800 7512 P (>& ) S 343 J ( 43,) S 50 J ( 144) S
6480 7512 P (Alt-F ) S 163 J ( 26,) S 50 J ( 149) S
1800 7776 P (>&! ) S 287 J ( 144) S
6480 7776 P (Alternation) S 50 J ( ) S 322 J ( 61,) S 50 J ( 63, 64, 79, 148) S
1800 8040 P (>= ) S 378 J ( 76,) S 50 J ( 79, 145) S
6480 8040 P (ANSI escapes ) S 125 J ( 17,) S 78 J ( 29,) S 79 J ( 44,) S 78 J ( 72,) S 79 J ( 132,) S 78 J ( 152, 172,) S
1800 8304 P (>>) S 50 J ( ) S 378 J ( 41,) S 50 J ( 42, 75, 76, 77, 144, 145) S
6912 8304 P (176, 196) S
1800 8568 P (>>! ) S 322 J ( 42,) S 50 J ( 144) S
6480 8568 P (ansi\(\) ) S 127 J ( 172) S
1800 8832 P (>>&) S 50 J ( ) S 222 J ( 144) S
6480 8832 P (app) S 50 J ( ) S 280 J ( 179) S
1800 9096 P (>>&!) S 50 J ( ) S 166 J ( 144) S
6480 9096 P (Append) S 50 J ( to a file ) S 627 J ( 144) S
1800 9360 P (>>=) S 50 J ( ) S 257 J ( 76,) S 50 J ( 145) S
6480 9360 P (arc ) S 352 J ( 39) S
1800 9624 P (?) S 50 J ( ) S 531 J ( 61,) S 50 J ( 148) S
6480 9624 P (Archive bit ) S 349 J ( 146) S
1800 9888 P (@) S 50 J ( statement ) S 276 J ( 58,) S 50 J ( 75, 140, 163, 165) S
6480 9888 P (args ) S 245 J ( 125) S
1800 10152 P ([) S 50 J ( ] ) S 436 J ( 75,) S 50 J ( 76, 130, 145) S
6480 10152 P (argv ) S 217 J ( 54,) S 73 J ( 71,) S 74 J ( 97,) S 73 J ( 98,) S 74 J ( 99, 123, 124, 125, 129,) S
1800 10416 P ([^a-z]) S 50 J ( ) S 98 J ( 148) S
6912 10416 P (153,) S 50 J ( 161, 163, 165) S
1800 10680 P ([a-z] ) S 219 J ( 148) S
6480 10680 P (Arrays) S 50 J ( ) S 10 J ( 1, 58) S
1800 10944 P (^ ) S 499 J ( 41,) S 50 J ( 52, 68, 72, 76, 79, 145, 152) S
6480 10944 P (asin\(\) ) S 127 J ( 171) S
1800 11208 P (^=) S 50 J ( ) S 378 J ( 76,) S 50 J ( 145) S
6480 11208 P (Assignment operators ) S 103 J ( 79,) S 50 J ( 145) S
1800 11472 P (^^ ) S 378 J ( 72,) S 50 J ( 152) S
6480 11472 P (atan\(\) ) S 105 J ( 171) S
1800 11736 P (^a) S 50 J ( ) S 399 J ( 72,) S 50 J ( 152) S
6480 11736 P (Attribute bits ) S 155 J ( 29) S
1800 12000 P (^b) S 50 J ( ) S 388 J ( 72,) S 50 J ( 152) S
6480 12000 P (Audible alert ) S 170 J ( 152) S
1800 12264 P (^C) S 50 J ( ) S 357 J ( 100,) S 50 J ( 101) S
6480 12264 P (aux port ) S 593 J ( 147) S
1800 12528 P (^f) S 50 J ( ) S 432 J ( 72,) S 50 J ( 152) S
6480 12528 P (Background activities ) S 143 J ( 55,) S 166 J ( 103,) S 167 J ( 104, 107,) S
1800 12792 P (^n) S 50 J ( ) S 383 J ( 72,) S 50 J ( 152) S
6912 12792 P (133, 144, 181) S
1800 13056 P (^r ) S 420 J ( 72,) S 50 J ( 152) S
6480 13056 P (Background colors ) S 401 J ( 116) S
1800 13320 P (^t) S 50 J ( ) S 434 J ( 72,) S 50 J ( 152) S
6480 13320 P (Backquotes ) S 330 J ( 44,) S 50 J ( 71, 152) S
1800 13584 P (^v ) S 386 J ( 72,) S 50 J ( 152) S
6480 13584 P (Backspace ) S 428 J ( 152) S
1800 13848 P (^Z) S 50 J ( ) S 366 J ( 38,) S 50 J ( 117) S
6480 13848 P (bad blocks ) S 394 J ( 204) S
1800 14112 P ({) S 50 J ( } ) S 436 J ( 145) S
6480 14112 P (Basic) S 50 J ( statements ) S 606 J ( 23,) S 50 J ( 137) S
1800 14376 P ({a,b}c ) S 136 J ( 148) S
6480 14376 P (beep) S 50 J ( ) S 197 J ( 179,) S 50 J ( 181) S
5781 15384 P (Page ) S (256) S 0 12 F
PE
10513 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (bell) S 50 J ( ) S 297 J ( 152) S
6480 1704 P (chgdisk) S 50 J ( ) S 648 J ( 117,) S 50 J ( 161, 166, 186) S
1800 1968 P (Berkeley 4.3 Buglist ) S 321 J ( 129) S
6480 1968 P (child) S 50 J ( ) S 177 J ( 163,) S 50 J ( 166) S
1800 2232 P (Berkeley Compatibility Mode ) S 163 J ( 129,) S 50 J ( 134) S
6480 2232 P (childpath\(\) ) S 362 J ( 171) S
1800 2496 P (Berkeley-style) S 50 J ( History ) S 86 J ( 118) S
6480 2496 P (chmod) S 50 J ( ) S 7 J ( 31,) S 50 J ( 32, 42, 176, 187, 228) S
1800 2760 P (bin ) S 335 J ( 11) S
6480 2760 P (Cipher) S 50 J ( Block Chaining ) S 43 J ( 192) S
1800 3024 P (binedit) S 50 J ( ) S 714 J ( 176,) S 50 J ( 185) S
6480 3024 P (cl.csh ) S 133 J ( 125) S
1800 3288 P (Bit) S 50 J ( And ) S 651 J ( 79,) S 50 J ( 145) S
6480 3288 P (Clear the screen ) S 647 J ( 175,) S 50 J ( 187) S
1800 3552 P (Bit Not ) S 705 J ( 78) S
6480 3552 P (clock$) S 50 J ( ) S 64 J ( 147) S
1800 3816 P (Bit) S 50 J ( Or ) S 89 J ( 79,) S 50 J ( 145) S
6480 3816 P (cls ) S 388 J ( 175,) S 50 J ( 187) S
1800 4080 P (Bit Shifting ) S 349 J ( 145) S
6480 4080 P (cmd.exe) S 50 J ( ) S 607 J ( 3,) S 71 J ( 4,) S 72 J ( 8,) S 71 J ( 14,) S 72 J ( 15,) S 71 J ( 23, 24, 26, 41,) S
1800 4344 P (Bit) S 50 J ( Xor ) S 4 J ( 79,) S 50 J ( 145) S
6912 4344 P (53,) S 58 J ( 56,) S 59 J ( 65,) S 58 J ( 83,) S 59 J ( 85,) S 58 J ( 112,) S 59 J ( 113, 117, 119, 125,) S
1800 4608 P (bits.csh) S 50 J ( ) S 681 J ( 125) S
6912 4608 P (133,) S 104 J ( 134, 137, 157, 166, 179, 181, 183,) S
1800 4872 P (BIX) S 50 J ( ) S 298 J ( 21) S
6912 4872 P (184,) S 50 J ( 186, 191, 213, 250) S
1800 5136 P (black ) S 151 J ( 116) S
6480 5136 P (Code) S 50 J ( Pages ) S 308 J ( 175,) S 50 J ( 187) S
1800 5400 P (Blindspots 132) S
6480 5400 P (code\(\) ) S 70 J ( 172) S
1800 5664 P (blink) S 50 J ( ) S 166 J ( 116) S
6480 5664 P (Colon) S 50 J ( operators ) S 634 J ( 67,) S 112 J ( 68,) S 113 J ( 69,) S 112 J ( 76,) S 113 J ( 154,) S
1800 5928 P (blue) S 50 J ( ) S 234 J ( 116) S
6912 5928 P (155) S
1800 6192 P (blue) S 50 J ( green ) S 406 J ( 116) S
6480 6192 P (COLORS) S 50 J ( ) S 523 J ( 4,) S 95 J ( 12, 17, 53, 115, 157, 166,) S
1800 6456 P (blue) S 50 J ( red ) S 607 J ( 116) S
6912 6456 P (172,) S 50 J ( 195, 205, 216, 219, 226, 245, 250) S
1800 6720 P (boot record ) S 322 J ( 197,) S 50 J ( 201, 204) S
6480 6720 P (colors.csh ) S 471 J ( 12,) S 50 J ( 17, 125) S
1800 6984 P (boot sector ) S 373 J ( 203) S
6480 6984 P (com1) S 50 J ( .. com7 ) S 190 J ( 147) S
1800 7248 P (break) S 50 J ( statement ) S 648 J ( 88,) S 50 J ( 138, 143) S
6480 7248 P (Comma operator ) S 548 J ( 76) S
1800 7512 P (breaksw) S 50 J ( ) S 591 J ( 130,) S 50 J ( 179) S
6480 7512 P (Command completion ) S 70 J ( 1,) S 112 J ( 25,) S 113 J ( 49,) S 112 J ( 115,) S 113 J ( 131,) S
1800 7776 P (bright) S 50 J ( ) S 80 J ( 116) S
6912 7776 P (151,) S 50 J ( 157, 168) S
1800 8040 P (bsdargv ) S 619 J ( 130,) S 50 J ( 161, 165) S
6480 8040 P (Command line editing ) S 63 J ( 1,) S 50 J ( 24, 25, 131, 150) S
1800 8304 P (bsdhistory ) S 399 J ( 117,) S 50 J ( 118, 130, 160, 165) S
6480 8304 P (Command line options ) S 27 J ( 17,) S 50 J ( 28) S
1800 8568 P (Bug Reports ) S 248 J ( 21) S
6480 8568 P (Command) S 50 J ( substitution ) S 8 J ( 1,) S 60 J ( 26, 44, 67, 71, 115,) S
1800 8832 P (Built-in) S 50 J ( Procedures ) S 348 J ( 171) S
6912 8832 P (123,) S 50 J ( 152) S
1800 9096 P (Built-in Utilities ) S 646 J ( 175) S
6480 9096 P (Comments) S 50 J ( ) S 373 J ( 133,) S 50 J ( 143) S
1800 9360 P (bumpdate.csh ) S 88 J ( 125) S
6480 9360 P (Common) S 50 J ( Problems ) S 344 J ( 3,) S 50 J ( 13) S
1800 9624 P (calc statement ) S 89 J ( 75,) S 50 J ( 131, 140) S
6480 9624 P (Communication ports ) S 115 J ( 147) S
1800 9888 P (caldate.csh) S 50 J ( ) S 370 J ( 125) S
6480 9888 P (Communications) S 50 J ( Manager ) S 417 J ( 19) S
1800 10152 P (calendar.csh) S 50 J ( ) S 240 J ( 125) S
6480 10152 P (Compare) S 50 J ( files ) S 103 J ( 176,) S 50 J ( 194) S
1800 10416 P (Calling a Procedure ) S 305 J ( 94) S
6480 10416 P (Comparisons) S 50 J ( of strings ) S 5 J ( 79) S
1800 10680 P (callstack tracing ) S 637 J ( 184) S
6480 10680 P (Compatibility) S 50 J ( guide ) S 270 J ( 129) S
1800 10944 P (Carriage) S 50 J ( Return ) S 634 J ( 152) S
6480 10944 P (CompuServe) S 50 J ( ) S 182 J ( 21) S
1800 11208 P (case) S 50 J ( statement ) S 55 J ( 88,) S 50 J ( 130, 138) S
6480 11208 P (COMSPEC ) S 362 J ( 13,) S 50 J ( 53, 119, 157, 166, 184) S
1800 11472 P (cat ) S 366 J ( 176,) S 50 J ( 185) S
6480 11472 P (con device ) S 402 J ( 147) S
1800 11736 P (cd) S 50 J ( ) S 409 J ( 113,) S 50 J ( 175, 186, 196) S
6480 11736 P (concat\(\) ) S 638 J ( 172) S
1800 12000 P (cdd) S 50 J ( ) S 287 J ( 179) S
6480 12000 P (Condition-testing) S 50 J ( ) S 502 J ( 137) S
1800 12264 P (cdhome) S 50 J ( ) S 631 J ( 54,) S 50 J ( 117, 161, 165, 186) S
6480 12264 P (Conditional execution ) S 104 J ( 85,) S 50 J ( 144) S
1800 12528 P (CDISK ) S 6 J ( 23,) S 50 J ( 53, 54, 158, 160, 161, 165, 169) S
6480 12528 P (Conditional selection ) S 185 J ( 145) S
1800 12792 P (CDPATH) S 50 J ( ) S 477 J ( 113,) S 84 J ( 157, 160, 165, 166, 186,) S
6480 12792 P (config.sys) S 50 J ( ) S 459 J ( 4,) S 71 J ( 5,) S 72 J ( 6,) S 71 J ( 7,) S 72 J ( 8,) S 71 J ( 16, 28, 111, 113,) S
2232 13056 P (225) S
6912 13056 P (116,) S 50 J ( 119) S
1800 13320 P (ceil\(\) ) S 185 J ( 171) S
6480 13320 P (conin$) S 50 J ( ) S 32 J ( 147) S
1800 13584 P (char\(\)) S 50 J ( ) S 102 J ( 172) S
6480 13584 P (conout$) S 50 J ( ) S 631 J ( 147) S
1800 13848 P (chcp) S 50 J ( ) S 206 J ( 175,) S 50 J ( 187) S
6480 13848 P (Console ) S 625 J ( 147) S
1800 14112 P (chdir) S 50 J ( ) S 156 J ( 117,) S 50 J ( 118, 175) S
6480 14112 P (Continuation lines ) S 422 J ( 114,) S 50 J ( 169) S
1800 14376 P (Checksum ) S 403 J ( 239) S
6480 14376 P (continue) S 50 J ( statement ) S 375 J ( 143) S
5781 15384 P (Page) S 50 J ( ) S (257) S 0 12 F
PE
720 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (Control) S 50 J ( Panel ) S 121 J ( 11,) S 50 J ( 12) S
6480 1704 P (dim ) S 263 J ( 116,) S 50 J ( 176, 196) S
1800 1968 P (Control structures ) S 447 J ( 87,) S 50 J ( 88, 129) S
6480 1968 P (dir ) S 361 J ( 23,) S 50 J ( 83, 179, 242) S
1800 2232 P (copy ) S 191 J ( 15,) S 50 J ( 29, 65, 66, 83, 179) S
6480 2232 P (DIRECTORIES ) S 12 J ( 115,) S 50 J ( 157, 166, 216, 245) S
1800 2496 P (cos\(\) ) S 203 J ( 171) S
6480 2496 P (Directory) S 50 J ( stack ) S 719 J ( 33,) S 87 J ( 34,) S 88 J ( 87,) S 87 J ( 175,) S 88 J ( 196,) S
1800 2760 P (cosh\(\)) S 50 J ( ) S 87 J ( 171) S
6912 2760 P (224,) S 50 J ( 225, 229) S
1800 3024 P (cp ) S 411 J ( 29,) S 50 J ( 30, 176) S
6480 3024 P (dirs ) S 276 J ( 33,) S 91 J ( 87,) S 92 J ( 113,) S 91 J ( 175,) S 92 J ( 186,) S 91 J ( 196,) S 92 J ( 224,) S 91 J ( 225,) S
1800 3288 P (crash.csh) S 50 J ( ) S 531 J ( 21) S
6912 3288 P (229) S
1800 3552 P (CreateProcess) S 50 J ( ) S 98 J ( 24,) S 50 J ( 104) S
6480 3552 P (Disk usage ) S 368 J ( 176,) S 50 J ( 205) S
1800 3816 P (cron ) S 227 J ( 176,) S 50 J ( 189, 190) S
6480 3816 P (diskette duplication ) S 296 J ( 197,) S 50 J ( 198, 200, 203) S
1800 4080 P (crontab ) S 671 J ( 189,) S 50 J ( 190) S
6480 4080 P (DosExecPgm ) S 172 J ( 24,) S 50 J ( 104, 133) S
1800 4344 P (csh.exe ) S 705 J ( 5,) S 60 J ( 6, 7, 53, 112, 117, 134, 158,) S
6480 4344 P (DosQAppType) S 50 J ( ) S 708 J ( 13) S
2232 4608 P (169) S
6480 4608 P (DosRead) S 50 J ( ) S 539 J ( 46) S
1800 4872 P (CSHOPTIONS) S 50 J ( ) S 31 J ( 119,) S 50 J ( 157, 166, 184) S
6480 4872 P (DosSelectDisk ) S 73 J ( 161,) S 50 J ( 166) S
1800 5136 P (Ctrl key ) S 628 J ( 25) S
6480 5136 P (DosSetMaxFH) S 50 J ( ) S 56 J ( 223) S
1800 5400 P (Ctrl-<Backspace>) S 50 J ( ) S 495 J ( 150) S
6480 5400 P (DosSMSetTitle) S 50 J ( ) S 31 J ( 112) S
1800 5664 P (Ctrl-<DownArrow>) S 50 J ( ) S 270 J ( 150) S
6480 5664 P (DosStartSession) S 50 J ( ) S 643 J ( 24,) S 50 J ( 133) S
1800 5928 P (Ctrl-<End> ) S 327 J ( 150) S
6480 5928 P (DosWrite) S 50 J ( ) S 493 J ( 127) S
1800 6192 P (Ctrl-<Enter>) S 50 J ( ) S 209 J ( 25,) S 50 J ( 151) S
6480 6192 P (Double quotes ) S 52 J ( 54,) S 50 J ( 59, 71, 76, 152) S
1800 6456 P (Ctrl-<Fx> ) S 473 J ( 142) S
6480 6456 P (DRIVEMASK) S 50 J ( ) S 123 J ( 16,) S 61 J ( 32,) S 62 J ( 62,) S 61 J ( 113,) S 62 J ( 114, 157, 166,) S
1800 6720 P (Ctrl-<Home>) S 50 J ( ) S 139 J ( 150) S
6912 6720 P (205,) S 50 J ( 226, 250) S
1800 6984 P (Ctrl-<Insert> ) S 179 J ( 25,) S 50 J ( 150) S
6480 6984 P (driveno\(\) ) S 513 J ( 171) S
1800 7248 P (Ctrl-<LeftArrow>) S 50 J ( ) S 467 J ( 150) S
6480 7248 P (dskread) S 50 J ( ) S 625 J ( 39,) S 104 J ( 176, 197, 199, 200, 201,) S
1800 7512 P (Ctrl-<RightArrow>) S 50 J ( ) S 333 J ( 150) S
6912 7512 P (203,) S 50 J ( 204) S
1800 7776 P (Ctrl-<UpArrow> ) S 541 J ( 150) S
6480 7776 P (dskwrite) S 50 J ( ) S 557 J ( 39,) S 104 J ( 176, 197, 199, 200, 201,) S
1800 8040 P (Ctrl-C) S 50 J ( ) S 67 J ( 104) S
6912 8040 P (203,) S 50 J ( 204) S
1800 8304 P (Ctrl-D ) S 54 J ( 26,) S 50 J ( 149) S
6480 8304 P (dt ) S 433 J ( 179) S
1800 8568 P (Ctrl-F) S 50 J ( ) S 98 J ( 26,) S 50 J ( 149) S
6480 8568 P (du ) S 377 J ( 16,) S 50 J ( 32, 113, 157, 166, 176, 179, 205) S
1800 8832 P (Ctrl-Z ) S 76 J ( 38,) S 50 J ( 117) S
6480 8832 P (duc ) S 288 J ( 179) S
1800 9096 P (Current) S 50 J ( directory ) S 504 J ( 14,) S 137 J ( 32,) S 138 J ( 33,) S 137 J ( 54,) S 138 J ( 87,) S
6480 9096 P (dumpenv) S 50 J ( ) S 475 J ( 4,) S 50 J ( 125) S
2232 9360 P (107,) S 104 J ( 111, 115, 117, 143, 157, 161, 165,) S
6480 9360 P (dumphist) S 50 J ( ) S 476 J ( 179) S
2232 9624 P (166,) S 50 J ( 167, 175, 186, 196, 224, 225, 226, 236) S
6480 9624 P (duplicat.csh ) S 267 J ( 125) S
1800 9888 P (Current) S 50 J ( drive ) S 124 J ( 143) S
6480 9888 P (DUPLICATES) S 50 J ( ) S 71 J ( 115,) S 50 J ( 157, 166) S
1800 10152 P (Customizing the Shell ) S 108 J ( 3,) S 50 J ( 111) S
6480 10152 P (easter.csh ) S 479 J ( 125) S
1800 10416 P (cut) S 50 J ( ) S 345 J ( 37,) S 50 J ( 176, 191) S
6480 10416 P (echo ) S 210 J ( 29,) S 50 J ( 175) S
1800 10680 P (cwd ) S 242 J ( 23,) S 50 J ( 54, 115, 117, 161, 166) S
6480 10680 P (echoinput 162, 163, 166) S
1800 10944 P (cyan ) S 204 J ( 116) S
6480 10944 P (Editing) S 50 J ( ) S 688 J ( 67) S
1800 11208 P (Data) S 50 J ( Encryption Standard ) S 466 J ( 176,) S 380 J ( 192,) S
6480 11208 P (Electronic) S 50 J ( Code Book ) S 159 J ( 192) S
2232 11472 P (193) S
6480 11472 P (elif) S 50 J ( ) S 341 J ( 130,) S 50 J ( 138) S
1800 11736 P (date ) S 237 J ( 176,) S 50 J ( 179, 191) S
6480 11736 P (elif clause ) S 462 J ( 138) S
1800 12000 P (Daylight) S 50 J ( Savings ) S 548 J ( 159,) S 50 J ( 170, 243, 244) S
6480 12000 P (ellipsis ) S 2 J ( 63) S
1800 12264 P (default) S 50 J ( clause ) S 112 J ( 138) S
6480 12264 P (else) S 50 J ( clause ) S 406 J ( 137,) S 50 J ( 138) S
1800 12528 P (default command processor ) S 310 J ( 3,) S 50 J ( 8) S
6480 12528 P (encryption ) S 381 J ( 176,) S 50 J ( 192, 193) S
1800 12792 P (del ) S 344 J ( 15,) S 50 J ( 65, 66, 83, 179) S
6480 12792 P (End of file ) S 425 J ( 38) S
1800 13056 P (DELETIONS) S 50 J ( ) S 201 J ( 12,) S 50 J ( 115, 157, 166, 195) S
6480 13056 P (endif ) S 161 J ( 130,) S 50 J ( 179, 230) S
1800 13320 P (deltaday.csh ) S 226 J ( 125) S
6480 13320 P (endsw) S 50 J ( ) S 34 J ( 130,) S 50 J ( 179) S
1800 13584 P (DES ) S 238 J ( 176,) S 50 J ( 192, 193) S
6480 13584 P (environment variables ) S 69 J ( 11) S
1800 13848 P (di) S 50 J ( ) S 440 J ( 179) S
6480 13848 P (Environmental) S 50 J ( variables ) S 605 J ( 1,) S 60 J ( 13, 17, 53,) S
1800 14112 P (diff) S 50 J ( ) S 306 J ( 12,) S 91 J ( 36,) S 92 J ( 115,) S 91 J ( 157,) S 92 J ( 165,) S 91 J ( 166,) S 92 J ( 176,) S 91 J ( 179,) S
6912 14112 P (54,) S 59 J ( 111,) S 60 J ( 112,) S 59 J ( 113,) S 60 J ( 117, 125, 157, 158, 159,) S
2232 14376 P (194,) S 50 J ( 195, 208, 249) S
6912 14376 P (165) S
5781 15384 P (Page ) S (258) S 0 12 F
PE
10513 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (eofgetline) S 50 J ( ) S 468 J ( 163,) S 50 J ( 166) S
6480 1704 P (fullname ) S 547 J ( 113) S
1800 1968 P (Epsilon) S 50 J ( ) S 672 J ( 19) S
6480 1968 P (fullpath\(\)) S 50 J ( ) S 501 J ( 90,) S 50 J ( 155, 171) S
1800 2232 P (Equality test operator ) S 145 J ( 79) S
6480 2232 P (Function) S 50 J ( keys ) S 102 J ( 1,) S 50 J ( 142) S
1800 2496 P (erase ) S 164 J ( 66,) S 50 J ( 83, 179) S
6480 2496 P (g ) S 509 J ( 180) S
1800 2760 P (Error) S 50 J ( handling ) S 25 J ( 118) S
6480 2760 P (getchar ) S 684 J ( 163,) S 50 J ( 167, 180) S
1800 3024 P (Escape sequences ) S 502 J ( 29,) S 87 J ( 44,) S 88 J ( 72,) S 87 J ( 132,) S 88 J ( 152,) S
6480 3024 P (getline) S 50 J ( ) S 20 J ( 69,) S 50 J ( 163, 165, 166, 167) S
2232 3288 P (176, 196) S
6480 3288 P (getprio.c ) S 563 J ( 126) S
1800 3552 P (escapesym) S 50 J ( ) S 381 J ( 72,) S 104 J ( 117, 118, 152, 157, 160,) S
6480 3552 P (Global) S 50 J ( editing ) S 75 J ( 68,) S 50 J ( 154) S
2232 3816 P (166, 167, 206) S
6480 3816 P (GMT ) S 155 J ( 159,) S 50 J ( 170, 243, 244) S
1800 4080 P (eval ) S 253 J ( 106,) S 50 J ( 126, 175, 179, 207) S
6480 4080 P (goto statement ) S 31 J ( 99,) S 50 J ( 100, 143, 161, 167) S
1800 4344 P (Exclusion ranges ) S 562 J ( 132,) S 50 J ( 148) S
6480 4344 P (gotowindow ) S 207 J ( 100,) S 50 J ( 161, 167) S
1800 4608 P (Executable files ) S 685 J ( 133,) S 50 J ( 146) S
6480 4608 P (green ) S 122 J ( 116) S
1800 4872 P (exit) S 50 J ( statement ) S 103 J ( 47,) S 104 J ( 127, 143, 162, 163, 164,) S
6480 4872 P (grep) S 50 J ( ) S 214 J ( 16,) S 50 J ( 34, 35, 36, 176, 180, 208, 209, 234) S
2232 5136 P (167, 170, 180, 183) S
6480 5136 P (Group Main ) S 245 J ( 17) S
1800 5400 P (exp\(\)) S 50 J ( ) S 167 J ( 171) S
6480 5400 P (Group) S 50 J ( menu ) S 198 J ( 112) S
1800 5664 P (Exponentiation) S 50 J ( ) S 707 J ( 78) S
6480 5664 P (Group-Main) S 50 J ( ) S 228 J ( 8) S
1800 5928 P (Export) S 50 J ( restrictions ) S 428 J ( 192) S
6480 5928 P (Grouping) S 50 J ( statements ) S 193 J ( 143) S
1800 6192 P (Expression) S 50 J ( operators ) S 195 J ( 57,) S 87 J ( 75,) S 88 J ( 76,) S 87 J ( 130,) S 88 J ( 145,) S
6480 6192 P (h) S 50 J ( ) S 504 J ( 180) S
2232 6456 P (148) S
6480 6456 P (Hashing) S 50 J ( of path directories ) S 365 J ( 24,) S 65 J ( 113, 132,) S
1800 6720 P (Expression) S 50 J ( parsing ) S 368 J ( 75,) S 50 J ( 76) S
6912 6720 P (183) S
1800 6984 P (Expressions ) S 282 J ( 1,) S 60 J ( 26, 75, 76, 81, 93, 125, 137,) S
6480 6984 P (hashstat) S 50 J ( ) S 608 J ( 175,) S 50 J ( 210, 248) S
2232 7248 P (138, 140, 145) S
6480 7248 P (head ) S 186 J ( 37,) S 50 J ( 113, 158, 176, 211, 231) S
1800 7512 P (Extensions ) S 385 J ( 131,) S 50 J ( 133) S
6480 7512 P (heapstat ) S 593 J ( 175,) S 50 J ( 183, 211) S
1800 7776 P (External Utilities ) S 572 J ( 176,) S 50 J ( 177, 178) S
6480 7776 P (help ) S 230 J ( 180) S
1800 8040 P (f) S 50 J ( ) S 553 J ( 179) S
6480 8040 P (Hex) S 50 J ( dump ) S 385 J ( 178) S
1800 8304 P (Factor.csh) S 50 J ( ) S 447 J ( 123,) S 50 J ( 125) S
6480 8304 P (Hex numbers ) S 140 J ( 76) S
1800 8568 P (FAX) S 50 J ( ) S 220 J ( 21) S
6480 8568 P (Hidden) S 50 J ( files ) S 246 J ( 27,) S 78 J ( 29,) S 79 J ( 39,) S 78 J ( 93,) S 79 J ( 146,) S 78 J ( 148, 161,) S
1800 8832 P (fflush) S 50 J ( ) S 106 J ( 127) S
6912 8832 P (168) S
1800 9096 P (fgrep) S 50 J ( ) S 147 J ( 34,) S 50 J ( 45, 176, 179, 208) S
6480 9096 P (HIGHLIGHT ) S 157 J ( 115,) S 50 J ( 157, 167, 205, 226, 250) S
1800 9360 P (File exists ) S 475 J ( 146) S
6480 9360 P (histchars) S 50 J ( ) S 547 J ( 117,) S 50 J ( 151, 160, 167) S
1800 9624 P (File system tests ) S 622 J ( 1,) S 137 J ( 75,) S 138 J ( 76,) S 137 J ( 77,) S 138 J ( 124,) S
6480 9624 P (History) S 50 J ( ) S 667 J ( 1,) S 88 J ( 15,) S 89 J ( 25,) S 88 J ( 26,) S 89 J ( 49,) S 88 J ( 50,) S 89 J ( 51, 67,) S
2232 9888 P (145,) S 50 J ( 146) S
6912 9888 P (69,) S 58 J ( 71,) S 59 J ( 78,) S 58 J ( 98,) S 59 J ( 99,) S 58 J ( 111,) S 59 J ( 117, 118, 129, 130,) S
1800 10152 P (Filename) S 50 J ( completion ) S 201 J ( 26,) S 166 J ( 115,) S 167 J ( 149, 151,) S
6912 10152 P (132,) S 104 J ( 134, 142, 150, 151, 152, 154, 155,) S
2232 10416 P (157,) S 50 J ( 166, 168, 184) S
6912 10416 P (160,) S 104 J ( 163, 164, 167, 169, 170, 175, 179,) S
1800 10680 P (Filename) S 50 J ( functions ) S 372 J ( 171) S
6912 10680 P (180,) S 50 J ( 183, 212, 214, 236) S
1800 10944 P (finance.csh ) S 358 J ( 93,) S 50 J ( 126) S
6480 10944 P (History editing ) S 711 J ( 69) S
1800 11208 P (Floating) S 50 J ( point arithmetic ) S 581 J ( 131,) S 50 J ( 162) S
6480 11208 P (History long-form ) S 444 J ( 49,) S 50 J ( 160, 167) S
1800 11472 P (floor\(\) ) S 64 J ( 123,) S 50 J ( 171) S
6480 11472 P (History short-form ) S 384 J ( 51,) S 50 J ( 160, 167) S
1800 11736 P (fn ) S 437 J ( 179) S
6480 11736 P (history.csh) S 50 J ( ) S 377 J ( 134) S
1800 12000 P (for) S 50 J ( statement ) S 170 J ( 75,) S 50 J ( 89, 131, 139, 143) S
6480 12000 P (HOME ) S 706 J ( 4,) S 111 J ( 11,) S 112 J ( 12,) S 111 J ( 14,) S 112 J ( 53, 111, 113,) S
1800 12264 P (foreach) S 50 J ( statement ) S 489 J ( 89,) S 50 J ( 139, 143) S
6912 12264 P (157, 159, 160, 167, 180) S
1800 12528 P (Foreground activities ) S 170 J ( 103,) S 50 J ( 104) S
6480 12528 P (Home directory expansion ) S 421 J ( 61) S
1800 12792 P (Foreground) S 50 J ( colors ) S 428 J ( 116) S
6480 12792 P (HPFS) S 50 J ( ) S 117 J ( 1,) S 50 J ( 3, 113, 217, 242) S
1800 13056 P (Foreground priority ) S 278 J ( 207) S
6480 13056 P (Hyperbolic) S 50 J ( functions ) S 187 J ( 171) S
1800 13320 P (FOREIGNFILES) S 50 J ( ) S 623 J ( 115,) S 50 J ( 157, 167, 245) S
6480 13320 P (I/O redirection ) S 698 J ( 26,) S 60 J ( 41, 44, 54, 71, 86,) S
1800 13584 P (Form) S 50 J ( Feed ) S 389 J ( 152) S
6912 13584 P (104,) S 50 J ( 118, 130, 132, 137, 144) S
1800 13848 P (Formatting ) S 349 J ( 198) S
6480 13848 P (icon) S 50 J ( ) S 248 J ( 3,) S 50 J ( 8, 112) S
1800 14112 P (Full-screen applications ) S 676 J ( 5,) S 126 J ( 6,) S 127 J ( 7, 13,) S
6480 14112 P (Idle) S 50 J ( time ) S 551 J ( 207) S
2232 14376 P (14,) S 50 J ( 103, 217) S
6480 14376 P (if statement 87, 88, 137, 138, 179) S
5781 15384 P (Page ) S (259) S 0 12 F
PE
720 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (ignoreeof) S 50 J ( ) S 499 J ( 117,) S 50 J ( 163, 167) S
6480 1704 P (LSOPTIONS ) S 217 J ( 157,) S 50 J ( 168, 214) S
1800 1968 P (ignoreerrors ) S 244 J ( 97,) S 50 J ( 98, 117, 118, 162, 163, 167) S
6480 1968 P (magenta ) S 575 J ( 116) S
1800 2232 P (ignorestatus) S 50 J ( 97, 98, 117, 118, 163, 167) S
6480 2232 P (Make directories ) S 578 J ( 217) S
1800 2496 P (Indefinite) S 50 J ( Directories ) S 180 J ( 61,) S 50 J ( 63, 148) S
6480 2496 P (make.exe ) S 511 J ( 15) S
1800 2760 P (Initial) S 50 J ( current directories ) S 577 J ( 116) S
6480 2760 P (makecpgm.csh) S 50 J ( ) S 19 J ( 126) S
1800 3024 P (Inline) S 50 J ( data ) S 392 J ( 44,) S 50 J ( 45, 46, 49, 144) S
6480 3024 P (markexe ) S 578 J ( 14,) S 50 J ( 176, 217) S
1800 3288 P (Installation ) S 343 J ( 3,) S 50 J ( 8, 111) S
6480 3288 P (Masking Interrupts ) S 347 J ( 101) S
1800 3552 P (Installation) S 50 J ( on Windows NT ) S 262 J ( 11) S
6480 3552 P (Match) S 50 J ( failures ) S 67 J ( 64) S
1800 3816 P (interactive) S 50 J ( ) S 405 J ( 162,) S 50 J ( 163, 167, 180, 183, 184) S
6480 3816 P (MATCHFAIL ) S 108 J ( 115,) S 50 J ( 157, 168) S
1800 4080 P (Internet ) S 640 J ( 21) S
6480 4080 P (Math) S 50 J ( functions ) S 714 J ( 171) S
1800 4344 P (Interrupts) S 50 J ( ) S 447 J ( 37,) S 61 J ( 43,) S 62 J ( 99,) S 61 J ( 100,) S 62 J ( 143, 162, 163,) S
6480 4344 P (MCI) S 50 J ( Mail ) S 487 J ( 21) S
2232 4608 P (168) S
6480 4608 P (mcvisa.csh) S 50 J ( ) S 378 J ( 126) S
1800 4872 P (irqmask) S 50 J ( ) S 618 J ( 101,) S 50 J ( 163, 168) S
6480 4872 P (md ) S 321 J ( 180) S
1800 5136 P (isinteger\(\)) S 50 J ( ) S 442 J ( 172) S
6480 5136 P (mi) S 50 J ( ) S 385 J ( 83,) S 50 J ( 91, 180) S
1800 5400 P (isnumber\(\) ) S 363 J ( 172) S
6480 5400 P (mih) S 50 J ( ) S 269 J ( 180) S
1800 5664 P (Iteration) S 50 J ( ) S 585 J ( 26,) S 50 J ( 85, 89, 131, 139, 143) S
6480 5664 P (mis 180) S
1800 5928 P (Julian date ) S 387 J ( 125,) S 50 J ( 126) S
6480 5928 P (MIXEDCASEDRIVES ) S 142 J ( 113,) S 133 J ( 114,) S 134 J ( 158,) S 133 J ( 168,) S
1800 6192 P (julian.csh) S 50 J ( 126) S
6912 6192 P (214) S
1800 6456 P (kbd$ ) S 176 J ( 147) S
6480 6456 P (mkdir) S 50 J ( ) S 73 J ( 83,) S 50 J ( 176, 180, 217, 222) S
1800 6720 P (kill ) S 335 J ( 105,) S 50 J ( 175, 212) S
6480 6720 P (Mode bits ) S 455 J ( 176,) S 50 J ( 187, 228) S
1800 6984 P (label command ) S 697 J ( 176,) S 50 J ( 213) S
6480 6984 P (Modulo division ) S 583 J ( 78) S
1800 7248 P (Labels) S 50 J ( and Gotos ) S 529 J ( 99,) S 50 J ( 133, 143) S
6480 7248 P (more ) S 159 J ( 4,) S 82 J ( 12,) S 83 J ( 13,) S 82 J ( 30,) S 83 J ( 31,) S 82 J ( 37, 43, 44, 83, 111,) S
1800 7512 P (LAN) S 50 J ( manager ) S 67 J ( 3) S
6912 7512 P (113,) S 104 J ( 115, 116, 158, 168, 169, 170, 176,) S
1800 7776 P (Language) S 50 J ( Reference ) S 264 J ( 117,) S 50 J ( 136, 137) S
6912 7776 P (177, 180, 194, 218) S
1800 8040 P (ld ) S 440 J ( 180) S
6480 8040 P (MOREEOF) S 50 J ( ) S 348 J ( 115,) S 50 J ( 158, 168, 219) S
1800 8304 P (Less than operator ) S 418 J ( 79) S
6480 8304 P (MOREERROR) S 50 J ( ) S 57 J ( 12,) S 50 J ( 115, 158, 168, 219) S
1800 8568 P (Less than or equal operator ) S 363 J ( 79) S
6480 8568 P (MOREFILLIN) S 50 J ( ) S 83 J ( 12,) S 50 J ( 115, 158, 168, 219) S
1800 8832 P (link.exe ) S 652 J ( 223) S
6480 8832 P (moreh) S 50 J ( ) S 43 J ( 31,) S 50 J ( 177, 180, 218) S
1800 9096 P (List files ) S 596 J ( 214) S
6480 9096 P (MOREPROMPT) S 50 J ( ) S 613 J ( 12,) S 50 J ( 115, 158, 168, 219) S
1800 9360 P (ll ) S 504 J ( 180) S
6480 9360 P (MORETOPMEM) S 50 J ( ) S 557 J ( 116,) S 50 J ( 158, 168, 219) S
1800 9624 P (loadhist ) S 627 J ( 180) S
6480 9624 P (move) S 50 J ( ) S 125 J ( 29) S
1800 9888 P (local) S 50 J ( statement ) S 11 J ( 55,) S 50 J ( 141) S
6480 9888 P (Move files ) S 419 J ( 222) S
1800 10152 P (Local) S 50 J ( time ) S 416 J ( 159,) S 50 J ( 170, 243, 244) S
6480 10152 P (mt ) S 378 J ( 158,) S 50 J ( 170, 177, 220) S
1800 10416 P (Local variables ) S 12 J ( 55,) S 61 J ( 92,) S 62 J ( 94,) S 61 J ( 106,) S 62 J ( 117, 131, 141,) S
6480 10416 P (mv) S 50 J ( ) S 330 J ( 29,) S 50 J ( 83, 177, 222) S
2232 10680 P (236) S
6480 10680 P (myecho ) S 642 J ( 126) S
1800 10944 P (log\(\)) S 50 J ( ) S 208 J ( 171) S
6480 10944 P (NETWORKBUG) S 50 J ( ) S 582 J ( 16,) S 50 J ( 158, 168) S
1800 11208 P (log10\(\) ) S 8 J ( 171) S
6480 11208 P (New) S 50 J ( Line ) S 469 J ( 152) S
1800 11472 P (log2\(\)) S 50 J ( ) S 108 J ( 171) S
6480 11472 P (newer) S 50 J ( ) S 66 J ( 177,) S 50 J ( 222) S
1800 11736 P (Logical And ) S 249 J ( 80,) S 50 J ( 145) S
6480 11736 P (newfiles.csh ) S 257 J ( 126) S
1800 12000 P (Logical) S 50 J ( Not ) S 303 J ( 78) S
6480 12000 P (noclobber) S 50 J ( ) S 462 J ( 41,) S 50 J ( 42, 117, 118, 161, 168) S
1800 12264 P (Logical Or ) S 407 J ( 80,) S 50 J ( 145) S
6480 12264 P (noglob ) S 6 J ( 161,) S 50 J ( 168) S
1800 12528 P (login.csh ) S 548 J ( 4,) S 102 J ( 5,) S 103 J ( 6, 7, 11, 62, 111, 112,) S
6480 12528 P (nohashing) S 50 J ( ) S 413 J ( 161,) S 50 J ( 168) S
2232 12792 P (113, 116, 117, 125, 134, 183) S
6480 12792 P (nonohidden ) S 260 J ( 93,) S 50 J ( 148, 161, 168) S
1800 13056 P (logout.csh ) S 427 J ( 134) S
6480 13056 P (nonomatch) S 50 J ( ) S 343 J ( 64,) S 50 J ( 65, 117, 118, 161, 162, 169) S
1800 13320 P (Long filenames ) S 699 J ( 1,) S 50 J ( 3, 39, 217) S
6480 13320 P (nonovar ) S 598 J ( 56,) S 50 J ( 64, 162, 169) S
1800 13584 P (Low-level format ) S 527 J ( 200,) S 50 J ( 202) S
6480 13584 P (Not equal operator ) S 376 J ( 79) S
1800 13848 P (lower\(\)) S 50 J ( ) S 697 J ( 172) S
6480 13848 P (nowild) S 50 J ( ) S 710 J ( 65,) S 124 J ( 66, 161, 162, 168, 169,) S
1800 14112 P (lpt1) S 50 J ( .. lpt4 ) S 454 J ( 147) S
6912 14112 P (179,) S 50 J ( 180, 181) S
1800 14376 P (ls ) S 477 J ( 27,) S 50 J ( 113, 115, 157, 158, 166, 176, 214) S
6480 14376 P (NTVersion ) S 364 J ( 160,) S 50 J ( 169) S
5781 15384 P (Page ) S (260) S 0 12 F
PE
10513 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (nul) S 50 J ( ) S 325 J ( 147) S
6480 1704 P (Problems) S 50 J ( ) S 504 J ( 3,) S 50 J ( 13) S
1800 1968 P (null device ) S 363 J ( 147) S
6480 1968 P (proc) S 50 J ( statement ) S 28 J ( 14,) S 60 J ( 65, 66, 91, 92, 93, 94, 106,) S
1800 2232 P (nullwords) S 50 J ( ) S 425 J ( 58,) S 50 J ( 59, 97, 117, 118, 162, 169) S
6912 2232 P (123, 124, 131, 139) S
1800 2496 P (Numeric literals ) S 625 J ( 76) S
6480 2496 P (Procedure) S 50 J ( arguments ) S 148 J ( 92) S
1800 2760 P (Octal) S 50 J ( numbers ) S 36 J ( 76) S
6480 2760 P (Procedures) S 50 J ( ) S 343 J ( 1,) S 88 J ( 23,) S 89 J ( 34,) S 88 J ( 55,) S 89 J ( 65,) S 88 J ( 75,) S 89 J ( 76, 83,) S
1800 3024 P (older) S 50 J ( ) S 156 J ( 92,) S 50 J ( 177, 179, 223) S
6912 3024 P (85,) S 97 J ( 87,) S 98 J ( 91,) S 97 J ( 93,) S 98 J ( 115,) S 97 J ( 129, 131, 132, 133,) S
1800 3288 P (on) S 50 J ( ) S 395 J ( 116) S
6912 3288 P (139,) S 50 J ( 163, 167, 170, 171, 172) S
1800 3552 P (onintr ) S 77 J ( 100,) S 50 J ( 101) S
6480 3552 P (Process-wide variables ) S 36 J ( 160) S
1800 3816 P (onintr) S 50 J ( statement ) S 602 J ( 143) S
6480 3816 P (processid) S 50 J ( ) S 497 J ( 160,) S 50 J ( 165, 169) S
1800 4080 P (op= operators ) S 98 J ( 80) S
6480 4080 P (Product) S 50 J ( Support ) S 585 J ( 21) S
1800 4344 P (Order) S 50 J ( of Evaluation ) S 289 J ( 109) S
6480 4344 P (Program) S 50 J ( Manager ) S 443 J ( 12) S
1800 4608 P (Ordinary) S 50 J ( file ) S 189 J ( 146) S
6480 4608 P (Programming) S 50 J ( constructs ) S 589 J ( 75,) S 50 J ( 85) S
1800 4872 P (OS/2 1.1 ) S 557 J ( 3,) S 50 J ( 4, 15, 17, 112, 214, 216, 242) S
6480 4872 P (Prompt strings ) S 20 J ( 111,) S 50 J ( 113, 114, 134) S
1800 5136 P (OS/2 1.2 ) S 557 J ( 3,) S 50 J ( 15, 17, 112, 214, 243) S
6480 5136 P (prompt1 ) S 570 J ( 23,) S 124 J ( 53, 113, 114, 115, 134,) S
1800 5400 P (OS/2) S 50 J ( 1.3 ) S 557 J ( 8,) S 50 J ( 111, 112) S
6912 5400 P (158, 160, 169) S
1800 5664 P (OS/2 2.0 ) S 557 J ( 18) S
6480 5664 P (prompt2) S 50 J ( ) S 570 J ( 45,) S 124 J ( 53, 113, 114, 134, 158,) S
1800 5928 P (OS/2) S 50 J ( 2.x ) S 554 J ( 111,) S 50 J ( 112, 237) S
6912 5928 P (160, 169) S
1800 6192 P (os2version ) S 390 J ( 160,) S 50 J ( 169) S
6480 6192 P (Protection attributes ) S 258 J ( 42) S
1800 6456 P (Ownership) S 50 J ( ) S 346 J ( 146) S
6480 6456 P (PROTSHELL) S 50 J ( ) S 168 J ( 8,) S 50 J ( 19, 111, 112) S
1800 6720 P (Parenthesis ) S 323 J ( 54,) S 50 J ( 86, 87, 129, 130) S
6480 6720 P (ps ) S 415 J ( 104,) S 50 J ( 105, 175, 212, 225) S
1800 6984 P (patchlnk ) S 565 J ( 15,) S 50 J ( 177, 223, 224) S
6480 6984 P (pushd ) S 56 J ( 33,) S 91 J ( 35,) S 92 J ( 113,) S 91 J ( 175,) S 92 J ( 186,) S 91 J ( 196,) S 92 J ( 224,) S 91 J ( 225,) S
1800 7248 P (PATH) S 50 J ( ) S 54 J ( 4,) S 50 J ( 11, 12, 53, 54, 158, 159, 160, 169) S
6912 7248 P (229) S
1800 7512 P (Pathname editing ) S 493 J ( 68,) S 50 J ( 155) S
6480 7512 P (pwd ) S 211 J ( 16,) S 50 J ( 32, 113, 157, 166, 177, 226) S
1800 7776 P (Pattern fails operator ) S 193 J ( 79,) S 50 J ( 148) S
6480 7776 P (q ) S 508 J ( 180) S
1800 8040 P (Pattern) S 50 J ( matches operator ) S 553 J ( 79,) S 50 J ( 148) S
6480 8040 P (Quoting ) S 603 J ( 26,) S 78 J ( 69,) S 79 J ( 71,) S 78 J ( 72,) S 79 J ( 125,) S 78 J ( 132, 148,) S
1800 8304 P (Pattern) S 50 J ( matching ) S 536 J ( 1,) S 87 J ( 75,) S 88 J ( 124,) S 87 J ( 145,) S 88 J ( 148,) S
6912 8304 P (152) S
2232 8568 P (230) S
6480 8568 P (RADIX) S 50 J ( ) S 695 J ( 158,) S 84 J ( 169, 218, 219, 238, 239,) S
1800 8832 P (pause) S 50 J ( ) S 98 J ( 180) S
6912 8832 P (252) S
1800 9096 P (Per-thread) S 50 J ( variables ) S 269 J ( 133,) S 133 J ( 161,) S 134 J ( 162,) S 133 J ( 163,) S
6480 9096 P (Ranges) S 50 J ( ) S 698 J ( 61,) S 78 J ( 63,) S 79 J ( 67,) S 78 J ( 89,) S 79 J ( 148,) S 78 J ( 157, 166,) S
2232 9360 P (164) S
6912 9360 P (226,) S 50 J ( 250) S
1800 9624 P (Pipes ) S 140 J ( 41,) S 50 J ( 43, 44, 86, 129, 144, 162) S
6480 9624 P (Raw Sectors ) S 261 J ( 197,) S 50 J ( 200) S
1800 9888 P (pkzip ) S 111 J ( 39) S
6480 9888 P (rcode) S 50 J ( ) S 125 J ( 85,) S 50 J ( 89, 126, 127) S
1800 10152 P (PM applications ) S 622 J ( 13,) S 50 J ( 14, 217) S
6480 10152 P (rd ) S 419 J ( 83,) S 50 J ( 180) S
1800 10416 P (pmcpl ) S 56 J ( 103) S
6480 10416 P (Re-entrancy) S 50 J ( ) S 271 J ( 106) S
1800 10680 P (pointer$) S 50 J ( ) S 597 J ( 147) S
6480 10680 P (Read-only) S 50 J ( files ) S 13 J ( 146) S
1800 10944 P (popd) S 50 J ( ) S 149 J ( 33,) S 105 J ( 34,) S 106 J ( 35,) S 105 J ( 113,) S 106 J ( 175, 186, 196, 224,) S
6480 10944 P (recursion) S 50 J ( ) S 508 J ( 55,) S 50 J ( 93, 94, 123, 125) S
2232 11208 P (225, 229) S
6480 11208 P (red ) S 323 J ( 116) S
1800 11472 P (Popular) S 50 J ( Aliases ) S 664 J ( 179) S
6480 11472 P (Regular) S 50 J ( expressions ) S 279 J ( 34,) S 112 J ( 35,) S 113 J ( 36,) S 112 J ( 68,) S 113 J ( 176,) S
1800 11736 P (postage.csh) S 50 J ( ) S 314 J ( 126) S
6912 11736 P (208,) S 50 J ( 209, 231, 234) S
1800 12000 P (Precedence ) S 340 J ( 76,) S 50 J ( 86, 144, 145, 209, 234) S
6480 12000 P (rehash ) S 28 J ( 14,) S 50 J ( 132, 175, 210, 227, 248) S
1800 12264 P (precision ) S 530 J ( 54,) S 50 J ( 57, 58, 162, 169) S
6480 12264 P (Relation-testing ) S 661 J ( 145) S
1800 12528 P (Predefined) S 50 J ( variables ) S 237 J ( 156,) S 133 J ( 165,) S 134 J ( 166,) S 133 J ( 167,) S
6480 12528 P (Removable) S 50 J ( drives ) S 463 J ( 16) S
2232 12792 P (168,) S 50 J ( 169, 170) S
6480 12792 P (remove ) S 670 J ( 29,) S 50 J ( 30) S
1800 13056 P (Print formatting ) S 624 J ( 172,) S 50 J ( 173) S
6480 13056 P (ren ) S 329 J ( 180) S
1800 13320 P (Print) S 50 J ( spooler ) S 195 J ( 147) S
6480 13320 P (rename) S 50 J ( ) S 676 J ( 15,) S 50 J ( 65, 66, 83, 180, 222) S
1800 13584 P (Printer ports ) S 218 J ( 147) S
6480 13584 P (repeat) S 50 J ( statement ) S 589 J ( 90,) S 50 J ( 139, 143) S
1800 13848 P (printf\(\) ) S 701 J ( 172,) S 50 J ( 173) S
6480 13848 P (Restrictions ) S 301 J ( 132) S
1800 14112 P (priority) S 50 J ( ) S 661 J ( 207) S
6480 14112 P (return) S 50 J ( statement ) S 589 J ( 93,) S 50 J ( 123, 131, 139) S
1800 14376 P (prn ) S 305 J ( 147) S
6480 14376 P (reverse) S 50 J ( ) S 696 J ( 116) S
5781 15384 P (Page) S 50 J ( ) S (261) S 0 12 F
PE
720 984 P 8 12 F B (Index) S E
1800 1704 P 0 12 F 26 10 F (rm) S 50 J ( ) S 364 J ( 29,) S 50 J ( 30, 177) S
6480 1704 P (split ) S 234 J ( 38,) S 50 J ( 177, 236) S
1800 1968 P (rmdir ) S 105 J ( 83,) S 50 J ( 177, 180, 228) S
6480 1968 P (sqrt\(\) ) S 145 J ( 75,) S 50 J ( 123, 171) S
1800 2232 P (rotd ) S 245 J ( 33,) S 50 J ( 175, 186, 196, 224, 225, 229) S
6480 2232 P (start ) S 226 J ( 181,) S 50 J ( 241) S
1800 2496 P (round\(\) ) S 659 J ( 58,) S 50 J ( 171) S
6480 2496 P (Start Programs ) S 15 J ( 5,) S 74 J ( 8,) S 75 J ( 13,) S 74 J ( 15,) S 75 J ( 17,) S 74 J ( 23, 112, 116,) S
1800 2760 P (safecopy\(\)) S 50 J ( ) S 429 J ( 65) S
6912 2760 P (184) S
1800 3024 P (safedel\(\)) S 50 J ( ) S 582 J ( 66) S
6480 3024 P (startup.cmd) S 50 J ( ) S 267 J ( 112) S
1800 3288 P (saferename\(\)) S 50 J ( ) S 194 J ( 65) S
6480 3288 P (startup.csh) S 50 J ( ) S 365 J ( 4,) S 58 J ( 5,) S 59 J ( 11,) S 58 J ( 14,) S 59 J ( 15, 24, 62, 65, 93,) S
1800 3552 P (safexcopy\(\)) S 50 J ( ) S 326 J ( 65) S
6912 3552 P (111,) S 50 J ( 112, 117, 134, 183) S
1800 3816 P (samepath\(\) ) S 347 J ( 92,) S 50 J ( 171) S
6480 3816 P (startwin ) S 605 J ( 177,) S 50 J ( 237) S
1800 4080 P (samples ) S 619 J ( 11,) S 50 J ( 12, 17) S
6480 4080 P (Statement lists ) S 54 J ( 86,) S 50 J ( 143) S
1800 4344 P (samples directory ) S 481 J ( 4,) S 75 J ( 5, 6, 7, 71, 85, 93,) S
6480 4344 P (Statement) S 50 J ( relationships ) S 700 J ( 144) S
2232 4608 P (121,) S 50 J ( 125) S
6480 4608 P (status ) S 99 J ( 43,) S 61 J ( 85,) S 62 J ( 97,) S 61 J ( 98,) S 62 J ( 126,) S 61 J ( 127, 162, 163, 164,) S
1800 4872 P (savehist) S 50 J ( ) S 622 J ( 117,) S 50 J ( 160, 169, 183) S
6912 4872 P (167, 170, 175, 225) S
1800 5136 P (Scheduling ) S 348 J ( 26,) S 50 J ( 103, 212) S
6480 5136 P (Stdout and Stderr ) S 489 J ( 42) S
1800 5400 P (Screen) S 50 J ( colors ) S 180 J ( 17,) S 50 J ( 111, 115) S
6480 5400 P (stmtnumber ) S 248 J ( 133,) S 50 J ( 163, 164, 165, 170) S
1800 5664 P (screen$ ) S 679 J ( 147) S
6480 5664 P (Stream) S 50 J ( editor ) S 139 J ( 35,) S 50 J ( 177, 229) S
1800 5928 P (scriptname ) S 355 J ( 97,) S 50 J ( 130, 163, 169) S
6480 5928 P (String functions ) S 650 J ( 172) S
1800 6192 P (SDK) S 50 J ( 1.06 ) S 535 J ( 3) S
6480 6192 P (String) S 50 J ( search ) S 191 J ( 34,) S 50 J ( 176, 208) S
1800 6456 P (Seamless Windows ) S 351 J ( 237) S
6480 6456 P (strings) S 50 J ( ) S 21 J ( 38,) S 50 J ( 177) S
1800 6720 P (Search path ) S 304 J ( 3,) S 78 J ( 4,) S 79 J ( 111,) S 78 J ( 113,) S 79 J ( 124,) S 78 J ( 158, 161,) S
6480 6720 P (strlen\(\)) S 50 J ( ) S 707 J ( 172) S
2232 6984 P (168,) S 50 J ( 169) S
6480 6984 P (Subscripting errors ) S 365 J ( 97) S
1800 7248 P (Search/replace) S 50 J ( operations ) S 449 J ( 35,) S 115 J ( 68, 154,) S
6480 7248 P (Substitution) S 50 J ( modifiers ) S 80 J ( 154) S
2232 7512 P (231) S
6480 7512 P (substr\(\)) S 50 J ( ) S 660 J ( 172) S
1800 7776 P (sed) S 50 J ( ) S 317 J ( 35,) S 50 J ( 36, 177, 229, 231) S
6480 7776 P (sum ) S 237 J ( 177,) S 50 J ( 239) S
1800 8040 P (Semicolon ) S 423 J ( 75,) S 50 J ( 76, 126, 127, 144) S
6480 8040 P (switch statement ) S 565 J ( 88,) S 166 J ( 130,) S 167 J ( 138, 143,) S
1800 8304 P (Separate) S 50 J ( arrow keys ) S 262 J ( 150) S
6912 8304 P (148,) S 50 J ( 179) S
1800 8568 P (serial archive media ) S 280 J ( 197,) S 50 J ( 199, 200, 203) S
6480 8568 P (SWITCHCHARS ) S 554 J ( 28,) S 50 J ( 113, 114, 158, 170) S
1800 8832 P (Serial execution ) S 661 J ( 85,) S 50 J ( 144) S
6480 8832 P (System files ) S 287 J ( 30,) S 50 J ( 116, 146, 158, 170, 216) S
1800 9096 P (Serial ports ) S 336 J ( 147) S
6480 9096 P (SYSTEMDIRS) S 50 J ( ) S 102 J ( 116,) S 50 J ( 158, 170, 216) S
1800 9360 P (set statement ) S 179 J ( 54,) S 50 J ( 55, 129, 140, 141) S
6480 9360 P (SYSTEMFILES ) S 36 J ( 116,) S 50 J ( 158, 170, 216) S
1800 9624 P (Set variables ) S 224 J ( 54) S
6480 9624 P (Tab) S 50 J ( character ) S 143 J ( 152) S
1800 9888 P (setenv) S 50 J ( statement ) S 574 J ( 4,) S 80 J ( 5, 53, 54, 55, 111,) S
6480 9888 P (TABS) S 50 J ( ) S 114 J ( 4,) S 98 J ( 12,) S 99 J ( 37,) S 98 J ( 38,) S 99 J ( 44, 53, 113, 125, 158,) S
2232 10152 P (116,) S 50 J ( 125, 129, 140, 141, 142, 165) S
6912 10152 P (170, 177, 211, 218, 219, 240, 241) S
1800 10416 P (Setenv variables ) S 619 J ( 1,) S 137 J ( 13,) S 138 J ( 53,) S 137 J ( 54,) S 138 J ( 111,) S
6480 10416 P (Tagged) S 50 J ( expressions ) S 315 J ( 35,) S 50 J ( 36) S
2232 10680 P (112, 113, 117, 125, 157, 158, 159, 165) S
6480 10680 P (tail ) S 339 J ( 37,) S 50 J ( 113, 158, 177, 241) S
1800 10944 P (setkey statement ) S 581 J ( 131,) S 50 J ( 142) S
6480 10944 P (tailstatus ) S 538 J ( 117,) S 50 J ( 162, 170) S
1800 11208 P (setrows ) S 654 J ( 177,) S 50 J ( 235) S
6480 11208 P (tan\(\) ) S 205 J ( 171) S
1800 11472 P (SHELL) S 50 J ( ) S 703 J ( 53,) S 50 J ( 158, 159, 160, 169, 170) S
6480 11472 P (tanh\(\) ) S 89 J ( 171) S
1800 11736 P (Shell) S 50 J ( escape character ) S 128 J ( 52,) S 50 J ( 72) S
6480 11736 P (TAPE ) S 98 J ( 158,) S 50 J ( 170) S
1800 12000 P (Shell scripts ) S 276 J ( 96,) S 50 J ( 125, 133) S
6480 12000 P (Tape archive format ) S 273 J ( 242) S
1800 12264 P (shift) S 50 J ( statement ) S 34 J ( 140) S
6480 12264 P (tar) S 50 J ( ) S 376 J ( 115,) S 62 J ( 157,) S 63 J ( 159, 167, 170, 177, 199, 203,) S
1800 12528 P (sin\(\)) S 50 J ( ) S 227 J ( 171) S
6912 12528 P (204,) S 50 J ( 242, 243, 244) S
1800 12792 P (Single quotes ) S 158 J ( 71,) S 50 J ( 72, 152, 209, 234) S
6480 12792 P (tee ) S 363 J ( 177,) S 50 J ( 246) S
1800 13056 P (sinh\(\) ) S 111 J ( 171) S
6480 13056 P (Telex) S 50 J ( ) S 144 J ( 21) S
1800 13320 P (sizeof.csh) S 50 J ( ) S 485 J ( 127) S
6480 13320 P (Text-windowable) S 50 J ( applications ) S 94 J ( 13,) S 165 J ( 14, 83,) S
1800 13584 P (sleep) S 50 J ( ) S 165 J ( 104,) S 50 J ( 175, 235, 251) S
6912 13584 P (103, 217) S
1800 13848 P (source statement ) S 566 J ( 4,) S 137 J ( 65,) S 138 J ( 98,) S 137 J ( 99,) S 138 J ( 100,) S
6480 13848 P (threadid) S 50 J ( ) S 582 J ( 98,) S 50 J ( 99, 164, 170) S
2232 14112 P (143, 175, 180, 222, 236) S
6480 14112 P (Threads ) S 619 J ( 1,) S 58 J ( 4,) S 59 J ( 43,) S 58 J ( 54,) S 59 J ( 55, 91, 97, 98, 99,) S
1800 14376 P (Special) S 50 J ( devices ) S 5 J ( 147) S
6912 14376 P (105,) S 104 J ( 106, 107, 108, 133, 140, 141, 144,) S
5781 15384 P (Page) S 50 J ( ) S (262) S 0 12 F
PE
10513 984 P 8 12 F B (Index) S E
2232 1704 P 0 12 F 26 10 F (160,) S 104 J ( 161, 162, 163, 164, 165, 170, 175,) S
6480 1704 P (Wildcarding) S 50 J ( ) S 227 J ( 1,) S 88 J ( 15,) S 89 J ( 19,) S 88 J ( 26,) S 89 J ( 35,) S 88 J ( 61,) S 89 J ( 62, 64,) S
2232 1968 P (207,) S 50 J ( 212, 225, 236, 251) S
6912 1968 P (65,) S 97 J ( 66,) S 98 J ( 75,) S 97 J ( 79,) S 98 J ( 113,) S 97 J ( 118, 125, 132, 137,) S
1800 2232 P (time) S 50 J ( ) S 224 J ( 86,) S 50 J ( 87, 91, 123, 143) S
6912 2232 P (139,) S 104 J ( 146, 148, 149, 161, 162, 168, 169,) S
1800 2496 P (Time) S 50 J ( critical ) S 240 J ( 207) S
6912 2496 P (179,) S 50 J ( 180, 181, 207) S
1800 2760 P (Timestamps ) S 254 J ( 29,) S 50 J ( 246) S
6480 2760 P (winerror.csh ) S 217 J ( 127) S
1800 3024 P (Timezone) S 50 J ( ) S 465 J ( 159,) S 50 J ( 170) S
6480 3024 P (WinSetTitleAndIcon ) S 245 J ( 112) S
1800 3288 P (title) S 50 J ( bar ) S 658 J ( 3,) S 50 J ( 8, 111, 112) S
6480 3288 P (WinVersion ) S 279 J ( 160,) S 50 J ( 170) S
1800 3552 P (touch ) S 120 J ( 31,) S 50 J ( 43, 177, 246) S
6480 3552 P (Word selections ) S 643 J ( 67) S
1800 3816 P (tr) S 50 J ( ) S 476 J ( 38,) S 50 J ( 177, 231, 247) S
6480 3816 P (Workplace Shell ) S 615 J ( 18) S
1800 4080 P (Translate) S 50 J ( characters ) S 290 J ( 247) S
6480 4080 P (Write) S 50 J ( verification ) S 504 J ( 249) S
1800 4344 P (Trigonometric) S 50 J ( functions ) S 635 J ( 171) S
6480 4344 P (WriteFiles) S 50 J ( ) S 434 J ( 46) S
1800 4608 P (ts.csh) S 50 J ( ) S 130 J ( 127) S
6480 4608 P (xcopy) S 50 J ( ) S 88 J ( 15,) S 50 J ( 65, 66, 83, 181) S
1800 4872 P (type ) S 228 J ( 181) S
6480 4872 P (xd) S 50 J ( ) S 395 J ( 178,) S 50 J ( 252) S
1800 5136 P (Type conversions ) S 505 J ( 81) S
6480 5136 P (yellow) S 50 J ( ) S 21 J ( 116) S
1800 5400 P (TZ) S 50 J ( ) S 364 J ( 159,) S 50 J ( 170, 244) S
6480 5400 P (Zero-length files ) S 600 J ( 146) S
1800 5664 P (unalias) S 50 J ( statement ) S 507 J ( 140) S
1800 5928 P (unbuffered) S 50 J ( ) S 344 J ( 184) S
1800 6192 P (unhash) S 50 J ( ) S 686 J ( 14,) S 50 J ( 175, 210, 227, 248) S
1800 6456 P (uniq ) S 213 J ( 177,) S 50 J ( 249) S
1800 6720 P (UNIX ) S 98 J ( 28,) S 50 J ( 111) S
1800 6984 P (unlocal statement ) S 494 J ( 65,) S 50 J ( 66, 131, 141) S
1800 7248 P (unproc statement ) S 511 J ( 14,) S 50 J ( 91, 131, 139) S
1800 7512 P (unset statement ) S 662 J ( 55,) S 50 J ( 140) S
1800 7776 P (unsetenv statement ) S 337 J ( 55,) S 50 J ( 140) S
1800 8040 P (unsetkey statement ) S 344 J ( 142) S
1800 8304 P (until) S 50 J ( statement ) S 7 J ( 90,) S 50 J ( 139) S
1800 8568 P (upper\(\) ) S 670 J ( 23,) S 50 J ( 115, 172) S
1800 8832 P (User-Defined Colors ) S 235 J ( 115) S
1800 9096 P (Variable) S 50 J ( substitutions ) S 120 J ( 56,) S 50 J ( 59, 115, 153) S
1800 9360 P (Variables ) S 509 J ( 1,) S 88 J ( 23,) S 89 J ( 26,) S 88 J ( 53,) S 89 J ( 55,) S 88 J ( 58,) S 89 J ( 76, 94,) S
2232 9624 P (105,) S 104 J ( 107, 113, 115, 117, 129, 133, 134,) S
2232 9888 P (137,) S 50 J ( 140, 141, 160, 219) S
1800 10152 P (ver ) S 332 J ( 178) S
1800 10416 P (verbose) S 50 J ( ) S 651 J ( 162,) S 50 J ( 170, 238, 253) S
1800 10680 P (verify ) S 96 J ( 175,) S 50 J ( 200, 249) S
1800 10944 P (Vertical Tab ) S 267 J ( 152) S
1800 11208 P (viopaste.c) S 50 J ( ) S 455 J ( 127) S
1800 11472 P (vl) S 50 J ( ) S 449 J ( 181) S
1800 11736 P (vol) S 50 J ( ) S 340 J ( 16,) S 50 J ( 32, 83, 113, 178, 181, 250) S
1800 12000 P (Volume labels ) S 77 J ( 176,) S 50 J ( 213) S
1800 12264 P (w ) S 453 J ( 181) S
1800 12528 P (wait) S 50 J ( ) S 230 J ( 175,) S 50 J ( 181, 251) S
1800 12792 P (wc ) S 364 J ( 41,) S 50 J ( 129, 178, 251) S
1800 13056 P (weekday.csh ) S 197 J ( 127) S
1800 13320 P (whereis) S 50 J ( ) S 643 J ( 44,) S 50 J ( 91, 92, 124, 133, 178, 251) S
1800 13584 P (while statement ) S 650 J ( 90,) S 50 J ( 139, 143) S
1800 13848 P (white ) S 118 J ( 116) S
1800 14112 P (Wildcard) S 50 J ( characters ) S 284 J ( 61,) S 50 J ( 71, 79, 138, 152) S
5781 15384 P (Page ) S (263) S 0 12 F
PE
720 984 P 8 12 F B (Index) S E
5781 15384 P 0 12 F 26 10 F (Page) S 50 J ( ) S (264) S 0 12 F