Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (v7man)
Apropos / Subsearch:
optional field

EXPR(1)                     General Commands Manual                    EXPR(1)

       expr - evaluate arguments as an expression

       expr arg ...

       The arguments are taken as an expression.  After evaluation, the result
       is written on the standard output.  Each token of the expression  is  a
       separate argument.

       The  operators  and keywords are listed below.  The list is in order of
       increasing precedence, with equal precedence operators grouped.

       expr | expr
              yields the first expr if it is neither null nor  `0',  otherwise
              yields the second expr.

       expr & expr
              yields  the first expr if neither expr is null or `0', otherwise
              yields `0'.

       expr relop expr
              where relop is one of < <= = != >= >, yields `1'  if  the  indi-
              cated  comparison  is  true,  `0'  if  false.  The comparison is
              numeric if both expr are integers, otherwise lexicographic.

       expr + expr
              expr - expr
              addition or subtraction of the arguments.

       expr * expr
              expr / expr
              expr % expr
              multiplication, division, or remainder of the arguments.

       expr : expr
              The matching operator compares the string  first  argument  with
              the  regular expression second argument; regular expression syn-
              tax is the same as that of ed(1).  The \(...\)  pattern  symbols
              can  be  used to select a portion of the first argument.  Other-
              wise, the matching operator  yields  the  number  of  characters
              matched (`0' on failure).

       ( expr )
              parentheses for grouping.


       To add 1 to the Shell variable a:

              a=`expr $a + 1`

       To  find  the  filename  part  (least significant part) of the pathname
       stored in variable a, which may or may not contain `/':

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

       Note the quoted Shell metacharacters.

       ed(1), sh(1), test(1)

       Expr returns the following exit codes:

            0    if the expression is neither null nor `0',
            1    if the expression is null or `0',
            2    for invalid expressions.