LPIC102/105.2 Einfache Skripte anpassen oder schreiben

Aus Foxwiki

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: # df -h;free -m
    • -> Zunächst zeigt es die Festplattenbelegung, anschliessend die Speicherverwendung

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 für jeden zugänglich
  • /usr/sbin ist gut geeignet für durchgeführte administrative Eingriffe oder auch nicht für normale Benutzer anwendbar sein sollen

Ausführung eines Skriptes

Es gibt drei Methoden ein Skript auszuführen:

  # Addiert zwei Werte
  let summe=$1+$2
  echo "Die Summe aus $1 und $2 ist $summe."

Zum einen mit "add":

  /bin/bash /storage/scriptdemo/add 5 6
  Die Summe aus 5 und 6 ist 11.

Zum anderen mit "source":

  source /storage/scriptdemo/add 5 6
  Die Summe aus 5 und 6 ist 11.

Zum anderen musst du zunächst die Datei ausführbar machen:

  /storage/scriptdemo # ls -l
  ...
  -rw-r--r--   1 root root  92 Aug 24 16:52 add
  ...

-rw-r-r-- das sind Standardberechtigungen für eine neue Datei. Bedeutet mit "chmod" wird das Attribut für die Ausführbarkeit hinzugefügt:

  /storage/scriptdemo # chmod a+x add
  /storage/scriptdemo # ls -l
  ...
  -rwxr-xr-x   1 root root  92 Aug 24 16:52 add
  ...

Nun wird die Shebangzeile eingefügt:

  #!/bin/bash
  # Addiert zwei Werte
  let summe=$1+$2
  echo "Die Summe aus $1 und $2 ist $summe."

Das Zeichen "#!" ist in dieser Situation kein Kommentarzeichen, sondern zeigt die Ausführbarkeit der Datei an.

Wichtige Dateien, Verzeichnisse und Anwendungen

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

Übergabevariablen und Rückgabewerte

Grundrechenarten

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

  clear; echo -e "\nGeben Sie jetzt den ersten Wert ein  "
  read a
  clear; echo -e "\nGeben Sie jetzt den zweiten Wert ein  "
  read 

Damit wurde ein Wert für die Varibale "a" und "b" gesetzt.

  • [a]ddieren
  if [$operator=a]; then
        let c=a+b
        clear; echo $a + $b = $c
  • [s]ubtrahieren
  elif [ $operator=s]; then
          let c=a-b
          clear; echo $a – $b = $c
  • [m]ultiplizieren
  elif [ $operator=m]; then
          let c=a*b
          clear; echo $a "*" $b = $c
  • [d]ividieren
  elif [ $operator=d]; then
          let c=a/b
          clear; echo $a / $b = $c

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.