COHERENT manpages
This page displays the COHERENT manpage for expr [Compute a command-line expression].
List of available manpages
Index
expr -- Command Compute a command-line expression expr argument ... The arguments to expr form an expression. expr evaluates the expression and writes the result on the standard output. Among other uses, expr lets the user perform arithmetic in shell command files. Each argument is a separate token in the expression. An argument has a logical value `false' if it is a null string or has numerical value zero, `true' otherwise. Integer arguments consist of an optional sign followed by a string of decimal digits. The range of valid integers is that of signed long integers. No check is made for overflow or illegal arithmetic operations. Floating point numbers are not supported. The following list gives each expr operator and its meaning. The list is in order of increasing operator precedence; operators of the same precedence are grouped together. All operators associate left to right except the unary operators `!', `-', and `len', which associate right to left. The spaces shown are significant - they separate the tokens of the expression. { expr1, expr2, expr3 } Return expr2 if expr1 is logically true, and expr3 otherwise. Alternatively, { expr1 , expr2 } is equivalent to { expr1 , expr2 , 0 }. expr1 | expr2 Return expr1 if it is true, expr2 otherwise. expr1 & expr2 Return expr1 if both are true, zero otherwise. expr1 relation expr2 Where relation is one of <, <=, >, >=, ==, or !=, return one if the relation is true, zero otherwise. The comparison is numeric if both arguments can be interpreted as numbers, lexicographic otherwise. The lexicographic comparison is the same as strcmp (see string). expr1 + expr2 expr1 - expr2 Add or subtract the integer arguments. The expression is invalid if either expr is not a number. expr1 * expr2 expr1 / expr2 expr1 % expr2 Multiply, divide, or take remainder of the arguments. The expression is invalid if either expr is not numeric. expr1 : expr2 Match patterns (regular expressions). expr2 specifies a pattern in the syntax used by ed. It is compared to expr1, which may be any string. If the \(...\) pattern occurs in the regular expression the matching operator returns the matched field from the string; if there is more than one \(...\) pattern the extracted fields are concatenated in the result. Otherwise, the matching operator returns the number of characters matched. len expr Return the length of expr. It behaves like strlen (see string). len is a reserved word in expr. !expr Perform logical negation: return zero if expr is true, one otherwise. -expr Unary minus: return the negative of its integer argument. If the argument is non-numeric the expression is invalid. ( expr ) Return the expr. The parentheses allow grouping expressions in any desired way. The following operators have special meanings to the shell sh, and must be quoted to be interpreted correctly: { } ( ) < > & | *. See Also commands, ed, ksh, sh, test Notes expr returns zero if the expression is true, one if false, and two if an error occurs. In the latter case an error message is also printed.