Ò+SHVAR HST3ŸSHVAR11 COMwàSHVAR11 DOCBSHVAR11 ZZ0-;‚4ÿ ÿ ÿ History of SHVAR.COM Author: Richard Conn Current version: 1.1 ---------------- Version: 1.0 Date: 3/5/84 Original release. ---------------- Version: 1.0 Date: 2/15/87 Modifications: 1) Looks in directory named "ROOT" for shell variable file, and at root of memory-based path if no such named directory exists. 2) Prints definitions as well as names of shell variables, one per line. Modified by: Dreas Nielsen 16713 SE 12th St. Bellevue, WA 98008 ---------------- à Z3ENVÿð * ÍÄ Í1Í Í9 Not Wheel - Aborting ɯÍö!€~<_¯Ww:]þ/(þ?ÂûÍ9 SHVAR - Define/Redefine/Delete a Shell Variable Syntax: SHVAR variable text <-- to Define/Redefine SHVAR variable <-- to Delete SHVAR <-- to List VariablesÉís>*ø÷·ùÍ« Íz"I:]þ (0ÍzͶ(#Í9 *** File write error *** ¯=Íö*>ùÉ*M~þ *Í9 --- No shell variables defined --- ÉÍ9 Shell variables: --Name---+---Definition----- í[I}|¯Åÿí±Á~þ ìíCC¯Í\Ý!@Í åýáÝ6í[Ioµ(gÍ6~#Íâ ùÍ9 = ÍÞÝ4Ý4Í6ÃC ~#·(Íâ xý¾ ñÝ4êÍ— Ý4Éý~==ݾÐÝ6Í9 [more]ÍÑ Í9  ÷É*M"AAÍnÉåÕž #øÁÑáÉ!�Í_ ·ÈÍß Shell Variable å!6> Í, ëá~ÍJ(ÍÒ#ò~#ÍJ ù+Í_ ·(>Íß = åÍq Í? !6Í (Íß (added)Íß (redefined)Ñ!6ÍDÉ!6Í (Íß wasn't defined.É!6ÍxÍß deleted.ÉÍßSHVAR, Version 1.1 ÉåÅG!c~·Ê]¸Ê_#ÃPx·xÁáÉ<>;:,.=-_ õÅÕåÝåýåÕýáý~2ý~2ýNýF i`ý^ýVË#ËÍ¥ýáÝááÑÁñÉx¼ y½ÈYPÅÝáåýáÍ 0++÷ÅåÁáÍ ##8 ÷++åÅáÁ|¸8 }¹8 õÍ!++ñ ÏÝåÑë·åíRá0 ëÅýåKBÍ¥ýáÁýåÑi`·åíRá0ëÍ¥ÉÕååogã^#VëÑÍáÑÉÕ^#V wz+ w{ÑÉiÿÿSH VARROOT:N·(¯ÉÅÕ"MÍ íCxÍÖÍö *M6ÍáOÍÊ Íß *MëÍñë€OÍý(ïOÍ íKxÍö >*Mÿÿí±¯ÑÁÉ!sÍeÀÍ‘ ÉÍ) ~þ ÈP í°ÉÅåÕÍÑáÁÉÅåÕÍÑáÁ·É:N· =ÉÅÕëíS *M~þ(í[ ¾ #øÑÁ¯É¯í± ßÑÁ¯=É:N· =ÉÅÕåÍx*M>ÿÿí±+ëáåí°ÁáåÅ~#· ù>áÑÁ¯ÉÅÕ:N· -Í ("·íRå¯ôí± ååÑ>ÿÿí±·íRDMáÑí°ÑÁ¯ÉÑÁ¯=É:N· =ÉÅÕåÍ íC´Í7Íö ÍFMÍÊ Í/ Í þÿ(<*M>ÿÿí±í[M¯íRË%˯µ($D!M##í[MÍYëÍ* Õ€ÑëxíëÍ ·íK´Íö áÑÁÉÅåÕÍÑáÁ·É!&MÍeÀÍ‘ ÉÍ) ~þ ÈM í°ÉÅåÕÍÑáÁÉåÕ2ÇÈÕÍ�á:Ƿʋʹ—Í$—¯Ã™Í$—Í´ʇ>ÿÑá·ÉÍbÊ«#Â�É> «ÉåÕÍ Ê Í x2Ðy2ÑÍ5 G~ÖAÚå¸Ò 2Ð#ÍbÊÍ»Ú åÍbÊÿÍ»Ú#ÂèÍbÂáÍR O ͇Ú ¹Ò 2Ñ:ÐG:ÑOÑá¯=ÉáÑá¯ÉåÕëÍ` ÊRë·ÊRåÕ¾ÂD#Â9ÑáÊVë ëÃ.Ñá¯ÉOGÑá¯=É~Í  þ!Ú…þ=Èþ_Èþ.Èþ:Èþ,Èþ<Èþ>È·Èþ;ɯÉÅ~ÍbÊ´#ͻڸWyÚ¸Ú¸�Ú¸Ú¸‚Ú¸O‹yÁ·ÉÁ7ÉÖ0Øþ ÒÅ?É7ÉõÍq ÊÛñÉñä õÍq Êòñãõ~#·ÂéñãÉñÃ9 åÕõÍC ñwÑáÉõÕ*È /F##x‡€_ÑñÉåÕ*È .~Ñá·ÉõÕ*È GÑñÉåÕ*È ,~Ñá·ÉÕ*È "~#fo´ÑÉåÕ*È -~Ñá·ÉÕ*È ^#V#~ëÑ·ÉåÕ*È (~Ñá·ÉåÕ*È )~#fo~Ñá·ÉÕå*È  ^#VëÍ |µÊÁ ~·ÊÁ Í þ$ʵ G#~#þ$ʦ Oæ áÑÉ"È ÉÅÕåõë¯w Í, ñáÑÁÉÅÕåÍ$ þÿÂò >ÿ·Ãó ¯áÑÁÉÅÕåÍ$ þÿÂò Í$ þÿÂò Ãì Í/ åÅÍ$ ·ÁáÉåÅÍ$ þÿÊ, ¯ÁáÉåÅÍ$ ÁáÉãÍ? ãÉÕÅõ~#·Ê“ þ Ê} ͤ þ Êj þ Êo þÊo þÊs ÃD ÃD ÃD y·ÊD ÃD yæG>�G�O> Íâ ‰ ÃD ñÁÑÉõ> Íâ > Íâ ñÉþ Òâ þÊâ þÊâ þÊâ þ Êâ þ Êâ õõ>^Íâ ñÆ@Íâ ñÉÅÕå*. Þ ÕéáÑÁÉõÅÕåO*. ñ ÕéáÑÁñÉõÅÕåY ÅÍÁXÍáÑÁñÉõÕåÍõÿ ÍOñGáÑñÉÅÕÍÑÁÉÅHÍ5 ÁÉåõÅÕWÍV ÑÁñáÉÅHÍK ÁÉõÅÕWÍV ÑÁñÉr# x±ÂV Éõ~#·Êl Í Ê` +ñÉõ~#·Êl Í Âp Ãl åÅOæ !— ¾Ê“ #‰ yÁáÉ  æþaØþ{Ðæ_Éõ*¹ }·Ê· $.ñÉ» +-*/[]<>=!  HOBQD AHLBCDEIR�€ CHANGES MADE TO SHVAR.COM IN VERSION 1.1 1) Changed to look for shell variable file (default: SH.VAR) in the directory named "ROOT", and only if that directory does not exist, to look at the root of the memory-based path. 2) Changed to print the definition of each shell variable as well as its name. Each variable is printed on a new line, and if the number of lines exceeds the number of rows on the screen, the output is halted until any key is struck. Since the program now prints the definitions as well, it doesn't pack the list, deleting definitions, as before. Under these conditions (items of various sizes) I found SYSLIB's shell sort routine to malfunction. I have therefore included a recursive Quicksort routine in the code of this program. This Quicksort is called the same way that SYSLIB's shell sort is (i.e., it is passed a pointer to a "sort specification block"), but must use pointers to the elements rather than swapping the elements themselves. (This is the only reasonable way to sort elements of different sizes, and the best technique to use when elements are more than one or two bytes in size.) The lowest element in the array of pointers is used as the partitioning element. Thus, worst-case behavior is achieved for data that are already sorted (which can only coincidentally be the case for shell variables). The routine will then call itself recursively for every element in the array. It has been designed, however, so that the worst-case stack overhead is only two bytes per call (the return address) for data that are sorted in ascending order. When data are sorted in reverse order an additional four bytes per call is needed. The routine is self-contained and can be easily extracted for inclusion in your own library or directly into other programs. Dreas Nielsen 16713 SE 12th St. Bellevue, WA 98008 vþSHVAR11.Z80# ƒAC±@äo3œŒ&ÑЀ¦H+JPX9êt4ÎQ‘¤Æh0œŒ‚¼Ün‹ˆ ÆS‘ÌÓ)ˆ EÃaÂt2Ä¢l�@8Eà§i|ÆR 2œN ‘ŒÜ,$NgHéäZ-‹‚g3°L¶‘27X ÆùÙθ-H�6°M¹ ® ÅãQ}À šŒ.ó‘¤Îi7M‚‘”Øe0œÌµÁ�¼cw ïSQ�Àšo2LÆ“,š® :ãD³(ƒ9ˆ1ÕÎG‘Û ŠDòyPD Î×CIÐ@en¹²O"š ćùÀHa�k|1°cÜP3ÄÀà’"‚z0CPp8,à^ð• lpQ‡"ÐZ� "„À¡%B‚Îàž,R(¹œøtá…”s='±??AÌ0³4Ghü�‰0~2=L�b÷€�D!%÷“p/� É7½åj )1&P(SIc5@¨LÆ¢¥$¨ÕY.î­Ô5«Q”‚d4Í94¦³ERPMK4 µÖ:ÊËêåDOI…>'tý[à¥Of�–»®óYëäZQj4ÑÅU”‰ú°ÌœÇÉ<J:J‘í†ôr�¡¡&Uhi9Ÿ4"‚¤Œb̰PÂV¡L(�YmgT´�`Úh°„xS¨:†Ðàu²¸d3*qMÀZ �€5Òòš…w�›9’S1YŸc¦àì„5ò›3™ÍnçK#™vÖŽÆzµChªµ'sáh�Ý™5 dÁ†{’­é£|’Ò`„0žáÂpD’²^L¸:�@Pirà#[yi t©1‰Ð’_‰|hƒ¨¢Ž€Ù‚c¶ÕIØd¥Ä(1ÓG–cTÙ(•vŠÒ cgÌûöÐDtg’&AXä¾"ÇCVp ¢!º @Î|êŽ*ÔeöT#‹ ød³ðŒµ@ß‹•Ì© øÐëå�ä‚£”ìØSæ‡*¥öRLŽ,€š6BÀI ˜3«æÝŸðYÀ©E‚Œ�M@w0 —ÈPA¡@tm1Þ<Íë¹9 èE›gI™6Ø�“ �Ð:·8&ÝnÓ"Ï9îGÌ»wl-•´¶ÓªöËFr›:”¢@ bÊ`ˆr4=E22¢(,©ž1 øç3ôV£ 6Jæ›?³µEh æœ9Óry‹PyÐ� ágÒ™HÕÄýƒO†±!ÁÝ€˜"Õìqmt²Ö\):×Âhl<†ØÞaŒ©nìPä+Uo*SŒ·6fLà˜ iia0-+<›³Ã�αh'Q¶&Òµ"ÀØ6M-ÎtÑÐÅšúg*ü{Óbn$ůIG]* #Ð ÎÚ³@¹ÎP”�ÓÜ»˜h'â Á‹ wלªÅÏãÇ1êk`›.z ùíquEŒµ€]'£ÇAaA:£ÙŽ£ÏFôÝDÃT'#þJv<êpð/ …,+@e¥žG'ÀÑuc�áüSð°Qñ)½Ë:‚Cè*ÏÉf0ëâåÿ@Ç£«2cJÕÒÊfÉ—†2ðFˆ8~3zå—®¶ßLÍ}5:¦kö3¯×ÎàíÜ:³ñ=ÌãnÆ�Äì÷ŒGˆzké±ä®ó‡!Öä9QñJF—’jÌþ’i†vˆÛÆâ]ÝÕ’–r×È� ú2ó6²Îéä|˜0—A!Y†RŽk¹ÑÖ ‡Àæ‘´¿|Ó#+ÐIX°¶M7‚>'ËEPr›‚s&q°l'èõ"y'¹qu¾â‹"bÈÀ--��làm?§7¦Ur`,z¢tat€3Hñ¾€qò|“Æ.‚= (&æfPNE·};SUš}w�aâAo" PcC lfk}µÝA!³Ü ‘†‚°”¥´¨y¼{7µ|äØ^§†—¿SÄo#øGmE.n‘Á$Èywt1a&6�TqÑÖ+{ÀI„w6å´<8M¤Èd1)!¶â*v}I“f6ƒj~€U~¦·20P�wÀ’³�Ye'�Úˆ©¥R¸…(€ñÇ(âs7°†èˆ[p2+4"‹q¨~órjˆŽË+R‰÷{Ç|a&K•|V¨€Öó‡‘/kô9çÈlR†2&åcˆ†”OH'ŽnÆÂ$ qTµ{gÏ{‡¼LØi]´Zzp;†mq¨z td&J$¤ÒS…÷#t5ˆ£JX¦m€oƒFB qXñzøkŽ÷‡¿tÃ|ðH²³pa?Äó0p…È$8–a£ÆdÀ3”ù408Cv)&Ë„ø�P nP4c”c³7[äP€ó90c@”AzAHqHq2Æ]m!ÀsJrdP4}'˜[q+r·LgøFb—(6í‡÷:BWçtöJe$tt)^#‡K´“'å1Ûb¦¨!¯Ž¦vŽ t€5H÷·ˆ¼+0A+` &¨‡ÈÃj€a9Œ)©˜0X[âLZhÁ!Fèa¤|jf"Q`eÙ‘”בÅ&7Ö{;“�Rô9—H”}‘¡AIyODµFâ;uþB™‹}8Ä™7°x$„e6 8ÁJˆ˜ãraò…Ã(pãÁ¤›©Â‚s�´4!©'‚§’±†ˆ�Œvmb"§b… HÌ+épzGëÁP+2;ŒiÊÆë5EuDr¶E‡ÁèÁž³ˆc‰�¹ަ˜eU Fr§,`XD7ùrS A27·?…BT!ãÐ�.q©ƒ•¾‘ð?ÆR�ÄSa¡ÍA�Fv‚Ú €;‘ÚdÓ)žt9”©4C×+L°ByCÑú\beðm3×h°aË£”È™)„<3©›ƒÜœˆÃ�‡$répœ ·J ä™6”x+8Û1üY´+¦¤Ò ¤ù”k†ºNô?dšb(«™Š7—u6’ndR1‚K‰J'‰s"‘ C‘Éí�§cãÃAú‹#aÔz{§ÒUà-W1i¸Z}%ÇDÉge(´ª ”;P³I4éB[,•S`pMQ·tn…µÂ³+„ ˆ;Tµ�oPëX›‰”U–3K °Ã :™$ù:6aUc'fDÆlx³±!ÏWWd‰B&’‚9ÀV[ ;”T¶aPFOû{;¥¤ã#‡<3ãø³á±ÒGdVMà-ä4…ƒ#Ôú+6['9GÃìaăÚ4AEG$ɇqSåZX…]uFrº»G¤~º`pû�…Ç^?²SAKéJGm.¢Tc|µ«z„¦mŽa¢nÛ+@¢"?Éd.‹û£´“ÊÿQ>˜èú#Ó8¶dµóöµfsAÀb3‘òÀ,Dë¾Àת)· †Û–Âv^”ˆvL™.É0ÁËb«µ-¡„+keÁú@»pM‚–Kl‡±DÞlÄó»i¤creT]ÃÀd&™O�(¶�,ø¸ìFC+2‰1¡1#wXNUt¡“p ·œ/A,·Ó#·›”°ISã‹St«+“Ðl[䇵gvœN WÆ«3vgÄ€kĪsÄÌ�Äü„·\Rpú ™DÆÌ1ÄÜ�£»î5à&Íšù)Ê+žŒ9ÂQ1G!È\VE»„lò ÇPDLUt·-0K[“#iˆ¿¥lì¡ “ŽQãgVrÛäb’³pòpWBn®7Q–·kŠžV~ÕšÀ4Ì+6`Xš00I§ ˜-Ë<µ³Z_I£J4Ìç BžÕ»¿ÜÞ`á— Œ3I�#¢%yˆ†ÎEÎvªÎ¬Ê#œÑ‹7)®ŠXÎqD­ËvÐbÆ–—Q‚qºÝ ÐÝHø¢R'Â<7ć—ËÍÙKUF<8 ÒXç*é8²´îX2ƒ²"8üƱ|ò&LΣ†8ˆ¿¢KŸÁˆ+Q¯TÐd¢Ù8ú tÍqG2EŒ¬ºÌ–bsž� –¹ƒ ÔÝ;Ò�=®“�Ó,ô�PÐŒ¯b .Õ­\�‘Á$4'<›T;×4¾;åVC¼TaÈá0—U”·ø�n0Ð+p0G@'ÖÀ,Ø1b‰H&`1Ø�ŠØÇY-ÕZt%—§Ì™ôS±Ú€òAÇU,™È<›Õ¼ùjwþƒuÚ2ò È›ˆµlÆÔ%HÞ¹]¹¸¼ÙˆÁ”2ŬJ Δù@ª+'Ü0ÈÉ¡¦&Kµ”AÃëg¶ü|ŽIYÈí«3›Óųý`e�@jPìR{±d›0»J·39Þ†V‘úÞÌpÈiFÝ n&}ò¹=×¼wÞ±‰»„ûÞé@ÆMá/ã²�ÁÏÈÁÈ‘¥raßPs»Íî¸Óú£«M¹$2”CÃáÔ¾µ5ÌÂì�ž0¥OÈ(ÄMÕ2-Î'tVP'À>°:À.Ð-ûì¹ �rLÎCË«:$Ƽà ³‹:0£Å¢Eøˆ0cja1Y£FDò‰ÔŸ¢;PgÑÀƒ¦™Ü–"aƒÀAÎbhÎe0+åRIú¹Ʀ =:1 è¶âKrG±È9p6ŠA�&.Ø÷JJRm¢N‚1p¡ ´q¨5øÊ#rl±ùèÓ׳#1°'¨GQé„qQZÃü%B3å@"± SÑ!©u(VDº²;/†8ªbü,MÄQ¶ $ó�SH^=q‰š#Ü+§á"‹$Aˆ>€;C$V#@2h4EµÆ§T¨‹%|»@ éy€ `&t�ìfbLKC·3yé‘\îÂ4€&žò\¦/w(×)½½¡,F‰ÄWâO6¦�Pw`s«¿#ERðe×n‹a�dÓU_õÒó�‚;;>ëØ”p¢;>¦1@-@!×E£²þ“"�ðâcz'8ƒjSsxR(+„£nbó�UºþÖ?±;Û©›x÷‰_”´þGù^Uÿÿà91IJKTØÞGÕ „(3üp§‚O7úº¡ç¼MÏþ%ù° Œnçƨî§8Oþ8º8xl[q¹á¨VE}’›n�1ùc91 A0³ßBEYˆ:r€˜žû‰5Ö¸I– N\´±�"�`LR��Ûàp=ÔÛçLÕDüÜACüAïúŠOú|X`�éŠ?çŠ=ÄI¨£ý­3pÄ€åm€å—nDòm OÊ3-ø‡ø¨8~ŠŒO�¥ŒwŸ†_%&Iшaýàe÷ÉÌ«º©éQ›ë± m Djiºo%þ€ ˆƒ{ rmJcž�Œ|ˆ§7±‡yô}†[d][yeyoQÎÙÁ⟣]¢@ bpjŠð«pl$¢ æ;96«LÓñ+D¾h‘Â)pl�B½K3ÃÊiœjy&öU‚Û8M€;t�gÛûœÖiQ……VÆEø·^ó#ÕÆw^ËžÔÜÊËDùYuú*T>)²4Ó‡’!]¡è¡‰çõ}Ü�ŠaÁbq€phqM |Xþýÿ¸¥ƒx À bw–Ô¤b/àlß”ú ºÅÄÑ»vÂép¦¹ETÊ`U„`IÅ{>›^[¹"“´)X‘òa f£¦}_¨øá×m¢‹pHûPE‹7¯õß_q€ \LúYµ:yˆ Û8t¬ê„�O¸H,y;8ÐC‡MˆêÙçe[8r«î‡÷EifN[øÏ©Ïõh=Ø�س_]Û·´®O$É¥y`+˜�0>âþ.?\‡–bw‚>¯8�´ó±#‰ ú†O\ÏèEw)�Œ¬úZ] oö7ˆS{3¡Î0Ð ôpAÑ4™Õ‹„BAðø·!qà v/¹Ú#0y�G·Ž«&H6vÝÇ¡p;‚A8‹kZx¨Ä}X,Q¿GNOGÏšá4ƒÃoéÍdçKÏÓ›^§yd3DÔ©>l­WêÜIðÑxþDïaóÂɉÁö�'Kç ˆR:÷õï`ZzJ$#¦cS�æ$:˜äB!qÑ›Ye”2àò,�y£4)hšÉŒ! +‘ Á,�“¥òŒÊ{¶�ˆ¿HjOˆÔ¶Ë8T7#að5š2ðoÎSZ!¼Ü�Vñ¤÷Ðã‚04+;ÖÕah¨ø8ïº$ý8ΔËzg¦lä�5ÙguRºüå5¬‘)ÕiCü•’›ñ­�I­›ý«Q�¤ˆø&C¢ÂÔ¨öʨç°ë ³€W"<9¥x"&ylq›cêñ­�|î}Ã+QêRðEÌ¡múqó©½R/ÚÖä&8¾½ d�¶.¼–맯õ½ä¦)|¾áf6‰Úd©CÁ�A¾W‘GŸ\ë�§ eùj4PbѬ0sm¦ÉdXQ}ï–C£4�’§ˆ–W‚‚HˆõÙµŒÌÁÑý›ˆ�ݳñ�¤q†­HãüIð†Öyi¥î]åÈÜÔÉi…Þ¡AªäH�4v<Ä]ïUÿh®6€j†3çx (ÇÆ—·%•ÔM‰GþÈ\ÙÙúÙ�”RÃ�3üïô¡¯…;øŸäƒ#¨×|Í€;üß�ú¢A[º]» ÷þ÷ìýÁ¨ýòsWA&O8Q€2�/Ÿôå©~¯üqW“R³‚ešÙ�Ž1r9AMĬӎ®žcè Ýæ!©AIPŠ£†M þ3 fp‡R;ùÏž: Û2sº!$ð(‚G–õè§œø06DM'Š\CœŽ2ðnŸ¤È©ÿ¾YhŸmL´µ5H*F+b#5ÓÈH6¯¡ã#ËÓÃ]ø%õUäH‹œH>©*tŸUÿhßx³/ù›X³˜ºÒ9ÎGÏ«S¿K(7fá³™ôpqýü�£Ù3üï×Ê5œÌ?•39¨ØÍ�TPùÈãíާLæ6X�˜½Hý\°£S9Ö3´¾øêî°9ÐF3F@ü®ÆÎUø=Þ6õLA¢õu>�>ý|à†!ë©#¸Q¯õB˜Q3áÑ뺭—Qî…6ºê­ëîÀQ#œ²B¯œmJ‹kPvŒ8p+4¢yºvö¾éGº>¶ñ„¤']qÚ¼Ÿö²AïµÌCëÂþï~ŒWŽÀÚö½%ÊbÿZ�\ÍCa¾+#Ã![Ƀš±× õª‰À  �á