home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 522 / okami12 / doc / msh.doc < prev    next >
Encoding:
Text File  |  1991-04-17  |  6.8 KB  |  165 lines

  1.  
  2.     ===============================================
  3.  
  4. @(#)       OKAMI SHELL VERSION 1.2 - MICROSHELL 1.2
  5.  
  6.     ===============================================
  7.               Stand: 28.12.90
  8.  
  9.  
  10. Zum Lieferumfang der Okami-Shell gehört eine Mini-Shell, deren Aufgabe
  11. es ist, die Hauptshell aufzurufen. Die Notwendigkeit dazu ergibt sich
  12. aus dem folgenden Dilemma:
  13.  
  14. 1. Damit von der Shell aus GEM-Programme gestartet werden können, muß
  15.    die Shell vom Desktop aus als PRG gestartet werden.
  16. 2. Die Shell lädt die Datei profile nur dann, wenn ihr als Parameter
  17.    ein Minuszeichen übergeben wird (Login-Shell, wie in Unix).
  18. 3. Beim Aufruf vom Desktop als PRG ist die Eingabe eines Parameters nicht
  19.    vorgesehen
  20. 4. Also kann man keine Login-Shell aufrufen, von der der Start von GEM-
  21.    programmen möglich ist.
  22.    
  23. Zu diesem Zweck gibt es die Microshell, die, wenn sie als PRG aufgerufen
  24. wird und dann ihrerseits die Okami-Shell aufruft, den Start von GEM-Pro-
  25. grammen ermöglicht.
  26.  
  27. Die Microshell erfüllt allerdings nicht nur diesen Zweck, sondern sie ist
  28. ein Werkzeug zur Kontrolldatei-gesteuerten Ausführung mehrerer Programme
  29. mit jeweiligen Parametern. Dazu wird eine Datei angelegt, in der die Namen
  30. der aufzurufenden Programme und die zu übergebenden Parameter angeführt
  31. sind. Das macht die Microshell tatsächlich zu einer kleineren Version einer
  32. Shell, die zwar nicht interaktiv arbeitet, aber trotzdem in der Lage ist,
  33. z.B. einen Compiler oder Linker aufzurufen und das Ergebnis anschließend
  34. zu starten.
  35. Die Microshell ist also ein vollwertiger Batch-Prozessor, der seine eigenen
  36. Shellscripts (die eine Untermenge der Okami-Shellscripts darstellen) hat und
  37. für die vielfältigsten Aufgaben eingesetzt werden kann (natürlich auch voll-
  38. kommen unabhängig von dem restlichen Okami-System).
  39.  
  40. Die Batch- oder Kontrolldateien, die von der Microshell benutzt werden,
  41. werden als MSH-Scripts bezeichnet.
  42.  
  43.  
  44. Die Microshell befindet sich in der Datei msh.prg. Der Quellcode der
  45. Microshell gehört zum Lieferumfang und befindet sich in der Datei msh.c.
  46.  
  47. Nach dem Start der Microshell als MSH.PRG wird als MSH-Script die Datei
  48. msh.inf im aktuellen Directoy benutzt.
  49. Wenn die Microshell als MSH.TTP oder von der Okami-Shell aus aufgerufen wird,
  50. ist die Eingabe einer Kommandozeile möglich, die folgender Syntax folgt:
  51.  
  52.     [Dateinamen] [-c {Kommandos}]
  53.  
  54. Die angegebenen Dateien werden als MSH-Scripts ausgeführt. Wenn nach -c
  55. Kommandos angegeben sind, werden diese direkt ausgeführt. Dies können die
  56. Namen von zu startenden Programmen, aber auch interne Kommandos der Micro-
  57. shell sein.
  58. ACHTUNG: Jeder Parameter stellt dabei ein vollständiges Kommando dar. Bei
  59. dem Aufruf
  60.         msh -c echo hallo
  61. werden zwei Kommandos, nämlich "echo" und "hallo", übergeben. Um das Kommando
  62. "echo hallo" ausführen zu lassen, muß der Aufruf so aussehen:
  63.  
  64.         msh -c "echo hallo"
  65.  
  66.  
  67. Die einzelnen Zeilen eines Scripts haben folgende Bedeutung:
  68.  
  69. 1) Führende und endende Whitespace-Zeichen (Leerzeichen, Tabs, Newlines etc.)
  70.    werden ignoriert.
  71. 2) Leerzeilen und Zeilen, die mit einem '#' (Doppelkreuz) beginnen, gelten
  72.    als Kommentarzeilen.
  73. 3) Alle Zeilen, die keine Kommentarzeilen sind, können als letztes Zeichen
  74.    einen Backslash (\) erhalten, dann wird die darauf folgende Zeile an
  75.    diese Zeile angehängt. 
  76. 4) Wenn eine Zeile nur aus einem Pluszeichen besteht, wird der Kommentar-
  77.    Modus eingeschaltet. Im Kommentarmodus wird der Name und die Parameter
  78.    jedes aufgerufenen Programmes auf dem Bildschirm ausgegeben. (Gilt nicht
  79.    für interne Kommandos.) Nach dem Start der Microshell ist der Kommentar-
  80.    modus eingeschaltet.
  81. 5) Wenn eine Zeile nur aus einem Minuszeichen besteht, wird der Kommentar-
  82.    modus abgeschaltet.
  83.  
  84. 6) Allen anderen Zeilen werden in der Form
  85.         Kommando Parameter
  86.    interpretiert. Das Kommando ist dabei entweder der Name eines internen
  87.    Kommandos oder der Dateiname eines auszuführenden Programms.
  88.  
  89. Folgende interne Kommandos sind vorhanden:
  90.  
  91.     echo        gibt den String "Parameter" auf dem Bildschirm aus.
  92.     incl        führt die als Parameter angegebene Datei als MSH-
  93.             Script aus. Die maximale Schachtelungstiefe von incl-
  94.             anweisungen ist nur durch den verfügbaren Speicher und
  95.             die Maximalanzahl gleichzeitig offener Dateien be-
  96.             grenzt.
  97.     ver        gibt die Versionsnummer der Microshell und den Kompi-
  98.             lierungszeitpunkt aus.
  99.  
  100. Bei allen anderen Kommandos wird die als Kommando angegebene Datei ausgeführt,
  101. wobei der als Parameter angegebene String als Kommandozeile übergeben wird.
  102. Es empfiehlt sich, den vollen Dateinamen anzugeben (was aber nicht immer un-
  103. bedingt notwendig ist.)
  104.  
  105. Die Microshell macht keinen Gebrauch von evtl. definierten Environment-Varia-
  106. blen, gibt diese aber an alle gestarteten Programme unverändert weiter.
  107.    
  108.  
  109. Beispiel 1: das MSH-Script zum Start der Okami-Shell
  110.  
  111.     # Microshell Kontrolldatei für Okami-Shell
  112.     -
  113.     echo Aufruf der Okami-Shell
  114.     sh.ttp -
  115.  
  116. Es wird die Okami-Shell als Login-Shell (mit dem Parameter "-") aufgerufen.
  117. Vor dem Aufruf der Shell wird die Meldung "Aufruf der Okami-Shell" auf den
  118. Bildschirm geschrieben.
  119.  
  120.  
  121. Beispiel 2: ein komplizierteres Script
  122.  
  123.  
  124.     # Demo-Script für die Microshell
  125.     -
  126.     ver
  127.     echo Das ist ein MSH-Script
  128.  
  129.     echo Aufruf des Compilers
  130.     d:\compiler\cc.ttp e:\source\test1.c e:\source\test2.c \
  131.     e:source\test3.c -o e:\bin\test.tos
  132.  
  133.     # Ausführen eines anderen Scripts
  134.     incl e:\bin\mshdemo.msh
  135.  
  136.     # Aufruf der Okami-Shell
  137.     echo Plattenbelegung von Laufwerk E:
  138.     e:\bin\sh.ttp df E: ; echo ENTER: ; read
  139.  
  140.  
  141. Neben Kommentaren und Ausgabeanweisungen (echo) wird der Compiler (in der
  142. Datei d:\compiler\cc.ttp) mit einer über zwei Zeilen gehenden Parameter-
  143. liste aufgerufen. Danach wird eine weiteres Script (e:\bin\mshdemo.msh)
  144. ausgeführt und durch Aufruf der Okami-Shell die Belegung von Partition
  145. E: ausgegeben und auf einen Tastendruck gewartet.
  146.  
  147.  
  148. Die Microshell kann auch anstelle des Auto-Ordners benutzt werden.
  149. Dazu kopiert man sich alle Programme, die beim Systemstart geladen werden
  150. sollen, in einen eigenen Ordner auf der Diskette, z.B. in den Ordner
  151. a:\startup. In den eigentlichen Auto-Ordner kopiert man nur die Datei
  152. msh.prg. Unter dem Namen a:\msh.inf wird eine Datei angelegt, die die
  153. Namen der zu startenden Programme in der gewünschten Reihenfolge enthält.
  154. (Im einfachsten Fall erzeugt man diese Datei von der Okami-Shell aus
  155. mit dem Kommando:
  156.     ls -n a:\startup\*.prg >a:\msh.inf
  157. Dann ist die Wirkung dieselbe wie beim Aufruf aus dem Auto-Ordner.)
  158. Außerdem kann die inf-Datei Kommentare und echo-Zeilen erhalten.
  159. Natürlich ist von der Microshell aus auch der Aufruf von Programmen
  160. aus beliebigen anderen Ordnern möglich.
  161. WICHTIG: die Datei msh.inf muß bei dieser Verwendung im Wurzelverzeichnis
  162. von a: liegen und nicht im Auto-Ordner, da beim Systemstart das Wurzel-
  163. verzeichnis das aktuelle Directory ist, auch bei der Ausführung der
  164. Programme im Auto-Ordner.
  165.