Magnetic Pages Article | 1994-09-27 | 12KB | 240 lines
MPARTICLE
5 P
nktlich zur neuen NoCover: Mein Shell-Workshop.
< Gehen wir also in die dritte Runde. Letztes Mal habe ich? geschrieben, da
wir uns jetzt das S-Verzeichnis vornehmen.9 Dass werde ich auch tun, aber nicht in dem Ramen, wie; ich es mir erst vorgestellt habe. Der Grund: Der andere< Shell-Workshop. Wir haben uns abgesprochen und dabei ist9 herausgekommen, da
er die Scripts macht und ich mich
woanders austobe. Also los:
B Das s-Verzeichnis (s f
r Scripts) sollte eigentlich mit Batch-= Dateien gef
llt sein. Das erteilt uns nat
rlich die FrageA wieso hei
t es dann nicht b-Verzeichnis. Aber die Antwort istA ganz einfach auf dem Amiga werden Batch-Dateien eben meistens? Scripts genannt. Die Scripts sind f
r den blutigen Anf
nger@ relativ uninteressant, er sollte sie aber auch kennengelerntC haben. Die einzige Frage, die ich in diesem Workshop (zu diesem? Thema) beantworte ist: Was sind Scripts? Aber dazu hole ichC etwas weiter aus. Die Shell und das CLI sind Zeileninterpreter.E Das bedeutet, da
der User eine Zeile eingibt und er interprtiertF sie (f
hrt sie aus,meldet Fehler etc.). Ein Script ist eine Datei,@ in der mehrere Befehle aneinandergereit sind und die dan f
rB eine gewisse Zeit anstatt dem User die Shell "befehligen" (was7 f
r den User, richtig eingesetzt, viel Zeit spart).
Allerdings ist das
s-Verzeichnis nicht
mehr nur den Scripts
vorbehalten. Viele
Programme versuchen
ihre "Prefs" (Vor-
einstellungen) dort
abzulegen (z.B.
PowerPacker, VirusZ,
VC).
Aber nicht nur die Workbench
hat Verzeichisse sondern
auch die "Ram Disk". Diese
Verzeichnisse haben f
r den
Amiga besondere Bedeutung:
! 1.Workbench:> dir "Ram Disk:"
clipboards (dir)
t (dir)
env (dir)
F Das Verzeichnis env Speichert die Umgebungsvariablen, die aber nurI im Zusammenhang mit Scripts interessant sind. Sie speichern bestimmteC Werte, die in Script benutzt werden. Clipboards wird einzig undE allein zur Nutzung vom Clipboard.device eingerichtet und soll unsD nicht weiter st
ren. Das verzeichnis T wird in der Regel nur zur+ Zwischenspeicherung von Texten benutzt.
) Jemand, der bis jetzt meinen Workshop% verfolgt hat, k
nnte sich fragen,$ wieso ich diesen Teil so schnell* abhandle. Nun es soll nur als
bergang) zum n
chsten Thema dienen, das wieder) sehr umfangreich wird. Also geben wir
mal ein:
1.Workbench:> cd env:
1.Ram Disk:Env> cd c:
1.Workbench:c> cd libs
Can't find libs
1.Workbench:c> cd libs:
1.Workbench:libs> cd l:
1.Workbench:l> cd sys:
1.Workbench:>
C Ich hoffe damit genug Verwirrung geschaffen zu haben, damit dasD Verlangen, diesen Workshop zuende zu lesen, gro
genug ist. AberC fangen wir erst einmal an. Cd ist ein Befehl, der die Shell auf@ ein bestimmtes Verzeichnis festlegt, in der sie nach DateienA sucht. Und es scheint so auf den ersten Blick, als gen
ge es,E hinter einen Verzeichnisnamen einen ":" zu setzen damit der AmigaD
berall danach sucht und die Shell dann darauf verwei
t. Dem istE aber nicht so, wenn man zum Beispiel das ganze mit dem Utilities-D Ordner (=Verzeichnis) versucht, fordert uns ein netter RequesterG auf die Disk "Utilities" einzulegen. Also was steckt dahinter???...
& LOGISCHE LAUFWERKE
F
ber den Begriff ist wahrscheinlich jeder schon einmal gestolpert,C aber etwas damit anzufangen wei
, nicht jeder. Hier ertmal nochE ein Begriff: physiche Laufwerke. Sie kann man als User sehen oderD zumindest, wenn sie intern eingebaut sind, bei der Arbeit h
ren.B Zu ihnen geh
ren Laufwerke, wie auch Festplatten etc. LogischeC Laufwerke kann ein User weder sehen, noch h
ren. Sie existieren4 nur f
r den Computer und sind deshalb "logisch".0 Aber weg von der Theorie hin zur Verwirrung:
1.Workbench> assign
Volumes:
Workbench [Mounted]
RAM DISK [Mounted]
Directories:& CLIPS RAM DISK:clipboards
T RAM DISK:t
ENV RAM DISK:env" S Workbench 1.3:s" L Workbench 1.3:l" C Workbench 1.3:c& FONTS Workbench 1.3:fonts% DEVS Workbench 1.3:devs% LIBS Workbench 1.3:libs! SYS Workbench 1.3:
Devices:
PIPE AUX SPEAK NEWCON DF1
PRT PAR SER RAW CON
RAM DF0
Als erstes listet der
Befehl assign (ohne
Parameter) die einge-
legten Disketten auf.
Dann folgen die eigent-
lichen Logischen
Laufwerke mit dem
Directory f
r das
sie stehen. Als letztes
kommen noch die ange-
meldeten Ger
te dran.
F
r uns sind aber nur
die logischen Lauf-
werke (= LLs) wichtig.
D Man sieht jetzt auch wieso ich die "Ram Disk-Verzeichnisse" nochE abgehakt (nicht abgehaCKt) habe. Aber wozu dienen diese LLs denn?D Tja gute Frage, n
chste Frage. Aber ich w
rde dieses Thema nichtC anspielen, wenn ich nicht Bescheid w
te: Nun, stellen Sie sichB einmal folgende Situation vor. Ein Programmierer m
chte seinemC Programm abspeicherbare Preferences und HD-installation g
nnen.G Er hat dann zwei M
glichkeiten, damit er seine Prefs im VerzeichnisJ s der Festplatte wieder findet: a) er zwingt den User seine FestplatteC "xxx" zu nennen und kann die Prefs dann in "xxx:s" ablegen oderA b) er speichert seine Prefs in LL s:. Grunds
tzlich dienen LLD der Flexibilit
t des Systems. Nicht nur Programme haben so einenA leichts Spiel auch das System baut darauf. #?.library-Dateien@ werden grunds
tzlich in LIBS: erwartet. So gilt das auch f
rA entsprechend f
r die anderen LLs. Eine Ausnahmen stellt dabeiB mehr oder weniger das LL sys: dar. Es bezeichnet grunds
tzlich) die Diskette, von der gebootet wurde.
Aber man bekommt
mit den LLs nicht
eine Festform
vorgesetzt, sondern
eher eine Arbeits-
grundlage, die nach
belieben ge
ndert
werden kann, aber
nur mit bedacht
ge
ndert werden
sollte.
Ich zeige wovon ich rede:
( 1.Workbench> assign IK: sys:Ichkenne
1.Workbench> cd ik:
1.Workbench:IchKenne>
D Man kann also durch die beiden parameter neue LLs hinzuf
gen und
alte ver
ndern:
# 1.Workbench> copy c: ram: QUIET
1.Workbench> assign c: ram:
1.Workbench>
" Diese kurze Komandofolge w
rde' die gesamte Shell-Arbeit wesentlich beschleunigen, da jetzt alle& Befehle, die im LL c: liegen jetzt% in der Ram gesucht und ausgef
hrt werden. Der einzige negative# Effekt ist ein Speicherverlust.
. Der Assign Befehl kann auch LLs entfernen:
1.Workbench> assign IK: LIST
Volumes:
Workbench [Mounted]
RAM DISK [Mounted]
Directories:& CLIPS RAM DISK:clipboards
T RAM DISK:t
ENV RAM DISK:env" S Workbench 1.3:s" L Workbench 1.3:l" C Workbench 1.3:c& FONTS Workbench 1.3:fonts% DEVS Workbench 1.3:devs% LIBS Workbench 1.3:libs! SYS Workbench 1.3:
Devices:
PIPE AUX SPEAK NEWCON DF1
PRT PAR SER RAW CON
RAM DF0
Mehr kann ich
dazu nicht sagen,
au
er das der
beste Lehrmeister
eine Kombination
aus viel Zeit,
Geduld und Praxis
ist.
Aber der Assign Befehl hat
bei aufmerksamen Lesern
vielleicht noch eine Frage
aufgerufen. Die "Devices:", so bezeichnet sie der Assign
Befehl. PRT (der Drucker),
Par (die Parallele Schnitt-
stelle), Ser (die Serielle
Schnittstelle), df0, df1
und ram wird man vielleicht
noch einordnen k
nnen. Aber
Pipe, aux etc. machen da
schon Probleme. Pipe dient" zum Aufbau von Pufferspeicher-
Dateien und "aux" kann uns
mit anderen Computern in
Verbindung bringen. Speak
ist das Sprachrohr des
Amiga mit ihm kann man sich! Dateien, Directories vorlesen" lassen (Beispiele gibts sp
erstmal die Theorie).
! NewCon ist das Ger
t, da
unsere Shell-Fenster sorgt.! Con dementsprechend f
rs CLI.
"Raw" ist eigentlich das
gleiche wie "con", blo
hier mit den Tastaturcodes! gearbeitet wird und bei "Con"" mit den ASCII Codes. In diesem% Zusammenhang gibt es noch ein ! Ger
t: NIL. Was macht es? $ Nichts. Es werden alle daten ! ins "Nichts" geleitet. Es ist! z. B. in Scripts n
tzlich, um" die Textausgabe zu verhindern.
$ Im Bereich dieser Ger
te gibt es
noch eine Sache, die ich
erw
hnen m
chte: das
Umleiten von Ausgaben.
1.Workbench> dir >NIL:
1.Workbench> dir >SPEAK:
B Der erste Befehl ist vollkommen sinnlos. Man l
t sich ein @ Verzeichnis einladen und schickt die Ausgabe ins Nichts. ; Der zweite Befehl lie
t uns ein Verzeichnis vor. Leider= in englisch und sehr schwehr zu verstehen. Nat
rlich kann1 man dir Textausgabe auch in Dateien umleiten.