lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

Die (Text)Konsole wird in Unix als "Shell" bezeichnet.

Es gibt verschiede Varianten:

Kurze Definition:

Eine Shell ist eine textbasierte Benutzerschnittstelle auf der der Anwender durch Texteingabe Programme und in der Shell verankerter Funktionen abrufen kann.

Unter Linux ist die Satndard-Shell bash !

Warum sind also eine Shell antun ?

Ganz einfach: Sie ist unglaublich fexibel und mächtig denn:

Die Shell hat neben dem "einfachen Ausführen" von Programmen folgende Eigenschaften:

* Dateinamen-Wildcards (globs) als Kommandoargumente

* Bedingungen (if, case) und Schleifen (while, for)

* interne Kommandos (cd, read)

* interne Variablen ($HOME)

* Manipulation der Umgebungsvariablen für die neuen Prozesse

* Ein-/Ausgabeumlenkung

* Starten mehrerer Prozesse, Verkettung über Pipes

* Starten von Prozessen im Hintergrund

* Vervollständigung von Kommandos, Dateinamen und Variablen (completion system)

* Editieren der Kommandozeile (command line editing)

* Wiederholung und Editieren früherer Kommandos (command history)

* Stoppen und erneutes Starten von Prozessen (job control)

* Verschieben von Prozessen aus dem Vordergrund in den Hintergrund und umgekehrt (job control)

* Eingebautes Kommando zur Durchführung von Berechnungen ($((2+2)))

* Eingebautes Kommando zum Testen von Dateieigenschaften (test)

Beispiel:

ijin@rubberduck:~$   for i in /home/ijin/storage_of_rar/*.rar ;
                     do unrar x "$i" ;
                     done 

Erkärung: Diese "Script" wendet den Befehl unrar auf alle Dateien im aktuellen Verzeichnis mit der Endung *.rar an.

Man sieht:

Etwas kryptisch aber sehr mächtig. Ein echter Gewinn für alle Freunde der Automatisation, darüberhinaus gibt es machmal dazu keine Alternative, wenn z.B. ein einfaches Sichern der Dateien nicht genügt.

Beispiel: Sicherung einer Datenbank (Postgresql).

Bei einer Datenbank soll der Inhalt der Bank, durch ein sogenanntes dump- Kommnado in eine Textdatei geschrieben werden. Dieser Dump wäre bei einem Ausfall der Bank auf einem seperaten Server jederzeit wieder einspielbar.

Lösung:

Ein kleiner Shell- Script setzt das dump Kommando ab und sichert die Dump-Datei dann per rsync.