Fehler im Bash -Skript erhalten; Ausdruck $ A + 1 Ganzzahl Ausdruck erwartet

Fehler im Bash -Skript erhalten; Ausdruck $ A + 1 Ganzzahl Ausdruck erwartet

Bash ist ein beliebter Befehlszeilen-Interpreter, der üblicherweise in Linux- und UNIX-basierten Systemen verwendet wird, da Benutzer Befehle und Skripte im Terminal ausführen können. Einer der häufigsten Fehler, auf die Benutzer bei der Arbeit mit Bash begegnen "Expr.: Integer Ausdruck erwartet" Fehler. Dieser Artikel wird diesen Fehler genauer betrachten, warum er auftritt und wie man ihn korrigiert. Wenn Sie also den gleichen Fehler haben, lesen Sie diesen Handbuch.

Was ist der Fehler "Express: Integer Expression"

Der „EXPR: Integer Ausdruck erwartetFehler ist eine Fehlermeldung, die von der Bash-Shell generiert wird, wenn ein Benutzer versucht, einen mathematischen Ausdruck auszuführen, der nicht numerische Zeichen enthält. Der Fehler wird normalerweise von einer Zeilennummer begleitet, die angibt, wo der Fehler im Skript aufgetreten ist.

Warum tritt der Fehler „EXPR: Integer Expression erwartet“ auf

Der "EXPR: Ganzzahler Ausdruck erwartet ” Fehler tritt auf, wenn der Benutzer versucht, einen mathematischen Operation unter Verwendung nicht numerischer Werte durchzuführen. Wenn ein Benutzer beispielsweise versucht, einer Nummer eine Zeichenfolge hinzuzufügen, generiert die Bash -Shell die "Expr.: Integer Ausdruck erwartet" Fehler. Schauen wir uns ein Beispiel eines fehlerhaften Codes an, der diesen Fehler gibt:

#!/Bin/Bash
a = 0
B = 3
während ["$ a" -Lt $ b]
Tun
echo $ a
a = "exprr $ a + 1"
Erledigt

Hier verwendet der obige Code die while -Schleife, um den Additionsprozess durchzuführen, der die erste Variable vergleicht, dh A deren Wert 0 ist mit der zweiten Variablen B dessen gegebener Wert 3 ist 3. Die Schleife wird weiter ausführen, bis die Bedingung falsch wird, dh a ist weniger als B, die Zugabe wird durch die Verwendung des Befehls aus dem Ausdruck durchgeführt. Die Fehlermeldung "Ausdruck $ 0 + 1: Ganzzahler Ausdruck erwartet" Gibt an, dass es ein Problem mit der Art und Weise gibt, wie das Skript versucht, den Wert von „A“ zu erhöhen. Der Fehler wird durch Verwendung verursacht Anführungszeichen Anstelle von Backticks oder dem Dollar -Zeichen mit Klammern, um den Befehl „expr“ auszuführen:

Um den Fehler zu beheben, sollte das Skript Backticks verwenden (')) Um den Befehl „EXPR“ auszuführen und den arithmetischen Ausdruck zu bewerten, ist hier der richtige Code, der die Backticks verwendet:

#!/Bin/Bash
a = 0
B = 3
während ["$ a" -Lt $ b]
Tun
echo $ a
a = 'exprr $ a + 1'
Erledigt

Hier habe ich gerade die Doppelzitate durch den Backticks ersetzt und jetzt nimmt der Befehl expr A Als Ganzzahl und addiert dies durch diese Bedingung in der while Schleife wird falsch:

Abschluss

Der "Expr.: Integer Ausdruck erwartet" Der Fehler ist ein häufiger Fehler, der in Bash auftritt, wenn Benutzer versuchen, mathematische Operationen bei nicht numerischen Werten auszuführen. Um diesen Fehler zu korrigieren, ist es wichtig sicherzustellen, dass alle Werte in unseren mathematischen Ausdrücken numerisch sind. Auf diese Weise können wir diesen Fehler vermeiden und sicherstellen, dass unsere Skripte wie beabsichtigt ausgeführt werden.