Bash-Fehler „Syntaxfehler: Operand erwartet“, aber Operand vorhanden

Bash-Fehler „Syntaxfehler: Operand erwartet“, aber Operand vorhanden

Es gibt eine Subtraktionsoperation, die zu einem Fehler führt, es scheint jedoch, dass zwei Operanden angegeben sind:

PREV="$(intranet -r)"
PREV=${PREV/Revision: /}      ## results in "11072"
REV="$(intranet -r)"
REV=${REV/Revision: /}     ## results in "11072"
RDIFF=$(( ${REV} - ${PREV} ))        ## throws error

/usr/local/bin/updateAll: Zeile 36: 11072 – 11072: Syntaxfehler: Operand erwartet (Fehlertoken ist „11072 – 11072“)

Ich habe versucht, REV/PREV in " einzufügen.Klammern" und ohne "$" ohne Erfolg.

BEARBEITEN: Das tatsächliche Ergebnis von

Intranet -r | sed -nl

Ist

\033[96mRevision: 11072$

\033[0m$

(Weil die Ausgabe farbformatiert ist)

Antwort1

Das Problem war die Farbformatierung. Ich habe einen zweiten Fall „intranet -R“ (großes „R“) ohne Farbformatierung hinzugefügt – funktioniert einwandfrei.

verwandte Informationen