Fehler im Bash-Skript erhalten; Expr $a + 1: Ganzzahliger Ausdruck erwartet

Bash ist ein beliebter Befehlszeileninterpreter, der häufig in Linux- und Unix-basierten Systemen verwendet wird, da er es Benutzern ermöglicht, Befehle und Skripte im Terminal auszuführen. Einer der häufigsten Fehler, auf die Benutzer bei der Arbeit mit Bash stoßen, ist der „expr: ganzzahliger Ausdruck erwartet“ Fehler. In diesem Artikel wird dieser Fehler genauer untersucht, warum er auftritt und wie man ihn behebt. Wenn also derselbe Fehler bei Ihnen auftritt, lesen Sie diese Anleitung.

Was ist der Fehler „Ausdruck: Ganzzahliger Ausdruck erwartet“?

Der „expr: ganzzahliger Ausdruck erwartet„Fehler“ 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 im Skript der Fehler aufgetreten ist.

Warum tritt der Fehler „Ausdruck: Ganzzahliger Ausdruck erwartet“ auf?

Der „expr: ganzzahliger Ausdruck erwartet“ Der Fehler tritt auf, wenn der Benutzer versucht, eine mathematische Operation mit nicht numerischen Werten durchzuführen. Wenn ein Benutzer beispielsweise versucht, einer Zahl eine Zeichenfolge hinzuzufügen, generiert die Bash-Shell die „expr: ganzzahliger Ausdruck erwartet“ Fehler. Schauen wir uns ein Beispiel für fehlerhaften Code an, der diesen Fehler verursacht:

#!/bin/bash
a=0
b=3

während [ „$a“ -lt $b ]

Tun
echo $a
a=“expr $a + 1 „
Erledigt

Hier verwendet der obige Code die while-Schleife, um den Additionsprozess fortzusetzen, der die erste Variable vergleicht A dessen Wert 0 ist, mit der zweiten Variablen B dessen gegebener Wert 3 ist. Die Schleife wird so lange ausgeführt, bis die Bedingung falsch wird, das heißt, a ist kleiner als b. Die Addition wird mit dem Befehl expr ausgeführt. Die Fehlermeldung „expr $0 + 1: ganzzahliger Ausdruck erwartet“ weist darauf hin, dass ein Problem mit der Art und Weise vorliegt, wie das Skript versucht, den Wert von „a“ zu erhöhen. Der Fehler wird durch die Verwendung verursacht Anführungszeichen anstelle von Backticks oder dem Dollarzeichen 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 auszuwerten, hier ist also der richtige Code, der die Backticks verwendet:

#!/bin/bash

a=0
b=3

während [ „$a“ -lt $b ]

Tun
echo $a
a=`expr $a + 1`
Erledigt

Hier habe ich gerade die doppelten Anführungszeichen durch die Backticks ersetzt und jetzt wird der Befehl expr ausgeführt A als Ganzzahl und führt die Addition aus. Die Bedingung in der while-Schleife wird falsch:

Abschluss

Der „expr: ganzzahliger Ausdruck erwartet“ Fehler ist ein häufiger Fehler, der in Bash auftritt, wenn Benutzer versuchen, mathematische Operationen an nicht numerischen Werten durchzuführen. Um diesen Fehler zu korrigieren, ist es wichtig sicherzustellen, dass alle Werte in unseren mathematischen Ausdrücken numerisch sind. Dadurch können wir diesen Fehler vermeiden und sicherstellen, dass unsere Skripte wie vorgesehen ausgeführt werden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen