Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fmlexpr(1F) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

expr(1)

sh(1)

set(1F)

fmlexpr(1F)         (Form and Menu Language Interpreter)        fmlexpr(1F)

NAME
     fmlexpr - Argumente als Ausdruck bewerten

SYNTAX
     fmlexpr arguments

BESCHREIBUNG
     Die Funktion fmlexpr bewertet ihre Argumente als einen Ausdruck. Nach
     der Bewertung wird das Ergebnis in die Standardausgabe geschrieben.
     Die Bestandteile des Ausdrucks müssen durch Leerzeichen getrennt wer-
     den. Speziellen FMLI-Zeichen muß Escape-Zeichen vorangestellt werden.
     0 wird zurückgegeben, um nicht die Null-Zeichenkette, sondern einen
     Wert Null zu kennzeichnen. Zeichenketten mit Leerzeichen oder anderen
     Sonderzeichen sollten in Hochkommata gesetzt werden. Ganzzahligen
     Argumenten kann ein Minusvorzeichen vorangestellt werden. Ganzzahlen
     werden intern als 32-Bit-Zweierkomplementzahlen behandelt.

     Die Operatoren und Schlüsselwörter sind unten aufgelistet. Zeichen,
     die mit einem Escape-Zeichen versehen sein müssen, ist \ vorange-
     stellt. Die Liste ist aufsteigend nach Priorität geordnet, wobei Ope-
     ratoren gleicher Priorität in geschweiften Klammern {} gruppiert wer-
     den.

     expr \| expr
          Gibt das erste Argument expr zurück, wenn es weder null noch 0
          ist. Andernfalls gibt es das zweite expr zurück.

     expr \& expr
          Gibt das erste Argument expr zurück, wenn keiner der beiden expr
          null oder 0 ist. Andernfalls gibt es 0 zurück.

     expr { =, \>, \>=, \<, \<=, != } expr
          Gibt das Ergebnis eines Ganzzahlenvergleiches zurück, wenn beide
          Argumente Ganzzahlen sind. Andernfalls gibt es das Ergebnis eines
          lexikalischen Vergleiches zurück.

     expr { +, - } expr
          Addition oder Subtraktion ganzzahliger Argumente.

     expr { *, /, % } expr
          Multiplikation, Division oder der Rest der ganzzahligen Argu-
          mente.

     expr : expr
          Der Vergleichsoperator : vergleicht das erste Argument mit dem
          zweiten Argument, das ein regulärer Ausdruck sein muß. Die Syntax
          regulärer Ausdrücke ist die gleiche wie die von ed(1), außer daß
          alle Muster fest verbunden sind, d. h. mit ^ beginnen. ^ ist in
          diesem Kontext also kein Sonderzeichen. Normalerweise gibt der
          Vergleichsoperator die Anzahl der übereinstimmenden Bytes zurück
          (0 beim Fehlschlagen). Mit Hilfe des Musters \(...\) kann ein
          Teil des ersten Arguments zurückgegeben werden.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fmlexpr(1F)         (Form and Menu Language Interpreter)        fmlexpr(1F)

BEISPIELE
     1.  Zu der Variablen a 1 addieren:

              `fmlexpr $a + 1 | set -l a`

     2.  Soll $a gleich /usr/abc/file oder file sein:

              fmlexpr  $a  :  '.*/\(.*\)'  \|  $a

         Dieses Beispiel gibt das letzte Segment eines Pfadnamens zurück
         (zum Beispiel file). Achten Sie auf ein alleinstehendes / als
         Argument: fmlexpr interpretiert dieses Zeichen als Operator für
         die Division.

     3.  Eine deutlichere Darstellung von Beispiel 2.

              fmlexpr  //$a  :  '.*/\(.*\)'

         Durch Hinzufügen der Zeichen // wird der Operator für die Division
         eindeutig, da hierdurch der linke Ausdruck nicht mehr als Operator
         für die Division interpretiert werden kann. Der gesamte Ausdruck
         wird vereinfacht.

     4.  Die Anzahl der Zeichen in $VAR zurückgeben.

              fmlexpr $VAR : .*

DIAGNOSE
     Als Nebeneffekt der Ausdrucksbewertung gibt fmlexpr die folgenden
     Endewerte zurück:

     0    Wenn der Ausdruck weder null noch 0 ist (d. h. TRUE)

     1    Wenn der Ausdruck null oder 0 ist (d. h. FALSE)

     2    Für ungültige Ausdrücke (d. h. FALSE).

     syntax error              Für Operator-/Operandenfehler.

     non-numeric argument      Falls versucht wurde, eine arithmetische
                               Operation für eine solche Zeichenkette
                               durchzuführen.

     Bei Syntaxfehlern und nichtnumerischen Fehlern wird eine Fehlermeldung
     an der aktuellen Cursor-Position ausgegeben. Verwenden Sie refresh, um
     den Bildschirm zu aktualisieren.








Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

fmlexpr(1F)         (Form and Menu Language Interpreter)        fmlexpr(1F)

HINWEISE
     Nachdem Argumente von FMLI verarbeitet wurden, kann fmlexpr Operatoren
     und Operanden nur noch durch den Wert voneinander unterscheiden. Wenn
     $a ein = ist, sieht das Kommando

          fmlexpr  $a  =  '='

     folgendermaßen aus:

          fmlexpr  =  =  =

     Die Argumente werden an fmlexpr übergeben und werden alle als der Ope-
     rator = interpretiert. Das folgende Kommando wird erfolgreich ausge-
     führt, und TRUE wird zurückgegeben:

          fmlexpr  X$a  =  X=

SIEHE AUCH
     ed(1), expr(1), sh(1), set(1F).



































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026