2017-12-31 37 views

Antwort

2

Ihre Syntax zum Inkrementieren der Variablen ist korrekt, aber Sie verwenden sie in einem Kontext, in dem Bash einen Befehl möchte, und beschwert sich, dass das Ergebnis des Inkrements (4) kein erkannter Befehl ist.

Das Schlüsselwort let ist Ihr Freund.

let SumVar+=4 

Oder noch besser auslassen nur das Dollarzeichen (dank @chepner);

((SumVar += 4)) 
+2

'((...))' wird 'Let' bevorzugt. – chepner

+0

Ich sah Ihren Bearbeitungsvorschlag, um die Zahl auf 5 zu ändern, aber wirklich, was ist mit der Änderung der Zahlen nach der Tat? Ihre Frage ist immer noch nicht konsistent (die Fehlermeldung sollte 6, nicht 5). – tripleee

2

Wenn Sie eine Substitution wie diese verwenden, wird bash versuchen, einen Befehl des substituierten Name/Wert auszuführen. Sie können dies stattdessen verwenden:

((Sumvar += 5)) 

Oder wenn Sie wirklich darauf bestehen, hier Substitution verwenden, können Sie es als Argument für den : Befehl verwenden:

: $((Sumvar += 5))