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