Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Kornshell (ksh) Die Shell Bourne Again Shell (bash) »

Unterabschnitte
  • History

C-Shell (csh)

Die C-Shell ist vor allem für Programmierer entwickelt worden. Ihre Skriptsprache unterscheidet sich erheblich von anderen Shells und ähnelt der Sprache C. Die Leistungsfähigkeit der Skriptsprache ist heutzutage nicht mehr so relevant, da man Perl oder Tcl/Tk heranzieht, wenn man eine leistungsstärkere Skriptsprache als die der Shell benötigt. Unabhängig davon hat die C-Shell immer noch ihre Freunde. Insbesondere die modernere Variante tcsh, die einige Fähigkeiten der bash (siehe S. bash) besitzt, ist durchaus verbreitet. So findet sie sich auch auf MacOS X als Standardshell.

Die Startdatei der C-Shell heißt .cshrc. Statt der Datei .profile wird bei einer Login Shell die Datei .login gestartet. Neu gegenüber der Bourne Shell ist, dass es auch eine Datei gibt, die beim Ausloggen gestartet wird. Sie heißt konsequenterweise .logout.

Durch ESC versucht die C-Shell den angefangenen Dateinamen anhand der im Verzeichnis existierenden Dateinamen automatisch zu vervollständigen.

Die C-Shell unterscheidet besonders genau zwischen Shellvariablen und Umgebungsvariablen. Letztere werden mit dem Befehl setenv gesetzt und mit printenv angezeigt.

setenv VARIABLE wert

Dagegen werden die lokalen Shellvariablen mit set gesetzt und durch Voranstellen eines Dollarzeichens ausgelesen. Dabei wird auf die Umgebungsvariable nur dann zurückgegriffen, wenn es keine Shellvariable gibt. So können Umgebungsvariablen und Shellvariablen sogar unabhängig nebeneinander existieren, wie man im folgenden Beispiel sieht:

gaston> setenv huhu 3
gaston> echo $huhu
3
gaston> set huhu=5
gaston> echo $huhu
5
gaston> printenv huhu
3
gaston> ps

Beim Umleiten des Fehlerausgabekanals (stderr) in eine Datei muss bei der C-Shell auch der normale Ausgabekanal (stdout) in diese Datei umgeleitet werden. Das Zeichen für die gemeinsame Umleitung ist eine Kombination aus Größerzeichen und kaufmännischem Und (>&).

cc -o moin moin.c >& outerr

Dieser Mechanismus gilt ebenso bei einer Pipe. Wird dem senkrechten Strich ein & angehängt, geht auch stderr durch die Pipe. Anders ausgedrückt geht die stderr bei der C-Shell entweder auf den Bildschirm oder folgt der stdout durch Angabe des kaufmännischen Und (&) hinter dem Umleitungszeichen.

History

Die C-Shell verwendet das Ausrufezeichen als Historyzeichen. Daneben werden auf den neueren Systemen normalerweise die Cursortasten unterstützt.

[C-Shell-History]L|L Zeichen & bewirkt...
!! & ruft die letzte Zeile noch einmal auf
!5 & ruft die fünftletzte Zeile noch einmal auf
!abc & ruft die letzte Zeile auf, die mit abc beginnt
!?abc & ruft die letzte Zeile auf, die abc enthält
!$ & verwendet das Argument der letzten Zeile an dieser Stelle

Teile des letzten Kommandos können ersetzt werden. Dazu folgendes Beispiel:

hpsrv 2: lx hel*
lx: Command not found.
hpsrv 3: ^lx^ls
ls hel*
hello.cpp
hpsrv 4:

Das fehlerhafte lx wird durch das korrekte ls ausgetauscht. Nach Return wird der korrigierte Befehl gestartet. Im folgenden Beispiel wird noch einmal der Befehl geholt, der mit ls beginnt. Im Anschluss wird das Argument des letzten Kommandos im neuen Kommando wieder verwendet.

hpsrv 4: !ls
ls hel*
hello.cpp
hpsrv 5: echo !$
echo hel*
hello.cpp
hpsrv 6:

Statt der Umgebungsvariablen PS1 für den Prompt verwendet die C Shell die Variable prompt, die mit set gesetzt wird:

set prompt="%!:"

Dieser Befehl führt dazu, dass vor jedem Kommando eine Nummer steht, auf die man sich in der History beziehen kann.



« Kornshell (ksh) | Die Shell | Bourne Again Shell (bash) »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de