home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-27 | 105.8 KB | 2,950 lines |
-
- ANLEITUNG F▄R CSHELL VERSION 5.19 1991
- =======================================
-
-
- Inhalt
- ------
-
- O Installation
- I Beschreibung
- II ▄bersicht der Haupteigenschaften
- III EinschrΣnkungen
- IV Pipes
- V PrΣprozessor
- VI Kommandozeilen-Editierung
- VII Funktionstasten
- VIII Shell Kommandos
- IX Spezielle Variablen
- X Funktionen
- XI Diverses
- XII Beispiel-Stapeldateien
- XIII Vorgabewerte
- XIV Objektorientierte Eigenschaften
- XV Tastaturbelegungen
-
-
- O Installation
- --------------
-
- Die CSH kann ganz einfach von der CLI-Kommandozeile aufgerufen werden, weil
- die CSH aus der Sicht von AmigaDOS keine richtige Shell wie l:Shell-Seg ist,
- sondern ein ganz normales Programm. Jedoch ist CShell 'pure', falls also der
- LHarc vergessen hat, das 'p'-Bit zu setzen, sollte es bitte gleich jetzt
- gesetzt werden ("protect Csh +p").
-
- Endgⁿltige Installation: Die Csh soll die AmigaShell komplett ersetzen,
- dazu sollte Csh gleich von Anfang an resident sein, dafⁿr bitte wie folgt
- verfahren:
-
- Kickstart 1.3
- 1. CSH irgendwohin auf die Harddisk oder Diskette kopieren, z.B. dh1:tools
- 2. Nun s:startup-sequence um das Folgende ergΣnzen:
- Resident CLI L:Shell-Seg SYSTEM PURE ADD
- Resident dh1:tools/Csh ADD
- NewShell FROM s:Csh-startup
- EndCLI
- 3. Die Datei s:Csh-startup erstellen, die das folgendes enthΣlt:
- Stack 8000
- Csh -r s:firstlogin.sh
- 4. In die Datei s:firstlogin.sh alle Kommandos schreiben, welche nur nur
- einmal aufgerufen werden sollen, etwa setmap, assign und setclock.
- Dies wird eine Csh-Stapeldatei, bitte # als Kommentarzeichen
- verweden und keine Punkt-Kommandos wie .key. Am Ende dieser
- Datei soll stehen:
- source s:login.sh
- 5. In der Datei s:login.sh stehen alle Kommandos, die fⁿr jedes neue
- Shell-Window wieder ausgefⁿhrt werden sollen, z.B. alle 'alias' und
- 'set' Kommandos.
- 6. Und das Folgende sollte in der Datei s:shell-startup stehen, damit beim
- Kommando NewShell oder von der Workbench her gleich eine Csh erscheint:
- Csh s:login.sh
- Achtung, alle danach folgenden Befehle werden erst dann ausgefⁿhrt,
- wenn die Csh beendet wird !
-
- Kickstart 2.0
- 1. CSH irgendwohin auf die Harddisk oder Diskette kopieren, z.B. dh1:tools
- 2. Nun s:startup-sequence bzw. s:user-startup um das Folgende ergΣnzen:
- Stack 8000
- Resident dh1:tools/Csh ADD
- Csh s:firstlogin.sh
- 3. Bitte nun weiter bei Schritt 4 bzgl. Kickstart 1.3
-
- ZusΣtzlich ist es empfehlenswert, CSH: irgendwohin zu 'assign'en, und Csh.doc
- und alle Stapeldateien dorthin kopieren.
- Also etwa:
- assign CSH: dh1:tools
-
- Ein generelles Installationsprogramm gibt es z.Z. nicht. Es ist auch
- ziemlich schwierig auf alle denkbaren FΣlle von Konfigurationen und
- Sonderwⁿnschen einzugehen. Der obig beschriebene Ablauf ist nur einmal
- zu erledigen, jedes Update der Csh selber, betrifft normalerweise nur die
- CSH selber, die vorliegende Anleitung und die Stapeldateien, nicht aber
- die Art und Weise wie Cshell gestartet wird. Sollte dies denn doch der Fall
- sein, bitte auf jeden Fall die hier beschriebene Prozedur durchlesen!
-
- I Beschreibung
- --------------
-
- Diese Version von CShell ist der Nachfolger von:
- Shell V2.04 (C)Copyright 1986, Matthew Dillon, All Rights Reserved
- Shell V2.04M-V2.07M by Steve Drew
- Shell V2.08MI, V3.xxA and V4.xxA by Carlo Borreo & Cesare Dieni
- Shell V5.xxL by U. Dominik Mueller
-
- Irgendwelche Wⁿnsche, Fehlermeldungen, Bierflaschen oder Bugreports,
- sind bitte an folgende Adressen zu senden:
-
- FIDONET : Urban Mueller@2:302/906 (AUGL BBS)
- INTERNET: umueller@iiic.ethz.ch
- oder
- U. D. Mⁿller
- Schulhausstrasse 83
- CH-6312 Steinhausen
- SWITZERLAND
-
- Jedes Zeichen intelligenten Lebens ist willkommen.
- ('Scott me up Beamie, no intelligent lifeform down here...')
-
- Bitte auch zuerst die Kapitel 'EinschrΣnkungen' und 'Bekannte Fehler',
- lesen, bevor eine Fehler gemeldet wird.
- Die Support-Mailbox ist AUGL, +41 75 8 20 19, +41 75 8 20 18, +41 75 2 15 87
- (alle Leitungen USRobotics HST) login='cshell',passwort='support'.
-
- Bitte auch die Datei 'feedback.doc' lesen und wenn m÷glich abschicken.
-
- Wenn es um Versionen vor 5.00 geht, bitte an wenden Carlo Borrea oder
- Cesare Dieni wenden:
-
- BITNET: PERUGIA@ICNUCEVM.BITNET
- FIDONET: 2:332/602.0@FIDONET
- oder
- Carlo Borreo Cesare Dieni
- Via G. Berio 34 Via G. Taddei 3
- I-18100 Imperia I-56100 Pisa
- Italy Italy
-
- CShell darf nur unverΣndert und nicht gegen Profit verbreitet werden.
-
- *** VERBREITEN SIE NIE VER─NDERTE VERSIONEN VON CSHELL ***
-
- Wenn jeder eigene Versionen schreibt und weitergibt, wⁿrden wir innerhalb
- kⁿrzester Zeit in Shell-Versionen begraben. Wenn eine ─nderung an der
- Shell gemacht wurde, und diese anderen Benutzern zur Verfⁿgung gestellt
- werden soll, dann sollte eine DIFF-Ausgabe oder eine Beschreibung dessen was
- geΣndert wurde an den Autor geschickt werden.
-
-
- EHRENHALLE
- ----------
-
- Vielen Dank an alle Leute, die mir Feedback und Hilfestellung gegeben haben,
- namentlich Eddy Carroll, Patrizio Rusconi, Allard Siemelink, Magnus
- Heldestad, Roddi Walker, Roy Haverman, Steve Koren, Randell Jesup, Peter
- Orbaek und der unbekannte Schwede, der fⁿr mich den 2-LF-Bug gefunden hat.
-
- Besonderer Dank gilt den ▄bersetzern dieses Dokuments:
- Roy Haverman, J÷rg-Cyril Hoehle, Martin Horneffer, Hans-Christian
- Huerlimann, Markus Illenseer, Daniel Pfulg, Patrizio Rusconi, Christian
- Schneider, und mir selber...
-
- Diese Version der Anleitung wurde von Markus Illenseer durch Entfernung
- grausamer Rechtschreibfehler, unglⁿcklicher ▄bersetzungen und wilder
- Stilentartungen aus der deutschen Ur-Version erstellt. :-)
- Flammen, Lexika, Duden, Weinflaschen bitte an
- markus@techfak.uni-bielefeld.de
- senden.
-
- II ▄BERSICHT
- -------------
-
- CShell bietet eine bequeme Alternative zu den AmigaDOS Befehlen. Alle
- Kommandos sind eingebaut und brauchen deshalb keine zusΣtzlichen Kommandos
- im c: Ordner.
-
- Die wichtigsten M÷glichkeiten:
- - Frei programmierbare Kommandozeilen-Eingabe
- - Kommandospeicher (die letzten 50 Kommandos werden gespeichert)
- - Pipes (Ein- und Ausgabeumleitung)
- - Aliase mit Argumenten
- - Variablen
- - Suchmuster (* und ? fⁿr Dateinamen)
- - Bedingte Anweisungen (if, else, endif)
- - Stapeldateien
- - Dateinnamen-VervollstΣndigung mit TAB
- - Objektorientierte M÷glichkeiten, Dateiklassen und Operationen.
- - Viele eingebaute Kommandos zur Beschleunigung der Ausfⁿhrung
- - Volle FunktionalitΣt auf VT-Terminals
-
- Eine ▄bereinstimmung mit der unter UNIX (tm) weit verbreiteten CSH, TCSH
- oder RC ist nicht ungewollt aber kann z.Z. nicht in allen Bereichen erreicht
- werden (z.B. Jobhandling), wird durch das Klassenprinzip aber deutlich
- verbessert.
-
- CShell lΣuft mit minimalem Stack (4 KBytes), aber fⁿr kompliziertere
- Aliase und Stapeldateien sollte der Stack auf 8K erh÷ht werden bevor die
- CShell startet.
-
- Wird die CShell zum ersten Mal benutzet, bitte folgendes beachten:
- - Die eingebauten Kommandos mⁿssen in Kleinschrift eingegeben
- werden, und k÷nnen z.T. abgekⁿrzt werden.
- - Das Kommando 'c:Execute' kann nicht umgeleitet werden.
- AmigaDOS Stapeldateien k÷nnen weiterhin mit 'source' ausgefⁿhrt
- werden, sofern jene keine .-Kommandos wie .key enthalten.
- - Jederzeit Auskunft ⁿber ein gewⁿnschtes CShell-Kommando
- erhΣltlich, mittels 'man <kommando>'.
-
-
- III EinschrΣnkungen
- -------------------
-
- Der folgende Fehler betrifft nur V36 von Kickstart 2.0: Die internen
- Kommandos k÷nnen nicht gestartet werden. Dasselbe gilt fⁿr Kommandos in C:,
- wenn diese mit dem AmigaDOS 'Resident' Kommando resident gemacht wurden. Mit
- Csh's 'resident' funktionieren solche. Deshalb sollten die internen Residents
- nicht verwendet werden. Dies kann mit dem Start-Schalter -i0 erreicht werden,
- wenn Kickstart V36 verwendet wird.
-
- Unter Kickstart 1.3, k÷nnen AmigaDos-Residents nicht direkt gestartet werden.
- Dies kann durch die Option -r verbessert. Diese kopiert die AmigaDOS
- Resident Liste einmalig in die ARP-Resident-Liste (Diese Residents k÷nnen
- nicht mehr entfernt werden). Es wird versucht, eine bessere L÷sung zu
- finden.
-
- Die beste L÷sung unter beiden Kickstarts ist es, nur Csh selber AmigaDOS
- resident zu installieren, und alle anderen Kommandos, wenn vorhanden, nur ARP
- resident zu installieren. Unter 1.3 kann die Shell (wie auch alle anderen
- Kommandos) nur von der Resident-Liste gestartet werden, wenn vorher das
- Kommando 'resident CLI l:Shell-seg' und 'newcli' eingegeben wurden.
-
- Das c:Execute Kommando kann nicht umgeleitet werden, es setzt keinen Return-
- Kode und verursacht unter UmstΣnden andere Probleme. Es arbeitet ⁿberhaupt
- nicht mehr wenn es einen anderen Namen hat.
-
- Der VDK: Handler und Frank Seidel's BootRam-Handler haben einen Fehler beim
- setzen des Datei Datums. Soll das copy Kommando gebraucht werden, sollten
- die Option -d und -p verwendt werden, sonst kann es sein das das Datum
- fehlerhaft ist. (Das ist kein Shell Fehler)
-
- Wenn Csh mit Conman verwendet wird kann in Betracht gezogen werden, Csh mit
- der Option -a zu starten. Dies schaltet die Csh-Editier-Funktionen in der
- Kommandozeile aus, statt dessen werden die des Conmans benutzt. Aber
- dadurch gehen viele Csh M÷glichkeiten verloren, wie z.B.
- die Dateinamen-VervollstΣndigung.
-
- CB-Handler (ein Tool das im CLI Window eine Scrollbar installiert) ist nicht
- 100% kompatibel zu Csh. Der Inhalt des CB-Handlers-Logs stimmt nicht immer
- mit dem tatsΣchlichen Screen-Inhalt ⁿberein.
-
-
- IV. BEMERKUNGEN ZU DEN PIPES
- ----------------------------
-
- PIPES
-
- PIPES benutzen TemporΣrDateis im Ordner t:. Bitte vorsichtig mit
- Suchmustern wie 't:*' da diese auch die TemporΣrdateien betreffen
- k÷nnten. Die TemporΣrdateien werden nach dem Beenden des Pipe
- Segment gel÷scht.
-
- Die benutzen Dateinamen sind einmalig, selbst wenn mehrere Shell's
- nebeneinander laufen.
-
- Von nun an ist es auch m÷glich, interne Kommandos mittles Pipe in ihren
- Ein- und Ausgaben zu steuern.
- z.B. 'echo charlie >ram:x' oder 'echo "echo mem | Csh" | Csh'
-
- Kein BCPL Programm sollte mit Output-Append '>>' umgeleitet werden.
-
-
- V. KOMMANDO PR─PROZESSOR
- --------------------------
-
- PR─PROZESSING
- PrΣprozessing wird in der Kommandozeile ausgefⁿhrt, bevor diese an
- interne oder externe Routinen weitergegeben wird.
-
- ^c Wobei c ein Zeichen ist, da▀ in ein Kontroll Zeichen gewandelt
- wird. z.B. '^l' steht fⁿr Control-l.
-
- \233 Fⁿgt das Zeichen mit dem oktalen Kode 233 ein. Keine Werte
- zwischen 200o und 232o benutzen, da diese spezielle Bedeutung haben.
- \240 ist der Wort Seperator. (Ein \ )
-
- $Name Wobei Name ein variabler Name ist. Variablennamen k÷nnen aus den
- folgenden Zeichen bestehen: 0-9, a-z, A-Z und dem Unterstrich '_'.
- Der Inhalt der spezifizierten Variablen wird gebraucht. Falls die
- Variable nicht existiert, wird der Name selber eingesetzt.
- z.B. Wenn die Variable 'i' 'Charlie' enthΣlt, dann ist '$i' ->
- 'Charlie' Wenn die Variable aber nicht existiert dann bleibt '$i' ->
- '$i'.
-
- ; Trennt Kommandos. 'echo charlie ; echo ben.' So k÷nnen mehrere
- Kommandos auf eine Zeile geschrieben werden.
-
- ' ' (ein Leerzeichen). Leerzeichen trennen Argumente.
-
- "Zeichenkette" ein in Anfⁿhrungszeichen stehende Zeichenkette. Das
- schliessende Anfⁿhrungszeichen muss nicht gesetzt werden.
- z.B. Sollen fⁿnf Leerzeichen und ein 'a' ausgeben werden:
- echo a -> a
- echo " a -> a
-
- \c Verhindert den Inhalt eines Spezialzeichens.
- '\^a' ist ein Circumflex und ein a und kein Control-A.
- Ein Backslash wird wie folgt geschrieben: '\\' .
- Dies wird ebenso benutzt, um das Suchen nach Aliases zu unterbinden.
-
- >Datei Spezifiziert Ausgaben Umleitung. Die Ausgabe des Kommandos wird
- in die spezifizierte Datei geschrieben.
-
- >>Datei Spezifiziert Ausgaben Umleitung. Die Ausgabe wird an eine
- bestehende Datei angehΣngt. (Arbeitet nicht mit BCPL Programmen).
-
- <Datei Spezifiziert Eingaben Umleitung. Das Kommando bekommt seine
- Eingaben aus der Datei 'Datei' anstatt von der Tastatur.
- Achtung, nicht alle Kommandos erwarten eine Eingabe. Es hat
- z.B. keinen Sinn zu schreiben 'echo <charlie', da das 'echo'
- Kommando nur seine Argumente ausgibt.
-
- | PIPE Spezifikator. Die Ausgabe des Kommandos auf der linken Seite,
- wird zur Eingabe des Kommandos auf der Rechten. Die Shell braucht im
- Moment TemporΣredateien, um die Daten zwischenzuspeichern.
-
- !! Fⁿhre das letzte Kommando aus.
-
- !nn (<nn> ist eine Zahl). Fⁿgt das Kommando aus dem Kommando-Speicher
- Nummer <nn> ein.
- Siehe HISTORY Kommando.
-
- !teil Sucht rⁿckwΣrts durch den Kommando-Speicher nach einem Kommando
- das gleich beginnt wie <teil>, und fⁿhrt dieses aus.
-
- # Kommentar. Der Rest der Zeile wird ⁿbergangen.
- Beachte: \# hebt die spezielle Wirkung des '#'-Zeichens auf.
-
- {e hi;e ho} Fⁿhrt zwei Kommandos wie eines aus, so dass sie umgeleitet
- werden k÷nnen. (Siehe ALIAS Kommando). Die schliessende
- geschweifte Klammer muss nicht geschrieben werden.
-
- $(fasel) Fⁿgt die Ausgabe des Kommandos 'fasel' an dessen Position
- in der Kommandozeile ein. Jede Zeile der Ausgabe gilt als
- ein Argument. Die schliessende Klammer ist optional.
-
- 'fasel' Fⁿgt die Ausgabe des Kommandos 'fasel' an dessen Position
- in der Kommandozeile ein. Jedes Wort der Ausgabe gilt als
- ein Argument. Mehrere Leerzeichen werden entfernt.
- Die schliessende Klammer ist optional.
-
- Achtung, den Unterschied zwischen folgendem bemerken:
- alias count {echo eins;echo zwei}
- alias count "echo eins;echo zwei
-
- Die erste Form schafft ein Alias, welches ein lokales Alias ent-
- hΣlt, wΣhrend die 2. ein normales Alias generiert. Auch werden
- Zeichen in geschweiften Klammern nur einmal interpretiert, sodass
- nicht fⁿr jedes Spezialzeichen wieder einen Backslash gebraucht
- wird.
- Darum sehen die Kommandos in geschweiften Klammern so aus
- als wenn sie auf der Kommandozeile eingetippt wⁿrden. Beispiel:
- forever {echo \#
- forever "echo \\\#
- Ein Block kann sich ⁿber mehrere Zeilen ausdehnen. Siehe 'source'
- Kommando.
-
-
- VI. KOMMANDO ZEILEN EDITIEREN
- -----------------------------
-
- Die Kommandozeile kann bis zu 255 Zeichen lang sein.
- Einfⁿgungen und L÷schungen funktionieren auch ⁿber mehrere Zeilen.
- Die Stapeldatei 'menu.sh' installiert ein Intuition Menu das die meisten
- Editierfunktionen enthΣlt.
-
- EDITIEREN
-
- -- CURSOR BEWEGEN--
- Pfeil Links Ein Zeichen nach Links
- Pfeil Rechts Ein Zeichen nach Rechts
- Shift-Pfeil Links Ein Wort nach Links
- Shift-Pfeil Rechts Ein Wort nach Rechts
- ESC-Pfeil Links Gehe zum Beginn der Zeile (^A) (^Z)
- ESC-Pfeil Rechts Gehe zum Ende der Zeile (^E)
- -- LOESCHEN --
- Backspace Zeichen Links des Cursors
- Del Zeichen Unter dem Cursor
- ESC-Backspace Wort Links des Cursors (^W)
- ESC-Del Wort Rechts des Cursors
- ESC-x-Backspace Bis zum Beginn der Zeile (^B)
- ESC-x-Del Bis zum Ende der Zeile (^K)
- ESC-d Die gesammte Zeile (^X)
- -- KOMMANDO-SPEICHER --
- Pfeil aufwΣrts Im Kommando-Speicher ein Kommando nach oben
- Pfeil abwΣrts Im Kommando-Speicher ein Kommando nach unten
- Shift-Pfeil aufwΣrts Erstes Kommando im Kommando-Speicher
- das 'passt'
- Shift-Pfeil abwΣrts Geht zum Ende des Kommando-Speichers
- ESC-Pfeil aufwΣrts Geht zum Beginn des Kommando-Speichers
- ESC-Pfeil abwΣrts Geht zum Ende der Kommando-Speichers
- ESC-! Holt Kommando von einem schon eingegebenen Teil
- aus Kommando-Speicher
- ^T Fⁿgt die letzte Zeile ein, ausser dem ersten Wort
- ^P Kopiere vorhergehendes Wort. (Nⁿtzlich fⁿr mv)
- -- DATEINAMEN VERVOLLSTAENDIGUNG --
- TAB Fⁿgt den ersten passenden Dateinamen ein
- Shift-TAB Fⁿgt lΣngsten passenden gemeinsamen Dateinamen ein
- ESC-TAB Fⁿgt alle Dateinamen ein die passen.(Auch ESC-*)
- ESC-c Quick-CD mit Wort links des Cursors (TAB -> Cycling)
- ESC-~ Fⁿgt den letzen Ordner ein
- ^D Zeigt alle Dateien die dem Muster einsprechen
- (Auch ESC-=)
- -- ZEILE AUSFUEHREN--
- Return Fⁿhrt Zeile aus
- ESC-Return Fⁿhrt akt. Zeile des Kommando-Speichers aus und zeigt
- nΣchste
- ^N Speichert aktuelle Kommandozeile und geht zur nΣchsten
- ^\ EOF (Csh wird abgebrochen)
- -- VERSCHIEDENES --
- ^L Schreibe die momentane Zeile nochmals.
- ^O Echo ^O
- ^R Wiederhole letztes Editierkommando
- ^U Letzten Editierbefehl RⁿckgΣngig machen
- ESC-i Umschalten Einfⁿge/▄berschreibemodus
- f1-f10 Fⁿhre Kommando aus wenn Variable existiert.
- F1-F10 Noch mehr Kommandos (Geshiftete f Tasten).
- Help Fⁿhrt help Kommando aus.
-
- Wenn der Cursor auf oder direkt hinter einem noch nicht kompletten Dateinamen
- steht und die TAB Taste gedrⁿckt wird, setzt Cshell den ersten Dateinamen
- (alphabethisch sortiert) ein, der dem teilweise geschreibenen Namen
- entspricht. Alle Wildcards sind hier erlaubt. Wenn keine gegeben sind, wird
- automatisch ein '*' angehΣngt. Durch wiederholtes Drⁿcken der TAB Taste kann
- durch eine Liste aller Dateien gegangen werden, die dem nicht kompletten
- Dateinamen entsprechen.
- Shift-Tab fⁿgt nur jenen Teil der Zeichenkette ein, der allen gefundenen Namen
- gemeinsam ist.
- ESC-Tab fⁿgt den Namen des Ordners ein, in den gewechselt wⁿrde, wenn
- mit dem aktuellen Teil der Zeichenkette ein Quick-CD ausfⁿhrt wⁿrde.
-
- Achtung, ^D erm÷glicht jetzt das Verlassen der Stapeldateien wie unter
- AmigaDOS, oder Ordner anzeigt ohne Csh zu verlassen. Soll alles beim Alten
- belassen werden, sollte ein 'keymap 0 4=41' ausgefⁿhrt werden.
-
- Die Ctrl-F,Ctrl-G,Ctrl-V und die Ctrl-Y Kombination sind unbesetzt. Diese
- k÷nnen beliebig belegt werden (siehe Kapitel XV). Auch alle voreingestellten
- Kombinationen k÷nnen neu belegt werden.
-
-
- VII. FUNKTIONSTASTEN
- --------------------
-
- Funktionstasten
- setzen jetzt Text an der aktuellen Position der Kommandozeile ein. Der Text
- kann mit einem '^M' terminiert werden, was einem <Return> entspricht und
- damit das Kommando sogleich in der Kommandozeile ausfⁿhrt. 'f1' bedeutet
- Funktionstaste ohne Shift, 'F1' mit Shift. Die meisten Funktionstasten
- haben eine Voreinstellung, aber kann diese natⁿrlich auch anders definiert
- werden.
- $ set f1 dir df0:^M
- wⁿrde den Text 'set f1 dir df0:' auf die Kommandozeile hinzufⁿgen
- und danach noch <Return> ausfⁿhren.
- $ set f1 dir
- wⁿrde den Text 'dir' auf die Kommandozeile hinzufⁿgen worauf der Benutzer
- dann z.B. ' df0:<Return>' eingeben kann.
-
- VIII. SHELLKOMMANDOS
- --------------------
-
- START OPTIONEN
- Zuerst die Shell vom CLI aus starten:
-
- Csh [-abcfiknstv] [-c Kommando;..;KommandoN]
- Csh [-abcfiknstv] [Stapeldatei1 ... StapeldateiN]
-
- -a AUX: Modus. Kein Kommandozeilen-Editieren und Text-Markierung.
- -b Startet Shell im Hintergrund, was heisst, nur Task PrioritΣt -1.
- -c Erlaubt Ausfⁿhrung EINER Kommandozeile und verlΣsst Shell gleich
- wieder. Nⁿtzlich um Shellkommandos im Hintergrund oder von einer
- externen Applikation aus auszufⁿhren. Bsp.:
- Run Csh -c "dir df0:; copy -r df0: df1: >nil:; echo Done"
- -f Startet Shell im Vordergrund, was heisst, Task PrioritΣt 1.
- Diese PrioritΣt kann wieder auf 0 gesetzt werden am Ende der .login
- Datei
- -i0 Keine INTERNEN residents. Fⁿr V36 Kickstarts.
- -k Setzt _nobreak bevor irgendwas getan wird.
- -n Unterdrⁿckt starten von s:.login
- -r Kopiert die AmigaDOS resident list zur ARP resident list.
- Diese kann nicht mehr entfernet werden. Kein Kopieren unter
- Kick 2.0 oder wenn ARP residents existieren.
- -s Erlaubt global den Stern '*' anstatt '#?' in AmigaDOS 2.0
- -t Terminal Modus. Es ist m÷glich an einem VT100-kompatiblen
- Terminal Kommandozeilen zu editieren sowie auch Text-
- Markierung zu betreiben. Backspace und DEL Austausch wird
- mit dem 'keymap'-Kommando bewerkstelligt.
- -v setzt _verbose zu 'hs' bevor irgendwas getan wird.
-
- Unter 1.3 ist es wohl am Besten Csh mit dem AmigaDOS Kommando Resident
- in der s:startup-sequence resident zu machen und dann mit der Option -r
- zu starten. Auf diese weise kannst du eine weitere residente Csh
- aus der Csh heraus starten. BEACHTE: Residents, die mit -r kopiert
- wurden k÷nnen nicht mehr entfernt werden! Es ist ratsam fⁿr alles
- andere ausser Csh das interne resident Kommando zu nutzen.
-
- KOMMANDOAUSFⁿHRUNG
-
- Interne Shellkommandos unterscheiden Gross- und Kleinschreibung und
- k÷nnen abgekⁿrzt werden.
-
- Das erste Argument ist der Kommandoname... schauen wir uns mal an
- wie die Shell versucht, es auszufⁿhren:
-
- 1) Die Alias Liste wird nach dem exakt passenden Muster, das
- vorgegeben wurde, durchsucht.
- 2) Die interne Kommando-Liste wird nach einem teilweise passenden
- Muster abgesucht (z.B. 'resi' anstatt 'resident').
- Jedenfalls sollte das Muster genⁿgend beinhalten, damit das
- Kommando auch einmalig ist.
- 3) Danach wird die Funktions-Liste nach dem exakt passenden Muster
- abgesucht. Wenn eine gefunden wird, dann wird dessen Resultat
- auf die Standard-Ausgabe ausgegeben.
- 4) Jetzt nimmt die Shell an, dass es sich um ein externes Kommando
- handelt. Argumente mit Freizeichen, Strichpunkten oder leeren
- Zeichenketten werden mit Anfⁿhrungs- und Schlusszeichen umrahmt.
- (Wichtig!)
- 5) Falls es sich um ein Ordner handelt, wird ein 'cd <Datei>'
- ausgefⁿhrt.
- 6) Die AmigaDOS und ARP resident list werden abgesucht (Es ist
- 'resident' von der Shell zu benⁿtzen, um eine Datei in der ARP
- Liste hinzufⁿgen; entfernen mit add/remove).
- 7) Wenn die Datei im aktuellen Ordner ist,und auch ausfⁿhrbar ist,
- dann wird sie als Programm gestartet.
- 8) Es wird im AmigaDOS path (Pfad) und c: (Achtung, Path auf C:
- erweitert, funktioniert nicht unter 2.0. Dazu 'path'
- verwenden).
- 9) Jetzt wird der Shell Pfad ($_path) abgesucht. Wenn das
- Kommando dort gefunden wird, und ausfⁿhrbar ist, wird es
- gestartet. Wenn das 's'-Bit gesetzt ist, wird es unter der
- zugewiesenen Shell ausgefⁿhrt. Siehe FREMDE SHELLS.
- 10) Wenn eine Datei existiert mit Endung '.sh' und denselben
- Basisnamen im aktuellen Ordner oder im Shell Pfad, dann
- wird sie mit dem Shellkommando 'source' ausgefⁿhrt.
- 11) Als nΣchstes wird die Variable _rxpath untersucht. Wenn dort
- eine Datei mit der Endung '.rexx' existiert und denselben
- Basisnamen im aktuellen Ordner oder im '$_rxpath', dann wird
- sie mit dem Arexxkommando 'RX <Datei>' ausgefⁿhrt.
- 12) Wenn bis hierhin nichts gefunden wurde, wird der Datei ein 'exec'-
- Kommando geschickt. Siehe Kapitel XIV fⁿr weitere Infos ⁿber
- Klassen und Aktionen.
-
- Um zu erzwingen, dass ein externes 'dir'-Kommando gestartet wird, mu▀
- 'Dir' eingeben werden. Es wΣre eine gute Angewohnheit alle externen
- Kommandos mit einem grossgeschriebenen Erstbuchstaben aufzurufen,
- obwohl es nicht notwendig ist.
-
- AUTOMATISCHES SOURCING
- Sourcing (=Ausfⁿhren von Stapeldateien) kann erreicht werden indem
- die Stapeldatei mit der Endung '.sh' aufgerufen wird. Also, wenn
- 'Quell' aufgerufen wird, und die Datei 'Quell.sh' im aktuellen
- Ordner oder im Shell Pfad existiert (BEACHTEN SIE: NICHT im
- AmigaDOS Pfad), dann wird sie mit dem 'source' Kommando mit allen
- Argumenten, die in der Variable $_passed platziert wurden, ausgefⁿhrt.
- Das wΣre dasselbe, als wⁿrde 'source Quelle.sh' eingeben werden.
-
- FREMDE SHELLS
- Werden unterstⁿtzt durch Schlⁿsselzeichen zu Beginn dieser
- Stapeldateien. Wenn eine Datei im $_path ein s-bit hat, werden die
- ersten paar Zeichen gelesen. Wenn die ersten zwei Zeichen '/*', '#!'
- oder ';!' seien sollten, wird der Rest der ersten Zeile als der Name
- der Shell interpretiert, die das Skript ausfⁿhren soll. Wenn diese
- magischen Zeichen fehlen, wird c:Execute benutzt.
- Beispiele:
- /*RX /* Eine Arexx-Stapeldatei */
- #!SKsh -c source # Eine SKsh-Stapeldatei mit Argument
-
- SUCHMUSTER
- Die meisten Shellkommandos werden mehrere Argumente, die das
- Resultat einer Suchmuster ErgΣnzung sind, akzeptieren. Auch wenn
- ein externes Kommando aufgerufen wird, wird die Shell zuerst die
- Suchmuster ErgΣnzung zu einzelnen Argumenten separieren. Wird ein
- externes Kommando mit eigener Suchmuster ErgΣnzung verlangt, ist es
- sinnvoll, Anfⁿhrungszeichen um das spezielle Suchmuster zu setzen,
- oder ein Alias zu benⁿtzen (siehe ErklΣrung von 'alias').
- Beispiele:
- arc a new.arc *.txt #die Shell wird ErgΣnzungen zu arc schicken.
- arc a new.arc "*.txt" #arc soll die Suchmuster selber expandieren.
- alias arc "*a Arc $a" #nun wird die Shell nie ergΣnzen.
-
- Erlaubte Suchmuster:
- ? Zu irgendeinem (1) Zeichen passend.
- * Zu irgendeiner Zeichenkette passend. (Beliebig lang!)
- .../* Rekursiv suchen in alle Unterordner hinunter
- vom aktuellen Ordner ausgehend.
- ~ Ausschluss der Suchmusterspezifikation.
- ! Gleichbedeutend zu '~'. Wird aus KompatibilitΣtsgrⁿnden
- unterstⁿtzt.
- & Kommt als Prefix vor das Muster, fragt BestΣtigung fⁿr
- jede Datei ab.
- [] Zeichenklasse. [a-c] lΣ▀t die Zeichen a, b und c zu.
- ~ Der vorherige aktuelle Ordner (sofern
- das ~ abgesondert dasteht).
-
- BEACHTE: Das Muster muss ein '?' oder ein '*' enthalten, sonst
- wird es nicht als solches betrachtet. Auch ein einzelnes '?' als
- Muster im ersten Argument eines Kommandos kann nicht ergΣnzt werden,
- da dies an das Kommando weitergegeben wird, damit dieses Kommando
- eine Kurzanleitung von sich selbst ausgibt (Help-Funktion der
- internen Kommandos).
-
- Hier einige Beispiele fⁿr Suchmuster, um das Oben gesagte besser
- zu illustrieren:
-
- df0:.../* Alle Dateien in allen Ordnern von df0:
- df0:.../!*.info Alle Dateien von df0: aber OHNE Dateien mit der
- Endung '.info'
- !*.o !*.c Alle Dateien im aktuellen Ordnern ausser
- solche mit Endung '.o' oder '.c'
- df1:&* Alle Dateien in df1:, aber BestΣtigung durch
- Abfrage
- *.[co] Alle Dateien mit Endung '.c' oder '.o'
- ~*.[co] Alle Dateien ohne Endung '.c' oder '.o'
- ~ Vorheriger aktueller Ordner
- ~/*.c Alle '.c'-Dateien im vorherigen aktuellen
- Ordner
- ~// Das Vaterordner vom vorherigen aktuellen
- Ordner
- . Das aktuelle Ordner
- ./fasel.c Gleichbedeutend mit fasel.c
- .. Der Vaterordner vom aktuellen Ordner
- ../fasel.c Die Datei fasel.c im Vaterordner
-
- Achtung, einige Kommandos verhindern Suchmuster ErgΣnzung:
- dir, rpn, whereis und window.
- Diese Kommandos werden die Suchmuster selber erweitern.
- Darum wird auch
- dir @without( *.? , *.o )
- nicht funktionieren. Anstelle dessen ist zu benutzen:
- set arg @without( *.? , *.o );dir $arg
-
- Es gibt eine Ausnahme in den Regeln oben: Ein einzelnes '?' als
- erstes Argument wird nicht erweitert. Stattdessen erlaubt es eine
- Anzeige des Kommandohilfstextes.
-
- Folgende Symbole werden noch nicht unterstⁿtzt durch Suchmuster
- ErgΣnzung, werden aber von 'search -w' und '@match()' akzeptiert:
-
- ( | ) mit OR suchen (OR=logisches ODER)
- # einmal oder mehrmals das unmittelbar folgende Zeichen nach #
-
- Beispiele:
-
- "k#a" passt zu: ka, kaa, kaaa, etc.
- "hel(lo|p)" passt zu: hello oder help.
-
-
- VIII Shell Kommandos
- --------------------
-
- ABORTLINE
- Gebrauch: abortline
- Beispiel: echo a; abort; echo b
- Ergebnis: a
-
- Verhindert, da▀ der Rest der Zeile ausgefⁿhrt wird. Wird
- ⁿblicherweise im Zusammenhang mit der Ausnahme-Behandlung
- verwendet.
-
- ACTION
- Gebrauch: action [-a] Methodenname Datei [Argumente]
-
- Wendet eine Methode auf ein Datei an.
-
- Optionen:
- -a (abort)
- Es wird 0 bei Erfolg, 1 im Fehlerfalle zurⁿckgegeben.
- Sonst werden die normalen Ferhlercodes 10 oder 11
- zurⁿckgegeben.
-
- ADDBUFFERS
- Gebrauch: addbuffers GerΣt Puffer [GerΣt Puffer...]
- Beispiel: addbuffers DH1: 200
-
- Wie das gleichnamige AmigaDOS Kommando. Weist einem
- AmigaDOS GerΣt neue Puffer zu. Jeder Puffer verbraucht 512
- Bytes RAM. (Chip!)
-
- ALIAS
- Gebrauch: alias [Name [Kommando Zeichenkette] ]
- Beispiel: alias vt "echo Starte VT100;run sys:tools/vt100"
-
- Weist einem Namen eine (Kommando-)Zeichenkette zu. Mehrere
- Kommandos k÷nnen zu einem 'Alias' zusammengefasst werden, wenn
- sie wie im Beispiel in Anfⁿhrungszeichen stehen, und mit
- Semikola getrennt werden. Danach braucht nur noch der Name
- eingegeben zu werden und die komplette Kommando-Zeile wird
- ausgefⁿhrt.
- 'Alias'e dⁿrfen sich gegeseitig ausrufen, aber nicht
- rekursiv. Dadurch funktioniert z.B. so etwas:
- alias ls "ls -s"
- RekursivitΣt wird von der Shell nicht abgefangen !
-
- Das Ersetzen durch 'alias'e kann wie folgt
- verhindert werden: \ls
-
- ▄bergabe von Argumenten an ein Alias:
-
- Gebrauch: alias Name "%Var[%Var...] [Kommando Zeichenkette]"
- alias name "*Var[%Var...] [Kommando Zeichenkette ]"
- Beispiel: alias xx "%q%w echo Hallo $q, Du siehst $w aus!
- xx Willie heute gut
- Ergebnis: Hallo Willie, Du siehst heute gut aus!
-
- Diese zweite Form des Alias-Befehls erlaubt es durch die
- Verwendung von Variablennamen, Argumente mitten im der
- Zeichenkette zu verwenden. Diese Variablen sind lokal und
- au▀erhalb des Alias nicht mehr wirksam. Diese haben keinen Einflu▀
- auf andere gleichnamige Variablen.
- Werden mehrere Argumente angegeben, wird jeder Variablen
- ein Wort zugewiesen, der letzten aber, wie im Beispiel, der
- Rest der Zeile.
-
- Ein "*" statt dem "%" verhindert die Ausfⁿhrung von
- Suchmustern. Beispiel:
-
- alias lharc "*a lharc $a
-
- Um die Suchmuster auszufⁿhren, kann folgendes verwendet werden:
- exec set a $a
-
- IMPLIZITE ALIAS'e:
-
- Gebrauch: {Kommando;Kommando}
- {%var Kommando;Kommando} Argument1 .. ArgumentN
- Beispiel: {%tmp echo %tmp %tmp} Hallo
- Ergebnis: Hallo Hallo
-
- Geschweifte Klammern definieren temporΣre Aliase. Ihre
- Ein- und Ausgabe kann als Ganzes umgelenkt werden, sie
- k÷nnen Argumente und lokale Variablen haben. Diese zΣhlen als
- ein Argument, selbst wenn sie Leerzeichen enthalten (wie bei
- Anfⁿhrungszeichen) und sie k÷nnen beliebig geschachtelt
- werden. Die schlie▀enden Klammer ist optional, wenn jene am
- Ende einer Zeile steht. Beispiel:
-
- alias sicher {e "Sind Sie sicher?"; input -s Klar}
-
- AREXX
- Die Kommandos RXREC und RXSEND werden von der Cshell zur Verfⁿgung
- gestellt. Damit ist optimales Arbeiten mit AREXX von der Shell
- gewΣhrleistet. Der Rexxmast ist natⁿrlich selber zu installieren,
- am besten in s:startup-sequence. Bitte auch im AREXX-Manual oder
- im AmigaDOS-Manual (WB 2.0) nachlesen.
-
- ASCII
- Gebrauch: ascii
- ascii Zeichenkette
-
- Zeigt beim Aufruf ohne Zeichenkette eine komplette ASCII
- Tabelle. Optionen:
- -h : zeigt die Nummern in hexadezimaler (sedesimal) Schreibweise
- -o : zeigt die Nummern in oktaler Schreibweise
-
- ASET
- Gebrauch: aset Name Wert
- Beispiel: aset INCLUDE include:
-
- Erzeugt eine Umgebungs-Variable im veralteten Aztec/ARP Format.
-
- ASSIGN
- Gebrauch: assign
- assign Logisch
- assign [-lnp] Log.1 Phys.1 [ ... Log.N Phys.N]
-
- Die erste Form zeigt alle Assigns.
- Die Zweite l÷scht ein Assign.
- Die Dritte weist dem logischen GerΣt 'Logiisch1' das
- physikalische 'Physikalisch1' zu, etc.
-
- -l erzeugt late-binding Assigns (nur unter Kick 2.0)
- -n erzeugt non-binding Assigns (nur unter Kick 2.0)
- -p erzeugt path-Assigns (nur unter Kick 2.0)
- Eine ErklΣrung dieser Assign-Arten findet sich im AmigaDOS
- Handbuch.
-
- BASENAME
- Gebrauch : basename Var Pfad [Pfad ...]
- Beispiel : basename x df0:c/Dir # setzt x auf "Dir"
- basename y sys:tool/iconed # setzt y auf "iconed"
-
- Setzt die angegebene Variable auf den Dateinamen eines Pfades.
-
- CAT
- Gebrauch : cat [-n][Datei1 ... DateiN]
- Beispiel : cat fasel.txt
-
- Schreibt die angegebene Datei(en) auf die Standard-Ausgabe. Wenn
- keine Datei angegeben wird, wird statt dessen die
- Standard-Eingabe verwendet (Hinweis: ^\ markiert das
- Datei-Ende). CAT ist nur zur Ausgabe von Text-Dateien gedacht.
- Die -n Option nummeriert die ausgegebenen Zeilen.
-
- CD
- Gebrauch : cd [Pfad]
- cd -g GerΣt1 [GerΣt2 .. [GerΣtN] .. ]
-
- Wechselt den aktuelle Ordner. Die Angabe von '..'
- zum Wechseln in den Vaterordner ist erlaubt (allerdings
- handelt es sich dabei um ein Csh-spezifisches Feature -
- normalerweise wird auf dem Amiga "/" verwendet).
-
- In den meisten FΣllen ist die Angabe von 'CD' ⁿberflⁿssig.
- Die einfache Eingabe eines Ordners reicht der Csh.
- Ein einzelnes '~' in der Kommando-Zeile wechselt stets zum
- jeweils letzten aktuellen Ordner.
-
- In zwei FΣllen ist dennoch die Angabe von 'CD' sinnvoll:
-
- Die Eingabe 'cd *tem' wechselt in den Ordner
- dessen Name passt.
-
-
- Die zweite Form erzeugt eine Liste aller Ordner der
- angegebenen GerΣte. Diese wird in der Datei gespeichert, das
- in der Variablen $_qcd angegeben ist (default:
- 'Csh:Csh-qcd'). Diese Datei wird nicht erweitert, sondern
- stets ⁿberschrieben. Wenn diese Datei einmal existiert,
- kann mit CD auch in Ordner gewechselt werden, die nicht
- im aktuellen Ordner liegen.
-
- Existieren zwei Ordner, von denen einer hΣufiger
- gebraucht wird, so sollte dieser zuerst in der qcd-Datei stehen.
- Ebenso kann die qcd-Datei sortiert werden (mit 'sort').
-
- Es ist auch m÷glich, eine Abkⁿrzung des Ordners einzugeben. Dazu wird
- kein '*' ben÷tigt. Sollte dann versehentlich der falsche Ordner
- angesprochen werden, so k÷nnen durch Wiederholen der Kommando-Zeile
- (Cursor-Up + Return) alle passenden Ordner angezeigt bekommen.
-
- Au▀erdem k÷nnen logische GerΣte und Assings in die qcd-Datei
- aufgenommen werden. So kann z.B. nach 'PageStream:' gelangt werden,
- indem 'cd page' eingegeben wird.
-
- CD ohne Argumente zeigt den aktuellen Ordner an.
-
- CLASS
- Gebrauch : [-n] Name {type=Argument} [ "actions" {action=Kommando} ]
- Beispiel : class zoo offs=20,dca7c4fd ext=.zoo actions view="zoo l"
-
- Definiert eine neue Klasse von Dateien und die Methoden, die
- auf solche in verschiedenen FΣllen angewendet werden sollen.
- Siehe Abschnitt XIV: Objekte
-
- Optionen : -n alte Definition l÷schen
-
- CLOSE
- Gebrauch : close [Datei-Nummer]
-
- Schlie▀t die angegebene, mit OPEN ge÷ffnete Datei. Ohne
- Angabe einer Datei-Nummer werden alle Dateien geschlossen. S.a.
- FLIST und OPEN.
-
- CLS
- Gebrauch : cls
-
- Ein Alias. L÷scht den Bildschirm, allerdings auch auf
- Terminals, wozu echo ^l nicht reicht.
-
- COPY
- Gebrauch : copy [-udfpm] Datei Datei
- oder : copy [-udfpm] Datei1 .. DateiN Ord
- oder : copy [-rudfp] Ord1...OrdN Datei1...DateiN Ord
-
- Optionen:
- -r rekursiv, auch Unterordner kopieren.
- -u update, nicht kopieren, wenn eine neuere Version existiert.
- -f freshen, nicht kopieren, wenn die Ziel-Datei nicht
- existiert oder neuer ist.
- -d Datei-Datum nicht mitkopieren.
- -p Sicherheits-Bits nicht mitkopieren.
- -m l÷scht das Original. Funktioniert nicht mit -r zusammen.
-
- Beispiel : copy -r dh0: dh2:
-
- Kopiert Ordner oder Dateien. Wenn Ordner
- kopiert werden sollen, mu▀ die Option -r angegeben werden,
- um auch Unterverzeichnisse mitzukopieren. Sonst werden nur
- die Dateien der oberen Ebene kopiert.
-
- Es werden alle Dateien, die gerade kopiert werden, und alle
- Ordner, die gerade angelegt werden, angezeigt. Diese
- Ausgabe kann mit Ausgabe-Umlenkungen vermieden werden.
- Z.B.: copy -r dh0: dh2: >NIL:
-
- COPY bricht nach den aktuellen Datei ab, falls CTRL-C
- gedrⁿckt wird.
-
- COPY setzt normalerweise das Datum des Ziel-Dateien auf das
- des Quell-Dateien. Dies kann mit -d verhindert werden.
-
- Analog werden die Sicherheits-Bits behandelt. Dies wird
- mit -p verhindert. Das Archive-Bit wird immer gel÷scht.
-
- COPY erzeugt jetzt den Ziel-Ordner selbst, falls er
- noch nicht existiert, falls 'copy [-r] Ord Ord' eingegeben
- wurde. Bei der Eingabe von 'copy Datei Datei Datei Ord' mu▀
- 'Ord' jedoch schon existieren.
-
-
- CP
- Synonym zu COPY.
-
- DATE
- Gebrauch :date [-sr] [neues Datum] [neue Zeit]
- Beispiel : date Wednesday # gemeint ist N─CHSTER Mittwoch
-
- Wird verwendet um das System-Datum und/oder -Zeit zu setzen. Alle
- Standard-Optionen k÷nnen verwendet werden(yesterday, tomorrow, etc.).
- Fⁿhrende Nullen sind nicht erforderlich.
- Ohne Parameter wird (aktuelle) DD-MMM-YY HH:MM:SS angezeigt.
- Optionen:
- -s speichert die aktuelle Zeit
- -r zeigt die verstrichene Zeit seit der gespeicherten aufs
- Hundertstel genau an. (Sinnvoll fⁿr Stapeldateien)
-
- DEC
- Gebrauch : dec Variablenname [Wert]
- Beispiel : dec abc
-
- Decrementiert (verringert) das Numerische ─quivalent der Variablen um
- den angegebenen Wert (Vorgabe ist 1) und setzt das
- ASCII-Zeichenketten-Resultat zurⁿck in die Variable.
-
- DELETE
- Gebrauch : delete [-p][-r] Datei1 [..DateiN]
- Beispiel : delete fasel.txt frust.c
-
- L÷sche die angegebenen Dateien. Das Kommando gibt immer Fehlerkode0
- zurⁿck. Leere Ordner k÷nnen gel÷scht werden. Die Option '-r'
- l÷scht nicht-leere Ordner indem es alle Unterordner rekursiv l÷scht.
- Wird die Option '-p' angegeben, k÷nnen l÷schgeschⁿtzte Dateien
- gel÷scht werden.
- Beim L÷schen mit Suchmustern werden die Dateien aufgelistet wie sie
- gel÷scht werden. Dieses kann unterdrⁿckt werden, indem nach nil:
- umgeleitet wird.
- Wird die Option -q angegeben, werden keine Fehlermeldungen ausgegeben,
- wenn eine zu l÷schende Datei nicht existiert oder nicht gel÷scht
- werden konnte.
-
- DIR
- Gebrauch : dir [-abcdfhiklnoqstuv] [-z lformat] [Pfad Pfad ... ]
- Beispiel : dir -ts downloads:
- dir -lz "%7s %-.16n %m" *.c
- Optionen:
- -d nur Ordner listen
- -f nur Dateien listen
- -h nur Dateien listen, die nicht mit einem Punkt anfangen, mit
- '.info' enden oder das h-Flag gesetzt haben.
- -s kurze Multi(4)-Kolonen Anzeige
- -c keine FarbΣnderung fⁿr Ordner
- -q zeigt keine BlocklΣngen an
- -o zeigt Datei-Kommentare an
- -n nur Namen anzeigen
- -p volle Pfadnamen anzeigen und Ordner-Titel unterdrⁿcken
- -a zeigt das Alter aller Dateien im Format Tage Stunden:Minuten an
- -i identifiziert jede Datei, zeigt den Typ statt des Datums
- Siehe Kapitel XIV CLASSES
- -v summiert rekursiv alle LΣngen der Dateien in einem Ordner
- -l sortiert Dateien nach deren LΣnge, lΣngste zuerst.
- -t sortiert Dateien nach deren Zeit, neueste zuerst.
- -k sortiert Dateien nach deren Klasse
- -b sortiert die Dateien rⁿckwΣrts
- -g gibt Ordner am Anfang aus
- -e gibt Ordner am Ende aus
- -u es mⁿssen genau zwei Ordner gegeben sein. Zeigt Dateien,
- die nur im ersten Ordner, in beiden oder im Zweiten vorkommen
- -z wΣhlbares Ausgabeformat
-
- Zeigt einen Ordner mit angegebenen Dateien. Voreingestellte Ausgabe
- zeigt Datum, Sicherheits-Bits, Block-Gr÷sse, Byte-Gr÷sse und gesammten
- Platzverbrauch an.
- Sicherheits-Bits beinhalten neue 1.2/1.3 Bits (siehe protect) und
- ein 'c'-Bit welches anzeigt, das diese Datei einen Kommentar hat.
- Dateien werden alphabetisch sortiert, ohne auf Gross-/Klein-Schreibung
- zu achten. Ordner werden rot ausgegeben (ausser bei -c).
- Dir beachtet die Breite des Fensters.
-
- Die lformat-Zeichenkette wird verwendet, um ein eigenes Ausgabeformat
- zu erstellen. Alles andere gilt nicht. Die Zeichenkette kann folgende
- Zeichen enthalten:
- %a Alter %l LF wenn Kommentar %s Gr÷sse
- %b Block-Gr÷sse %m Multi-Kolonne %t Zeit
- %c c-Bit (Komment.) %n Name %u Gr÷sse in K
- %d Datum %o Kommentar %v Ord. Gr÷. in engl.
- %f hsparwed Bits %p Name mit Pfad %w Ord. Gr÷. in Kb
- %i d-Bit f. Ord. %q Name mit '/' %x ▄bersetztes Datum
- %k Klasse (Art) %r Gr÷sse in engl.
-
- Zwischen dem '%' und dem bezeichnenden Buchstaben kann auf Wunsch
- eine Feld-Weite angegeben werden. Wenn die Zahl von einem '-'
- angefⁿhrt wird, so wird der Feld-Inhalt linksbⁿndig gesetzt. Bei
- einem Punkt wird der Inhalt bei Bedarf auf die Feld-Weite gekⁿrzt.
- Wenn die Format-Zeichenkette ein %m enthΣlt, wird Cshell versuchen,
- mehr als einen Eintrag auf einer Zeile auszugeben. Die Kolonnenbreite
- ist die Feld-Weite des %m-Eintrages. Wenn dieser fehlt, wird die
- Breite der ersten Datei angenommen. Wenn eine Datei lΣnger ist,
- werden zwei Kolonnen verwendet.
-
- DISKCHANGE
- Gebrauch : diskchange GerΣt
- Beispiel: diskchange df2: # das externe 5.25" LW wurde
- gewechselt
-
- Wie AmigaDOS diskchange. Sollte nur bei physikalisches GerΣten
- angewendet werden.
-
- ECHO
- Gebrauch : echo [-en] Zeichenfolge
- Beispiel : echo hi there
- Ergebnis : hi there
-
- Gibt die gegebene Zeichenfolge wieder. Wenn '-n' angegeben wurde, wird
- kein Wagenrⁿcklauf angefⁿgt. Mit '-e' geht die Ausgabe auf die
- Standardausgabe.
-
- ELSE
- Gebrauch : else ; Kommando
- Beispiel : if -f fasel.c ; else ; echo "Nicht da" ; endif
-
- Die Else-Anweisung muss von einer IF-Bedingung angefⁿhrt werden.
-
- ENDIF
- Gebrauch : endif
-
- Das Ende einer If-Anweisung.
-
- Achtung, wenn von einer Stapeldatei mit unterminierten IF-
- Anweisungen zurⁿckgekehrt wird, und das letzte IF falsch war,wird der
- Prompt in einen Unterstrich ('_') verwandelt, und keine Anweisungen
- werden ausgefⁿhrt bis 'endif' eingegeben wird.
-
- ERROR
- Gebrauch : error n
-
- Generiert einen Rⁿckgabewert (Fehlerkode) n.
-
- EXEC
- Gebrauch : exec [-i] Kommando [Argumente]
- Beispiel : set cmd "dir ram:"
- exec $cmd # wⁿrde ohne exec nicht funktionieren
-
- Fⁿhrt das angegebene Kommando aus. 'exec Kommando' ist gleichbedeutend
- zu 'Kommando', nur k÷nnen Variablen angegeben werden, um Kommandonamen
- anzugeben.
- Achtung, die Kommandozeile wird ZWEIMAL interpretiert! Beispiele:
- set a dir ram:; exec $a # richtig
- set a mkdir; exec $a "Mein Ordner" # falsch! Macht 2 Ordner.
-
- Exec gibt den Wert zurⁿck, den das auzufⁿhrende Kommando zurⁿckgibt,
- es sei denn die Option '-i' (ignorieren) ist gesetzt, was immer 0
- ergibt.
-
- FAULT
- Gebrauch : fault Fehler1 .. FehlerN
- Beispiel : fault 205 212
-
- Wie AmigaDOS fault, gibt angegebene Fehlermeldungen zurⁿck.
-
- FILENOTE
- Gebrauch : filenote Datei1 .. DateiN Kommentar
- filenote -s Datei1...DateiN
-
- Die erste Form setzt die AmigaDOS-Kommentarzeile der genannten Datei.
- Die zweite Form zeigt die Kommentare der genannten Dateien an.
-
- FLIST
- Gebrauch : flist
-
- Listet die Dateinummern der Dateien, die durch open ge÷ffnet wurden.
- Siehe OPEN und CLOSE.
-
- FLTLOWER
- Gebrauch : fltlower
- Beispiel : dir | fltlower
- Oder : fltlower <readme
-
- Filterbefehl. Wandelt alphanumerische Texte in Kleinschrift.
-
- FLTUPPER
- Das gleiche wie fltlower, nur dieses wandelt in Grossschrift.
-
- FOREACH
- Gebrauch : foreach [-v] VarName ( Zeichenkette ) Kommando
- Beispiel : foreach i ( a b c d ) "echo -n $i;echo \" ok. \""
- Ergebnis : a ok.
- b ok.
- c ok.
- d ok.
-
- Die Zeichenkette wird in Argumente aufgeteilt. Jedes Argument wird der
- Reihe nach der Variablen 'VarName' zugewiesen und 'Kommando' wird aus-
- gefⁿhrt. Mehrere Kommandos sollen in Anfⁿhrungszeichen gesetzt werden.
-
- Foreach ist sehr nⁿtzlich fⁿr die Interpretation von Argumenten in
- einem Alias.
-
- Beispiel:
- alias showme "foreach i ( *.pic ) viewilbm $i"
-
- Unter der Annahme, dass sich a.pic und b.pic im aktuellen Ordner
- befinden, wird folgendes passieren:
- viewilbm a.pic
- viewilbm b.pic
-
- Das Flag -v sorgt dafⁿr, dass die Argumente angezeigt werden, wann
- immer ein Kommando ausgefⁿhrt wird. Alle 'for...'-Befehle k÷nnen mit
- CTRL-D abgebrochen werden.
-
- FOREVER
- Gebrauch : forever Kommando
- oder : forever "Kommando1;...;KommandoN"
-
- Die angegebenen Befehle werden immer und immer wieder ausgefⁿhrt. Fⁿr
- immer. Die Ausfⁿhrung stoppt, wird CTRL-C oder CTRL-D gedrⁿckt, oder
- wenn die Kommandos einen Fehler liefern.
-
- FORLINE
- Gebrauch : forline Variable Dateiname Kommando
- oder : forline Variable Dateiname "Kommando1;...;KommandoN"
- Beispiel : forline i RAM:temp "echo line $_linenum=$i"
-
- Fⁿr jede ASCII-Zeile, angegebener Dateien, werden die angefⁿhrten
- Befehle ausgefⁿhrt und Variable zeigt auf Zeileninhalt. Die System-
- Variable _linenum kann ⁿberprⁿft werden, um die Nummer der gerade
- gelesenen Zeile zu finden.
- Wenn die Standard-Eingabe (STDIN, Grossschreibung beachten) als
- Eingabe angegeben wird, dann werden die Zeilen von der
- Standard-Eingabe gelesen, also Tastatur oder Pipe.
-
- FORNUM
- Gebrauch : fornum [-v] Variable n1 n2 Kommando
- oder : fornum [-v] -s Var n1 n2 SchrittWeite Kommando
- Beispiel : fornum -v x 1 10 echo $x
- oder : fornum -s x 10 1 -1 echo $x # zΣhlt rⁿckwΣrts
-
- Fⁿhrt Kommando fⁿr jeden numerischen Wert von x zwischen n1 und n2 aus.
- Wenn mehr als ein Kommando angefⁿhrt ist, oder umgeleitet wurde, dann
- Befehle in Anfⁿhrungszeichen setzen.
- Mit Option '-v' werden die laufenden Zahlen ausgegeben.
- Mit Option '-s' kann eine Schrittweite angegeben werden, wenn diese
- negativ ist, wird rⁿckwΣrts gezΣhlt.
-
- GETENV
- Gebrauch : getenv [Shellvar] envvar
-
- Holt den Wert einer ARP- oder ENV:-Variablen (ARP-Liste wird zuerst
- durchsucht) und speichert ihn in der Shell-Variablen 'shellvar' ab.
- Wenn Shellvar ausgelassen wird, wird der Wert der ENV:-Variablen auf
- der Standard-Ausgabe ausgegeben.
-
- GOTO
- Gebrauch : goto label
- Beispiel : label start
- echo "Am Start"
- dir ram:
- goto start
-
- Fahre bei der angegebenen Marke (label) weiter. Dieses Kommando
- kann nur in einer Stapeldatei verwendet werden. Die Sprungmarken
- k÷nnen sich vor oder nach dem GOTO Kommando befinden. Es
- ist auch erlaubt aus IF's rauszuspringen.
-
- HEAD
- Gebrauch : head Dateiname [Wert]
- Beispiel : head readme 20
-
- Zeige "Wert" erste Zeilen der Datei "Dateiname". Wenn "Wert" nicht
- angegeben wurde, werden die ersten 10 Zeilen angezeigt.
- Meist interessant in Verbindung mit Pipe.
-
- HELP
- Gebrauch : help
- Beispiel : help
-
- Zeigt die Liste aller Befehle (KEIN Argument). Die Befehlsliste
- wird in der Reihenfolge angezeigt, in welcher sie auch durchsucht
- wird. Das hat zur Folge, da▀, wenn nur ein Teil eines Kommandonamens
- eingegeben wird, das erste Kommando in der Liste, der mit diesem
- Teil beginnt, ausgefⁿhrt wird. GrundsΣtzlich sollte ein genⁿgend
- grosser Teil angegeben werden damit die Wahl eindeutig ist.
-
- HISTORY
- Gebrauch : history [Zeichenkette]
- Beispiel : history
-
- Zeigt eine mit Nummern versehene Liste der zuletzt eingegebenen
- Befehle. Die Gr÷sse dieser Liste kann durch die Variable _history
- eingestellt werden. Wenn eine 'Zeichenkette' angegeben wurde, werden
- nur diejenigen EintrΣge angezeigt, auf die diese Zeichenkette
- zutrifft.
-
- HOWMANY
- Gebrauch : howmany
-
- Dieses Kommando zeigt an, wieviele Shells momentan im System am
- laufen sind.
-
- HTYPE
- Gebrauch : htype [-r] Datei1 .. Datein
-
- Zeigt den Inhalt der angegegbenen Dateien im Hexadezimal
- (sedesimal) und ASCII Format an (entspricht dem Ergebnis des
- CLI Befehls "Type Datei opt h"). Speziell nⁿtzlich zum
- Anschauen von BinΣrdateien. Die Option '-r' zeigt alle Dateien
- in einem Ordner an.
-
- IF
- Gebrauch : if [-n] Argument Bedingung Argument ;
- oder : if [-n] Argument
- oder : if [-n] -f Datei
- oder : if [-n] -d Datei/Ordner
- oder : if [-n] -m
- oder : if [-n] -t Datei Datei1 .. DateiN
- oder : if [-n] -r RPN-Ausdruck
- oder : if [-n] -v varname
- oder : if [-n] -o Zeichen arg ... arg
-
- Testet, ob ein Argument eine Bedingung in Bezug auf ein zweites
- Argument erfⁿllt. Als Bedingungen sind zugelassen:
- <, >, =, und Kombinationen.
- Demzufolge bedeutet <> "ungleich", >= "gr÷sser oder gleich",
- und so weiter...
- Wenn die Argumente nicht numerische Argumente sind, werden sie als
- Zeichenkette verglichen.
- Normalerweise wird als Argument entweder eine Konstante oder eine
- Variable ($varname) verwendet.
-
- Die zweite Form testet auf Vorhandensein des Arguments. Wenn das
- Argument eine Leerzeichenkette "" ist, ist die Bedingung FALSCH, sonst
- WAHR.
-
- Die dritte Form mit der Option -f testet auf Existieren der
- angegebenen Datei.
-
- Option -d testet die Art des angegebenen Objekts: Wenn es sich um
- einen Ordner handelt, ist die Bedingung WAHR, wenn es eine Datei
- ist oder nicht vorhanden, ist die Bedingung FALSCH.
-
- Option -m kann verwendet werden, um das Vorhandensein von
- FAST-Memory zu prⁿfen.
- Beispiel (kann im login.sh Datei eingebaut werden):
- if -m; resident -d lc1 lc2 blink; endif
-
- Wird die Form -t verwendet, werden Datum und Zeit der ersten Datei
- mit allen anderen verglichen; wenn die erste Datei jⁿnger als alle
- anderen, ist die Bedingung FALSCH, sonst WAHR. Wenn
- eine Datei nicht existiert, wird sie als Σlter angenommen.
- Diese Option ist speziell nⁿtzlich um 'makefiles' ohne ein
- eigentliches 'MAKE' Programm zu erstellen.
- Beispiel:
- if -t test.o test.asm test.i ; asm -o test.o test.asm ; endif
-
- Die Option -r berechnet einen gegebenen RPN-Ausdruck (siehe RPN
- fⁿr genauere ErlΣuterung): Wenn der Wert zuoberst auf dem RPN
- Stapel 0 ist, gilt die Bedingung als FALSCH, sonst WAHR.
-
- Die Option -o testet auf eine Option 'Zeichen' im Rest des
- Arguments.
- Beispiel: if -o r -rp ram:comm1.c ergibt WAHR.
-
- Option -n kehrt das Ergebnis der Bedingung um.
- Um zu testen, ob eine bestimmte Variable definiert wurde, kann
- 'if -v varname' verwendet werden.
-
- Wenn das Kommando IF in der Kommandozeile verwendet wird und die
- Bedingung FALSCH war, wird als Prompt solange ein '_' verwendet
- und alle eingegebenen Befehle ignoriert, bis ein ELSE oder ENDIF
- Kommando ausgefⁿhrt wird.
-
- INC
- Gebrauch : inc VarName [Wert]
- Beispiel : set abc 5;inc abc 5;echo $abc
- Ergebnis : 10
-
- Erh÷ht den Inhalt einer Variable um den angegebenen Wert (Wenn
- nichts angegeben wurde: um 1) und schreibt das Resultat als
- ASCII-Zeichenkette zurⁿck in die Variable 'VarName'.
-
- INFO
- Gebrauch : info [Path1 ... PathN]
-
- Wenn INFO ohne Argumente aufgerufen wird, gibt es Information
- ⁿber alle logischen und physikalischen GerΣte (devices) aus.
- Werden ein oder mehrere Pfade angegeben, wird nur die Information
- ⁿber die dazugeh÷rigen GerΣte angezeigt.
-
- INPUT
- Gebrauch : input [-s] Var1 ... VarN
- Beispiel : input abc
-
- Schreibt Daten von der Standard-Eingabe (oder einer umgeleiteten
- Ausgabe, oder von einer Pipe) in eine Variable. Die nΣchste Zeile,
- die als Eingabe kommt, wird in Worte aufgeteilt (wenn sie nicht in
- Anfⁿhrungszeichen gesetzt wurde) und in die Variable geschrieben.
- Falls die Option -s eingeschalten wurde, wird die Eingabezeile als
- Ganzes genommen, mitsamt der Leerzeichen. Option -r schaltet die
- Eingabekonsole in der Einzelzeichenmodus bevor die Daten
- eingelesen werden (d.h. es wird nicht auf ein abschliessendes
- RETURN gewartet). Diese Option muss mit Vorsicht eingesetzt
- werden.
-
- JOIN
- Gebrauch : join [-r] Datei1..DateiN Zieldatei
- Beispiel : join teil1 teil2 teil3 TeilGanz
-
- Verbindet die angegebenen Dateien und erzeugt 'Zieldatei'. Wenn
- 'Zieldatei' schon existiert, wird eine Fehlermeldung angezeigt und
- das Kommando wird abgebrochen, es sei denn Option -r (ersetze =
- replace) wurde angegeben.
-
- KEYMAP
- Gebrauch : keymap nummer {taste=funktion}
- Beispiel : keymap 0 1030=4 1032=12
-
- Definiert eine Tastenbelegung fⁿr Editiermodus der Csh
- Kommandozeile. Siehe auch Kapitel XV.
-
- LABEL
- Gebrauch : label name
-
- Setzt eine Sprungmarke an dieser Stelle. Wird in Stapeldateien
- verwendet, dann kann mit GOTO zu einer solchen Marke gesprungen
- werden.
-
- LINECNT
- Ein Filter das die Anzahl der Zeilen zΣhlt, die es als Eingabe
- (Standard-Eingabe) erhΣlt und schreibt diese Anzahl dann auf die
- Standard-Ausgabe.
-
- LOCAL
- Gebrauch : local [Var1 ... VarN]
-
- Generiert eine oder mehrere lokale Variablen. Diese Variablen
- verschwinden am Ende des 'alias' oder der Stapeldatei und k÷nnen
- nicht von anderen 'alias' oder Stapeldateien angesprochen werden.
- Wird kein Argument angegeben, zeigt das Kommando alle lokalen
- Variablen und deren Inhalt an.
-
- LS
- Gleichbedeutend zum Kommando DIR.
-
- MD
- Gleichbedeutend zum Kommando MKDIR.
-
- MAN
- Gebrauch : man Kommando1 ... KommandoN
- Beispiel : man mkdir
-
- Zeigt Information ⁿber ein Shell Kommando oder andere
- Schlⁿsselw÷rter an. Dies beinhaltet insbesondere alle speziellen
- _variablen, sowie verschiedene Schlⁿsselw÷rter: SUCHMUSTER, PIPES,
- EDITIEREN, START und andere.
- Das spezielle Alias 'manlist' kann verwendet werden, um eine Liste
- ALLER Schlⁿsselw÷rter zu erhalten, die MAN unterstⁿtzt.
-
- Die Variable _man muss auf den Pfad der .doc Datei gesetzt werden:
- set _man dh1:docs/aliases.doc Csh:Csh.deutsch.doc
-
- Um eigene .doc Dateien zu erstellen, mⁿssen vor alle Schⁿsselw÷rter
- vier (4) Leerzeichen gestellt werden. 'man' zeigt dann alle Zeilen
- bis es auf eine Zeile trifft, deren erste Zeichen ein alpha-
- numerisches ist oder vier vorangestellte Leerzeichen sind.
-
- MEM
- Gebrauch : mem [-cfqu]
-
- Optionen:
- -c zeigt den freien Speicher im CHIP-Memory Bereich
- -f zeigt den freien Speicher im FAST-Memory Bereich
- -q gibt nur die Zahl des freien Speichers ohne Text aus
- -s merkt sich die Menge des momentan freien Speichers
- -r zeigt den freien Speicher relativ zum letzten gemerkten Zustand.
- -l rΣumt den Speicher auf, macht soviel Speicher wie m÷glich frei.
-
- MENU
- Gebrauch : menu [-n] [ Titel Menupunkt1 ... MenupunktN ]
- Beispiel : menu Shell JrComm,,j Rename,"rename ",r quit
-
- HΣngt ein zusΣtzliches Pulldownmenu an das aktive Shell Fenster.
- Bis zu sechs Menus mit je 16 Menupunkten k÷nnen installiert
- werden.
-
- Wenn als 'Menupunkt' nur eine Zeichenkette angegeben wurde, wird ein
- Menupunkt mit demselben Namen erstellt. Bei der Anwahl eines
- solchen Menupunktes wird diese Zeichenkette dann beim Prompt eingefⁿgt
- und ausgefⁿhrt.
-
- Wenn ein Komma mit einer nachfolgenden zweiten Zeichenkette angegeben
- wurde, wird diese zweite Zeichenkette als Kommando eingefⁿgt und
- ausgefⁿhrt. Bei dieser Variante muss ein ^M (RETURN) von Hand
- hinzugefⁿgt werden, falls das Kommando direkt ausgefⁿhrt werden
- soll.
-
- Wenn auch noch ein zweites Komma mit einem nachfolgenden
- Zeichen folgt, wird dieser als Tastenkombination fⁿr den
- Menupunkt genommen. (In Zukunft wird Gross-/Kleinschreibung eine
- Rolle spielen, deshalb muss Kleinschrift verwendet werden!)
-
- Wenn aus irgend einem Grund das Pulldownmenu kaputtgegangen ist,
- kann einfach ein 'menu' Kommando alleine ausgefⁿhrt werden.
-
- Option -n entfernt alle Menupunkte.
- Als Beispiel ist Csh:menu.sh anzusehen.
-
- MKDIR
- Gebrauch : mkdir Name Name Name...
- Beispiel : mkdir df0:stoff
-
- Erstellt einen neueen Ordner.
-
- MV
- Gleichbedeutend zum Kommando RENAME.
- Es ist nicht m÷glich ⁿber GerΣte hinweg Dateien zu bewegen, etwa
- von einer Partition auf eine andere. Ein solches Kommando kann
- mit einem Alias einfach simuliert werden
- (ohne Sicherheitsabfrage!):
- alias newmv "%f1%f2 copy $f1 $f2;rm $f1"
-
-
- OPEN
- Gebrauch : open Dateiname Dateimodus Dateinummer
- Beispiel : open RAM:data w 1
-
- Dieses Kommando erlaubt das ╓ffnen einer Datei, ein darauf folgendes
- Umleiten beliebig vieler Befehle in diese Datei und ein Schliessen
- der Datei zum Schluss.
- 'Dateiname' ist ein gⁿltiger AmigaDOS Dateiname, als 'Dateimodus'
- sind entweder "r" zum Lesen oder "w" zum Schreiben erlaubt,
- 'Dateinummer' muss eine Zahl zwischen 1 und 10 sein.
- Um ein Programm von oder zu einer ge÷ffneten Datei umzulenken, wird
- als Umleitungsdateiname ein Punkt '.' gefolgt von der 'Dateinummer'
- verwendet. Es sind nur 10 gleichzeitig ge÷ffnete Dateien zulΣssig.
- Dazu ein komplettes Beispiel:
-
- open RAM:data w 1
- echo -n 2+2= >.1
- rpn 2 2 + . CR >.1
- close 1
- type RAM:data # zeigt 2+2=4
-
- Siehe auch CLOSE, FLIST.
-
- PATH
- Gebrauch : path [-r] [Ordner1 ... OrdnerN]
-
- Ohne ein Argument gibt das Kommando die Liste aller AmigaDOS Pfade
- aus. Sonst wird 'Ordner' zum Pfad hinzugefⁿgt, wobei
- Doppeleintragungen vermieden werden.
- Die Option '-r' l÷scht die gesamte (vorhandene) Pfadliste.
-
- PRI
- Gebrauch : pri Clinummer Pri
- Beispiel : pri 3 5 # Setzt PrioritΣt von cli #3 auf 5
-
- ─ndert die PrioritΣt des angegebenen Tasks (Das PS Kommando kann
- dazu verwendet werden, die 'Clinummer' herauszufinden). Wenn als
- 'Clinummer' 0 angegeben wurde, wird die PrioritΣt des aktuellen
- Tasks (derjenige, der das Kommando ausfⁿhrt) verΣndert. Dies ist
- sinnvoll fⁿr Stapeldateien.
-
-
- PROTECT
- Gebrauch : protect Datei1 ... DateiN [modus] flags
- Beispiel : protect MeineDatei +rwe
-
- Setzt AMIGADOS Sicherheits-Bits fⁿr die angegebenen Dateien.
- M÷gliche Bits sind: h, s, p, a, r, w, e, d.
- (Siehe auch AmigaDOS Manual)
- Modus:
- + Setzt die angegebenen Flags (alle anderen bleiben)
- - L÷scht die angegebenen Flags (alle anderen bleiben)
- = Setzt die angegebenen Flags (alle anderen werden gel÷scht)
- Wenn kein Modus angegeben wird, wird '=' als Vorgabe-Modus angenommen.
- Das Archiv-Flag (a), wird jeweils, sofern nichts anderes angegeben
- wurde, gel÷scht.
-
- PS
- Gebrauch : ps [Kommandoname1 ... KommandonameN]
-
- Gibt einen Status ⁿber alle CLI Processe z.B:
-
- Proc Command Name CLI Type Pri. Address Directory
- * 1 Csh Initial CLI 0 97b0 Stuff:shell
- 2 clock Background -10 2101a8 Workdisk:
- 3 emacs Background 0 212f58 Stuff:shell
- 4 VT100 Background 0 227328 Workdisk:
-
- Address ist die Speicheradresse des Tasks, Ordner ist der aktuelle
- Ordner des jeweiligen Commands (Kommandos). Der aktuelle
- CLI wird mit einem Stern in der ersten Spalte markiert.
-
- Optionen:
- -l Zeigt den kompletten Pfad der Kommandos
- -e Entfernt das Argument aus der Task-Liste (Wird ⁿbersprungen)
-
- PWD
- Gebrauch : pwd
-
- Setzt die Variable _cwd auf den aktuellen Pfad und zeigt diesen
- an.
-
- QSORT
- Gebrauch : qsort [-r] <Eingabe >Ausgabe
-
- Dieses Filter sortiert die 'Eingabe' nach 'Ausgabe'.
- Die Option -r sortiert rⁿckwΣrts.
-
- QUIT
- Gebrauch : quit
-
- VerlΣsst die Shell. Achtung, wurde die Csh von der normalen
- AmigaShell in shell-startup gestartet, werden jetzt erst die nach
- 'Csh' folgenden Befehle gestartet.
-
- RBACK
- Gebrauch : rback Kommando
-
- Startet ein Kommando in einem Hintergrund-Process. Ausgaben werden
- NICHT sichtbar. Abfragen des Kommandos, k÷nnen nicht entgegengenommen
- werden. rback entspricht 'run command >NIL: <NIL:'. Anstatt rback,
- ist es m÷glich am Ende der Zeile ein '&' anfⁿgen. Die Variable
- $_newproc enthΣlt die CLINummer des neu gestarteten Processes.
-
- Achtung, rback kann keine internen Csh-Kommandos starten.
- Soll eine Unter-Shell gestartet werden, ist dies z.B. wie
- folgt zu geschehen : rback Csh -c "copy ram:temp prt:;rm ram:temp
-
- READFILE
- Gebrauch : readfile Variablenname [Dateiname]
-
- LΣdt eine ASCII Datei und weist den Inhalt einer Variable zu.
- Jede Zeile wird zu einem Wort in der sich ergebenden Zeichenkette.
- Wenn keine Datei angegeben wird, wird von der Standard Eingabe
- gelesen.
-
- RENAME
- Gebrauch : rename QuellDatei ZielDatei
- oder : rename Datei1 ... DateiN ZielOrdner
-
- Erm÷glicht es, eine Datei umzubennen oder solche auf dem gleichen
- GerΣt zu bewegen. Eine oder mehrere Dateien k÷nnen in einen einzelnen
- Ordner verschoben werden.
- Das Archivierungs-Bit (a), wird bei diesem Vorgang gel÷scht.
- Suchmuster sollten aus Sicherheitsgrⁿnden vermieden werden.
-
- RESIDENT
- Gebrauch : resident [-r][-d] [Datei]
- Beispiel : resident lc1 lc2 blink # LΣdt diese Dateien resident
- resident -d lc1 lc2 blink # LΣdt erst resident,wenn n÷tig
- resident -r lc1 lc2 blink # L÷scht residente Dateien
- resident # Listet residente Dateien
-
- Dies ist das ARP Resident Kommando. Kommandos werden von der Shell
- zuerst dort gesucht, bevor in externen GerΣten gesucht wird.
- Nur wirkliche Programme k÷nnen resident geladen werden. Bei weiteren
- Fragen zu resident, ist bitte das ARP Handbuch zu lesen.
- Option -d ist sehr praktisch: So kann in der Start-Datei
- folgenden Eintrag gemacht werden:
- resident -d Datei1 .. DateiN
- Die Programme werden nicht sofort geladen, sondern nur wenn
- sie tatsΣchlich gestartet werden. Dies ist ein einfacher Weg,
- den Speicherverbrauch und die Start-Zeit zu Verkⁿrzen.
- Die alte Option -a hat keine weitere Bedeutung mehr.
-
- RETURN
- Gebrauch : return [n]
- Beispiel : return 10
-
- Die Shell, oder eine Stapeldatei wird mit dem angegebenen Wert
- als Fehlerkode verlassen.
-
- RM
- Synonym zu delete
-
- RPN
- Gebrauch : rpn Ausdruck
- Beispiel : rpn 3 7 * # Erigibt eine Ausgabe von 21
-
- Berechnet einen RPN (revers polish notation, siehe Fachliteratur)
- Ausdruck, dabei werden 32-Bit Variabeln verwendet.
- Nach der Berechung, schreibt RPN den Wert auf den Stack.
- Beispiel: "rpn $x 2 * | input x" Die Variable x hier verdoppelt.
- Implementierte Funktionen:
-
- + - * / Triviale Ausdrⁿcke; / ist eine integere Division.
- % Modulo Operation z.B. "rpn 7 3 %" Ergibt 1
- & | ~ Bitweise UND, ODER, NOT Operatoren
- > < == Testet auf gr÷sser-als, kleiner-als, gleich. Auch <=
- und >= sind erlaubt.
- ! Logische NICHT Operation
- DUP Dupliziert Wert auf dem Stacks
- DROP L÷scht obersten Wert des Stacks
- SWAP Tauscht Wert mit dem obersten auf dem Stack aus.
-
- Um keinen Konflikt mit den Ausgabeumlenkungs-Zeichen, > und < zu
- bekommen, mⁿssen die Operatoren in diesem Fall zwischen
- Anfⁿhrungszeichen "" stehen.
- 3 2 ">" # Ergibt 1, dies wird auf die Standardausgabe
- # gelenkt
-
- RUN
- Gebrauch : run Programm Argumente
- Beispiel : run emacs test.c
-
- Startet das Programm unter einem neuen Process.
- In der jetzigen Implementation des Kommandos run, kann die
- Ausgabe und die Eingabe des Programm nicht umgelenkt werden.
- Das Kommando ist nicht ganz zuverlΣssig: Gebrauch auf eigenes Risiko.
- $_newproc wird auf den Wert der CLI-Nummer des neuen Processes gesetzt
- Siehe auch rback
-
- RXREC
- Gebrauch : rxrec [portname]
-
- Generiert einen AREXX-Port mit spezifizierten Namen.
- Vorgabe ist "rexx_csh". Anschliessend geht die Shell in einen
- Warte-Modus, in der sie auf Kommandos wartet.
-
- Achtung, der einzige Weg diesen Status zu verlassen, besteht darin,
- auf den angegebenen ARexx-Port die Mitteilung 'bye' zu senden.
-
- Beispiel:
- Eine weitere Cshell in einem neuen CLI ÷ffnen.
- Dort eingeben:
- rxrec
-
- Die Shell gibt nun keine Antwort auf Kommandos, denn diese
- wartet auf ARexx-Mitteilungen (port "rexx_csh").
- Auf der anderen Cshell bitte eingeben:
- rxsend rexx_csh "dir ram:"
- Es wird auf der neuen CShell der Inhalt des Ordners ram: ausgegeben.
- Um die neue CShell wieder freizugeben, ist
- rxsend rexx_csh bye
- einzugeben.
- Die neue CShell ist nun wieder im (normalen) Kommando-Modus
-
- RXSEND
- Gebrauch : rxsend [-lr] PortName Kommando1 ...KommandoN
-
- Sendet Kommandos zu einem AREXX-Port.
- Jedes Kommando wird als einzelnes Kommando gesendet!
-
- Es werden keine ZusΣtze ben÷tigt, um rxrec zu starten, nur
- ein Programm mit dem richtigen AREXX-Port.
-
- Ein Beispiel ist CygnusEdProfessional: Hier als Beispiel ein Kommando
- das den CED wiederbelebt (falls im Wartemodus), eine Datei
- namens test.c lΣdt, und ein Sprung zur Zeile 20 macht:
-
- rxsend rexx_ced "cedtofront" "open test.c" "jmp to line 20"
- # rexx_ced ist der Name des AREXX Port's fⁿr CygnusEd
-
- Die Option -r setzt die Variable _result auf den Rⁿckgabe-Wert des
- ausgefⁿhrten AREXX Kommandos.
-
- Die Option -l sendet die ganze Zeile als EIN Kommando
-
- Mehr Details sind dem jeweiligen Applikations-Handbuch zu entnehmen.
-
- SEARCH
- Gebrauch : search [-abcefnqrvw] Datei1 ... DateiN Zeichenkette
-
- Durchsucht die angegebenen Dateien nach einer Zeichenkette.
- Nur jeweils eine Zeile, in der die Zeichenkette gefunden worden ist,
- wird angezeigt.
-
- Fals als Dateiname STDIN (Grossbuchstaben) angegeben wird, wird von
- der Standard-Eingabe gelesen. Somit kann mit Hilfe von PIPE's
- ein Datenstrom durchsucht werden.
-
- Beispiel:
- strings MeinProgramm | search STDIN .library
- Zeigt alle Libraries die in "MeinProgramm" verwendet werden.
-
- Search ist sehr schnell. Wenn keine der Optionen -w, -e und STDIN
- angegeben wurden wird die Datei in den Speicher geladen.
-
- Optionen:
- -a (abort, Abbruch) Die Ausgabe wird angehalten, beim ersten Vorkommen
- des Suchmusters.
- -b (Binary, binΣr) Zeigt den Byte-Offset der gefundenen Zeichenkette
- In Kombination mit -n, werden nur Offset's Angezeigt.
- -c (case, Gr./Kl.) Es wird strikt abhΣngig von Gross/Kleinbuchstaben
- durchsucht.
- -e (Exklusiv) Zeigt Zeilen in denen die Zeichenkette NICHT vorkommt
- -f (files, Dateien) Zeigt nur den Namen der Dateien in dem die
- Zeichenkette gefunden wurde.
- -l (left, Links) Das Suchmuster beginnt am Anfang einer Zeile (dies
- ist schneller als Suchmuster zu nutzen)
- -n (number, Nummer) Schaltet die Zeilen-Nummerierung ab.
- -o (only, nur) Sucht nur ganze W÷rter.
- -q (quiet, still) Unterdrⁿckt das Ausgeben der Dateinamen.
- -r (Rekursiv) Wenn ein Ordner angegeben wird, werden alle
- Dateien und Ordner rekursiv durchsucht.
- -v (verbose, Kommentar) Zeigt jeden Dateinamen auf einer separaten
- Zeile. Dies wird automatisch eingeschaltet, wenn der search
- umgeleitet wurde.
- -w (wild card, Suchmuster) Siehe Unten.
-
-
- Bemerkungen zu Suchmustern:
- - Benutzt Shell-Standardmuster.
- - Alle Standard ARP Suchzeichen sind verwendbar: * ? [] () | ~ ' #
- - Die ganze Zeile muss eine Such-Zeichenkette ergeben.
- - Die Zeichenkette muss zwischen Anfⁿhrungszeichen stehen! (!!)
-
- Beispiel:
-
- search -cr df0:include ACCESS
- Findet alle Vorkommen von ACCESS (gross geschrieben)in allen Dateien
- im df0:include Ordner.
-
- search -w shell.h "'#define*"
- Zeigt nur Zeilen einer Datei in der der Anfang mit #define
- beginnt. Das Zeichen ' muss vor # stehen, da # ein Spezial-
- Zeichen ist.
-
- SET
- Gebrauch : set [VarName] [Zeichenkette]
- Beispiel : set abc hallo
-
- Set ohne Argumente gibt Liste aller aktuellen Variablen und deren
- Inhalt aus.
- Set mit einem Argument zeigt den Inhalt der angegebenen Variable.
- Wird ein Name und eine Zeichenkette angegeben, so wird die
- Zeichenkette in der spezifizierten Variablen gespeichert.
-
- Siehe auch Abschnitt fⁿr spezielle _variablen.
-
- SETENV
- Gebrauch : setenv UmgVar Wert
-
- Setzt eine ENV: (Environment, Umgebung) Variable auf angebenen Wert.
- Der Wert muss in Anfⁿhrungszeichen gesetzt werden, enthΣlt er
- Leerzeichen.
-
- SLEEP
- Gebrauch : sleep Zeitwert
- Beispiel : sleep 10
-
- Fⁿr 'Zeitwert' - Sekunden warten, oder aber solange bis ^C gedrⁿckt
- wird.
-
- SPLIT
- Gebrauch : split QuellVar ZielVar1 ... ZielVarN
-
- Weist ein Wort in QuellVar jedem ZielVar zu, den Rest von QuellVar
- an das letzte Zielvar.
- Achtung, Variablen-NAMEN angeben, nicht Variablen.
-
- STACK
- Gebrauch : stack [Wert]
- Beispiel : stack 8000
-
- ─ndert den Standard Stack fⁿr den benutzten CLI. Ohne Parameter
- wird die aktuelle Stackgr÷sse ausgegeben.
- Jedes Programm benutzt eine gewisse Menge des Stacks. Ein Stack
- ist ein Speicherraum, in dem z.B. Variablen gespeichert werden k÷nnen.
- Der n÷tige Verbrauch ist der jeweiligen Applikationsbeschreibung
- zu entnehmen.
- Ein normaler Stack bewegt sich zwischen 4000 und 25000 Bytes.
- Die Shell selber braucht ca. 8000 Bytes Stack fⁿr Variablen,
- diverse Speicheroperationen und PIPES.
-
- STRHEAD
- Gebrauch : strhead VarName MarkierZeichenkette
- Beispiel : strhead x . blafasel.bas # Setzt x auf "blafasel"
-
- L÷scht alles ab dem MarkierZeichen in der 'Zeichenkette' und
- weist das Ergebnis der Variablen 'VarName' zu.
-
- STRINGS
- Gebrauch : strings Datei1..DateiN MinLΣnge
- Beispiel : strings c:dir c:list shell 7
-
- Gibt alle Zeichenketten die in den angegebenen Dateien (normalerweise
- binΣr) vorkommen aus, die mindestens die LΣnge MinLΣnge haben.
-
- STRLEFT
- Gebrauch : strleft VarName Zeichenkette n
- Beispiel : strleft x LangZeichenkette 5 # Setzt x auf "LangZ"
-
- Weist die linken n Zeichen einer Zeichenkette der Variablen
- VarName zu.
-
- STRLEN
- Gebrauch : strlen VarName Zeichenkette
- Beispiel : strlen x Hallo # setzt x auf "5"
-
- Weist die LΣnge einer Zeichenkette einer Variablen VarName zu.
-
- STRMID
- Gebrauch : strmid VarName Zeichenkette n1 [n2]
- Beispiel : strmid x LangZeichenkette 5 3 # setzt x auf "Zei"
-
- Nimmt n2 Zeichen der Zeichenkette, ab der Stelle n1, und weist sie
- der Variablen VarName zu. Wird n2 weggelassen, wird die ganze
- Zeichenkette ab n1 zugewiesen.
-
- STRRIGHT
- Gebrauch : strright VarName Zeichenkette n
- Beispiel : strright x LangZeichenkette 12 # setzt x auf "kette"
-
- Weist die rechten n Zeichen einer Zeichenkette einer Variablen zu.
-
- STRTAIL
- Gebrauch : strtail VarName MarkierZeichen Zeichenkette
- Beispiel : strtail x . blafasel.bas # setzt x auf "bas"
-
- L÷scht alles vor und inklusive des MarkierZeichen in der
- Zeichenkette und weist das Ergenis der Varibalen VarName zu.
-
- SOURCE
- Gebrauch : source Datei [Argumente]
- Beispiel : source mymake.sh all
- Ergebnis : Die Stapeldatei 'mymake.sh' wird mit der gesetzten Variable
- _passed = 'all' aufgerufen.
-
- Fⁿhrt Kommandos aus einer Stapeldatei aus. So k÷nnen Kommandos in einer
- Datei zusammengefasst werden, und diese dann mit dem Kommando 'source'
- ausgefⁿhrt werden. Ge-Source'te Dateien haben den zusΣtzlichen
- Vorteil, das diese Schleifen (siehe GOTO und LABEL) benutzen k÷nnen.
- An die SOURCE Dateien k÷nnen Argumente ⁿbergeben werden, indem nach
- dem Dateinamen diese spezifiziert werden. Argumente werden ⁿber die
- _passed Variable weitergegeben (als einzelne Zeichenkette, Menge von
- W÷rtern).
-
- Lange Zeilen k÷nnen mit einem Backslash (\) am Ende der Zeile in
- mehrere Zeilen aufgeteilt werden. Eine einzelne Zeile muss kⁿrzer
- sein als 512 Zeichen, aber die geteilten Zeilen k÷nnen insgesamt
- lΣnger sein. Es gibt kein Limit fⁿr die LΣnge der zusammengesetzten
- Zeile.
-
- Automatisches 'sourcen' wird ausgefⁿhrt durch ein AnhΣngen eines
- .sh Suffix an die Stapeldatei (nicht notwendig das s-Bit zu setzen),
- und normales Aufrufen, so wie es mit einem echten Programm
- geschehen wⁿrde:
-
- --------- Datei hallo.sh ---------
- foreach i ( $_passed ) "echo "Hi $i"
- ---------------------------------
-
- $ hallo Emil Anton Bert
- hallo Emil
- hallo Anton
- hallo Bert
-
- Ist das letzte Zeichen einer Zeile in einer Stapeldatei ein '{',
- dann werden alle folgenden Zeilen an die aktuelle Zeile angehΣngt
- und durch Semikola gtrennt, solange bis das letzte Zeichen einer
- Zeile ein '}' ist. Solche Bl÷cke k÷nnen verschachtelt sein.
-
- --------- Datei lang.sh ---------
- alias komplex {
- echo -n "dieses alias "
- echo "funktioniert!"
- }
- ---------------------------------
-
- $ lang
- $ komplex
- dieses alias funktioniert!
-
- TACKON
- Gebrauch : tackon VarName Pfadname Dateiname
- Beispiel : tackon x df0:c Dir # setzt x auf "df0:c/Dir"
- oder : tackon x df0: Preferences # setzt x auf "df0:Preferences"
-
- HΣngt korrekte Dateinamen an einen Pfadnamen und weist das Ergebnis
- der spezifizierten Variablen zu.
-
- TAIL
- Gebrauch : tail Dateiname [Anzahl]
- Beispiel : tail readme 20
-
- Zeigt die letzten "Anzahl" Zeilen der Datei "Dateiname" an. Wird
- Anzahl nicht angegeben, so wird 10 angenommen.
-
- TEE
- Gebrauch : tee [Datei]
- Beispiel : cc test.c | tee >error.list
- # Compiliert test.c und kopiert Fehlermeldungen
- # automatisch nach error.list
-
- Kopiert die Standardeingabe (stdin) auf die Standardausgabe
- (stdout) und die angegebene Datei. Wird die Datei nicht angegeben,
- so wird die Standardfehlerausgabe (stderr) benutzt.
-
- TOUCH
- Gebrauch : touch Datei1 [.. DateiN]
-
- Setzt den Datumsstempel der Datei auf aktuelle Zeit und Datum und
- l÷scht das Archive-Bit.
-
- TRUNCATE
- Gebrauch : truncate [n]
- Beispiel : alias | sort | truncate
-
- Ein Filter welches die Breite der Standardeingabe (stdin) auf die
- angegebene Breite festlegt, versucht ebenso tab und Escape-sequenzen
- durchzulassen. Wird die Breite nicht angegeben, so wird die aktuelle
- Fensterbreite benutzt.
-
- TYPE
- Synonym zu CAT.
-
- UNALIAS
- Gebrauch : unalias Name1 [.. NameN]
- Beispiel : unalias vt
-
- L÷scht Aliase.
-
- UNIQ
- Gebrauch : uniq
-
- Dieses Filter l÷scht alle fortlaufenden, mehrfach vorkommende Zeilen
- in einer Datei, bzw der Standardeingabe. Ist besonders sinnvoll
- fⁿr sortierte Dateien.
-
- UNLOCAL
- Gebrauch : unlocal Var1 [... VarN]
-
- L÷scht eine oder mehrere lokale Variablen.
-
- UNSET
- Gebrauch : unset Name1 [.. NameN]
- Beispiel : unset abc
-
- Setzt Variablen zurⁿck. L÷scht sie komplett.
-
- USAGE
- Gebrauch : usage [Kommando1 [.. KommandoN] ]
-
- Wenn ohne Argumente aufgerufen, wird eine kurze Information ⁿber
- spezielle, benutzte Kommando ausgegeben. Ansonsten wird die
- Gebrauchsanleitung der befragten Kommandos ausgegeben. Wird ein
- Kommando mit '?' als Parameter aufgerufen, so wird die
- Gebrauchsanleitung ebenfalls ausgegeben.
-
- VERSION
- Gebrauch : version
-
- Zeigt aktuelle Version der Shell, und die Autoren werden gelistet.
-
- WAITFORPORT
- Gebrauch : waitforport Portname [Sekunden]
-
- Wartet auf Eingabe des Port 'Portname'. Wartezeit ist standarmΣssig
- auf 10 Sekunden begrenzt.
-
- WHEREIS
- Gebrauch : whereis [-r] Dateiname [GerΣt1 .. GerΣtN]
- Beispiel : whereis -r List df0: dh0:
-
- Wird nur der Dateiname angegeben, so durchsucht Whereis alle
- Ordner im aktuellen Ordner nach diesem Datei. Ein Asterisk '*' wird
- an den Dateinamen angehΣngt. Suchmuster sind erlaubt (dann wird
- kein Asterisk mehr angehΣngt) fⁿr Dateinamen, nicht fⁿr
- Pfadnamen. Werden zusΣtzliche Argumente ⁿbergeben, sucht Whereis
- nur in diesen Pfaden, nicht im aktuellen Ordner.
- Whereis -r durchsucht alle vorhandenen GerΣte.
-
- WINDOW
- Gebrauch : window [-q][-f][-b][-l][-s] [Dimensionen]
- Optionen :
- -f (front, vorne) Window nach vorne holen
- -b (back, hinten) Window nach hinten schieben
- -l (large, gross) Window auf Maximum vergr÷ssern
- -s (small, klein) Window auf Minimum verkleinern
- -a (activate, aktiviere) Window aktivieren
- -q (query, abfrage) Zeigt alle ge÷ffneten Windows und Screens
-
- Viele Operationen fⁿr das CLI Window (Fenster). Werden Dimensionen
- angegeben, so mⁿssen sie in der Form x y Breite H÷he spezifiziert
- werden (zwischen den Werten ein Leerzeichen).
- Das Kommando "window -l" kann sinnvoll sein fⁿr PAL Maschinen, um ein
- volles, auf PAL angepasstes Window zu erhalten, aus der login
- Sequenz heraus z.B., oder aber wenn eine Overscan Workbench
- genutzt wird.
- Die Option "-q" zeigt die Window/Screen Dimensionen eines jeden
- ge÷ffneten Window und Screens an.
-
- WRITEFILE
- Gebrauch : writefile VarName
-
- Schreibt ein Menge von W÷rtern auf die Standardausgabe, ein
- Wort pro Zeile. Achtung, der Name der Variablen (VarName)
- soll ⁿbergeben werden, nicht der Inhalt ($VarName).
-
-
- IX. SPEZIAL VARIABLEN
- -------------------------
-
- _abbrev
- Auf 'n' gesetzt, k÷nnen interne Befehle nicht mehr abgekⁿrzt werden.
-
- _bground
- Ist wahr, wenn die Shell mit einer nicht-interaktiven Eingabe
- gestartet wurde.
-
- _clinumber
- EnthΣlt die aktuelle CLI Prozessnummer (1-20).
-
- _cwd
- EnthΣlt die Zeichenkette, welche den aktuellen Ordner angibt, von
- der Wurzel (:) ausgehend. Die SHELL kann mit ihrem aktuellen Ordner
- durcheinanderkommen, wird durch ein externes Programm der Ordner
- verΣndert. Dazu PWD benutzen, um die _cwd Variable in solchen FΣllen
- neu zu setzen.
-
- _debug
- Debug Modus. Muss auf einen Wert gesetzt sein.
-
- _every
- EnthΣlt den Namen eines Befehls, der ausgefⁿhrt wird, bevor
- das Prompt ausgegeben wird. Bitte nicht benutzen um das Prompt
- selber auszugeben.
-
- _except
- Siehe EXCEPTION.
-
- _hilite
- EnthΣlt die Zeichensatzattribute die benutzt werden, um Schrift
- hervorzuheben. Ein Zeichen fⁿr ein Attribut:
- b fⁿr Bold
- i fⁿr Italic
- u fⁿr Unterstrich
- r fⁿr Negativ
- c3 fⁿr Vordergrundfarbe 3
- c3,2 fⁿr Vordergrundfarbe 3 und Hintergrundfarbe 2
- Jede Kombination erlaubt. Die _hilite Standardvorgaben sind "c7",
- im Terminalmodus "r".
-
- _history
- Diese Variable enthΣlt einen numerischen Wert, und gibt an wie weit
- im Kommandospeicher zurⁿckgesehen werden soll. Auf 0 zu setzen, soll
- der Kommandospeicher abgeschaltet werden, um z.B. festzustellen
- ob Ihr Programm Speicher nicht freigibt. Ist standardmΣssig auf 50
- gesetzt.
-
- _insert
- Setzt den Standardwert fⁿr den Einfⁿge/▄berschreib Modus fⁿr
- den Kommandozeileneditor. ESI-i schaltet zwischen beiden Modi, aber
- nach einem <RETURN> wird wieder auf einen hier angegebenen Standard-
- wert zurⁿckgesetzt. StandardmΣssig ist _insert auf 1 gesetzt,
- wird _insert gel÷scht, so wird der ▄berschreibmodus Standardwert.
-
- _ioerr
- EnthΣlt den zweiten Fehler Kode des letzten Befehls. Wird nach jedem
- externen Kommando geΣndert, ebenso nach einem fehlerhaft ausgefⁿhrten
- internen Kommando. Siehe auch @ioerr().
-
- _kick2x
- Ist wahr, wenn dos.library V36 ge÷ffnet werden konnte, was bedeutet,
- das Kickstart release 2 existiert.
-
- _lasterr
- Rⁿckgabewert des zuletzt ausgefⁿhrten Befehls. Dies beinhΣlt
- interne Befehle und externe Befehle, um also diese Variable zu nutzen,
- muss sie DIREKT nach Aufruf des zu befragenden Befehls
- abgefragt werden.
-
- _lcd
- EnthΣlt den Namen des zuletzt benutzten Ordners. Das eingebaute Alias
- 'dswap' wechselt in diesen Ordner. Erneut aufgerufen ist wieder
- der Ordner aktuell, der am Anfang aktiv war.
-
- _man
- EnthΣlt den Pfad und den Namen ihrer .doc Dateien. Standardwert
- ist 'Csh:Csh.doc'.
-
- _maxerr
- EnthΣlt den bislang schlechtesten (h÷chsten) Rⁿckgabewert. Um dies
- nutzen zu k÷nnen, den Wert normalerweise auf '0' setzen, dann
- ein paar Befehle ausfⁿhren, und erneut hier nachsehen.
-
- _minrows
- EnthΣlt die minimale Anzahl Zeilen, die ein Window haben muss,
- damit das 'quick scrolling' eingeschaltet wird.
-
- _nobreak
- Schaltet CTRL-C ab wenn auf '1' gesetzt.
-
- _passed
- Diese Variable enthΣlt die Argumente, die einem BatchDatei ⁿberge-
- ben werden, wenn es mit 'source' gestartet wird. Beispiel:
-
- test a b c d
-
- -------- Datei test.sh ----------
- echo $_passed
- foreach i ( $_passed ) "echo YO $i"
- --------------------------------
-
- _path
- Gibt die Ordner an, in denen Csh nach ausfⁿhrbaren Programmen
- suchen soll. Der aktuelle Ordner und der AmigaDOS Pfad werden
- zuerst durchsucht. Dieser Pfad wird zuerst nach dem Kommando,
- dann nach Kommando.sh (Stapeldatei) durchsucht.
-
- Beispiel: set _path ram:c,ram:,sys:system,dh1:tools,df0:c
-
- _prompt
- Diese Variable enthΣlt die Zeichen, die als Eingabeaufforderung
- ausgegeben werden. Diese kann folgende Kontrollzeichen enthalten:
- %c (color, Farbe) macht das Prompt farbig. Siehe _hilite
- %m (memory, Sepicher) gibt freien Speicher in Kb an
- %d (date, Datum) aktuelles Datum
- %t (time, Zeit) aktuelle Zeit
- %p (path, Pfad) aktueller Pfad
- %n (number, Nummer) eigene CLI-Nummer
- %v (version, Version) benutzte Csh-Version
- %h (history, K-Speicher) momentane Kommandospeicher-Nummer
- %f (free, Frei) freier Platz auf dem aktuellen Drive
- %r (pRiority, PrioritΣt) eigene Task-PrioritΣt
- %s (shells, Shell) Anzahl der offenen Csh's
- Voreingestellt ist "%c%p> "
- Wenn vergessen wurde, ein 'if' Kommando mit 'endif' abzuschliessen,
- wird das Prompt zu '_ '
-
- _pipe
- Der Ordner fⁿr TemporΣrdateien. Voreingestellt: 'T:'
-
- _qcd
- EnthΣlt den Namen der Datei, die alle Ordner aller vorhandenen
- GerΣte enthΣlt. Falls nicht gesetzt, wird das 'quick-cd'
- abgeschaltet.
-
- _rback
- Der Name des Kommandos, das vor die Kommandozeile gehΣngt wird,
- falls der User ein '&' angehΣngt hat. Normalerweise 'rback'.
-
- _rxpath
- Wie _path, aber hier sucht Csh nach .rexx Dateien. Normalerweise
- 'REXX:'
-
- _scroll
- Anzahl der Zeilen, die das Window auf einmal scrollen soll, falls
- $_minrows ⁿberschritten ist.
-
- _terminal
- Sagt aus, ob die Csh im Terminal-Modus lΣuft
-
- _titlebar
- Erscheint in der Titelzeile des Windows. Die gleichen Kontroll-
- zeichen wie fⁿr _prompt k÷nnen verwendet werden.
-
- _version
- EnthΣlt die aktuelle Versionsnummer von Csh, z.B. 517
-
- X. FUNKTIONEN
- ---------------
-
- FUNKTIONEN
- Funktionen mⁿssen mit einem @-Zeichen anfangen und k÷nnen nicht
- abgekⁿrzt werden. Vor ihnen muss ein Leerzeichen stehen, genauso
- hinter der ÷ffnenden und vor der schliessenden Klammer.
-
- Funktionen dⁿrden verschachtelt werden. Gross/Kleinschreibung ist
- wichtig bei Funktionsnamen, jedoch nicht bei den Operationen.
-
- Funktionen k÷nnen als Kommandos verwendet werden. In diesem Fall
- werden sie ohne @ geschrieben. Ihren Rⁿckgabewert geben sie dann
- auf den Bildschirm aus. Diese k÷nnen nicht abgekⁿrzt werden, und
- ein Kommando gleichen Namens hat Vorrang.
- drives -> DF0: DH1: DH2: RAM: WB_2.x:
-
- Bis jetzt k÷nnen Funktionen nicht selber definiert werden.
-
- Achtung, Wortmengen und Zeichenketten sind nicht identisch.
- Nach
- set var hallo da
- ist 'var' eine Menge von Worten, aber nach
- set var "hallo da"
- ist 'var' eine einzige Zeichenkette (ein einziges Wort). Wenn die
- Variablen mit 'echo' ausgegeben werden, schauen sie gleich aus, aber
- z.B. in 'foreach' verhalten sie sich verschieden. @split und
- @concat wandeln die beiden Formen.
-
- @abbrev( Zei1 Zei2 [len] )
- wahr wenn die ersten <len> Zeichen von Zei1 eine Abkⁿrzung von
- Zei2 sind. (Abkⁿrzung von Kommandos, Funktionen)
- @abs( Num )
- gibt den Absolutwert von <Num> zurⁿck
- @age( Datei )
- das Alter der Datei in Tagen, 99999 falls nicht gefunden
- @appsuff( Name suffix )
- hΣngt, wenn n÷tig, die Endung <suffix> an den Namen an
- @arg( arg ... arg )
- wie @pickargs( )
- @availmem( [Typ] )
- liefert den freien 'chip', 'fast' oder Gesamtspeicher.
- @basename( Pfad ... Pfad )
- Gibt die reinen Dateinamen ohne Pfade zurⁿck.
- @center( Wort LΣnge )
- gibt eine Zeichenkette der LΣnge <LΣnge> mit <Wort> darin zentriert
- @checkport( Portname )
- sagt aus ob ein bestimmt Port existiert
- @clinum( ProcName )
- gibt die CLI-Nummer des Prozesses <ProcName> zurⁿck.
- @complete( Abkⁿrzung Wort ... Wort )
- gibt das erste Wort zurⁿck, von dem <Abkⁿrzung> eine Abk. ist
- @concat( Wort1 ... WortN )
- hΣngt alle Worte zu einer Zeichenkette zusammen, getrennt durch
- Leerzeichen. Siehe @split
- @confirm( Titel Punkt1 .. PunktN)
- fragt nach BestΣtigung fⁿr jedes Wort <Punkt>, und gibt nur
- die BestΣtigten zurⁿck.
- @console( STDIN | STDOUT )
- sagt ob Standard-Eingabe (stdin) oder die Standard-Ausgabe
- (stdout) interaktiv (nicht umgeleitet) ist.
- @dectohex( Zahl )
- wandelt eine Zahl von Dezimal nach Hex (sedesimal)
- @delword( Wort1 ... WortN-1 WortN )
- gibt alle Worte ausser dem N-ten zurⁿck
- @delwords( Wort1 ... WortN i j )
- l÷scht j Worte vom i-ten an
- @dirs( Name1 .. NameN )
- gibt nur die Ordner unter den Namen zurⁿck
- @drive( Pfad )
- gibt den GerΣte-Namen zurⁿck, der zu 'Pfad' geh÷rt
- @drives( )
- gibt alle Partitionen und Diskdrives zurⁿck
- @exists( Datei )
- sagt aus ob eine Datei existiert
- @fileblks( Datei1 ... DateiN )
- sagt aus wieviele Bl÷cke fⁿr diese Dateien ben÷tigt werden.
- @filelen( Datei1 ... DateiN )
- sagt aus wieviele Bytes fⁿr diese Dateien ben÷tigt werden.
- @fileprot( Datei )
- gibt eine Zeichenkette der Sicherheits-Bits der Datei zurⁿck.
- @filereq( Titel Pfad&Muster Dateiname )
- ÷ffnet einen ARP Dateirequester und gibt den gewΣhlten Namen zurⁿck
- @files( Datei1 ... DateiN )
- gibt nur die Dateien zurⁿck, keine Ordner. Siehe @dirs
- @freebytes( Pfad )
- die Anzahl der freien Bytes auf dem ensprechenden Pfad
- @freeblks( Pfad )
- die Anzahl der freien Bl÷cke auf dem ensprechenden Pfad
- @freestore( Pfad )
- der freie Speicher auf dem Pfad, gegeben in Kb und Mb
- @getenv( VarName )
- gibt den Wert der ensprechenden ENV: Variablen zurⁿck
- @getclass( Datei )
- gibt die Klasse (Typ) der Datei zurⁿck. Siehe Kapitel XIV
- @howmany( )
- zeigt die Zahl der laufenden CShells.
- @index( Zeichenkette Muster )
- sucht <Muster> in <Zeichenkette> und gibt Offset zurⁿck,
- 0=nicht gefunden
- @info( Pfad )
- gibt die entsprechende Zeile aus 'info' zurⁿck
- @intersect( Wort1 ... WortN , WortN+1 ... WortM )
- zeigt jene Worte, die in beiden Listen sind. Siehe @union, @member
- @ioerr( num )
- Gibt die Fehler-Zeichenkette aus, der zur Fehlernummer <num> geh÷rt
- @lookfor( Datei Pfad)
- sucht nach einer Datei im akt. Ordner und in <Pfad>. Siehe $_path
- @lower( Arg1 ... ArgN )
- macht seine Argumente kleingeschrieben. Siehe @upper
- @match( Wort1 ... WortN "Muster" )
- gibt jene Worte zurⁿck, auf die das Suchmuster passt.
- @max( Wert1 ... WertN )
- bestimmt das Maximum der angegebenen Zahlen
- @megs( Wert )
- gibt eine Zahl in Kb, Mb oder Gb zurⁿck (gerundet)
- @member( Wort Wort1 ...WortN )
- sagt aus ob <Wort> unter den anderen ist. Siehe @union, @intersect
- @min( Wert1 ... WertN )
- bestimmt das Minimum der gegebenen Zahlen
- @mounted( GerΣt )
- sagt aus ob <GerΣt> (z.B. RAD:) vorhanden
- @nameext( Dateiname )
- gibt die Extension (Suffix) des Dateinamens an
- @nameroot( Dateiname )
- gibt alles ausser der Extension des Dateinamens
- @opt( Arg1 ... ArgN )
- siehe @pickopts( )
- @pathname( Datei )
- gibt den Pfad zu einer Datei zurⁿck.
- @pickargs( Arg1 ... ArgN )
- wΣhlt aus seinen Argumenten die, welche nicht mit '-' beginnen
- @pickopts( Arg1 ... ArgN )
- wΣhlt aus seinen Argumenten die, welche mit mit '-' beginnen
- @rpn( Ausdruck )
- berechnet den rpn Ausdruck. Siehe Kommando 'rpn'
- @sortargs( Arg1 ... AgrN )
- sortiert seine Argumente alphabetisch
- @sortnum( Wert1 ... WertN )
- sortiert seine Argumente numerisch
- @split( Zeichenkette )
- macht aus einer Zeichenkette mehrere Worte. Siehe @concat
- @strcmp( Zeichenkette1 Zeichenkette2 )
- gibt -1, 0 oder 1 abhΣngig vom alphabetischen Vergleich
- @strhead( Markierungszeichen Zeichenkette )
- siehe strhead Kommando
- @strleft( Zeichenkette Wert )
- siehe strleft Kommando
- @strmid( Zeichenkette Wert1 Wert2 )
- siehe strmid Kommando
- @strright( Zeichenkette Wert )
- siehe strright Kommando
- @strtail( Markierungszeichen Zeichenkette )
- siehe strtail Kommando
- @subwords( Wort1 ... WortN i j )
- gibt die nΣchten j Worte von i an zurⁿck
- @tackon( Pfad Datei )
- siehe tackon Kommando
- @trim( Wort1 ... WortN )
- entfernt Leerzeichen vorn und hinten an den Worten
- @unique( Wort1 ... WortN )
- sortiert die Argumente und macht jedes einmalig
- @union( Name1 ... NameN , NameN+1 ... NameM )
- gibt die Worte zurⁿck, ein in einer der beiden Listen sind
- @upper( Wort1 ... WortN )
- macht aus den Worten Grossschrift. Siehe @lower
- @volume( Pfad )
- gibt den GerΣte-Namen fⁿr den gegebenen Pfad an
- @winheight( )
- gibt die H÷he des Windows in Punkten an
- @winleft( )
- gibt die linke Ecke des Windows zurⁿck
- @wintop( )
- gibt die obere Ecke des Windows zurⁿck
- @winwidth( )
- gibt die Breite des Windows zurⁿck
- @without( Name1 ... NameN , NameN+1 ... NameM )
- gibt die Worte aus Liste 1 zurⁿck, die nicht in Liste 2 sind
- @word( Name1 ... NameN i )
- nimmt das i-te Wort aus der Liste
- @words( Name1 ... NameN )
- gibt die Anzahl der Worte in der Liste
-
-
- XI. VERSCHIEDENES
- -----------------
- Csh erlaubt nun schnelles 'Scrolling' in grossen Windows. Dies
- heisst dass wenn immer der Cursor die unterste Zeile des Windows
- erreicht, der Text um mehrere Zeilen auf einmal nach oben
- springt. Allerdings funktioniert das nur mit den folgenden
- Kommandos:
- dir, cat, htype, files, search, truncate, tee
- Die Anzahl der zu scrollenden Zeilen steht in _scroll. Ein
- Wert <=1 schaltet das schnelle Scrolling' ab.
- Die Anzahl der Zeilen, die ein Window mindestens haben muss, damit
- sich das schnelle Scrolling einschaltet, steht in $_minrows
- (normalerweise 34).
- Beliebige Kommandos nach 'cat' umgeleitet, befΣhigen auch diese
- zum Schnellen Scroll, z.B.:
- list | cat
-
- Csh kann beendet werden durch den Close-Button in den Windows
- von AmigaDOS 2.0 Shells. Es wird dann das Kommando 'quit' aus-
- gefⁿhrt. Durch das Kommando
- alias quit "Endcli;quit
- wird das Window sofort geschlossen wenn der Close-Button ange-
- klickt wird.
-
-
- EXCEPTIONS
- (Fehlerbehandlung)
- Falls ein Fehler passiert und keine Variable _except existiert, wird
- die aktuelle Zeile abgebrochen. Falls _except exisitiert, hat es
- die Form:
- "nnn;commands..."
- Wobei <nnn> der kleinste Wert ist, der einen Fehler verursachen soll.
- Wann immer ein Kommando einen Return-kode zurⁿckgibt, der gr÷sser
- oder gleich <nnn> ist, werden die Kommandos in _except ausgefⁿhrt.
- WENN _except EXISTIERT WIRD DIE KOMMANDOZEILE NICHT ABGEBROCHEN!
- Wenn abgebrochen werden soll, sollte das letzte Kommando in _except
- 'abortline' sein.
-
- Exception handling ist wΣhrend des exception handlings selber
- ausgeschaltet.
-
- Beispiele:
-
- set _except "20;abortline"
- set _except ";" # alle Fehler werden ignoriert
-
- XII. Beispiele fⁿr 'SOURCE Dateien'
- -----------------------------------
-
- Wird in einem CLI-Fenster das Kommando 'Csh <Dateiname>'
- eingegeben oder dies im Startup-Script stehen hat, so wird die Datei
- 'gesourced'.Dies entspricht in einem CLI-Fenster der Eingabe von
- 'Csh' und dem Eingeben von 'source <Dateiname>' innerhalb der Shell.
-
- Beispiel:
-
- ### compat.sh ###
-
- # Diese Alias-Liste stellt sicher, da▀ aus alten Csh-Versionen
- # gewohnte Abkⁿrzungen nicht neue Befehle aufrufen.
-
- alias as aset
- alias cl close
- alias g goto
- alias h help
- alias he help
- alias m md
- alias q quit
- alias re rename
- alias w window
-
- alias kr "rm -r ram:* >NIL:
-
- ### Ende von compat.sh ###
-
-
- Wenn eine Datei S:.login existiert, so wird diese beim Start jeder Shell
- 'gesourced'. Dies ist nⁿtzlich fⁿr alias-Kommandos und sonstige
- Einstellungen, die fⁿr alle Shells gelten sollen.
-
-
- ### Beispiel S:.login ###
-
- # Hier ein Beispiel fⁿr eine .login-Datei:
- # (Diese Datei wird fⁿr jede neue Shell 'gesourced'.)
-
- set F5 "cdir WORK:"^M
- set f9 "ed s:login.sh"^M
- set F9 "ed df0:s/startup-sequence"^M
-
- alias toram "%q foreach i ( $q ) \"cp -r $i: ram:$i >NIL:;assign $i: ram:$i
- alias ramop "md RAM:op; assign OP: ram:op
- alias noop "assign OP: ; rm -r ram:op
- alias newop "rm -r OP:*
- alias dc "dfc df0: to df1:
- alias go "%q assign WORK: Boot:$q; cd WORK:; source startme.sh
- alias get "%q cp $q RAM: >NIL:
- alias filter "%a%b%c exec $b \\<$a \\>$c
- # Startet Kommando $b mit Datei $a als Eingabe und schreibt Resultat in
- # Datei $c, Datenflu▀: $a -> ($b) -> $c
-
- alias rm "%q \\rm @confirm( Remove $q )
-
- # alias rm "%a set f @pickargs( $a );set opts @pickargs( $a );\
- # e -n \'j\' um @words( @files( $f ) ) Datei und @words( @dirs( $f ) )\
- # Ordner zu l÷schen\"? [n] \";input b;if $b = j;\\rm $opts $f;endif
- # # Fⁿr die ─ngstlichen/Vorsichtigen unter uns: Dateien l÷schen mit Abfrage
- # # Achtung: das '\' mu▀ das letzte Zeichen der Zeile sein !!
-
- set _prompt "%c%p> "
- # Dieses Kommando fⁿgt den aktuellen Pfad hervorgehoben in den Prompt ein
-
- # Dieses Kommando sorgt fⁿr die Anzeige von CLI-Nummer, freiem Speicherplatz,
- # Datum und Zeit im Fenster-Titel
- set _titlebar "Shell %n Mem %m Date %d Time %t
-
- ### Ende Beispiel .login ###
-
- ****************************************************************************
-
- Als CLI-Benutzer k÷nnte die 'startup-sequence' einfach folgenderma▀en
- aussehen:
-
- C:Csh S:startup.sh
-
- Hier ein Beispiel fⁿr S:startup.sh:
-
- ### Beispiel S:startup.sh ###
-
- wind -l # Volle Bildschirmgr÷▀e eines PAL-Rechners nutzen
- # Bemerkung: Kommandos k÷nnen abgekⁿrzt werden
- # Hier: 'wind' fⁿr 'window'
-
- assign LC: Stuff:c INCLUDE: Stuff:include LIB: Boot:lib QUAD: RAM:
-
- rback C:FaccII; sleep 1
- # Nach dem Starten eines Prozesses im Hintergrund ist es gut,
- # dem Rechner Zeit fⁿr das Laden des Kommandos zu geben, um
- # Nerven und Laufwerk zu schonen.
-
- resident -d blink lc1 lc2 >NIL: # verz÷gertes Laden von externen Kommandos
-
- C:PopCli 300 C:Newcli # Angabe des vollstΣndigen Pfadnamens
- C:FF -1 Siesta.font >NIL: # beschleunigt die Ausfⁿhrung
- C:Patch_1 >NIL:
- stack 8000 # Minimum fⁿr lc1 und lc1
-
- source S:setdate.sh # dort geht's weiter
-
- ### Ende Beispiel startup.sh ###
-
- ****************************************************************************
-
- Nun folgt eine Beispiel 'source'-Datei, um das Datum und die Zeit zu setzen.
- Kann verwendet werden, wenn der Rechner keine interne Uhr besitzt.
- (z.B. A1000, A500)
-
- ### setdate.sh ###
-
- open CON:200/100/440/80/SetDate write 1
- echo >.1 -n "Das aktuelle Datum ist "
- date >.1
- echo >.1 -n "Bitte neues Datum eingeben: "
- input <.1 d
- close 1
- strlen len $d
- if $len > 1 ; date $d ; endif
- echo -n "Das neue Datum ist: " ; date
-
- ### End of setdate.sh ###
-
- ***************************************************************************
-
- Hier ein 'Makefile', das ohne 'Make'-Programm auskommt:
-
- Es kann direkt von der Shell gestartet werden.
-
- (Anm. d. ▄.: 'MakeDatei's beinhalten Informationen darⁿber, welche
- Datei(en) <A> von welchen anderen Datei(en) <B> abhΣngen,
- und wie die Datei <A> aus der Datei <B> neu erzeugt werden
- kann, wenn diese ein neueres Datum aufweist.)
- (Anm. d. ▄.: Wollte ich schon immer mal schreiben :-)
-
- ### make.sh ###
-
- if -t Shell.syms Shell.h; cc +HShell.syms Shell.h; rm shell.o; endif
- if -t RAM:Shell.syms Shell.syms; cp -d Shell.syms RAM:; endif
-
- foreach i ( main comm1 comm2 comm3 execom globals rawconsole run set \
- sub ) "if -t $i.o $i.c; echo Compile $i...;cc +IRAM:shell.syms $i.c; endif"
-
- # Die Fortsetzung einer Zeile in der nΣchsten Zeile (mit '\') wurde aus
- # Grⁿnden der ▄bersichtlichkeit angewendet.
- # Dies ist jedoch nicht notwendig; kann auch alles in eine Zeile
- # geschreiben werden, da kein Limit von 256 Zeichen pro Zeile mehr besteht.
-
- if -t Shell run.o main.o comm1.o comm2.o comm3.o execom.o \
- set.o sub.o globals.o rawconsole.o
- ln +q -m -o Shell run.o main.o comm1.o comm2.o comm3.o\
- execom.o set.o sub.o globals.o rawconsole.o -la -lc
- endif
-
- ### Ende von make.sh ###
-
-
- XIII. Vorgabe Werte
- --------------------
-
- Einige Aliase sind vordefiniert wenn eine neue Shell gestartet wird,
- dies sind:
-
- CDIR
- Ein cdir <Ordner> bewirkt: L÷schen des CLI-Fensters,Wechsel zum
- angegebenen Ordner und Auflistung des Inhalts.
-
- CLS
- CLI-Fenster l÷schen. (Auch im Terminal-Modus)
-
- DSWAP
- Wechsel zwischen aktuellem und vorherigen Ordner.
- Sollte in Skripten verwendet werden, da das Sonderzeichen fⁿr
- das vorherige Ordner sich m÷glicherweise Σndern wird.
-
- EXIT
- Csh verlassen und CLI beenden.
-
- MANLIST
- Ausgabe einer Liste aller m÷glichen Argumente (also Kommandos)
- fⁿr 'man'.
-
- Desweiteren sind einige Variablen und Funktionstasten vordefiniert.
- Mit dem 'set' Kommando k÷nnen diese angesehen werden.
-
-
- XIV. Objektorientierte Eigenschaften
- -------------------------------------
-
- Dateiklassen haben zwei nⁿtzliche Eigenschaften:
-
- 1. Die Identifizierung des Dateityps (Bild, Archiv, Animation, usw.)
-
- 2. Das ▄berladen ('overloading') von Kommandos.
- 'overloading' bedeutet den Gebrauch desselben Kommandos auf
- Dateien verschiedenen Typs, wobei die jeweils ausgefⁿhrten
- Aktionen von Typ zu Typ vollkommen unterschiedlich sein k÷nnen.
- Der Sinn sollte durch die folgenden Beispiele klar werden.
-
- (Anm. d .▄.: Wem diese Materie auf den ersten Blick zu kompliziert oder
- abstrakt erscheint, der sollte nicht gleich aufgeben, sondern
- mit dem Klassen-Mechanismus ein wenig herumspielen. Er kann
- sehr hilfreich sein.)
-
- DATEIKLASSEN
-
- Klassen von Dateien k÷nnen mit Hilfe mehrerer 'class' Kommandos
- definiert werden, hier ein einfaches Beispiel:
-
- class bild suff=.pic suff=.iff suff=.ilbm
- class anim suff=.anim
-
- Nach Ausfⁿhrung dieser Kommandos kann die Csh jede Datei mit den
- Suffixen .pic, .iff oder .ilbm als ein Bild (bild) identifizieren.
-
- Anmerkung: Es dⁿrfen keine Leerzeichen zwischen den Namen und dem
- '=' stehen, Leerzeichen innerhalb des Namens mⁿssen in
- Anfⁿhrungszeichen stehen.
-
- Dies sind M÷glichkeiten, eine Datei zu identifizieren:
-
- suff=.doc Erfⁿllt, wenn der Suffix der Datei '.doc' lautet
- name=readme Erfⁿllt, wenn der Name der Datei "readme" ist
- name="mod.*" Erfⁿllt, wenn der Name der Datei mit 'mod.' beginnt
- offs=14,DC..C4FD Erfⁿllt, wenn die Bytes beginnend mit Byte $14
- lauten: $DC, <irgendwas>, $C4, $FD
- (alle Zahlen hexadezimal!).
- Jedes Paar von Punkten ('..') steht fⁿr ein zu
- ignorierendes Byte .
- chars Erfⁿllt wenn 90% aller Bytes der Datei im Bereich
- 32..127 oder 9..13 liegen
- default Immer erfⁿllt, wird verwendet, um den Vorgabe-Typ
- zu definieren
-
- Anmerkung: Nur das erste Zeichen wird betrachtet, so steht z. B.
- 's' fⁿr 'suff'.
-
- Eine Klasse kann in mehr als einem 'class' Kommando spezifiziert
- werden. Die Identifizierung erfolgt in der gleichen Reihenfolge,
- in der die 'class' Kommandos eingegeben wurden.
- Um zum Beispiel sicherzustellen, da▀ ein irrtⁿmlich mit dem Suffix
- '.lzh' benanntes 'zoo'-Archiv korrekt identifiziert wird,
- k÷nnen die folgenden 'class' Kommandos verwendet werden:
-
- class zoo offs=14,DCA7C4FD
- class lzh offs=2,2D6C68..2D
- class zoo suff=.zoo
- class lzh suff=.lzh
-
- Es existiert auch eine eingebaute Klasse 'dir', die ein Ordner
- beschreibt.
-
- Zu diesem Zeitpunkt kennen wir verschiedene Typen von Dateien,
- aber was kann damit nun anfangen werden ? Dazu werden Aktionen
- (actions) ben÷tigt, die im folgenden erlΣutert werden sollen.
-
- AKTIONEN UND AKTIONSDEFINITIONEN F▄R KLASSEN
-
- Fⁿr eine Klasse k÷nnen die verschiedenen Aktionen in einem oder auch
- in mehreren 'class' Kommandos definiert werden.
-
- class zoo actions view="zoo -list" extr="zoo -extract"
- class lzh actions view="lz l"
- class lzh actions extr="lz e"
-
- Wenn nun versucht wird, mit der Aktion 'view' eine Datei 'test.zoo'
- anzusehen, so wird letztendlich die Befehlszeile
- 'zoo -list test.zoo' ausgefⁿhrt, Eine Datei 'test.lzh' aber wird
- mit 'lz l test.lzh' bei 'view test.lzh' interpretiert.
-
- Anmerkung: Jedes angegebene Kommando durchlΣuft den normalen
- Csh-Interpreter, d.h. AmigaDOS- and Csh-Pfade werden durchsucht.
- Aliases mit Argumenten sind auch erlaubt, alle vom
- Benutzer eingegebenen Argumente werden in die Variable
- hinter dem '%' gespeichert.
-
-
- Wie kann einer Datei nun mitgeteilt werden, da▀ angesehen ('view')
- werden soll ? Dies geschieht mit einem weiteren Kommando fⁿr objekt-
- orientierte Dateibearbeitung.
-
- Das Kommando
-
- action view test.zoo
-
- wird als erstes versuchen, den Typ der angegebenen Datei zu ermitteln,
- und dann - falls dies erfolgreich war - die 'view' Aktion auf die Datei
- anwenden.
- Diese Befehlsfolge kann durch die Gebrauch eines 'alias' vereinfacht
- werden:
-
- alias v "action view"
-
- definiert ein 'v' Kommando, mit dem alle der Csh bekannten
- Dateitypen angesehen werden k÷nnen.
-
- alias xtr "action extr"
-
- definiert analog ein Kommando 'xtr' mit dem alle der Csh bekannten
- Archivtypen ausgepackt werden k÷nnen.
-
- Es gibt eine Aktion, die an eine Datei geschickt wird, die gestartet
- wurde, aber nicht ausfⁿhrbar ist (s. Kapitel VIII).
- Diese Aktion lautet 'exec'.
- Es sei eine Klasse 'picture' definiert, nach Eingabe von
-
- class picture actions view=Mostra exec=Mostra
-
- kann ein Bild mit Hilfe des Anzeigeprogramms 'Mostra'
- angesehen werden, indem einfach der Namen des Bildes eingegeben
- wird.
- Anmerkung: Die Namen fⁿr die Aktionen sind im allgemeinen frei
- wΣhlbar, dabei bildet (s.o.) die Aktion 'exec' eine
- Ausnahme, weiterhin k÷nnten zukⁿnftig Aktionen wie 'rm'
- und 'dir' implemtiert werden, d.h. fⁿr eigene Aktionen sollten
- keine Namen eingebauter Funktionen verwendet werden.
-
- Die Source-Datei class.sh definiert ein paar nⁿtzliche Klassen.
-
- ▄BERKLASSEN
-
- Angenommen es existiert eine Klasse fⁿr .c Dateien, eine
- fⁿr .h Dateien und eine fⁿr .asm Dateien. Diese wollen unterschieden
- werden aber letzten Endes sind es doch alles ASCII Dateien.
- Das kann wie folgt festgelegt werden:
-
- class c_source suff=.c is=ascii
-
- Wenn jetzt eine Aktion auf einer Datei des Tps c_source nicht
- ausgefⁿhrt werden kann, dann wird die Datei vom Typ ascii
- intepretiert, und dieselbe Aktion wird erneut ausgefⁿhrt. Dies
- geschieht solange, bis eine Klasse keine ▄berklasse mehr besitzt.
-
-
- XV. Keymaps (Tastaturbelegungen)
- --------------------------------
-
- Eine Keymap wird als eine Sammlung von 'Taste-Funktion'-Paaren
- definiert. Beide werden durch eine Nummer identifiziert.
- Es kann mehrere Keymaps geben, die sich gegenseitig aktivieren
- k÷nnen, am Anfang werden wir uns aber auf Keymap 0 beziehen.
- Dies ist die Keymap, die bei Shell-Start aktiv ist.
- Alle vom Benutzer definierten Tasten ⁿberschreiben m÷glicherweise
- alte Definitionen der entsprechenden keymap.
-
- Alle mit (*) markierten Funktionen sind bisher nicht implementiert.
-
- TASTENKODES
-
- 1..255 Das entsprechende ASCII-Zeichen
- 256 Pfeil nach oben
- 257 Pfeil nach unten
- 258 Pfeil nach rechts
- 259 Pfeil nach links
- 260 'Help'-Taste
- 261..270 F1..F10 (ohne Shift)
-
-
- Modifiers , also Shift, Alt, Amiga, Ctrl (zum Tastaturcode addieren)
-
- 512 SHIFT (nur notwendig fⁿr Pfeile und Funktionstasten)
- 1024 ESC (wenn gedrⁿckt und losgelassen vor Taste)
-
- EDITORFUNkTIONEN
-
- - Bewegungen bewege Cursor ...
- 0 CursLeft 1 links
- 1 CursRight 1 rechts
- 2 WordLeft 1 Wort links
- 3 WordRight 1 Wort rechts
- 4 BegOfLine an den Anfang der Zeile
- 5 EndOfLine an das Ende der Zeile
-
- - L÷schen l÷sche ...
- 10 Backspace Zeichen links vom Cursor
- 11 Delete Zeichen rechts vom Cursor
- 12 BkspcWord Wort links vom Cursor
- 13 DelWord Wort rechts vom Cursor
- 14 DeleteToSOL vom Anfang der Zeile bis Cursor
- 15 DeleteToEOL von Cursor bis Ende der Zeils
- 16 DeleteLine ganze Zeile
-
- - aus Kommandospeicher einfⁿgen
- 20 Back Vorherige Zeile holen
- 21 Forward NΣchste Zeile holen
- 22 Beg Erste Zeile aus Kommandospeicher holen
- 23 End Letze Zeile aus Kommandospeicher holen
- 24 Complete Zeile aus dem Kommandospeicher vervollstΣndigen
- (wie '!')
- 25 Exec Kommandospeicher-Zeile ausfⁿhren
- und nΣchste Zeile holen
- 26 Tail Vorherige Zeile holen, dabei erstes Wort weglassen
- 27 Bottom Eine Zeile weiter als letzte Kommandospeicher-Zeile
- nach unten
- 28 DupWord Letztes Wort der aktuellen Zeile verdoppeln
-
- - Completion (Dateinamen vervollstΣndigen)
- 30 Normal Erstes passendes Wort einfⁿgen bzw. zum nΣchsten Wort
- 31 Partial Alle Dateien einfⁿgen, die die Zeichenkette enthalten
- 32 All Alle passenden Dateien einfⁿgen
- 33 Ordner Ordnernamen aus Tabelle (qcd) holen
- 34 LastCD Vorherigen Ordner einfⁿgen
- 35 Show Alle passenden Dateien auflisten
-
- - Spezielles
- 40 Insert Umschaltung ▄berschreiben/Einfⁿgen
- 41 Quit Shell beenden
- 42 Help Help aufrufen
- 43 Refresh Aktuelle Zeile neu schreiben
- 44 Execute Aktuelle Zeile ausfⁿhren
- 45 Leave Aktuelle Zeile in Kommandospeicher speichern, weiter
- mit neuer Zeile
- 46 EOF Shell beenden bzw. Dateiende anzeigen
- 47 NOP (No OPeration) keine Aktion
- 48 Echo^O ^O ausgeben
- 49 Beep ^G ausgeben
-
- - Sonstiges
- 50 Fkey Kommando der letzten Funktionstaste ausfⁿhren
- 51 Menu Kommando der letzten Menⁿfunktion ausfⁿhren
- 52 Undo Letztes Edierkommando wiederholen
- 53 Repeat Letzte Funktion wiederholen
- 54 SwapChar Die beiden Zeichen links vom Cursor vertauschen
-
-
- Kommandotypen
-
- 0 +x Funktion mit Nummer 'x' gemΣ▀ obiger Liste
- 512 +x Auf Keymap Nummer 'x' umschalten , x=0..7
- 1024+x Zeichen mit ASCII-Nummer 'x' einfⁿgen , x=1..255
- 1536+x Makro x ausfⁿhren , x=1..15 (*)
- 2048+x Zeichenkette x einfⁿgen , x=1..15 (*)
-
- Beispiel:
-
- keymap 0 66=49 # B = Piepton
- keymap 0 2=16 # ^B = Zeile l÷schen
- keymap 0 1122=35 # ESC-b = passende Dateien auflisten
- # 1122 = 1024(ESC) + 98(b)
-
- keymap 0 771=4 # Shift-<Pfeiltaste Links> = Zeilenanfang
- # 771 = 512(Shift) + 259(<Pfeiltaste Links>)
- keymap 0 770=5 # Shift-<Pfeiltaste Rechts> = Zeilenende
-
-
-
- GLOSSAR
- -------
- Alias Ein alternativer Name fⁿr ein Kommando oder
- Kommandoabfolge die mit dem Alias Kommando
- spezifiziert wird.
- Application Allgemein ein Programmpaket, etwa DPaint.
- Archive Eine Kopie/Backup einer Datei, Meist ist das Archive-Bit
- gemeint, welches angibt, ob von der Datei bereits eine
- Sicherheitskopie gemacht wurde.
- Argument Eine zusΣtzliche Information, die an ein Kommando
- ⁿbergeben wird, wie etwa Dateiname, Werte oder Optionen.
- ASCII American Standard Code for Information Interchange,
- Standard fⁿr ComputerzeichensΣtze.
- Assign Eine Verbindung eines physikalischen Ordners zu einem
- logischen GerΣtenamens. Etwa RAM:T ist meist als T: bekannt.
- Backup Eine Kopie einer Datei auf einem physikalisch externen GerΣt,
- z.B. Streamer, Diskette.
- Binary BinΣres (dual) Zahlensystem, hier ist aber oft eine Datei
- gemeint die auch non-Ascii Zeichen enthΣlt (Zeichen mit
- Ascii-Kode >128), etwa ausfⁿhrbare Programme.
- Bit (engl. 'ein bi▀chen') BinΣre Einheit, hier oft als Flag,
- also Vorzeichen gemeint.
- Block Serie von 512 Bytes auf GerΣt.
- Byte Speichereinheit von 8 Bits LΣnge, normal genau die
- Information fⁿr ein Zeichen.
- Chip Hiermit ist der Speicherbereich gemeint, der auf dem Amiga
- den Customchips zu verfⁿgung steht. Auch als
- Grafikspeicher bekannt. Meist 1 MB RAM (A500, A2000) oder
- 2 MB (A3000,A500+).
- CLI Command Line Interface. Damit ist das Programm gemeint,
- welches ⁿberhaupt die Kommunikation per Tastatur mit dem
- Rechner erm÷glicht (Shell).
- Compiler Programm, welches ein rohes Programm in einer h÷heren
- Sprache, etwa C, geschrieben, in eine dem Rechner tatsΣchlich
- verstΣndliche Instruktionsfolge ⁿbersezt.
- Cursor Die kleine rechteckige Farbmarkierung, unter der die
- magischen Zeichen erscheinen.
- Default Vorgabewert, Vorgabezustand.
- Delete Physikalisch L÷schen, entfernen.
- Device Siehe GerΣt.
- Directory Verzeichniss. Ordner. Schublade. Ablage im Dateibaum.
- DOS Disk Operating System. Eigentliches Betriebsystem.
- Erm÷glicht erst die Dateioperationen.
- Editor Programm um Texte einzugeben, etwa ED.
- Environment Variable Eine Variable in der ein Wert oder eine
- Zeichenkette temporΣr abgespeichert werden kann.
- Fast Genereller Speicher des Amigas. Kann von den Custom Chips
- nicht angesprochen werden.
- File Datei, Folge von Zeichen.
- Flag Vorzeichen, Indikator fⁿr bestimmten Status.
- Gb Gigabyte, 1024 Megabytes. (1 Milliarde Zeichen)
- GerΣt Physikalischer Mechanismus, etwa Diskette DF0: oder
- aber auch logische Einheit wie RAM: um Daten abzuspeichern
- oder zu laden.
- Hard Disk Festplatte. Moderner, schneller Massenspeicher. Abk. HD.
- Hexadezimal Auf dem 16-er System basierendes Zahlensystem. Zahlen
- gr÷▀er 9 werden durch die Zeichen A-F gegeben.
- Eigentlich grie. Sedesimal.
- History Kommando(Vergangenheits)speicher. Liste mit den zuletzt
- ausgefⁿhrten Kommandos.
- Kb Kilobyte, 1024 Bytes.
- Keymap Tastaturbelegung, ist auf dem Amiga variabel.
- Kickstart Oft auch als ROM bezeichnet. Bei alten Amigas per
- Diskette zu laden, beinhΣlt grundlegende Software.
- Link Zeiger, Verbindung auf eine Datei.
- Lokal Nur innerhalb einer Prozedur gⁿltige Option, Variable.
- Mb Megabyte, 1024 Kb (1 Million Zeichen)
- Memory Speicher.
- Menu Liste von Auf-dem-Schirm Optionen. Mit dem Menuknopf
- (Rechte Maustaste) erhΣltliche Optionenliste.
- Menu Item Option im Menu. Menupunkt.
- Multitasking StΣrke des Amigas. Hiermit wird die FΣhigkeit bezeichnet,
- mehrere Programme scheinbar gleichzeitig auszufⁿhren.
- Offset Hier ist damit eine Folge von Bytes gemeint.
- Partition Einteilung auf Festplatte, die somit mehrere logische
- GerΣte zur Verfⁿgung stellt.
- Path Pfad. Weg innerhalb des Dateibaums von Wurzel zu Blatt,
- hier Datei. Auch Suchpfad, also Zeichenkette, die
- mehrere Pfade beinhΣlt, die angibt wo Programme bei Aufruf
- zu suchen sind.
- Pattern Suchmuster.
- Pipe (engl. Rohr) Datenstrom, dieser kann von einem Programm
- an das NΣchste ⁿbergeben werden.
- Process Task, laufendes Programm. Folge von Instruktionen.
- Prompt Eingabeaufforderungstext. Etwa 1>:
- Pure Ein Sicherheits-Bit, welches angibt ob ein Programm
- resident geladen werden kann. Muss vom Compiler unterstⁿzt
- werden.
- RAM Random Access Memory. Generel zugΣngiger Speicher.
- RAM Disk Logisches GerΣt im Speicher. Ist dynamisch aufgebaut. Nur
- durch SpeicherkapazitΣt begrenzt.
- Requester Fenster in dem eine Datei interaktiv spezifiziert weden kann.
- Resident Ein Programm kann in den Speicher geladen werden, es wird
- dann nur noch direkt im Speicher aufgerufen, braucht nicht
- mehr erneut geladen werden. Enormer Zeitvorteil bei oft
- vorkommenden Programmen.
- Return Kode Rⁿckgabewert von Programmen oder Stapeldateien. Damit
- kann auf erfolgreichen Durchlauf eines Programms gecheckt
- werden.
- ROM Read Only Memory. Speicherbereich, der nicht gel÷scht
- oder beschrieben werden kann, BeinhΣlt normal ein
- grundlegendes Betriebsystem.
- Screen Grafische FΣhigkeit des Amigas. Es k÷nnen mehrere solcher
- Schirme, auch mit verschiedenen Aufl÷sungen ge÷ffnet werden.
- Scroll Verschieben eines Textes nach oben (oder generell in eine
- Richtung).
- Shell (engl. Muschel, Umgebung) Erweiterter CLI. Programm zur
- Kommunikation mit dem Computer.
- Source Quellkode. Hier ist damit aber der Vorgang gemeint, eine
- Stapeldatei zu interpretieren und ablaufen zu lassen.
- Stack Ein spezieller Bereich des RAMs der allen Programmen fⁿr
- temporΣre Speicherung dient.
- Stapeldatei Abfolge von Kommandos die in einer Datei zusammengefasst
- sind. Dies erm÷glicht auch eine Steuerung durch Sprungmarken
- und Schleifen.
- String Zeichenkette.
- Suchmuster Vorgegebenes Muster nach dem etwas durchsucht werden
- soll. Platzhalter und Kriterien.
- Syntax Grammatik. Regel.
- Volume GerΣtename. (Etwa Workbench:)
- Workbench Graphische BenutzeroberflΣche des Amigas.
- Zeichenkette Folge von Zeichen. Intern duch ein Null-Zeichen
- abgeschlossen. Kann auch eine Matrix beinhalten.
- QED.
-