LPIC102/105.2 Einfache Skripte anpassen oder schreiben: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:
|}
|}


Für die Benennung des Skriptes, ist es sehr wichtig '''keine''' Sonderzeichen einzufügen, sowie vorhandene Befehle zu benutzen.  
Lange Kommandos, die sich über mehrere Zeilen verteilen, sollten mit einem Backslash ''\'' aufgeteilt werden.
Allgemein werden Skripte meist in Textdateien geschrieben.
dd of=/dev/zero \
if=/.tmp \
bs=1M count=2000 stauts=progress


==Wichtige Inhalte in einem Skript==
==Ausführung eines Skripts==


*Standard-Syntax verwenden (sh)
===Ausführungsberechtigung===
*Kommandosubstitutionen verwenden
*Ein Shell-Skript kann nur dann ausgeführt werden, wenn die Datei auf "ausführbar" gesetzt wird.
*verkettete Kommandos ausführen
*Mit ''ls -l'' kann man die Berechtigungen sehen
**es werden mehrere Befehle in einer einzigen Befehlszeile ausgeführt
*Mit ''chmod'' kann man das Attribut für die Ausführbarkeit gesetzt werden.
**werden mit einem Semikolon (;) getrennt
# chmod a+x <Skriptdatei>
**Beispiel: # df -h;free -m
*<code>chmod 700 <Skriptdatei></code> setzt das Ausführungsbit nur für den Benutzer.
**-> 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==
{|class="wikitable"
!Zeichen !! 
|-
| <nowiki>for</nowiki> || -
|-
| <nowiki>&&</nowiki> || bei diesem Zeichen wird der zweite Befehl nur ausgeführt, wenn der erste erfolgreich war
|-
| <nowiki>||</nowiki> || bei diesem Zeichen wird der zweite Befehl nur ausgeführt, wenn der erste fehlgeschlagen ist
|-
| <nowiki>while</nowiki> || -
|-
| <nowiki>test</nowiki> || -
|-
| <nowiki>read</nowiki> || -
|-
| <nowiki>if</nowiki> || -
|-
| <nowiki>seq</nowiki> || -
|-
| <nowiki>exec</nowiki> || 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.


[[Category:Linux]]
[[Category:Linux]]

Version vom 19. Juli 2019, 12:02 Uhr

Mithilfe von Skripten können alltägliche Aufgaben völlig automatisch ablaufen lassen. In Skripten müssen neben Shell-Kommandos auch Befehle fürs Programmieren angewendet werden, vornehmlich Schleifen und Fallunterscheidungen.

Kommandos verketten

Es gibt drei Zeichen, um Kommandos nacheinander auszuführen.

Zeichen Bedeutung Beispiel
; Kommandos werden nacheinander durchgeführt echo "Dies ist eine Liste";ls -l
&& Kommando 2 wird dann ausgeführt, wenn das erste Kommando erfolgreich war. ls && echo "Vorgang erfolgreich"
|| Kommando 2 wird dann ausgeführt, wenn das erste Kommando erfolglos war. ls /etz || echo "Fehlernummer $?"

Lange Kommandos, die sich über mehrere Zeilen verteilen, sollten mit einem Backslash \ aufgeteilt werden.

dd of=/dev/zero \
if=/.tmp \
bs=1M count=2000 stauts=progress

Ausführung eines Skripts

Ausführungsberechtigung

  • Ein Shell-Skript kann nur dann ausgeführt werden, wenn die Datei auf "ausführbar" gesetzt wird.
  • Mit ls -l kann man die Berechtigungen sehen
  • Mit chmod kann man das Attribut für die Ausführbarkeit gesetzt werden.
# chmod a+x <Skriptdatei>
  • chmod 700 <Skriptdatei> setzt das Ausführungsbit nur für den Benutzer.