Numerik light mit expr

expr ist ein internes Kommando, und liefert den String "0" für false (zur Standardausgabe), oder "1" (außer für den :-Operator) für true.

Achtung! Dies ist wie in C-Programmen (0 ist false und wie bei den eingebauten arithmetischen Ausdrücken (siehe Numerische Ausdrücke $(( ... ))), alles andere true); aber nun gerade entgegengesetzt zu test und den üblichen exit-Statuswerten (siehe auch test-Ausdrücke, true, false).

Um das Ergebnis (für die Standardausgabe) zu bestimmen, werden die übergebenen Argumente rechnerisch (und ausschließlich ganzzahlig) ausgewertet. Dabei müssen alle Operanden und Operatoren als einzelne Argumente bei expr ankommen. Man kann die Summe von fünf und zwei also nicht mit expr 5+2 bestimmen, sondern muß entsprechend Leerzeichen einfügen, damit einzelne Argumente entstehen: expr 5 + 2.

Neben den Grundrechenarten (+, -, *, und /) gibt es noch modulo (%).

Zwei Werte können mit =, <, <=, >, und >= verglichen werden.

Bei einem String str und einem regulären Ausdruck (RE) re liefert expr str : re dann "0", wenn re nicht auf str zutrifft. Ansonsten wird die Anzahl der Zeichen ausgegeben, die in str mit dem re übereinstimmen.

AnyWare@Wachtler.de