*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> expr (1)              
Title
Content
Arch
Section
 

EXPR(1)

Contents


NAME    [Toc]    [Back]

     expr - evaluate expression

SYNOPSIS    [Toc]    [Back]

     expr expression

DESCRIPTION    [Toc]    [Back]

     The expr utility evaluates expression and writes the  result
on standard
     output.   All  operators  are separate arguments to the expr
utility.  Characters
 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 regular
 expression subexpression ``.'', the string  corresponding
  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    [Toc]    [Back]

     $ 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.

DIAGNOSTICS    [Toc]    [Back]

     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    [Toc]    [Back]

      
      
     test(1)

STANDARDS    [Toc]    [Back]

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

OpenBSD      3.6                           July      3,      1993
[ Back ]
 Similar pages
Name OS Title
exprlong IRIX evaluate an expression
expr IRIX Evaluate an expression
expr HP-UX evaluate arguments as an expression
expr IRIX evaluate arguments as an expression
expr Linux evaluate expressions
eval IRIX Evaluate a Tcl script
case IRIX Evaluate one of several scripts, depending on a given value
switch IRIX Evaluate one of several scripts, depending on a given value
source IRIX Evaluate a file as a Tcl script
glEvalCoord2d Tru64 evaluate enabled one- and twodimensional maps
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service