LPIC102/105.2 Einfache Skripte anpassen oder schreiben
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
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.