24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

82 2 <strong>UNIX</strong><br />

Die C-Shell und die Korn-Shell haben e<strong>in</strong>en History-Mechanismus, der<br />

die zuletzt e<strong>in</strong>getippten Kommandos <strong>in</strong> e<strong>in</strong>em File .sh_history (bei der<br />

Korn-Shell, lesbar) speichert. Mit dem <strong>in</strong>ternen Kommando fc greift man <strong>in</strong><br />

der Korn-Shell darauf zurück. Die Kommandos lassen sich editieren und erneut<br />

ausführen. Tippt man nur fc e<strong>in</strong>, ersche<strong>in</strong>t das jüngste Kommando als<br />

Text <strong>in</strong> dem Editor, der mittels der Umgebungsvariablen FCEDIT festgelegt<br />

wurde, meist im vi(1). Man editiert das Kommando und verläßt den Editor<br />

auf die übliche Weise, den vi(1) also mit :wq. Das editierte Kommando<br />

wird erneut ausgeführt und <strong>in</strong> das History-File geschrieben. Das Kommando<br />

fc -l -20 zeigt die 20 jüngsten Kommandos an, das Kommando fc -e -<br />

wiederholt das jüngste Kommando unverändert. Weiteres im Handbuch unter<br />

ksh(1), Special Commands.<br />

Der Ablauf e<strong>in</strong>er Sitzung läßt sich festhalten, <strong>in</strong>dem man zu Beg<strong>in</strong>n das<br />

Kommando script(1) gibt. Alle Bildschirmausgaben werden gleichzeitig <strong>in</strong><br />

e<strong>in</strong> File typescript geschrieben, das man später lesen oder drucken kann.<br />

Die Wirkung von script(1) wird durch das shell<strong>in</strong>terne Kommando exit<br />

beendet. Wir verwenden script(1) bei Literaturrecherchen im Netz, wenn<br />

man nicht sicher se<strong>in</strong> kann, daß alles bis zum glücklichen Ende nach Wunsch<br />

verläuft.<br />

Mittels des shell<strong>in</strong>ternen Kommandos alias (sprich ejlias) – das aus<br />

der C-Shell stammt – lassen sich für bestehende Kommandos neue Namen<br />

e<strong>in</strong>führen. Diese haben Gültigkeit für die jeweilige Shell und je nach Option<br />

für ihre Abkömml<strong>in</strong>ge. Der Aliasname wird von der Shell buchstäblich durch<br />

die rechte Seite der Zuweisung ersetzt; dem Aliasnamen mitgegebene Optionen<br />

oder Argumente werden an den Ersatz angehängt. Man überlege sich den<br />

Unterschied zu e<strong>in</strong>em gel<strong>in</strong>kten Zweitnamen, der im File-System verankert<br />

ist. E<strong>in</strong> weiterer Unterschied besteht dar<strong>in</strong>, daß <strong>in</strong>terne Shell-Kommandos<br />

zwar mit e<strong>in</strong>em Aliasnamen versehen, aber nicht gel<strong>in</strong>kt werden können, da<br />

sie nicht <strong>in</strong> e<strong>in</strong>em eigenen File niedergelegt s<strong>in</strong>d. Gibt man <strong>in</strong> der Sitzungsshell<br />

folgende Kommandos:<br />

alias -x dir=ls<br />

alias -x who=’who | sort’<br />

alias -x r=’fc -e -’<br />

so steht das Kommando dir mit der Bedeutung und Syntax von ls(1)<br />

zur Verfügung, und zwar zusätzlich. E<strong>in</strong> Aufruf des Kommandos who führt<br />

zum Aufruf der Pipe, das echte who(1) ist nur noch über se<strong>in</strong>en absoluten<br />

Pfad /b<strong>in</strong>/who erreichbar. Dieses who-Alias hat e<strong>in</strong>en Haken. Ruft der<br />

nichtsahnende Benutzer who mit e<strong>in</strong>er Option auf, so wird die Zeichenfolge<br />

who durch das Alias ersetzt, die Option mith<strong>in</strong> an sort angehängt, das<br />

meist nichts damit anfangen kann und e<strong>in</strong>e Fehlermeldung ausgibt. Der Aufruf<br />

von r wiederholt das jüngste Kommando unverändert, entspricht also der<br />

F3-Taste auf PCs unter MS-DOS. Die Option -x veranlaßt den Export des Alias<br />

<strong>in</strong> alle K<strong>in</strong>dprozesse; sie sche<strong>in</strong>t jedoch nicht überall verfügbar zu se<strong>in</strong>. Die<br />

Quotes s<strong>in</strong>d notwendig, sobald das Kommando Trennzeichen (Space) enthält.<br />

Das Kommando alias ohne Argumente zeigt die augenblicklichen Aliases

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!