EXPR(1) EXPR(1)
NAME
expr - evaluate arguments as an expression
SYNOPSIS
expr arg ...
DESCRIPTION
The arguments are taken as an expression. After evalua-
tion, the result is written on the standard output. Each
token of the expression is a separate argument.
The operators and keywords are listed below. The list is
in order of increasing precedence, with equal precedence
operators grouped.
expr | expr
yields the first expr if it is neither null nor
`0', otherwise yields the second expr.
expr & expr
yields the first expr if neither expr is null or
`0', otherwise yields `0'.
expr relop expr
where relop is one of < <= = != >= >, yields `1' if
the indicated comparison is true, `0' if false.
The comparison is numeric if both expr are inte-
gers, otherwise lexicographic.
expr + expr
expr - expr
addition or subtraction of the arguments.
expr * expr
expr / expr
expr % expr
multiplication, division, or remainder of the argu-
ments.
expr : expr
The matching operator compares the string first
argument with the regular expression second argu-
ment; regular expression syntax is the same as that
of ed(1). The \(...\) pattern symbols can be used
to select a portion of the first argument. Other-
wise, the matching operator yields the number of
characters matched (`0' on failure).
( expr )
parentheses for grouping.
Examples:
To add 1 to the Shell variable a:
1
EXPR(1) EXPR(1)
a=`expr $a + 1`
To find the filename part (least significant part) of the
pathname stored in variable a, which may or may not con-
tain `/':
expr $a : '.*/\(.*\)' '|' $a
Note the quoted Shell metacharacters.
SEE ALSO
ed(1), sh(1), test(1)
DIAGNOSTICS
Expr returns the following exit codes:
0 if the expression is neither null nor `0',
1 if the expression is null or `0',
2 for invalid expressions.
2