
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.