Aufschlüsselung, einfache Begriffe:
[[ and ]]
... bedeutet, dass ein Test auf Wahrhaftigkeit durchgeführt wird.
$?
... ist eine Variable, die den Exit-Code des letzten Ausführungsbefehls enthält.
-ne 0
... prüft, ob das linke Ding ($?
) ist "ungleich" zu "null". In UNIX war ein Befehl, der mit Null beendet wird, erfolgreich, während ein Beenden mit einem beliebigen anderen Wert (1, 2, 3 ... bis zu 255) ein Fehler ist.
if [[ $? -ne 0 ]];
Prüft den Rückkehrcode der unmittelbar vorhergehenden if-Bedingung.
$?
bedeutet Rückgabecode$? -ne 0
bedeutet, dass der vorherige Befehl einen Fehler zurückgegeben hat, da 0 als Erfolg gewertet wird