Logo - Dipl.Inf. Guido Draheim - Entwicklung, Schulung, Beratung, Dokumentation Unix Shell Skill
Adr.:  Guido Draheim
Nipkowstr. 64
12489 Berlin
Tel.:  0179'467'5028
St.Nr.:  36/365/62133

Allgemein
  Freiberufler
  Universität
  SourceForge
  Programmierer
  Lebenslauf
  Interessengebiete
Projekte
 PFE VM
 XMLdb ast/ta
 Doku Compiler
 Makro Archive
Infos / Skills
 Asm , C , C++ , Java
 Perl , Python , PHP
 Shell , Scheme , Forth
 ... und vieles mehr
Querverweise
 Weblinks
 Software
 Sitemap
  (english)   (francais)  

printer / text mode version drucktext
(C) 2005-03-24 Guido Draheim @ web.de

generated by mksite.sh
2007-08-19

Die Unix-Shell ist nichts ohne die unter Unix immer bereitstehenden Unix-Werkzeuge - allen voran "grep", "sed", "test", "awk", "expr", "cat", "sort", "uniq" und natürlich "echo". Zusammen beschreibt man sie auch gern als Metaobjekt-Sprache - denn man hält sich erst gar nicht mit Einzelobjekten auf, sondern nimmt gleich ganze Dateien und erichtet zwischen den Byteströmen mittels Pipes und Subprozessen ein ganzes Geflecht, mit dem man auch Gigabytes an Daten verarbeiten kann.

Mit Sicherheit gehört das Hauptanwendungsfeld von Unix-Shell Programmierung in die Installation und Konfiguration von Software, bei der Dateien im Umfeld des Betriebssystems angepasst werden. Aber woran man oft nicht denkt, die in Makefiles stehenden Zeilen sind ebenfalls Unix-Shell Anteile, und bei entsprechenden Build-Komplexitäten kann auch dieser Makefile-Code sehr komplex werden.

Tatsächlich habe ich mir angewöhnt, wiederkehrende Shell-Funktionen nicht nur in einem allgemeinen "~/bin" Verzeichnis zusammenzufassen, sondern vielfach "Makefile"s lokal zu schreiben - zum Beispiel für den Quellplatz dieses Webservers, wo es Makefile-Zeilen gibt, die mittels der Unix-Kommandozeile die HTML-Files miteinander verweben und zum Webserver kopieren, aber auch Snapshots für eine Zwischenarchivierung erstellen.

Projekte

Eine der wichtigsten Anwendungen ergibt sich für Opensource-Projekte, die auf Autoconf und Automake basieren. In Autoconf nutzt man einen Makroprozessor (M4), der Shellbefehle aus einer Bibliothek einsetzen kann für die automatische plattformgerechte Konfiguration von Software, und Automake bietet Hilfestellung, die Shell-Buildbefehle möglichst plattformneutral miteinander zu verknüpfen. Meine Engagement reichte hier soweit, dass ich das "Autoconf Macro Archive" (bei Sourceforge) errichtete, dass eine Unzahl an Makros mit eingebetteten Unix-Shell Kommandos enthält.

Eines der kompliziertesten Unix-Shell Projekte ist der "mksite.sh" Doc-Prozessor, mit dem auch die vorliegenden Webseiten zum großen Teil erstellt sind. Es ist ursprünglich auch nur eine Zusammenfassung von Unix-Zeilen, die in verschiedenen Makefiles in verschiedenen Opensource-Projekten vorlagen, wo sie die Dokumentation erstellen - und die gesammelte Funktionalität steht nun leicht anderen Projekten zur Verfügung, auch solchen wie diesen hier, die fast ausschließlich Textdokumente haben. Über die Jahre ist dieses Werkzeug fast schon zu einem Content-Management-System herangewachen.


Compilerbau / Generatoren / Adaptoren / Transformierung / Modularisierung / Modernisierung Datenbanken / Kommunikation / Schnittstellen / Programmquellen