marty@io.ATT.COM (j.m.borden) (03/18/89)
Checksum: 3581954367 (Verify with "brik", report brik bugs to me -- R.D.) Posting-number: Volume 01, Issue 245 Originally-from: marty@io.ATT.COM (j.m.borden) Submitted-by: marty@io.ATT.COM (j.m.borden) Archive-name: mycd/mycd.uue This is a CD utility that I wrote that behaves like the UNIX (tm) cd command. It robustly allows wildcards, environmental variables, and will use an environmental variable CDPATH to help locate regularly accessed directories. Unix folks may already appreciate the value of a CDPATH. The documentation is thorough. Marty Borden marty%garage.att.com [internet] or att!granjon!marty [uucp] [N.B. mail has been very unreliable lately.] [ This is the best free directory-changing program I've seen so far under MS-DOS. In less than 3000 bytes it gives you just about everything you need in a directory changing program. (Microsoft showed foresight when it decided to make the current directory an attribute of the MS-DOS kernel rather than an attribute of each process. What the MS-DOS CD command lacks, which is a lot, can therefore be fixed by nifty programs like this one.) MYCD allows the use of environment variables (prefixed by % or $) and wildcards (* and ?) in a directory change string, so you can say cd $home/do* and land in /binaries/ibm/pc/doc, provided you have an environment variable HOME=\binaries/ibm/pc already defined. If an environment variable CDPATH is defined, it specifies a list of directories to look inside for directories to change to. So if CDPATH contains a directory called \xyz, and you type "mycd xyuuu", and if there is a directory xyuuu inside xyz, you will be changed to \xyz\xyuuu, if it isn't found elsewhere. Not bug-free, alas. A leading forward slash in an environment variable causes trouble. So in the example given before, you could not have an environment variable HOME=/binaries/ibm/pc and make it work. Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command. checksum size (bytes) file (between BEGIN--cut and END--cut lines) 29722 8867 this uuencoded posting checksum size (bytes) file 38872 6415 mycd.arc -- R.D. ] mycd part01/01 BEGIN--cut here--cut here begin 644 mycd.arc M&@A-64-$+D-/30`E)24E3PH``$P2KJR$YJ`+```,^Q@I<Y'(0B`!M&`T"['( MA0``BSRP`.!(VZA6"Q@96+4@D8=3'5T,6W#,0*P%__ZA*Q"`F(]2"Q8=6X0M MU[\_)@+UP'&C3@83BZH(`*2O1QT(@,Q]^V=R`2!_6>H08'I2GJMQ9X:8P%&@ MCC5`S0#=RY;(`<Q<`0!,&S=H&()`X_#]\YAJ@8-_%C0Q8*1MA;I%/C`Q"/0/ M0(`Y!WX93A1X\#%P#.2@&."#1F01L0A,>W=DQSLY&08U!D#G@&C+`.HX4`S! M\YT#B_JM&Y".%,1O`[1YW-71PZ\%H3BNP.8(&"TE5Q9^F7;.D;1%Y]!M.X#. M[0Q@+AP9./@+%(-<D%<\FZ<*KR<&_VR,0FDC%/M/"]#-`0`%G;("V3T<1#<# MP%T+G#"P"#NT,*&($0(LE(L#`$`"@"YO++#.#Q[@`D`-"WFT248&=+*`A24( M5)$N*B08P@?#5`A`"<58L.%"*)9T$@``+#,,+4#L\M!"P^3B08,/]K%`?ONE M\P\N`]"'SB2%`6#%%54,&`@[`@C0B"'^]).($<(,X@<"`:B&BS$+U"=!`400 M<0\VZ<Q!@)<(".`'!KA,0!\NR)2)RT/U]8#`(,08@$M:Z51!`#H`%+`E-(MX MH<`B=PBPB#^+<+DE,8#T0%H%F;Y0QP#&%,"%(@4T2@PB!QSQCQ'$K&..J<8< ML,.JQ,!Z``"`\$`"'0CD6@(=M)T"D3^9DG9"IES484"H`!RQ#@>9AM$'`:2N MXT"F>_1Q`*F```/..@*0BD@!SE)CQ"+&U.<!FD1<N@`P=1R!"P%W<J,GG^AT M8EJ@@/11&!T&R+2",>N4>LS`2$!AQ9Y*`K*OH`K<&<Z]2KKQ\*``I&/(`(O8 M(8RIM"H"FS=&H*H`,'0(L$X[QA#QSP[&T+O(/>D`,NP1E0IS::Y<T%%`ICK4 M44#,`*R#!B[LE(E.(P2DN0@^,KU;AP@Y`P%%I=!8C<X6;Q)#P+L`8YQ."!S[ M\?$WL7*1\\Z:TL%I#YZ"*BJIIJ*J*JNNF@K('R\#'.NLK-H*0")V^,*SSQB# M>]V6RC0J#"`_I$:;*E8:XL-<K.X=0-`L0"YM`2)CLHX%CD.>+0*A%P#./^L$ M[(4PJ?^"N32#<*ERP$9`L^5SK%I=J31:HS(`H%^C+"BA;@CPCQW2H-/!`$Z_ M#OD./D.>K`.E_[!#'2!XJ0QI&MBJMA?$T`HY:2K/`ZNJXPNS*NRPD4\KJH#@ M0[W*Z:S_C]I^^++(-T<0&<A893*4J:P='2/&((SACT88H1>7HDFL`/`/)]2* M?&FK(#$:X8O+'<,(SJ#1#NXQ!]H0`@"*(``F>N`"TF"@!UQ`WSJ"X(1%>,-Z MRAJA'%0FCW2$`0`?9`:-:FB,'1Q##M#B@0OJ<(!5,6,=[UC'`7A6!Y4E((@T M`M<ZNE$I9@0`A.N(@9="Z(<)V-`)U@.8#GE806>L`P-G%*#\+$@_?/3,`&M< M!SK248=_C!$`?J!-'/Q!JP0"@@]IJ<,$J.@`7,Q#:<,(0)K6E`X2!.!*OO#' MI3Z(#!I]T!@TRI7DTM$,%*JP!RH8Y2L`T(/(?2H=PH(A:6AC&R]U\I6!@`@& M;_7)M.!"`O1Q(#6@@$E_U.<7`0"4`:2F@@.E`Q,E@``KI5F'!3A0'EL"QB=I MY"50TJ$!PJP/+21)!+!9HYND&1J]UO$$G'D!&*L"A@`!6,"4K2P1?B#&N6X8 M.3H0X`FAX@(GLVC&?.[S?+SZ7P;Q!@%.IB6%=3N`$6B5CA7\0W#HK(,$BED? M80`@35(CP'76`8)T+*$?RX,&.H28)EPP"`JXJ`?%ZE..X04*8XLH1Q>^X(5A M1(D=HB$``T`@M,29T0@$B(A0HS&.1!S".TP1ZG6ZX-,!52JIU`B$.@RS`V', MH0"CJ(6$KFB`5RP``0#`14JH^M.K+L(*!AB``<0Z"&E`!!F!"(9AZ@J`!4BC M#@K8`3/F8(!#S'6L)3$K6M7Z#[8.:'F'*L4_LN!8=EPU$U*HCRTNJM.J$F@' M;R7`0N0@4F"L@P#UT0<`J$J+#"Q$!N3P+"T<H`@KB#8$L*6J9T,AU'\X0*A@ M$Y`'ECJ.?US".^LPD@4,@!X+(*"Y"D"/'0ZE`'U05K;A@^M":%%#)R`@M*,M M[6GK4XG58A>\(:#%$\([4M2B8P_FM<)/:1%`N'8,`>PUK7M_V(6>/NFG3&#" M(K[D@0.@A`X:@`4*2V"3?_##*O>(1A+H$!,?K`<E^/1'-4>J@MKY0U)^H%0/ M#OP.4IV,#NG0`3CJD+]L`"('1A''?>=ABD,LHP[9P-E,=,K38<C7JG98ICWX M0(%!^`,+=AB`+ZXP.!O8@`&*(`0.&(`)2ZRC`??PAI%%<`=UE.3)*4'7*,S* MV/X*XR%M]0(!F!J(4S``/?V@A1`.]"@U+\*[;S7`:%56@/J$XA^9H.I_!S0( M=B3U2R@1VG72(0B('*,`!5@1(9\6"DLP8$O\:%2F([4(`AA1#BWH]"*N,0AA M>%H8=X@)$23E!7XDX@@J4T`*>-!I4"T"'HF@M1'X,0I+HZL`#UE'#G9@`TM7 M<1T((%RF[=D+F<Q`&B5(22#$0:/,HJ,8_<A"%K;D#R\14BHC?90=-$GK4#TD MISOM:8,,X()'&,`7"7`!(SP`C`3P0SL<,1P`KF,"5@"!$<4XA#4FL0@;P&2! M`D`+KGR`D0'((0+:`<FD8O$'&0##*N.P`R#B\8=""P!C`QC&`()1@DGS8P7X MD`,8H,,(8#@"&XR`1G&BD(1YD,+BJG!$-PXACT-D8Q'#6`0TAH".#`#@-7(` M`CJ`>8=\\``$O.)!`_S)@P34`1T67P<YP'8`(:CB9'4(P!`,`0Z+YV,<%6!% M$E@@`CH\@``BX$&RIL@#$511[0NPQS#2,8][9&$``W$$O1/@$?@,80#;6`0] M!K2"=<CA5>5(A`O<,PX'$`X`@RB&`&S`BI.!0Q]T@,?BC```%_S#!/!>A%D6 M$`5TK`$J3P,;"3Q08,	`;VX(?-/_`T`Z2G+NAH0K>)(2EL'&`4%X87;0QQ MC^LT.!$_:(L`K+*5KM`C$0?P;*/6/(Y['.+-`$``'2#`,"A<!PI0@"PZQ-&/ MG.)H^W?^KG9#((<'7$W-;'X$^"&`A?&BHQ#]0%4-<@!44`=R(`9OT`)#``(M M``)#\`9PD`=RD`9G@`9T``(H,`8I``(QD`,\`0)"\`9RP`9AX`9D``))X`9T MP`8M1`1I8`=I0`9E``)E(`=R(((-H`!!(`9N(()M$`9L``)P<(-G(`=AT`90 M5X-MD`9N$`9TD`9OX`8YV"`8`!E6R``-T@`Q-`9DH`-0]P9O``(_Z`9Y``)A M(`=G,`=3R(5>"``@T(,7.`=E\$T1,P1$``5!0`5(``!;V(4@(`9A<()PX(1H M,(4TT@T'@(B(&``@(`"-"`($``H"``K_``D_0B,T,@%50@`%8``(\(D44`$% M,`%X40`1H#R0T`"05HD0\``IH3RNF!+_0(K_4"4%\`#*DQ*D"`D/0(J8*`D, M`(P```%;(`#%*`8"`!H(35E#1"Y$3T,`)24E)80.``!/$H&AL(/8&@``#%\" M!JPR)<B1(@T4)&R290@1$""V;"%1QHV=+W;"R.D2D8R.+EO@A*&#YD47,FGD ME!E#YXV</%T2)A08D$B1*4.D)(%")<D3)S(5,'0((LT<$&'<(&5#IXP<-R/3 MV"D#HF55-%2;3&E!Y,D4%'3:I``QA@S9-VW:)#5+<B2(-V;,.#TZ!XU+.F/J MT`%Q)TR>.0FMCD&3]`Q5DE3SRE'I9B]*E2Q=YHGH$@09.5++='$!<>C#-(V= MPE%)Y^B=-&S(C-%(9@X+$`G-N.PKQ^Q:$"JGRIE#=0Z;,'7+N+;\IO3KBG92 MOG'3IB*=,&Q`9,0<1@P;X:]OGV83O0YOI+`53$]3_3H(AU""4$'R.HT9RV7, M@"Y#YK75QROWIBD-@K?&P2"(1$=33X$@FQS@X1?92RX$%812R"G'G'/02:<1 M>=91910(9V2FE!B3C;82?:"=4=1>(()W`@DGO(5@&""<4,()G(%@A$L)E8%' M&&W`<5U[[R&F4E%')05"A'(LUUQC%8Y7'E532#'$:R"(X!D(),PAQQ@B0(1" M90E9V=!#)6C))0AC;1?=8(4=]L955"G8TDOPR><&?2"D&.40-3YXI$42+OD< M&PDYF2%91HHX!GU4P2@@&B"@4.6566[Y@D@J=)G":V+HA90;DZW88F4RMJAF MGE0E!!J!(C9E%AO[.04=&Y/=@952JSJ51F56(1;@2&@TJ)!08_*%6G1DE%'A M:20EB-E4N)411QW"[26IF$1YY,*VFN8Y61@LU3'K9&RZT:&Y5;T1&%:6/=L; M'"NYEP9]-5*!QH8;HA274\Y=9:167'EUPE%EH4I8<BZ]9BN_"=7A1K((^CH' MCXFEE%<;<SSGQJ+#^:H88XZEE)]D;RGEZV69$4D68>;2QT)"G>[EJXB\-<:7 M2VN4:)G("TZFDEJ@'24QQ9&Z\2;*T)9K6`K")A2$&03"!YW.S$)ZLKM%N7&@ M6G3LZL9K5Q(F-+L3-P>"T5TO]]9["8%1W1QOL*%7&:,B"(9*OW4]58M*"[?V MSI#-^>U19+SAMZ\`=S4%660TK4`20;+[:+335NLR4E`[A:K.&6,&![QFP?7I M9$AKJ+5+7'O-:1GG`J9`U>#Y!AP:]MT*YZ_-]JURKG*TBB?>44';*[M)%I>0 MG)+5BX9WM5,E&W=OG(;NVW'/O7*;10Z9+(%MS.=10IT5R\7DD"B@NU7C`ULR M674LUF_IX(-PI4?I-PL)`N>_63^D:I=NF0Y!L5>CF.(4J.A-0V-SR\S4MZ$Q M+&<.:8`8GH`#'N`=$'?!@@CD/I4C0"5I0DR*CJ',@Q[U($%E7T#;%_I3!CJ\ MIF_9HXI:DA6MO*5L>&5(R,?>QS/!U>A&"-(1CWQ4AM=@ZR&%.T.73I6_V\VA M#F)`WDN.]P83B<YC[0,9X$;V$B#!:4@;6DX9:G2$BL@J.D+LT76.@@+8B>!1 M(DC(P71F-!!<)PPH09?LZI("`"H@?$0AWP*:.#D+WO!-.[398UZCMD0ZQEWQ MFY\.0`")!C31D8!;G_^^]T?Y%<LCY$L`(=5G2.$A,HL\1%#_L,9)0#YD"W74 MR!GFP!%(&*")Q0L9@E#`A;$T$I6*Q!H*C*2C1<$A;6Y(05`V2$P/*HE"(KS0 MD\Y#A/2L1V5S@-<8Y(4G%(SQ#"Y0V'ZLQJ[$>04$4R@"%72(%K4\;%.>=,C` MKM>RHY323>#!I!2_-:0VO$%?\VH<1.PU$E4-YTJG2M:RQ@D"MXD!;G)K2HL> M=90Y3J\_OZD+4F3&+C&P#C1N*!$CY9`0BJ+J7"%%%^R:F9P/"JI)TLS0:]3@ MG;U0,%ES&`-F/&H;,;QA*B]30,R,Q1VI10=VQ<$*@DQZSW3=SH&A:<Q11%?" M]=0H*%4]X89@!*N,_8VBKTD6K+KG*F_%:`<G>`T$N_>;B+W)FDCX86722,37 MQ`\B(N#-7K+:`Q?L@`L[&(,.`%N&P=;!1V_`XPZVM0,T#/8..!-!C<*#T&/U MIPYCX!@$IT*KJJC$+<H"T!4E!RRZ:).;MAE;8H!)A^/U4#+9>9AG)R,8EAFF MAL'#9UMTR<4\R#6(.U)C$8U%DG4URJ?0RBJ5)E4LE<!!!2\@0Z8@0M0UV1:? MCN4"9.6P!BXX]RYSX`(9PH":/*CJ/=G=[AI4YBOY[&8OSJ'32B\;Q=?2"2IF MX]I@=+;``14P3,Z%KG0E"Y$@@("F*-GF&[S#P@'IC*K5-*'*=#.9C,CM23LX M6W$.0QC]Z.<HQ@5!>J10!"=087&B,X-**M>8SH)+LW@RZ6[[8Y<ZI`95_3FM M?/`$&FK"55A`/%)PZ_I4NZ1A454J+!<.RX;$DJ%+U?GI<.NRX!LWQT@SSL." MC:51JR3DQ<(YRG@63!<H2G%>4WV/DIGL9+/B=[AH\Q=\#8M8/!(I-BNF5HN_ ME=DPTTN#>X&LC<WBT?[000YM<NK!&@4JDCQ82/Y2"HU:]&75&B@E7HWO9'JL MW/Z\J=!/'-)]WN3H.80`(D&YTJRB9QK4J(8U1SF!"EITFQ/\H$4D25(=SE!C MCE+E4<H33J/`&)K>D88^JC)9.;>B.$/GP3RW@9'N3E7H&>J67>[UJG[OA:Y] MQF;!LDV1.1>'@ECZMT<?!H&UG:H2B$*+1V)(PQGJL)\\,`TB0:;KCXIBAH1H MN0X@6#1]'W,4,8R$4R,9#,+'L(;#(KQQC_F46?Y-I"=2Y8AY"H,*!@R"?^O0 M2+^1;8^3,IG1"EO(QD01'EWPF!JAP%[X,DV'Y<?L<YK!82SQ&J*XX[K"10J" MO+XW"#9(<8TD9CDWYTU][/B&-ZSWL$1]=6V.TN-_(VC<ZDZ*N-C@`F4.:W[* M8L-1I+7USMZA#$6%W8%H8QO9YF8NO<DH5N90HR0$VK(J(0-F<ZB`-MBX:T0\ MBQMXDY<+[G'N3J6I5\6(T=G5W:9B?Y/#():QM1Q%LE!V'1;=ITC[?DNVDG5! MYL$C$I`IS'9B30-9)PBJA1$;*0GIT%24`NR!+N_R5W+@'<1;Q1>\P`4OX`(7 MML6%%ZR&#ESHDLK(+A7H],LJX<&X[KEP?`*#(`A%@HA/W<`\$,R`./RYLE+. M@.B'E3Z5O8W4-\,9_=P/%@]<R`,7]#!\;D&$!RWP`5ZO1);W*[\R\?00A;4M M-8)_^A>`1Z(#V_)[-;(I7R9;-`!^1W$@'/)9=-`"Y+<6Y]<8+$"`J58L>F5I M6.<422('U\%93A4#_'8B!D)>8N=4NK-/->(95.0W<38:JS(ZCH8N#K-&10(A MBU$9;Y!9[4-W04$37X`$26!B4X!5;P`'D^$9+N!`;>!4,()H;8`2<[!>*$`_ M_>$78^$6/E4<5:%ZC&86WL%H2T$>$(0N5J$6:\!W!0,C<Y`'1@,J54B!]-,& M>5`6+C<%H(%D$I-%5302B6$65.A.9G$J<59HI==:"B`ZB;@64X@6KT%Q?6$S M^^%4369GMZ$C*V$]%#0M1[8&+G84</`&<P!!&=)URY1N<08C9]!T9A%!RN)4 M<.`IJ_(F634Z&"1G)Q4TQ`4I,&(&3?8YYJ4`_C-C&P(WS=$US3%VZ)8'D]1Q M6R9P07-HF%565V(53>9T7S1&&M1O"D!QAN%K5>($9/A99#`9)%@9[*@S_H,% M71*-$W-;MH(:5`&*A:<SGA%4HS&$848UEE5H428'9=6#86:-`)>+-F4AL&(6 M6KA>/78U*;,6"4$:#.(@E$,M7H5Q)/`8;[9$#.4KN6(SDFA;_/4F,+)/?&$7 MO)$0;Q:,@S>,,<(BU=6"J%%W[U%TX3(N')(R9V:#%.,Z'H52!-DLHN(B,3(C MKW$O-%1J!I(D52B%^#970[9O:1@F5P)\(9D2(^DX2"@$57`$BW,;3)`$39`$ M5*`>/N$$33@L4B`<U8-,?[,=4M<:B*(4JY&&GF8VH8:#O$%WXSAP*8$480`C M8F.8NP$S8J""MR$&8B`#&1:9DQEP%/1$]84@F34#S=.1U<)<1*%Q+R`&T#4& MTZ46)8<@JBF39*A>854&\/(P#Z9L<>)Y+@(Q.@,T3.(]9C5NP89!":&:0B82 MLD5!B1D&I7F:*F"%B5F:CVE\*O`:%)B/`"(D"*1A68<7:)!AE;&)K:D`.F*< MJ868RFF:TNF<YSF9Z6D5R0F=,F!\8S`#=4<<;G`"'`4:ZS5CB)$C>'!HTH86 M1(0']78V9<`H;'$T86>3OF(8=X)HL$(')?<>$$0'XH),1P$K<7@51F%0?*$1 MY><JCE,$S@1"@V(AU)$A,>19RE)6%'18\,*9P#%<U@DI&V(T<J`6T7$@"U%S M4_!;0C9$^Y97+=0?6](#9C!89O(84/:3W#$9&>,2?L-2@0)-A1)3YO%F9K$G M/,F0(."7SD@5>H$:!7H;#JEN:8`'>+(:WP$:'=12SQ1"*(HA:P0VQ<*(9&@G M;#%W8Q045V`[5.I2T#2GT]2,.A902&%IH+$?Y!$=C_@W2?%E<C!O@F*GV6(X M1Q%G?IE50*IOPT6D>W%8?25Z$B>:#T$"AQ5'KV-93R@K3<$IG@*J>=(#I@EE MH%<P)"`&)%E4W[A>%-B2N"E9RRD"056C1'*?>T%A7\H;-\=UMD<5/J@V2I6= M5N&72!*G)SI"PK$N;I%-\6(&WX);%^1/=OF=&R,W-.0_MT&%1-04&.0X`G0V M==`&'J5*[\$FB,82<Y$UM].LT3&3)O>+`7LG=[!%/?-Q;A!GQ72@9A$#,G`# MUY.O!$*8/B9AJY&P9`A5S]%C_B1J+`,",9`#,:!#A"&Q<U$C<_E$3+&B#B,B M"?8<A^(></(=8[4?*[JP".HX5S(Q?W$BF4HT%"0"9=$E/?:.K!EF86`8PZ$2 M9\`:/GB7,T=QJU%4^R&6-!$$5;`>3R`%0:$$G-$$&M$U2B$$+I$L;O!E`Q(" M&>@&:K`<(:`6"#D9$`&`61>W)="TB&88+C`2=%");1!`TZHR=40;(7J@QX$' 9-*-T3*EZ/A)0XM0L4JF%AY8&,>,UP@(:`#`2 ` end END--cut here--cut here