The Regents of the University of California. All rights reserved.
%sccs.include.proprietary.roff%
@(#)expr.1 8.1 (Berkeley) 05/31/93
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 integers, otherwise lexicographic.
expr " + " expr
.ns
expr " - " expr
addition or subtraction of the arguments.
expr " * " expr
.ns
expr " / " expr
.ns
expr " % " expr
multiplication, division, or remainder of the arguments.
expr " : " expr The matching operator compares the string first argument with the regular expression second argument; 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. Otherwise, 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 :
a=\`expr $a + 1\`To find the filename part (least significant part) of the pathname stored in variable a, which may or may not contain `/':
expr $a : \'.*/\e(\^.*\e)\' \'\^|\' $aNote the quoted Shell metacharacters.
0 if the expression is neither null nor `0',
1 if the expression is null or `0',
2 for invalid expressions.