Beim Schreiben eines Skripts oder beim Ausführen eines Befehls ist es sinnvoll zu wissen, ob es erfolgreich war. In Linux erhalten wir beim Ausführen eines Befehls einen Exit -Code, der bestätigt, ob der ausgeführte Befehl erfolgreich war. Beim Ausführen eines Befehls, der sich auf die Ausgabe des anderen Befehls stützt, müssen Sie den Ausgangscode des ersten Befehls abrufen, um festzustellen, ob der andere Befehl ausgeführt wird. Dieser Leitfaden konzentriert sich auf zwei Möglichkeiten der Überprüfung, ob ein Befehl in Bash gelungen ist.
Zwei Möglichkeiten der Überprüfung, wenn ein Befehl in Bash gelungen ist
Wenn Sie einen Befehl in Bash ausführen, muss er einen Exit -Code oder einen Status zurückgeben. Sie können die Anweisung „if“ verwenden, um den zurückgegebenen Wert eines bestimmten Befehls zu bewerten oder die spezielle Variable ($ zu verwenden?), um den Ausgangscode oder den Status des ausgeführten Befehls zu überprüfen. Lassen Sie uns ins Detail gehen.
1. Verwenden der Bash if Anweisung
Mit der Erklärung "if", Sie können den Rückgabewert eines Befehls bewerten, der in einem Ausdruck ausgeführt wird. Die Anweisung "if" holt den Exit -Status ab. Abhängig von Ihrem Ausdruck wird der Folgebefehl in der Bedingung der IF-ELSE-Anweisung ausgeführt.
Zum Beispiel können wir ein Skript erstellen, das eine Textdatei im aktuellen Verzeichnis löscht, und eine Erfolgsnachricht zurückgeben, wenn der Befehl ausgeführt wird, oder eine Fehlermeldung, wenn der Befehl nicht erfolgreich ist.
Machen Sie das Skript mithilfe des CHMOD -Befehls ausführbar. Dann führen Sie es aus.
Beachten Sie, dass unser Befehl nicht erfolgreich ist, wodurch die fehlgeschlagene Nachricht angezeigt wird. Wenn der Befehl jedoch erfolgreich ist, erhalten wir eine andere Ausgabe.
Sie können das gleiche Konzept verwenden, wenn Sie einen Befehl in Bash ausführen.
2. Verwenden der speziellen Variablen ($?)
Die spezielle Variable ($?) Gibt den Exit -Code des zuletzt ausgeführten Befehls zurück. Wenn er den Exit -Code als Null zurückgibt, bedeutet dies, dass der Befehl erfolgreich erfolgreich war. Jede andere Nummer bedeutet jedoch, dass Ihr Befehl nicht erfolgreich ist.
Durch die Verwendung der speziellen Variablen, um zu überprüfen, ob ein Befehl erfolgreich erfolgreich war. Wenn nicht, führt es den anderen Teil der IF-ELSE-Bedingung aus.
Führen Sie den Befehl in Ihrem Skript aus. Fügen Sie dann eine IF-ELSE-Anweisung hinzu, um zu überprüfen, ob Ihr Befehl ausgeführt wurde. Bearbeiten wir unser früheres Beispiel, um die spezielle Variable wie folgt zu verwenden:
Wenn wir das Skript ausführen, gibt es eine Ausgabe zurück, die bestätigt, dass es nicht erfolgreich ist, da keine Textdateien zum Löschen vorhanden sind. Daher führt es den Befehl im sonstigen Teil anstelle des „if“ aus.
Angenommen, wir haben Textdateien im aktuellen Verzeichnis. Wir könnten eine andere Ausgabe bekommen. Hier erhalten wir die Erfolgsnachricht, was bedeutet, dass der Exit -Code dem Abschnitt „If“ übereinstimmte, wie er erfolgreich war.
Im vorherigen Fall war der Befehl erfolgreich. Wir können es basierend auf der angezeigten Ausgabenachricht überprüfen, um zu bestätigen, dass der Ausgangscode für den Befehl Null ist.
Abschluss
Es gibt zwei gängige Möglichkeiten, um zu überprüfen, ob Ihr Befehl in Bash gelungen ist. Sie können die bedingte IF-ELSE-Anweisung verwenden, um eine Ausgabe anzuzeigen, je nachdem, ob ein Befehl erfolgreich war. Alternativ können Sie die spezielle Variable verwenden ($?) So überprüfen Sie den Ausgangscode oder den Status des ausgeführten Befehls mit der IF-ELSE-Anweisung.