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

  man pages->Tru64 Unix man pages -> expr (1)              



NAME    [Toc]    [Back]

       expr - Evaluates arguments as expressions

SYNOPSIS    [Toc]    [Back]

       expr expression

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       expr:  XCU5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

OPTIONS    [Toc]    [Back]


OPERANDS    [Toc]    [Back]

       The  single  expression  evaluated  by expr will be formed
       from the operands, as described in  the  DESCRIPTION  section.
   Each of the expression operator symbols: (   )   |
       &   = > >=   <   <=   !=   +   -   *   /   %   :  and  the
       symbols integer and string in the DESCRIPTION section must
       be provided as separate arguments to expr.  Expression  to
       be  evaluated, formed as explained in the DESCRIPTION section.

DESCRIPTION    [Toc]    [Back]

       The expr command reads an expression,  evaluates  it,  and
       writes  the result to standard output.  Within the expression
 argument, you must separate each  term  with  spaces,
       precede  characters  special  to the shell with a \ (backslash),
 and quote strings containing spaces or other  special
  characters.   Note that expr returns 0 to indicate a
       zero value, rather than the null string.  Integers can  be
       preceded  by a unary minus sign.  Internally, integers are
       treated as 64-bit  or  32-bit  two's  complement  numbers,
       depending on the word size of the hardware platform.

       The  operators and keywords are described in the following
       listing.  Characters that need to be escaped are  preceded
       by  a  \  (backslash).  The list is in order of increasing
       precedence with equal precedence operators grouped  within
       {}  (braces).   Returns  expression1 if it is neither null
       nor 0 (zero);  otherwise,  returns  expression2.   Returns
       expression1 if neither expression1 nor expression2 is null
       nor 0; otherwise, returns 0.  Returns  the  result  of  an
       integer  comparison if both expressions are integers; otherwise,
 returns the result of a string  comparison.   Adds
       or   subtracts   integer-valued   arguments.   Multiplies,
       divides, or provides the remainder from  the  division  of
       integer-valued   arguments.    Compares  expression1  with
       expression2, which must be  a  basic  regular  expression,
       with  syntax  as  described for grep, except that all patterns
 are anchored, so ^  (circumflex)  (which  anchors  a
       pattern to the beginning of a line) is not a special character
 in this context.

              Normally, the matching operator returns the  number
              of  characters matched.  Alternatively, you can use
              the \(...\) symbols in expression2 to return a portion
 of expression1.  Provides expression grouping.
              An argument consisting only of an (optional)  unary
              minus  followed  by  digits.   A  string  argument.
              Refer to the STRING OPERAND section.

       To avoid unpredictable results when using a range  expression
 to match a class of characters, use a character class
       expression rather than a standard range  expression.   For
       information  about  character  class  expressions, see the
       discussion of this topic included in  the  description  of
       the grep command.

   FUNCTIONS    [Toc]    [Back]
       [Tru64  UNIX]  The  expr  command  provides  the following
       string-expression  functions.   Strings  containing  white
       space must be quoted.  A string argument should not be one
       of the expression operator symbols shown in  the  OPERANDS
       section  or  one  of  the string function names below. You
       cannot  use,  for  example,  match  "$subject"  "$pattern"
       unless  it  is  confirmed  that subject and pattern do not
       match this violation. The first character of a  string  is
       position  1.   The information returned by all these functions
 is in the form of a string:  [Tru64  UNIX]  Compares
       each character in the second string against each character
       in the first string and returns the position in the  first
       string  of the first match found, where the first match is
       the match closest to the  beginning  of  string1.   [Tru64
       UNIX]  Returns  the length of the string argument.  [Tru64
       UNIX]  See the description of the : (colon)  match  operator,
 above.  [Tru64 UNIX]  Returns the substring of string
       that begins at character  position  start  and  is  length
       characters long.

   STRING OPERAND    [Toc]    [Back]
       A string argument is an argument that cannot be identified
       as an integer argument or as one of the expression  operator
 symbols shown in the OPERANDS section.

       The use of string arguments length, substr, index or match
       produces unspecified results.

EXIT STATUS    [Toc]    [Back]

       The expr command returns the following  exit  values:  The
       expression  is neither null nor 0.  The expression is null
       or 0.  The expression is invalid.  An error occurred.

EXAMPLES    [Toc]    [Back]

       To increment a shell variable, enter: COUNT=`expr $COUNT +

              This adds 1 to the COUNT shell variable (see sh for
              details).  To find the length of a shell  variable,
              enter: RES=`expr "$VAR" : ".*"`

              Note that VAR is in double quotes to avoid problems
              where VAR is NULL or contains embedded spaces.  The
              regular  expression  is also quoted to avoid expansion
 by the shell. This operation can also be  performed
  as: RES=`expr length "$VAR"` To use part of
              a  shell  variable,  enter:  RES=`expr   "$VAR"   :

              This  removes leading - (dashes), if any, from VAR.
              If the \( \) characters  were  omitted,  RES  would
              contain  the  length  of  VAR.  To find a character
              from  one  string   in   another   string,   enter:
              INDEX=`expr index "Hello World!" "Wo"`

              Note  that  the  returned  value  is 5, not 7.  The
              first match is  the  fifth  character  in  string1,
              matching  the o in string2 rather than the W, which
              is the seventh character in string1.  Special  considerations:
 RES=`expr "x$VAR" : "x-*\(.*\)"`

              This  succeeds  even if VAR has the value - (dash).
              RES=`expr "x$VAR" = "x="

              This succeeds even if VAR has the  value  =  (equal
              sign).   When  CMD_ENV  variable  is  set  to  bsd:
              RES=`expr 0001'

              This results in 0001. Otherwise  the  value  is  1.
              RES=`expr substr 012345 1 3'

              This results in 012. Otherwise the value is 12.


       The  following  environment variables affect the execution
       of expr: [Tru64 UNIX]  This variable, if set to bsd,  prevents
  stripping of leading zeroes from expressions.  Provides
 a default value for the  internationalization  variables
  that  are  unset or null. If LANG is unset or null,
       the corresponding value from the default locale  is  used.
       If  any  of  the internationalization variables contain an
       invalid setting, the utility behaves as  if  none  of  the
       variables  had been defined.  If set to a non-empty string
       value, overrides the values of all the other  internationalization
 variables.  Determines the locale for the interpretation
 of sequences of bytes of text data as characters
       (for  example, single-byte as opposed to multibyte characters
 in arguments) and the behavior of  character  classes
       in  regular  expressions..   Determines the locale for the
       format and contents  of  diagnostic  messages  written  to
       standard  error.  Determines the location of message catalogues
 for the processing of LC_MESSAGES.

SEE ALSO    [Toc]    [Back]

       Commands:  grep(1),  Bourne  shell  sh(1b),  POSIX   shell
       sh(1p), test(1)

       Functions:  string(3), wcscat(3)

       Standards:  standards(5)

[ Back ]
 Similar pages
Name OS Title
test Tru64 Evaluates conditional expressions
[ Tru64 Evaluates conditional expressions
expr Linux evaluate expressions
re_exec Tru64 Handle regular expressions
re_comp Tru64 Handle regular expressions
perlre IRIX Perl regular expressions
perlre OpenBSD Perl regular expressions
checkeq Tru64 Typesets mathematical equations and expressions
crtmathfnc IRIX Define a new math function for expressions
neqn Tru64 Typesets mathematical equations and expressions
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service