👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

OpenSolaris 2009.06 - man page for expr (opensolaris section 1)

expr(1) 				  User Commands 				  expr(1)

NAME
       expr - evaluate arguments as an expression

SYNOPSIS
       /usr/bin/expr argument...

       /usr/xpg4/bin/expr argument...

       /usr/xpg6/bin/expr argument...

DESCRIPTION
   /usr/bin/expr, /usr/xpg4/bin/expr
       The  expr  utility  evaluates the expression and writes the result to standard output. The
       character 0 is written to indicate a zero value and nothing is written to indicate a  null
       string.

   /usr/xpg6/bin/expr
       The  expr  utility  evaluates the expression and writes the result to standard output fol-
       lowed by a NEWLINE. If there is no result from expr processing, a NEWLINE  is  written  to
       standard output.

OPERANDS
       The  argument operand is evaluated as an expression. Terms of the expression must be sepa-
       rated by blanks. Characters special to the shell must be escaped (see sh(1)). Strings con-
       taining	blanks or other special characters should be quoted. The length of the expression
       is limited to LINE_MAX (2048 characters).

       The operators and keywords are listed below. The list is in  order  of  increasing  prece-
       dence, with equal precedence operators grouped within {} symbols. All of the operators are
       left-associative.

       expr \| expr

	   Returns the evaluation of the first expr if it  is  neither	NULL  nor  0;  otherwise,
	   returns the evaluation of the second expr if it is not NULL; otherwise, 0.

       expr \& expr

	   Returns the first expr if neither expr is NULL or 0, otherwise returns 0.

       expr{ =, \>, \>=, \<, \<=, !=} expr

	   Returns  the result of an integer comparison if both arguments are integers, otherwise
	   returns the	result	of  a  string  comparison  using  the  locale-specific	coalition
	   sequence.  The  result  of  each comparison will be 1 if the specified relationship is
	   TRUE, 0 if the relationship is FALSE.

       expr { +, - } expr

	   Addition or subtraction of integer-valued arguments.

       expr { \*, /, %} expr

	   Multiplication, division, or remainder of the integer-valued arguments.

       expr : expr

	   The matching operator : (colon) compares the first argument with the second	argument,
	   which  must	be  an	internationalized basic regular expression (BRE), except that all
	   patterns are anchored to the beginning of the string. That is, only sequences starting
	   at the first character of a string are matched by the regular expression. See regex(5)
	   and NOTES. Normally, the /usr/bin/expr matching operator returns the number	of  bytes
	   matched  and the /usr/xpg4/bin/expr matching operator returns the number of characters
	   matched (0 on failure). If the second argument contains at least one  BRE  sub-expres-
	   sion [\(...\)], the matching operator returns the string corresponding to \1.

       integer

	   An argument consisting only of an (optional) unary minus followed by digits.

       string

	   A  string  argument	that cannot be identified as an integer argument or as one of the
	   expression operator symbols.

   Compatibility Operators (x86 only)
       The following operators are included for compatibility with INTERACTIVE UNIX  System  only
       and are not intended to be used by non- INTERACTIVE UNIX System scripts:

       index string character-list

	   Report  the	first  position in which any one of the bytes in character-list matches a
	   byte in string.

       length string

	   Return the length (that is, the number of bytes) of string.

       substr string integer-1 integer-2

	   Extract the substring of string starting at position integer-1 and of length integer-2
	   bytes.   If	integer-1  has	a  value greater than the number of bytes in string, expr
	   returns a null string.  If you try to extract more bytes than  there  are  in  string,
	   expr  returns  all  the remaining bytes from string. Results are unspecified if either
	   integer-1 or integer-2 is a negative value.

EXAMPLES
       Example 1 Adding an integer to a shell variable

       Add 1 to the shell variable a:

	 example$ a=`expr $a + 1`

       Example 2 Returning a path name segment

       The following example emulates basename(1), returning the last segment of  the  path  name
       $a.  For  $a  equal to either /usr/abc/file or just file, the example returns file. (Watch
       out for / alone as an argument: expr takes it as the division operator. See NOTES below.)

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

       Example 3 Using // characters to simplify the expression

       Here is a better version of the previous example. The addition of the // characters elimi-
       nates any ambiguity about the division operator and simplifies the whole expression.

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

   /usr/bin/expr
       Example 4 Returning the number of bytes in a variable

	 example$ expr "$VAR" : '.*'

   /usr/xpg4/bin/expr
       Example 5 Returning the number of characters in a variable

	 example$ expr "$VAR" : '.*'

ENVIRONMENT VARIABLES
       See  environ(5)	for  descriptions  of the following environment variables that affect the
       execution of expr: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS
       As a side effect of expression evaluation, expr returns the following exit values:

       0      If the expression is neither NULL nor 0.

       1      If the expression is either NULL or 0.

       2      For invalid expressions.

       >2     An error occurred.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       basename(1), ed(1), sh(1), Intro(3), attributes(5), environ(5), regex(5), standards(5)

DIAGNOSTICS
       syntax error	       Operator and operand errors.

       non-numeric argument    Arithmetic is attempted on such a string.

NOTES
       After argument processing by the shell, expr cannot tell the difference between an  opera-
       tor and an operand except by the value. If $a is an =, the command:

	 example$ expr $a = '='

       looks like:

	 example$ expr = = =

       as  the	arguments are passed to expr (and they are all taken as the = operator). The fol-
       lowing works:

	 example$ expr X$a = X=

   Regular Expressions
       Unlike some previous versions, expr uses Internationalized Basic Regular  Expressions  for
       all  system-provided  locales.  Internationalized Regular Expressions are explained on the
       regex(5) manual page.

SunOS 5.11				   29 Aug 2003					  expr(1)


All times are GMT -4. The time now is 05:10 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password