Was íst der Unterschied zwischen “&” “&&” “|” und “||”
&
einfache Verkettung Befehl2 wird unabhänig von Befehl1 ausgegeben
Syntax
befehl1 & befehl2
Beispiel:
echo Hallo! & echo und Tschüss!
Ausgabe
Hallo!
und Tschüss!
|
Pipe dient dazu den 2ten Befehl auf den ersten anzuwenden
Syntax
befehl1 | befehl2
Beispiel:
ipkg list | grep "less - 444"
Ausgabe von IPKG list zeigt 100 Pakete aber der zusatz mit | grep “less – 444” zeigt dann nur noch die Ergebnisse welche exakt den String in den “” enthalten
Ausgabe
less – 444-1 – Less file browser
&&
bedingte Befehlsverkettung: der zweite Befehl wird nur ausgeführt, wenn der erste Befehl erfolgreich war
Syntax
befehl1 && befehl2
Beispiel:
Ping an Google => Erfolgreich Meldung sende an /dev/null und zeige Ping Erfolgreich
ping -c1 www.google.de > /dev/null && echo Ping erfolgreich
Ping erfolgreich
||
bedingte Befehlsverkettung: der zweite Befehl wird nur ausgeführt, wenn der erste Befehl NICHT erfolgreich war
Syntax
befehl1 || befehl2
Beispiel:
Ping an Google wenn erfolgreich mache nichts, wenn nicht erfolgreich dann schreibe Internet down
ping -c1 www.google.de > /dev/null || echo Internet down
ping -c1 www.google.de > /dev/null || echo Internet down
ping: www.google.e: Name or service not known
Internet down