Die (Text)Konsole wird in Unix als "Shell" bezeichnet.
Es gibt verschiede Varianten:
- bash
- csh
- tcsh
- sh
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.