Index of Section 1 Manual Pages

Interix / SUAexpr.1Interix / SUA

EXPR(1)                 System General Commands Manual                 EXPR(1)

NAME
     expr - evaluate expression

SYNOPSIS
     expr expression

DESCRIPTION
     The expr utility evaluates expression and writes the result on standard
     output.  All operators are separate arguments to the expr utility.  Char-
     acters special to the command interpreter must be escaped.

     Operators are listed below in order of increasing precedence.  Operators
     with equal precedence are grouped within { } symbols.

     expr1 | expr2
             Returns the evaluation of expr1 if it is neither an empty string
             nor zero; otherwise, returns the evaluation of expr2.

     expr1 & expr2
             Returns the evaluation of expr1 if neither expression evaluates
             to an empty string or zero; otherwise, returns zero.

     expr1 {=, >, >=, <, <=, !=} expr2
             Returns the results of integer comparison if both arguments are
             integers; otherwise, returns the results of string comparison
             using the locale-specific collation sequence.  The result of each
             comparison is 1 if the specified relation is true, or 0 if the
             relation is false.

     expr1 {+, -} expr2
             Returns the results of addition or subtraction of integer-valued
             arguments.

     expr1 {*, /, %} expr2
             Returns the results of multiplication, integer division, or
             remainder of integer-valued arguments.

     expr1 : expr2
             The `:' operator matches expr1 against expr2, which must be a
             regular expression.  The regular expression is anchored to the
             beginning of the string with an implicit `^'.

             If the match succeeds and the pattern contains at least one regu-
             lar expression subexpression ``\(...\)'', the string correspond-
             ing to ``\1'' is returned; otherwise, the matching operator
             returns the number of characters matched.  If the match fails and
             the pattern contains a regular expression subexpression the null
             string is returned; otherwise, returns 0.

             Note: the empty string cannot be matched using

                   expr '' : '$'

             This is because the returned number of matched characters (zero)
             is indistinguishable from a failed match, so expr returns failure
             (0).  To match the empty string, use a structure such as:

                   expr X'' : 'X$'

     Parentheses are used for grouping in the usual manner.

EXAMPLES
     $ a=`expr $a + 1`

     Add 1 to the variable a.

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

     Return the filename portion of a pathname stored in variable a.  The `//'
     characters act to eliminate ambiguity with the division operator.

     $ expr $a : '.*'

     Return the number of characters in variable a.

EXIT STATUS
     The expr utility exits with one of the following values:

     0       The expression is neither an empty string nor 0.
     1       The expression is an empty string or 0.
     2       The expression is invalid.
     >2      An error occurred (such as memory allocation failure).

SEE ALSO
     test(1)

STANDARDS
     The expr utility conforms to IEEE Std 1003.2 (``POSIX.2'').

Interix                         August 11, 2006                        Interix

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA