LPIC102/105.2 Einfache Skripte anpassen oder schreiben: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 20: | Zeile 20: | ||
*/usr/sbin ist gut geeignet für durchgeführte administrative Eingriffe oder auch nicht für normale Benutzer anwendbar sein sollen | */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== | ==Wichtige Dateien, Verzeichnisse und Anwendungen== | ||
Version vom 18. Juli 2019, 10:40 Uhr
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 | 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) |
Ü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.