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
|
|
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