Linux/Shells und Shell-Skripte

Aus Foxwiki

Die Shell-Umgebung anpassen und verwenden

Was ist eine Shell

Eine Shell ist ein textbasiertes Programm, dass als Schnittstelle zwischen Benutzer und Computer fungiert. Der Benutzer kann durch die Shell mit dem Kernel kommunizieren. Da der englische Begriff Kernel zu Deutsch Kern heißt und eine Shell eine Schale ist, wird wohl sehr schnell klar, wie diese beiden Fachbegriffe entstanden sind und wo eine solche Shell im System-Gefüge angesiedelt ist. Eine weitere Aufgabe von Shells ist es, als Umgebung für die Ausführung von Skripten und Programmen zu dienen. Außerdem verstehen Shells unterschiedliche Befehle, so dass man sie im weitesten Sinne auch noch als Programmierumgebung betrachten kann. Die am weitesten verbreitete Shell ist die "bash" (Bourne Again Shell). Dieser Begriff ist ein Wortspiel: Zum einen handelt es sich, phonetisch betrachtet, um eine wiedergeborene Shell (born again shell), zum anderen ist sie schon wieder (again) eine Bourne-Shell. Sie ist nämlich vollständig abwärtskompatibel zu "sh", die Stephen Bourne bereits 1977 programmierte. "sh" ist der Vorfahre der heute weit verbreiteten Bash.

Allgemeines

Für die Benennung des Skriptes, ist es sehr wichtig keine Sonderzeichen einzufügen, sowie vorhandene Befehle zu benutzen. Allgemein werden Skripte meist in Textdateien geschrieben.

Wichtige Inhalte in einem Skript

  • Standard-Syntax verwenden (sh)
  • Kommandosubstitutionen verwenden
  • verkettete Kommandos ausführen
    • es werden mehrere Befehle in einer einzigen Befehlszeile ausgeführt
    • werden mit einem Semikolon (;) getrennt.
    • Beispiel: archangel:/ # df -h;free -m
    • -> Zunächst zeigt es die Festplattenbelegung, anschliessend die Speicherverwendung

sowie einige weitere

Position eines Skriptes

Falls man ein Skript öfter benötigt, wäre es sinnvoll ein Verzeichnis auszuwählen, dass auf die PATH-Variable zeigt.

  • /usr/bin ist gut geeignet für systemweite und jeden zugänglich
  • /usr/sbin ist gut geeignet für durchgeführte administrative Eingriffe oder auch nicht für normale Benutzer anwendbar sein sollen

Wichtige Dateien, Verzeichnisse und Anwendungen

Zeichen Beschreibung
for
&& bei diesem Zeichen wird der zweite Befehl nur ausgeführt, wenn der erste erfolgreich war
|| bei diesem Zeichen wird der zweite Befehl nur ausgeführt, wenn der erste fehlgeschlagen ist
while
test
read
if
seq
exec Erklärung im unteren Teil des Artikels. (Sonstiges)

sowie einige weitere

Grundrechenarten

Es gibt vier verschiedene Grundrechenarten, mit denen man im Skripten arbeiten und rechnen kann.

  • [a]ddieren
  • [s]ubtrahieren
  • [m]ultiplizieren
  • [d]ividieren

Sonstiges

Mit Exec kann man ein externes Programm oder ein anderes Skript aufrufen, dabei wird der laufenden Prozess / das laufende Skript automatisch beendet und ersetzt.