skip to main content

kiesler.at

Shellscript Programmierung

Die Shell

Unix ist f�r viele Dinge bekannt. F�r seine Leistungsf�higeit. F�r seine Modularit�t. F�r seinen monolithischen Kernel. F�r viele, viele kryptische Befehle. Und: F�r seine Shell.

Googlism

Googlism ist immer f�r eine �berraschung gut. Die Suche nach shell ergab die ziemlich genaue Definition:

shell is a program that interprets commands and acts as an intermediary between the user and the inner workings of the unix system

Nat�rlich m�chte ich dem gesch�tzten Leser auch ein paar unterhaltsame Blindg�nger nicht vorenthalten:

  • shell is designed to hold nine components of a course
  • shell is really taking shape now
  • shell is a pretty male 3 toed box turtle
  • shell is oriented by having the mouth
  • shell is waiting to suck you dry at bahda bing
  • shell is about 90 micrometers in length and the hole is about 10 micrometers
  • shell is more than a shell sexually suggestive abstract photo sparks art censorship controversy at sac state

Es gibt dann noch ein paar weitere Definitionen von Googlism, die die Sache ziemlich gut auf den Punkt bringen:

  • shell is swell
  • shell is needed
  • shell is interactive
  • shell is the de facto standard for remote logins
  • shell is one whose input and output are both connected to terminals
  • shell is often described as interpreter between user and kernel
  • shell is what many people think of what they hear about unix; however it is only a program that makes use of the unix environment
  • shell is involved in exploration activities

Shell, was ist das?

Die Shell ist die Textschnittstelle zwischen Unix und Benutzer. Es gibt viele Spielarten. Beispielsweise:


sh: die Bourneshell.

Die Skriptsprache der Bourneshell war urspr�nglich ein C, das ziemlich stark mutiert wurde. F�r viele, viele Dinge wurden einfach #defines (=C-Makros) geschrieben, beispielsweise wurde IF zu if(, THEN zu ){ und FI zu }.


ksh: die Kornshell.

So praktisch die Bourneshell war, sie hatte einige Unsauberkeiten. Diese wurden durch die Kornshell behoben.


bash: die Bourne AGAIN shell.

Entstand relativ sp�t und ist die Linux-Standarshell.


csh: die C shell.

Im Prinzip wie die sh, jedoch mit stark an C orientierter Syntax.

Shellscript, was ist das?

Immer wieder die gleichen Befehle einzutippen wird mit der Zeit m�hsam. Entsprechend kann man sich ein einfaches Skript schreiben. Jedes Skript fang �blicherweise mit einem Link auf den zu verwendenden Interpreter an, beispielsweise:

#!/bin/bash

oder

#!/bin/rm -f

oder

#!/bin/cat


W�rend erstere Interpreterzeile den Inhalt der Datei an die bash �bergibt, l�scht zweitere einfach das Programm. Als Interpreter kann man schlie�lich jedes Unix-Kommando eintragen.

Mit Zeile drei schlie�lich gibt man das gesamte Programm aus. Sowas, ob sinnvoll oder nicht, geht mit anderen Programmiersprachen bei weitem schwieriger!

Das klassische Hello-World Programm

mit der bash nur zwei Zeilen:


#!/bin/bash
echo hello, world!


Eine Datei zeilenweise einlesen

Geht mit folgendem Snippet:


$ cat readin


#!/bin/bash
cat $1 | while read a; do
echo $a
done


$ readin /etc/passwd

...



Created on 2004-03-22 22:10:44 by rck
Updated on 2004-04-01 00:42:48 by rck
 Printable Version
RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.

Kontakt

Sie m�chten Ihr System absichern? Oder ein EDV-Projekt umsetzen? Vielleicht auch etwas Hilfe zur Installation von Software- und Hardwareprodukten? Kein Problem, schicken Sie mir einfach eine Mail! Ich schreibe Ihnen unverbindlich zur�ck, was ich f�r Sie tun kann.

Meine Mailanschrift: Rene (Klammeraffe) Kiesler (Punkt) at

What's Related

Link Manager

Technology
Study
Programming

Announcements

Technology
Study
Programming

Photo Albums

Technology
Study
Programming

Article Manager

Technology
Study
Programming

RSS News Feeds

Technology
Study
Programming

FAQ

Technology

Wiki

Study

Bulletin Board

Study

Documents

Study