Left Up Right Grundbegriffe

Kommandointerpreter

Kommandointerpreter (engl. Shell) ist an sich ein Anwendungsprogramm wie andere auch.
Aus Programmiersprachlicher Sicht ist er ein Interpreter auf sehr hohem Abstrakten Niveau. Sehr wichtig ist er für die

Werkzeugkasten-Philosophie
Die betrachteten Programme stellen viele kleine nette universelle Werkzeuge dar,die mit Hilfe der Shellsprache zu Anwendungsprogrammen werden.

Welche Shell man nimmt, ist eigentlich Geschmackssache. Folgende Syntax ist sehr wichtig:

Ein- Ausgabe- Umleitung

Ausgabeumleitung >
    sort datei > sortiere_datei
   
Ausgabe anfügen >>
Eingabe umleiten <
Pipe |
Die Ausgabe des ersten Prozesses wird als Eingabe des zweiten Prozesses genommen
Beispiel:
     dehtml *.html | tr -sc 'a-zA-Z0-9' '\n' | sort -u > /tmp/wortliste
   
macht eine Wortliste (Rechtschreibprüfung für harte Männer :-)
Prozesse (eigentlich Jobs) im Hintergrund starten &

Spezielle Kommandos

bg: schiebt gestoppten Prozess in den Hintergrund
fg: Holt gestoppten Prozess wieder in Vordergrund
Je nach Shell gibt es dann auch verschiedene Kontrollstrukturen wie for,if then else, while usw.

Shell-Variablen

Man kann in der Schell Variablen definiern und später daruf zugreifen.
Setzen: name=heinz Abfragen: Um Variablen von anderen Sachen zu unterscheiden, müssen sie mit $ versehen werden:
echo Hallo $name

Environmentvariablen

Eine Betriebsmittelumgebung bekommt neben Argumenten auch eine Liste von Variablen übergeben. Diese müssen oft speziell gekennzeichnet werden:
sh: export Varname csh:setenv VARNAME=Wert

Ersetzungen der Shell

Shells

sh - Bourne - Shell
Die orginal shell von Steve Bourne ca. 1978
An Introduction to the Unix Shell
bash - Bource-Again-Shell von GNU
Links:
Advanced Scripting Guide
sehr detailierte Einführung in diverse bash-Details
Bash Prog Intro HOWTO
Bash hackers Wiki

Häfig gebraucht ist die Stringverarbeitung von Variableninhalten

   dirpath=${path%/*}
   base=${path##*/}
   
aus [Bash String Processing]
csh Berkley UNIX C-shell
tcsh
wie csh, und noch schöne Merkmale weitere Links:

Kommandointerpreter unter WindowsNT/2000/XP

In MS DOS und seinen Nachfolgern sowie Windows NT/2000 gibt es auch Shells (oft fäschlicherweise "DOS-BOX" genannt):
COMMAND.COM
kleiner Interpreter aus MS DOS-Zeiten
CMD.EXE
leistungsfähiger als COMMAND.COM
Powershell
ist ein Kommandozeiteninterpreter der sich sehen lassen kann.
Wiki: Batch-Programmierung
Syntax cmd
Tutorial Batch-Programmierung WindowXX-CMD

Links zum Thema


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber