Das Programm 'bsh' bzw. 'bsh.exe' ist ein
Shell-Programm und Kommandointerpreter
genau so wie 'command.com, 4dos.com, cmd.exe' oder unter Unix: 'sh, ksh, bash, zsh, csh, tcsh, (perl)'. Ein Script ist eine lesbare Text-Datei, die eine mehr oder weniger umfangreiche Kommando-Programmiersprache enthalten kann - zumindest einfache Kommandozeilen. 'name.bat' ist beispielsweise ein Script für command.com, und die bekannten CGI-Scripts (name.pl) werden von 'perl' interpretiert. name(.bsh) ist ein Script für die 'bsh'.
|
Register |
Beispielhafte Scripts |
Beispiele,
Scripts zum Shell-Programm bsh
Diese Seite wird unregelmäßig verbessert und erweitert! |
^Verschiedene Datei-Umwandlungen und Filter-FunktionenNEU: Wurde etwas überarbeitet und an bsh32 angepaßt.Menügesteuertes bsh-Script (rechte Maustaste verwenden) Dieses Script 'conv.bsh' beherrscht zur Zeit acht Unwandlungsfunktionen
Hilfe : h Text (ibm) --> html-Datei : htm html-Zeilenkürzer: > --> \n : htl Text (ibm) --> Text (iso) : iso Text (iso) --> Text (ibm) : ibm Text (dos) --> Text (unix) : dx Text (unix) --> Text (dos) : xd Datei (ABC) --> Datei (abc) : lc Datei (abc) --> Datei (ABC) : uc Filter: HREF="..." : url Filter: HREF="mailto:..." : adr Filter: SRC="..." : src Filter: Strings aus Binä?r : str Ausgabedatei editieren : ed Interaktive Shell (Prompt) : sh Beenden : E
Es wurde relativ hoher Aufwand betrieben, um die Bedienung und das Auswählen
|
^Import/Export von Adressenlisten diverser eMail-ProgrammeMenügesteuertes bsh-Script (rechte Maustaste verwenden)Auswahl im Menü: Hilfe: h T-Online Vx.x --> Netscape-.htm: th Netscape-.ldi --> Netscape-.htm: lh Netscape-.htm --> Netscape-.ldi: hl Netscape-.htm --> T-Online 2.x : ht Netscape-.htm --> ForteAgent : ha ForteAgent --> Netscape-.htm: ah Netscape-.htm --> PostMe : hp PostMe --> Netscape-.htm: ph Einstellungen »NNN« : j/n.. Zieldatei editieren : ed [...] Verzeichnis wechseln : cd ... Shell aufrufen (Prompt) : sh Beenden: E c:\> bsh emailadr.bshAdressen exportieren und importieren zu können, ist für viele sehr wichtig! Wenn diese Möglichkeit nicht besteht, bleiben nur folgende Verhaltensweisen:
und weitere 400 Einträge in Verteilern. Was macht diese Person denn, wenn sie auf einen Netscape-Messenger umsteigen will und womöglich später wieder zurück, oder beide Mailer nutzen muß ?! Selbst eine einmalige Übertragung per Hand 'wirkte lange nach'! Mit diesem bsh-Script erzeugt man in Sekunden die notwendige Datei zum
Dateinamen von Adressenlisten: T-Online Mailer V2.2x: adressen.dat T-Online Mailer V1.2x: addrbook.lst Netscape V3.x : address.htm Netscape V4.x : beliebig.ldi (exportierte abook.nab)Mitwirkung: Shell-Scripts lassen sich sehr einfach verändern, daher bin ich
offen für Vorschläge.
|
^Import/Export von eMail-Ordnern diverser Programmebsh-Script (rechte Maustaste verwenden)Achtung:
Aufrufe: c:\> bsh emailbox.bsh c:\> bsh emailbox.bsh hilfe c:\> bsh emailbox.bsh Quell- Ziel-VerzeichnisDieses Script kopiert Ordner-Inhalte an das Datei-Ende von passenden Ziel-Ordnern. Es werden alle Ordner-Dateien verarbeitet, die konzeptionell beliebig viele eMails enthalten können, wobei jeweils die erste Kopfzeile »From - ...« lauten muß. Fehlende Ordner-Namen können im Script-Text ergänzt werden, ebenso weitere Probier-Verzeichnis-Verlängerungen. Natürlich kann man auch (beliebige) Ordner-Verzeichnisse unverkürzt angeben. Das Script verwendet Message-Id: , um doppelte
Mails zu verhindern.
Ich habe mit dem Script beispielsweise T-Online-Ordner einem Unix-Nav3
(/nsmail/*)
Diese Script-Funktion ist für mich äußerst wichtig,
denn ohne sie wäre ich an immer
Die Dateien des alten TO-Mailers (Decoder v1.2) müssen vor Verwendung
verändert
# cd \decoder\email # cd u* # cat [0-9]* > eingang.dat |
^
Automatischer Homepage-Upload/Download-Manager
Siehe unten: Anmerkung.
|
^Automatischer URL-Manager nach lokalen Homepage-UmbautenBeta.Menügesteuertes bsh-Script (rechte Maustaste verwenden - binär laden!) Aufruf: [pfad\]bsh32.exe [pfad\]urls.bsh Auswahl im Menü: Aktuelles Verz. "/u/sh/bsh" : cd [verz] Datum+Uhrzeit : 19.Nov.1999, 22:18.32 Verzeichnisse : /u/hp/2,/u/hp/3,/u/sh/ht Erweiterungen : htm html Verzeichnisse hinzu : v [verz[,verz]...] Erweiterungen hinzu : e [erw[ erw]...] Rename Upp/Low-Case : R [!][a][d] [l][u¦u1¦xu1] [t[[-]min]] Datenliste erzeugen : 1 Urls herstellen : 2 [=][a][d] [l][u¦u1¦xu1] Urls schreiben : 3 [!] Undo 3 ! : U Editor: script¦info : ed [s¦i] Hilfe : h Beenden : E : _Dieser URL-Korrektor ändert automatisch alle URLs in sämtlichen Dateien in den angegebenen Verzeichnissen, so daß sie korrekt passen. Das Besondere ist, daß man eine Homepage-Liegenschaft nicht unter Kontrolle dieses Script-Programms umbauen muß, sondern dies mit beliebigen Werkzeugen vorher tun kann! Der URL-Manager kann zu beliebigen Zeiten gestartet werden - und korrigiert alles. Im Normalfall braucht man nur die Optionen 1 2 3 ! nacheinander eingeben - und das war's! Desweiteren können alle Dateien oder Verzeichnisse in den angegebenen
Verzeichnissen umbenannt werden,
Die gleichen Umbenennungen können bei den URLs vorgenommen werden.
Bei jedem Arbeitsgang wird eine Info-Datei angelegt, die manchmal auch
als Datenbasis für den nächsten
Solche URLs: http://... und ähnlich werden logischerweise nicht geändert. Info-Datei nach Option '1':817: P*/u/hp/1/bshbeisp.htm*P U*istep.bsh*U 820: P*/u/hp/1/bshbeisp.htm*P U*istepbsh.htm*U 821: P*/u/hp/1/bshbeisp.htm*P U*istep.txt*U 1056: P*/u/hp/1/bshbeisp.htm*P U*lizenz.htm*U 1139: P*/u/hp/1/bshbeisp.htm*P U*homepage.htm#hpdwnld*U 122: P*/u/hp/1/c.htm*P U*homepage.htm#hpdwnld*U 22: P*/u/hp/1/cksum.htm*P U*cksum.exe*U 25: P*/u/hp/1/cksum.htm*P U*cksum.txt*U 85: P*/u/hp/1/cksum.htm*P U*homepage.htm#dwnld*U 21: P*/u/hp/1/cmd.htm*P U*cmp.exe*U Info-Datei nach Option '2':Keine Datei zu: "cybercom.bin" in: /u/hp/1/homepage.htm[192] Keine Datei zu: "../albert.rommel/ppp.htm" in: /u/hp/1/homepage.htm[271] FOR: /u/hp/1/homepage.htm OLD: "homepage.htm" NEW: "../1/homepage.htm" IN : /u/hp/2/190.htm[115] Keine Datei zu: "../schellong" in: /u/hp/2/index.htm[13] Keine Datei zu: "../schellong" in: /u/hp/3/index.htm[13] FOR: /u/hp/2/bsh241.zip OLD: "bsh241.zip" NEW: "../2/bsh241.zip" IN : /u/hp/3/index.htm[14] FOR: /u/hp/1/bsh242.zip OLD: "bsh242.zip" NEW: "../1/bsh242.zip" IN : /u/hp/3/index.htm[14] FOR: /u/hp/1/bsh243.zip OLD: "../bsh243.zip" NEW: "../1/bsh243.zip" IN : /u/hp/3/index.htm[15] Info-Datei nach Option '3':115: /u/hp/2/190.htm <CENTER><P><TT><FONT SIZE=+1><A HREF="homepage.htm">Zurück <CENTER><P><TT><FONT SIZE=+1><A HREF="../1/homepage.htm">Zurück 14: /u/hp/3/index.htm <P><A HREF="bsh241.zip"></A></P> <P><A HREF="bsh242.zip"></A></P> <P><A HREF="../2/bsh241.zip"></A></P> <P><A HREF="../1/bsh242.zip"></A></P> 15: /u/hp/3/index.htm <P><A HREF="../bsh243.zip">http://home.t-online.de/home/schellong</A></P> <P><A HREF="../1/bsh243.zip">http://home.t-online.de/home/schellong</A></P> Informationen für Fortgeschrittene:Der URL-Manager sucht innerhalb von Zeilen nach <TAGS ...> und innerhalb dieser TAGs nach "URLs",denen einer der folgenden Url-Typ-Namen vorangestellt ist, mit einem '=' dazwischen. Vor und nach dem '=' dürfen Leerzeichen oder Tabs stehen. <XYZ ... ABC = "url" ... DEF="url" ... > ... < ... > [\r]\n HREF="url" SRC="url" BACKGROUND="url" PROFILE="url" CITE="url" DATA="url" CODE="url" CODEBASE="url" PLUGINURL="url" PLUGINSPAGE="url" DYNSRC="url" ARCHIVE="url" URL="url"Folgende URL-Teile werden abgetrennt, nicht bearbeitet, und später wieder angefügt: "pfad#ankername" "pfad?abc=n1|def=n2&k=j4|m=36"TAGs, die innerhalb einer Zeile nicht vollständig sind, werden also nicht untersucht. Solche TAGs habe ich allerdings noch nicht gesehen; HTML-Editoren machen eher das Gegenteil. ../aaaa/bbb/.././../ccccc/ddd/./..Solche URLs werden in eine Normalform umgewandelt. Der URL-Manager ist also durchaus ziemlich professionell.
|
^Automatischer HTML-Color-ManagerMenügesteuertes bsh-Script (rechte Maustaste verwenden - binär laden!)Auswahl im Menü: Aktuelles Verzeichnis '/tuvw/xyz' : cd verz Farbnamen-Notizen : " 16:Mokkasin " Farbenliste/Notizen : f [-] Dateienauswahl 84 : d Gruppenauswahl -1--4----- : gw [0123456789] Gruppen-Farbensatz kopieren < ¦ > : g n ¦ G n... Farbziel auf Farbe setzen : {1-10}={fnam¦fnum} [n=f]... DokumentBG Holz3 1 TabellenBG Elfenbein1 2 TabRowBG Null 3 TabColBG HellStahlBlau3 4 TabHColBG Weiß 5 Link StahlBlau3 6 BesuLink StahlBlau4 7 AktiLink Gold 8 Textfarbe Schwarz 9 Fontfarbe Null 10 Link-/Text-/Font-Farben schreiben : L¦T¦F Alle Farbziele schreiben : S Hilfe : h Beenden : E : _Am Menü kann schon erkannt werden, wie das Script wohl arbeitet. Ich habe das benutzt, um meine vielen .htm schnell vereinheitlichen zu können. Das Script ändert nur bereits vorhandene Werte: BGCOLOR="#XXXXXX" , COLOR="#... Dokument-Hintergrund(BG) TabellenBG TabellenZeilenBG TabellenSpaltenBG TabellenKopfspaltenBG LinkFarbe BesuchterLinkFarbe AktiverLinkFarbe TextFarbe FontFarbeObenstehend wird die Hierarchie der Farben gezeigt. Wenn in einer Tabelle gar keine Farbe gesetzt ist, haben alle Tabellenteile die Dokumentenfarbe. Wenn in einer Tabelle nur die Tabellenfarbe gesetzt ist, haben alle Tabellenteile diese Tabellenfarbe. Sobald eine Tabellenspaltenfarbe gesetzt ist, hat diese Spalte stets diese gesetzte Farbe. Die Priorität der Farbanzeige steigt also von links nach rechts. Auf diese Weise können die verschiedenen Farben im Dokument recht
vielfältig gesetzt werden.
Farbe 'Null' verhindert ein Schreiben. Es können bei Farbnamen Wildcards verwendet werden.
Die Dateiliste (: d) wird rekursiv erstellt. Auch mit CSS (Cascaded Style Sheets) kann man dieses Script nicht ersetzen.
Bei der Arbeit mit diesem Script ist es nützlich, ein Console-Fenster
und einen Browser gleichzeitig
Das Script erwartet, daß die HTML-Tags und deren Parameter jeweils in ein und derselben Zeile stehen: <BODY BGCOLOR="#ADADAD" VLINK="#00FF00" ...Andernfalls werden die Farben nicht geändert. Groß-/Kleinschreibung ist egal. Nachfolgend eine Beispiel-Sitzung mit dem Script:Script-Name... Script ist: '/u/hp/1/colors.bsh' Inhalts-Test... Inhalts-Test G... GruppenGWposition=43431 Gruppenposition=43442 Dateienposition=47277 Standardfarben setzen... Dateienabgleich... ----------- bsh-Script 'HTML-Farben' ----------- -------- Copyright (c) Helmut Schellong -------- : d -1-------- 1:bshbeisp.htm --2------- 2:bshmnk.htm --2------- 3:cksum.htm -1--4----- 4:sco.htm --2------- 5:cmd.htm --2------- 6:compilo.htm --2------- 7:delsafe.htm --2------- 8:forum.htm -1-------- 9:homepage.htm --2------- 10:hpinfo.htm --2------- 11:lim.htm --2------- 12:mailcode.htm --2------- 13:olinfo.htm --2------- 14:pearl.htm -1-------- 15:190.htm --2------- 16:istepbsh.htm -1-------- 17:syntax.htm -1-------- 18:cc.htm -1-------- 19:c.htm --2------- 20:fan.htm Auswahl:a[-b]=0123456789- ... Weiter:<Enter> -1-------- 21:win.htm --2------- 22:overclk.htm --2------- 23:lizenz.htm ---3------ 24:atxcool.htm --2------- 25:gew.htm -1-------- 26:hinw.htm -1-------- 27:kurz.htm --2------- 28:ansi.htm ---------- 29:hits.htm ---------- 30:rgb.htm Auswahl:a[-b]=0123456789- ... Start:<Enter> Beenden:e (EOF) e : f 0:Null 1 1 1 1:Schwarz 0 0 0 2:Weiß 255 255 255 3:Schnee 255 250 250 4:GeistWeiß 248 248 255 5:WeißerRauch 245 245 245 6:Gainsboro 220 220 220 7:BlumenWeiß 255 250 240 8:AltSpitze 253 245 230 9:TuchWeiß 250 240 230 10:AntikWeiß 250 235 215 11:PapayaSahne 255 239 213 12:MandelBleich 255 235 205 13:Keks 255 228 196 14:Pfirsich 255 218 185 15:NavajoWeiß 255 222 173 16:Mokkasin 255 228 181 17:Korn 255 248 220 18:Elfenbein 255 255 240 19:ZitroneSeide 255 250 205 20:Meermuschel 255 245 238 Start:s Beenden:e Farbwahl:123 [456]... Farbname:[*]xyz[*] Weiter:<Enter> 21:Honigtau 240 255 240 22:PfefferminzKreme 245 255 250 23:Azur 240 255 255 24:AliceBlau 240 248 255 25:Lavendel 230 230 250 ... 78:DunkelKhaki 189 183 107 79:Khaki 240 230 140 80:BlaßKanonengold 238 232 170 Start:s Beenden:e Farbwahl:123 [456]... Farbname:[*]xyz[*] Weiter:<Enter> e Farbnamen-Notizen : " " Farbenliste/Notizen : f [-] Dateienauswahl 1 : d Gruppenauswahl ----4----- : gw [0123456789] Alle Farbziele schreiben : S : S Gruppe 4... 1 Dateien Farbgruppe setzen... ... +CDAA7D+FFFFF0+010101+A2B5CD+FFFFFF+4F94CD+36648B+FFD700 +000000+010101 G=4: HTML schreiben... sco.htm ... 23 Schreibvorgänge : E Das Script liest aus sich selbst und schreibt in sich selbst hinein:#@F 2g3o3f3f111i111i111i #@F 2l363b3q343l3t1111111h1111111h1111111h ... #@F 3m363i23363n3c3p38283i3l383a3l3i3o3h3711111l1k11111l1m11111l1q #@F 3m363i23363n3c3p382m3i3j2l3b34373i3q111j1m1l111j1j1j111j1m1m #@F 3m363i233f3n2434363e3a3l3i3o3h37111i1o1j111i1p1n111j1h1l #@F 3m363i2a3c3a3b3f3c3a3b3n1111111h1111111h111j1m1m #@f EigeneFarbe 2 2 2 #@g -1-------- #@G Null,,,,,,,,,,,,,,,, ... #@G Schwarz,,,,,,,,,,,,, #@G Null,,,,,,,,,,,,,,,, #@H .............. #@D1 dummy.html #@D2 dummy.html #@D3 dummy.htmlMan darf nur eigene Farben hinzufügen (#@f ) und bei speziellem Bedarf die Dateiliste (#@Dg ) am Dateiende ändern. Im Bereich #@G und #@g darf kein einziges Zeichen geändert werden, auch nicht der Zeilenvorschub! Es empfiehlt sich, falls man in mehreren verschiedenen Verzeichnissen
arbeiten will,
Man bedenke, daß das Script ja die ausgewählten Dateinamen
in sich gespeichert hat,
Tip: Eine Script-Kopie im selben Verzeichnis erweitert
natürlich die Gruppen von 10 auf 20 ...!
Aufrufe: bsh .\colors ; bsh32 colors.bsh Möglichst nicht # .
colors.bsh innerhalb einer interaktiven bsh aufrufen.
|
^Filter: HTML nach TXTbsh-Script (rechte Maustaste verwenden - binär laden!)Dieses einfache Script ohne Menü filtert alle HTML-Tags mit ihren
Parametern aus
Aufrufe: bsh h2t.bsh [-4] xyz.htm bsh h2t.bsh [-4] xyz.htm > xyz.txtOption -4 schaltet Codepage 437 ein, Standard ist ISO8859-1.
|
^Einfache Erzeugung von Blocksatz-Textenbsh-Script (rechte Maustaste verwenden - binär laden!)Dieses einfache Script ohne Menü erzeugt Textblöcke mit fester
Breite von 44.
Es werden keine Worte getrennt, insofern ist dies ein relativ einfacher
Algorithmus.
Aufruf: bsh bsatz.bsh xyz.txt [> bxyz.txt]Ergebnis-Beispiel: Abhängigkeit werden a oder b auf 66 gesetzt! Klammern beim ternären Operator versperren jedoch solche Referenzen! Diese Konstruktion kann auch mitten in einer Mehrfachzuweisung stehen, und Verschachtelungen (mit Klammern!) sind auch möglich. Eingabe/Ausgabe Vor der Ausführung eines Kommandos kann seine Ein- und Ausgabe mit einem oder mehreren speziellen Umlenkungs-Argumenten umgelenkt werden. Diese Argumente werden nicht an das Kommando übergeben. Nach Interpretation durch die Shell darf aus ``Wort'' nur ein einzelnes Argument geworden sein. Umlenkungsargumente können auch als eigenständiges Kommando abgesetzt werden, wirken dann global und können schrittweise oder auf einmal zurückgenommen werden (-Z-). Vor die unten angegebenen Zeichen < > können Digits als explizite Angabe des Datei-Handles gestellt werden. Implizit werden die Handles 0< oder 1> angenommen. Desweiteren kann ein Buchstabe 'b' oder 't' vorangestellt werden (-Z-), womit TEXT- oder BINÄR-Modus für die |
^Multistufen De-/Re-Installierer -- Registriert bis zu 999 Install-StufenMenügesteuertes bsh-Script (rechte Maustaste verwenden - binär laden!)Script als .htm-Datei
Auswahl im Menü: Hilfe: Vor Installation: Nach Installation: Zustand Rückwärts: Zustand Vorwärts: Rückwärts Löschen: Dateien lesen: Dateien editieren: Beenden: c:\> bsh istep.bshWenn man Foren und Newsgroups anschaut, sieht man außerordentlich häufig Beiträge, die große Probleme wegen defekter und/oder nicht entfernbarer Installationen schildern! Das scheint ein ganz großes allgemeines Software-Problem zu sein! Das hier angebotene Shell-Script für die 'bsh' löst dieses
Problem auf sehr elementare
Eine Installationsstufe wird registriert, indem die Menü-Punkte Vor - und Nach Installation ausgeführt werden. Das Script erstellt eine Liste von absolut allen Dateien, mit Pfadnamen,
Zeitstempel und Größe.
Änderungen können sein:
Aufgrund dieser Änderungsdaten kann das Script alle notwendigen
Aktionen durchführen,
Sehr wichtig ist, daß bei der ersten Hälfte einer Stufe (Vor
Inst.) Dateien pauschal gerettet
Beim Rückwärtsgehen werden die Installationsdateien von ihrem
Original-Standort entfernt
Beim Vorwärtsgehen werden die abgesicherten Installationsdateien zurückbewegt. Rückwärtslöschen entspricht Rückwärtsgehen, jedoch entfernt danach Stufen von oben her. Dieses Script ist ein Ableger eines wesentlich besser ausgestatteten,
welches allerdings nur
|
^Durchschleifung von Download-Dateien mit WebCounter-ZählungDownload-Dateien sind meist keine HTML-Dateien, die ein Counter-Image zeigen können.Wenn man sie durch ein Script hindurchleitet, ist eine Beliebtheitszählung dennoch möglich: Aufruf: "de/cgi/get.cgi?0.141:../bin/bsh32.exe" #!./bsh_lxs_cgi #!/u/bin/bsh set -f arg="$QUERY_STRING" ok=0 expr "$arg" :zn '^%([0-9]%{1,2%}%.[0-9]%{1,3%}%):.' && { expr "$arg" :nam ':%(..*%)$' || nam= expr "$nam" =:nam '%%2f' += '/' expr "$nam" :dir '^%(.*/%)[^/]*$' || dir= expr "$nam" :nam '%([^/]*%)$' || nam= expr "$nam" :erw '%.%([^/.]%{1,%}%)$' || erw= ################# #################### geheime Namenergänzung $pre ############### der wirklichen Datei ############## [ -s "$dir$pre$nam" ] && ok=1 } [ ok -eq 0 ] && { echo "Content-type: text/plain%n" exit 0 } HTTP_REFERER="$HTTP_REFERER::$dir$nam" export HTTP_REFERER extern icnt.cgi $zn.i0 # Aufruf des Counter-Scripts ifset erw || erw=bin conv -l erw ct=text/plain case "$erw" in shtml|html|htm|php3) ct=text/html ;; txt|bsh|pl|text) ct=text/plain ;; exe|bin|zip|gz|tar|drv|z|obj|o) ct=application/octet-stream ;; gif) ct=image/gif ;; jpg|jpeg) ct=image/jpeg ;; *) ct=text/plain ;; esac catv ."Content-type: " ct /%n%n 0 =1 < "$dir$pre$nam" # Durchreichung des Dateiinhalts exit 0catv schreibt den Inhaltstyp zum Server (stdout; Handle 1) und dann den Inhalt von stdin (Handle 0). . |
^Manual-KreatorDie html-Manual-Sammlung bshmnk.htm wird hiermit erzeugt:.#!/home/bin/bsh Head='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <TITLE>.../schellong : bsh-Manual (bshmnk.htm)</TITLE> ........ </HEAD> <BODY TEXT="#000000" BGCOLOR="#CDAA7D" LINK="#4F94CD" VLINK="#36648B" ALINK="#FFD700"> ............ ' cd /u/bsh/man Ziel=/home/hp/2/de/htm/bshmnk.htm prints vsf_2000 Zeile List='bsh.mnk cat.mnk crc.mnk cut.mnk echo.mnk expr.mnk grep.mnk line.mnk wc.mnk rel.mnk tr.mnk test.mnk tee.mnk man.mnk regexp.mnr ansi.mnr readc.mnk bgrep.mnk calc.mnk cmp.mnk dat.mnk dd.mnk hx.mnk ov.mnk pg.mnk timex.mnk touch.mnk vi.mns' catv Head > $Ziel echo '<a name="topp"></a><br><br>' >> $Ziel echo '<h1>Manuals zur bsh</h1>' >> $Ziel echo '<table bgcolor="#EEEEE0" width="100%" cellpadding="10"><tr><td>' >> $Ziel for File in $List do expr "$File" :Name '^%(..*%)%.mn.$' || continue expr "$File" :Man '%(.%)$' || continue conv -u Man echo "<font size=%"+1%"><a href=%"#$Name%">$Name($Man)</a></font><br>" >> $Ziel done echo '<br>Copyright © 1995-2001 Helmut Schellong<br>' >> $Ziel echo '</td></tr></table><br>' >> $Ziel for File in $List do expr "$File" :Name '^%(..*%)%.mn.$' || continue echo "<a name=%"$Name%"></a><br>" >> $Ziel echo '<h1><a href="#topp">^</a></h1>' >> $Ziel echo "<table bgcolor=%"#FFFFF0%" width=%"100%%%" cellpadding=%"7%"><tr><td><font color=%"#8B3A3A%"><b><pre>" >> $Ziel echo $File ... < $File while readl Zeile do expr "$Zeile" :Zeile '?' += 'ä' expr "$Zeile" :Zeile 'á' += 'ß' expr "$Zeile" :Zeile '?' += 'ü' expr "$Zeile" :Zeile '?' += 'ö' expr "$Zeile" :Zeile '?' += 'Ä' expr "$Zeile" :Zeile 's' += 'Ü' expr "$Zeile" :Zeile '?' += 'Ö' expr "$Zeile" :Zeile 'yright *([cC])' = 'yright ©' expr "$Zeile" :Zeile '([rR])' += '®' expr "$Zeile" :Zeile '&' += '&' expr "$Zeile" :Zeile '<' += '<' expr "$Zeile" :Zeile '>' += '>' expr "$Zeile" :Zeile '"' += '"' expr "$Zeile" :Zeile '|' += '¦' expr "$Zeile" :Zeile 'ù' += '·' expr "$Zeile" :Zeile '[ú·]' += '·' expr "$Zeile" :Zeile '[§]' += '§' catv Zeile /%n >> $Ziel done >< echo '</pre></b></font></td></tr></table><br>' >> $Ziel done echo ' </BODY> </HTML>' >> $Ziel |
Hinweise |
Beispiele sind in großer Anzahl auch in der
normalen bsh-Dokumentation enthalten!
Auch das große Script start.bsh ist ein reichhaltiges Anschauungsbeispiel. Beseitigung von Vorurteilen zur bsh:
Nur, wer selbst bsh-Scripts entwickeln oder in vergleichbarer
Weise in der
Die Scripts haben -wenn sie neu sind- noch Beta-Status.
Einige Scripts sind ein minimierter Auszug aus sehr anspruchsvollen
Script-Dateien,
Zur Ausführung der hiesigen Scripts braucht man standardmäßig
nur
bsh.exe .
Man kann bsh-Syntax auf unterschiedliche Art und Weise zur Ausführung bringen: edit datei.bsh bsh datei.bsh [args ...] (1) bsh # Kommandozeile # . datei.bsh # datei.bsh [args ...] (2)Dies waren unterschiedliche Ausführungsformen; vorzugsweise (#). Der Pfad zu 'datei.bsh' sollte in PATH enthalten sein, andernfalls muß man volle Pfadnamen angeben. Script-Dateien für die bsh sollten idealerweise die Endung .bsh haben; diese Endung wird automatisch probiert. Das Shell-Programm bsh.exe läuft quasi
überall !
Falls Sie Probleme haben sollten, dann liegt das garantiert nicht an
der 'bsh',
Caldera DR-DOS, mem /d: -- Address --- Name ----- Size ------------- Type ----------------------------- | 395:0000 | SETVERXX | 1F0h, 496 | DEVICE = installed device driver | | 55E:0000 | COMMAND | 1F0h, 496 | Program | | 57D:0000 | COMMAND | C10h, 3.088 | Environment | | 63E:0000 | BSH | 3D0h, 976 | Environment | | 67B:0000 | BSH | 23F20h, 147.232 | Program | | 2A6D:0000 | BSH | 3D0h, 976 | Environment | | 2AAA:0000 | BSH | 23F20h, 147.232 | Program | | 4E9C:0000 | BSH | 3D0h, 976 | Environment | | 4ED9:0000 | BSH | 23F20h, 147.232 | Program | | 72CB:0000 | MEM | 3D0h, 976 | Environment | | 7308:0000 | MEM | 15C10h, 89.104 | Program | | 88C9:0000 | -------- | 16240h, 90.688 | FREE | | 9EED:0000 | BSH | 60h, 96 | Data | | 9EF3:0000 | BSH | 60h, 96 | Data | | 9EF9:0000 | BSH | 60h, 96 | Data | MS-DOS mem /d: Segment Total Name Type ------- ---------------- ----------- -------- 2,352 (2K) MERGEXMS Installed Device=MRGXMS 00517 2,208 (2K) MRGTSR Program 00779 128 (0K) BSH Environment 00781 147,232 (144K) BSH Program 02B73 128 (0K) BSH Environment 02B7B 147,232 (144K) BSH Program 04F6D 128 (0K) BSH Environment 04F75 147,232 (144K) BSH Program 07367 128 (0K) MEM Environment 0736F 88,992 (87K) MEM Program 08929 93,248 (91K) MSDOS -- Free -- 09FED 96 (0K) BSH Data 09FF3 96 (0K) BSH Data 09FF9 96 (0K) BSH Data |
LizenzFree_Lizenz/Freeware/Shareware; Kostenfreie Homepage-Angebote30.07.01 |
Das Copyright © besitzt
allein der Autor. (Hier: Helmut Schellong)
Copyright- und sonstige Autoren-Hinweise müssen unangetastet bleiben. Siehe Datei lizenz.htm/lizenz.txt . Der Inhalt der zentralen Lizenz-Datei lizenz.htm hat Vorrang vor anderen Lizenz-Texten, die (noch) abweichend sein können. Scripts:
Aus dem lesbaren Quelltext der Scripts darf kein gewerblicher Nutzen
gezogen werden.
|
Bugs im Shell-Programm bsh |
Reguläre Ausdrücke:
Das Dollarzeichen$ am Ende des Ausdrucks, welches das Zeilenende symbolisiert, funktioniert in den meisten Fällen nicht. Es muß dann ersatzweise %r oder %r%n angegeben werden. Beim grep-Kommando funktioniert es nie, beim expr-Kommando nur, wenn der Vergleichs-String am Ende keine Zeilenende-Zeichen (0x0D0x0A) enthält. Neuere Versionen als 16Mai98, sind korrigiert. Man kann/konnte das %-Zeichen nicht mit sich selbst maskieren.
Wildcards:
read-Kommando:
tr-Kommando:
Arithmetische Berechnungen:
dirname-Kommando:
Indirekter Variablenzugriff:
|