Shell

Aus Tuxfutter

Wechseln zu: Navigation, Suche

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

[Bearbeiten] Externe Verweise

'Persönliche Werkzeuge