Shell
Aus Tuxfutter
Eine sogenannte Shell (engl. für Hülle, Schale) ist eine Software, die eine Kommandozeile innerhalb einer grafischen Benutzeroberfläche zur Verfügung stellt. Linux-Distributionen mit grafischer Benutzeroberfläche haben in ihrer Arbeitsumgebung in der Regel eine Shell vorinstalliert. Siehe Linux Shells für eine Liste von Shells.
[Bearbeiten] Shell-Programmierung
Die Möglichkeiten der Shell-Programmierung unter Linux sind differenziert von echten Programmiersprachen zu betrachten. Diverse Shells wie sh, bash, zsh, ... bieten integrierte Werkzeuge und rudimentäre Operatoren, mit denen bspw. Zugriffe auf Dateien in interaktiver Form oder Administrationsaufgaben in einer größeren Installation durchgeführt werden können. Die Bash bietet eine große Auswahl von Werkzeugen und Operationen - so z.B.
- Schleifen
- Bedingungen
- Ein-/Ausgabestreams sowie deren Umleitungen
- Dateimanipulationen
... noch jede Menge mehr
Ein Beispiel (demo1.sh):
#!/bin/bash
c=1 for i in $@; do echo "Parameter $c: "$i c=$((c+1)) done
Die erste Zeile (das Shebang) gibt an, mit welchem Interpreter der Code ausgeführt werden soll. In diesem Fall ist das die Bourne Again Shell bash.
Dieses Skript gibt beim Aufruf ./demo1.sh hallo ballo folgendes aus:
Parameter 1: hallo Parameter 2: ballo
Es führt also für jeden übergebenen Parameter (for i in $@;) den Code zwischen do und done aus: Ausgabe einer Zahl (c) und der Wert des aktuell bearbeiteten Parameters (i). Anschließend wird die Zahl inkrementiert (c=$((c+1))).
Ein weiteres Beispiel (demo2.sh):
#!/bin/bash if [ ! -f meinedatei ]; then touch meinedatei; fi
Dieses Skript erzeugt mittels touch eine Datei, sofern diese noch nicht (repräsentiert durch das !) existiert (-f meinedatei).

