expr(1) General Commands Manual expr(1)
Name
expr - evaluate expressions
Syntax
expr arg...
Description
The arguments are taken as an expression. After evaluation, 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 The relop is one of < <= = != >= > and yields 1 if the indicated comparison is true, '0' if false. The comparison is
numeric if both expr are integers, otherwise lexicographic.
expr + expr
expr - expr
Yields addition or subtraction of the arguments.
expr * expr
expr / expr
expr % expr
Yields multiplication, division, or remainder of the arguments.
expr : expr The matching operator compares the string first argument with the regular expression second argument; regular expres-
sion syntax is the same as that of The (...) pattern symbols can be used to select a portion of the first argument.
Otherwise, the matching operator yields the number of characters matched ('0' on failure).
( expr ) parentheses for grouping.
Examples
The first example adds 1 to the Shell variable a:
a=`expr $a + 1`
The second example finds the file name part (least significant part) of the pathname stored in variable a,
expr $a : '.*/(.*)' '|' $a
Note the quoted Shell metacharacters.
Diagnostics
The command returns the following exit codes:
0 The expression is neither null nor '0'.
1 The expression is null or '0'.
2 The expression is invalid.
See Also
ed(1), sh(1), test(1)
expr(1)