Einführung in die Shell-Programmierung

Shells

Unix/Linux Shells

Einführung

Shell-Programmierung ist nicht nur etwas für Linux-Gurus, wie viele glauben, sondern ist etwas, was jeder lernen sollte, und auch lernen kann, der sich seine Arbeit erleichtern will.

Die Arbeitsweise einer Shell soll exemplarisch an der Bourne Shell demonstriert werden. Wenn man in dieser Shell die zugrundeliegenden Mechanismen verstanden hat, sollte ein Wechsel auf eine andere Shell (wie z.B. bash, zsh, csh, ksh tcsh) kein großes Problem darstellen. 

Die weitverbreiteste Shell unter Linux ist die Bourne Again Shell (bash) , die jedoch weitestgehend kompatibel zur Bourne Shell ist.

Die Shell meldet sich mit einem Command-Prompt, der je nach Voreinstellung unterschiedlich aussehen kann, aber meist Informationen, wie Rechnernamen und aktuellen Pfad enthält:

jupiter:/home/george/>

Nach dem Größerzeichen ">" können Sie nun ein Kommando eintippen und mit der Eingabetast (Return) abschicken.

pwd und cd

Ein einfaches Kommando ist z.B.  pwd. Es zeigt das aktuelle Verzeichnis an, in dem Sie oder besser gesagt die Shell sich gerade befindet. Mit dem Kommando cd können sie sich im Verzeichnisbaum bewegen. 

In folgender Beispielsitzung auf dem Rechner Jupiter bewegen wir uns zuerst aus dem Verzeichnis "george" ins
"home" Verzeichnis, welches wie uns dann mit pwd anzeigen lassen. Dann bewegen wir uns mit der nächsten Anweisung direkt ins Unterverzeichnis "documents" von "george"

jupiter:/home/george/> pwd
/home/george/
jupiter:/home/george/>cd ..
jupiter:/home/george/> pwd
/home/
jupiter:/home/george/> cd george/documents
jupiter:/home/george/documents/>
jupiter:/home/george/> pwd
/home/george/documents/>


man

Ein wichtiges Kommando, welches hilft andere Kommandos besser zu verstehen, ist das "man" Kommando. Bei "man" handelt es sich um ein online-Manual. Wenn man einmal die Grundzüge der Shell verstanden hat, braucht man im Prinzip keinerlei weitere Bücher und Informationen, allerdings nur, wenn man über ausreichende Englischkenntnisse verfügt. Schauen wir uns einmal an, was die Shell zum Kommando "pwd" zu sagen hat:


In der Shell geben wir das Kommando "man pwd" ein und erhalten:

PWD(1) User Commands PWD(1)



NAME
pwd - print name of current/working directory

SYNOPSIS
pwd [OPTION]

DESCRIPTION
NOTE: your shell may have its own version of pwd which
will supercede the version described here. Please refer to
your shell's documentation for details about the options
it supports.

Print the full filename of the current working directory.

--help display this help and exit

--version
output version information and exit

AUTHOR
Written by Jim Meyering.

REPORTING BUGS
Report bugs to .

COPYRIGHT
Copyright © 2003 Free Software Foundation, Inc.
This is free software; see the source for copying condi­
tions. There is NO warranty; not even for MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
The full documentation for pwd is maintained as a Texinfo
manual. If the info and pwd programs are properly
installed at your site, the command

info pwd

should give you access to the complete manual.



pwd 5.0 March 2003 PWD(1)

cat

cat liest eine oder mehrere Dateien und gibt sie unverändert auf die Standardausgabe (Bildschirm) aus. Fehlt der Parameter Datei, so liest cat von der Standardeingabe ( Tastatur ). Wenn eine Ausgabedatei durch Umlenken der Standardausgabe ( > ) bezeichnet ist, werden die zuvor angegebenen Dateien hintereinander in die Ausgabedatei kopiert.

Beispiel:
Wenn wir auf die Datei micro_joke.txt cat anwenden, also
cat micro_joke.txt
erhalten wir folgende Ausgabe:
Der Wagen von drei Microsoft-Mitarbeiter hat einen Platten.
Wutentbrannt verkündet der Produktionschef, dass der
Automobil-Hersteller sofort einen neuen Wagen zur Verfügung zu
stellen habe. Aufgrund eigener Berufserfahrungen ist der
Verkaufsleiter schon etwas vorsichtiger und glaubt, dass es
besser wäre, wenn man den ADAC rufen würde. Fassungslos steht
der Programmierer daneben: Ich verstehe euch nicht. Wir machen
es am besten wie immer, wir erklären den Plattfuß zum
nicht-relevanten Fehler und fahren weiter.




© Copyright 2004 - 2008, Bodenseo, Linux-Kurse am Bodensee, Bernd Klein