Magnetic Pages Article | 1995-09-02 | 8KB | 126 lines
MPARTICLE
0 Shell-Workshop Teil IV - The last one (?)
? Da bin ich wieder und besch
ftige mich diesmal nur noch einE bi
chen mit ein paar Besonderheiten der Shell und ihres Fensters.
$ Ein wichtiger Teil der Shell ist" ein Script, das ganz versteckt! im s: Verzeichnis sein Dasein& fristet. Es hei
t "shell-startup".
G Eigentlich werden darin nur zwei Befehle benutzt. Prompt und Alias.C Mit dem Befehl Prompt setzt man den Prompt der Shell fest. AberB was ist das? Nun es ist der Teil einer Shellzeile, der vor demG Cursor steht und der jedesmal erscheint, wenn wir <Return> dr
cken.. Am Anfang einer Shell ist das in der Regel
" a) unter Kick 1.x "1.SYS:> "' b) ab Kick 2.0 "1.Ram Disk:> "
7 In der Shell-Startup steht aber etwas ganz anderes:
PROMPT "%N.%S> "
D Nun "%N" wird von der Shell durch die Nummer des Shell-ProzessesA ersetzt und "%S" immer durch das gerade aktuelle Verzeichnis.
W
rde hier z.B. stehen:
PROMPT "1.Ram Disk:> "
I W
rde man am Anfang keinen Unterschied merken. Aber die Nummer
ndertI sich nicht, selbst wenn es schon die dritte Shell ist, die ich
ffne,H oder wenn ich mit "cd df0:" das aktuelle Laufwerk wechsle steht dortC immernoch "Ram Disk:". Dies hat zwar keine Auswirkungen auf dieE Arbeitsweise der Shell, ist aber f
r den Benutzer nicht so sch
! Der zweite Befehl "Alias" hat" auch keine so gro
e Bedeutung,
kann aber f
r den Benutzer" eine unheimliche Erleichterung sein. Die Parameter, die der Befehl erwartet sind relativ# einfach: <Name> <auszuf
hrender
Befehl>
" Genemigen wir uns ein Beispiel aus meiner Shell-Startup. Es# dient zum Packen bzw. entpacken
von lha-Archiven:
/ alias Entpacke df1:lha_e1.38/lha -2 x [] []7 alias Packe df1:lha_e1.38/lha -r -n -e -2 a [] [] *
7 Normalerweise m
te ich bei jedem Packen schreiben:
; 1.Workbench> df1:lha_e1.38/lha -2 x ram:MeinArchiv df0:
J Es wird die Diskette in df0: in die Ram Disk ins Archiv MeinArchiv.lha
gepackt. Zum Auspacken:
F 1.Workbench> df1:lha_e1.38/lha -r -n -e -2 a ram:MeinArchiv df0: *
D Das Entpacken geschieht dann analog. Zum Packen mu
ich nun dank
Alias nur schreiben:
* 1.Workbench> Packe ram:MeinArchiv df0:
Zum Entpacken:
- 1.Workbench> Entpacke ram:MeinArchiv df0:
B Ich glaube, da
man jetzt den Sinn von Alias versteht. AnstattD immer wieder lange Kommandozeilen eingeben, setzt man einmal denC Befehle mit Alias fest. Wobei "[]" durch jeweils einen Paramter8 in der Befehlszeile ersetzt werden (siehe Beispiel).
$ Wenn jemand lha zu Hause hat und& damit nicht so ganz zurecht kommt," der kann nicht davon ausgehen," da
dieses Beispiel vollkommen# richtig ist. Ich habe Lha nicht! lange nicht benutzt, aber die" Eintr
ge aus der Shell-Startup" stimmen auf jedenfall. Es kann% eigentlich blo
sein, da
ich die% beiden Parameter vertauscht habe.) Aber es soll ja auch nur als Beispiel
dienen.
Jetzt widme ich mich mal den' Escape-Spielchen in Shell-Fenstern.' Es gibt mehrere Zeichenfolgen, die,' weil sie mit einem Escape beginnen,$ Escape-Sequenzen genannt werden.# Sie k
nnen in jedem Shell- oder# CLI-Fenster mit dem ECHO Befehl
benutzt werden.
F Aber was haben wir davon? Man kann z.B. den Fensterinhalt l
schen,G die Schriftfarbe ver
ndern, kursive, fette oder/und inverse Schrift5 einstellen. Aber genehmigen wir uns ein Beispiel:
1.Workbench> ECHO "*Ec"
Jetzt steht der Kursor
in der zweiten Zeile und
alles was vorher im
Shellfenster stand ist
gel
scht. Aber nehmen
wir mal die Zeile aus-
einander: ECHO "*Ec".
ECHO ist der Auszuf
hrende
Befehl. Wenn man dann! innerhalb der "" *E schreibt,
wird das als Escape inter-
pretiert. Und das "c" ist hierbei das Schl
sselzeichen
zum l
schen des Fenster-
inhalts. N
chster Versuch:
# 1.Workbench> ECHO "*E[7;33;41m"
6 Nun sollte man inverse Schrift, Schriftfarbe 3 und7 Hintergrund Farbe 1 eingeschaltet haben. Erkl
rung:3 Wenn mehrere Escape-Sequenzen gleich aufgerufen6 werden, d.h., da
sich nur die Zahlen in der Mitte9 unterscheiden, kann man sie, wie oben durch Semikolon2 getrennt, schreiben. Daraus erkennen wir, da
( 1.Workbench> ECHO"*E[7m*E[33m*E[41m"
genau das gleiche bewirkt.
> Wenn ich jetzt alle M
glichkeiten auf diese Weise erkl
ren= w
rde, w
rde ich nie fertig werden. Also folgt jetzt eine/ Liste mit den wichtigsten Escape-Sequenzen.
hlen, Esc[41m : " " vier ", Esc[42m : " " eins ", Esc[43m : " " zwei "" Esc[7m : Inverse Schrift% Esc[8m : Schrift abschalten+ Esc[0 p : Cursor unsichtbar machen2 Esc[nH : Cursor in die n-te Zeile setzen/ Esc[nE : n mal wird Enter geschrieben) Esc[nT : in n-te Zeile springen' Esc[Z : Kein Zeilen vorschub
Esc[A : Zeile zur
ck7 Esc[f : Cursor zum oberen Fensterrand setzen
A In der Regel ist die Gro
- und Kleinschreibung der BuchstabenB egal es gibt aber Ausnahmen, bei denen dann ein anderer EffektA oder gar nichts eintritt. ESC steht hier f