Expr
expr is a shell command that evaluates an expression and outputs the result. It evaluates integer or string expressions, including pattern matching regular expressions. Comparison operators apply to both integer and string values. Integer-specific operations include addition, subtraction, multiplication, division and modulus. String-specific operators include:- matching a regular expression
- finding a set of characters in a string
- finding a substring
- finding the length of a string
Originally developed for Unix v7 and standardized by POSIX, the command is available on IBM i, and for Windows via UnxUtils.
Example
The following is a example involving Boolean expressions:expr length "abcdef" "<" 5 "|" 15 - 4 ">" 8
This example outputs "1". This is because length "abcdef" is 6, which is not less than 5. But 15 minus 4 is 11 and is greater than 8, so the right side is true, which makes the or true, so 1 is the result. The program exit status is zero for this example.
For pure arithmetic, it is often more convenient to use bc. For example:
echo "3 * 4 + 14 / 2" | bc
since it accepts the expression as a single argument.