Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
EXPR(1)			    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 and operands must	be passed as separate arguments.  Sev-
       eral of the operators have special meaning to command interpreters  and
       must  therefore	be quoted appropriately.  All integer operands are in-
       terpreted in base 10.

       Arithmetic operations are performed using signed	integer	math.

       Operators are listed below in order of increasing precedence;  all  are
       left-associative.  Operators with equal precedence are grouped within {
       } symbols.

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

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

       expr1 {=, >, >=,	<, <=, !=} expr2
	       Return 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
	       Return the results of addition or subtraction of	integer-valued
	       arguments.

       expr1 {*, /, %} expr2
	       Return  the results of multiplication, integer division,	or re-
	       mainder 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	corre-
	       sponding	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 0.

       Parentheses are used for	grouping in the	usual manner.

EXAMPLES
       1.   The	following example adds one to the variable a.
		  a=`expr $a + 1`

       2.   The	following example returns the filename portion of  a  pathname
	    stored  in variable	a.  The	// characters act to eliminate ambigu-
	    ity	with the division operator.
		  expr //$a : '.*/\(.*\)'

       3.   The	following example returns the number of	characters in variable
	    a.
		  expr $a : '.*'

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

SEE ALSO
       sh(1), test(1)

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

GNU				 May 10, 2002			       EXPR(1)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | DIAGNOSTICS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=expr&sektion=1&manpath=FreeBSD+4.9-RELEASE>

home | help