Erstellen von Shell-Skripten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 19: | Zeile 19: | ||
* Befehl 1 '''&&''' Befehl 2 | * Befehl 1 '''&&''' Befehl 2 | ||
* Befehl 2 wird ausgeführt, wenn Befehl 1 mit exit code 0 beendet | * Befehl 2 wird ausgeführt, wenn Befehl 1 mit exit code 0 beendet | ||
| − | * ls && echo "hat funktioniert" | + | * ls / && echo "hat funktioniert" |
<!-----> | <!-----> | ||
| + | bin etc initrd.img.old lib64 media proc sbin tmp vmlinuz | ||
| + | boot home lib libx32 mnt root srv usr vmlinuz.old | ||
| + | dev initrd.img lib32 lost+found opt run sys var | ||
| + | hat funktioniert | ||
<span id="oder"></span> | <span id="oder"></span> | ||
== ODER == | == ODER == | ||
| Zeile 30: | Zeile 34: | ||
<!-----> | <!-----> | ||
| + | ls: Zugriff auf 'nichtexistentedatei' nicht möglich: Datei oder Verzeichnis nicht gefunden | ||
| + | hat nicht funktioniert | ||
<span id="beispiele"></span> | <span id="beispiele"></span> | ||
= Beispiele = | = Beispiele = | ||
Version vom 14. Februar 2023, 13:12 Uhr
Grundlagen
Logische Operatoren
- Jedes Programm generiert beim Beenden ein exit code (oder return code)
- Ein Wert von 0 bedeutet, dass das Programm erfolgreich ausgeführt wurde
- Je nach Fehlerart gibt das Programm einen höheren Wert zurück
- den exit code des letzten Befehls kann man mit echo $? abfragen
UND
- Befehl 1 && Befehl 2
- Befehl 2 wird ausgeführt, wenn Befehl 1 mit exit code 0 beendet
- ls / && echo "hat funktioniert"
bin etc initrd.img.old lib64 media proc sbin tmp vmlinuz boot home lib libx32 mnt root srv usr vmlinuz.old dev initrd.img lib32 lost+found opt run sys var hat funktioniert
ODER
- Befehl 1 || Befehl 2
- Befehl 2 wird ausgeführt, wenn Befehl 1 mit exit code >0 beendet
- ls nichtexistentedatei || echo "hat nicht funktioniert"
ls: Zugriff auf 'nichtexistentedatei' nicht möglich: Datei oder Verzeichnis nicht gefunden hat nicht funktioniert
Beispiele
pgreppier
- pgrep gibt manchmal nicht genug Informationen aus
- ps alx | grep <Programm> verbirgt die Kopfzeilen
- Ziel ist es ein Skript zu schreiben, das mehr Informationen ausgibt als pgrep
del
- rm löscht Dateien, ohne sie dabei in einen Papierkorb zu verschieben