MirBSD manpage: expr(1)

EXPR(1)                      BSD Reference Manual                      EXPR(1)

NAME

     expr - evaluate expression

SYNOPSIS

     expr expression

DESCRIPTION

     The expr utility evaluates expression and writes the result on standard
     output. All operators are separate arguments to the expr utility. Charac-
     ters special to the command interpreter must be escaped.

     Operators are listed below in order of increasing precedence. Operators
     with equal precedence are grouped within { } symbols.

     expr1 | expr2
             Returns the evaluation of expr1 if it is neither an empty string
             nor zero; otherwise, returns the evaluation of expr2.

     expr1 & expr2
             Returns the evaluation of expr1 if neither expression evaluates
             to an empty string or zero; otherwise, returns zero.

     expr1 {=, >, >=, <, <=, !=} expr2
             Returns the results of integer comparison if both arguments are
             integers; otherwise, returns the results of string comparison us-
             ing the locale-specific collation sequence. The result of each
             comparison is 1 if the specified relation is true, or 0 if the
             relation is false.

     expr1 {+, -} expr2
             Returns the results of addition or subtraction of integer-valued
             arguments.

     expr1 {*, /, %} expr2
             Returns the results of multiplication, integer division, or
             remainder of integer-valued arguments.

     expr1 : expr2
             The ':' operator matches expr1 against expr2, which must be a
             regular expression. The regular expression is anchored to the be-
             ginning of the string with an implicit '^'.

             If the match succeeds and the pattern contains at least one regu-
             lar expression subexpression "\(...\)", the string corresponding
             to "\1" is returned; otherwise, the matching operator returns the
             number of characters matched. If the match fails and the pattern
             contains a regular expression subexpression the null string is
             returned; otherwise, returns 0.

             Note: the empty string cannot be matched using

                   expr '' : '$'

             This is because the returned number of matched characters (zero)
             is indistinguishable from a failed match, so expr returns failure
             (0). To match the empty string, use a structure such as:

                   expr X'' : 'X$'

     Parentheses are used for grouping in the usual manner.

EXAMPLES

     $ a=`expr $a + 1`

     Add 1 to the variable a.

     $ expr //$a : '.*/\(.*\)'

     Return the filename portion of a pathname stored in variable a. The '//'
     characters act to eliminate ambiguity with the division operator.

     $ expr $a : '.*'

     Return the number of characters in variable a.

DIAGNOSTICS

     The expr utility exits with one of the following values:

     0       The expression is neither an empty string nor 0.
     1       The expression is an empty string or 0.
     2       The expression is invalid.
     >2      An error occurred (such as memory allocation failure).

SEE ALSO

     test(1)

STANDARDS

     The expr utility conforms to IEEE Std 1003.2 ("POSIX.2").

MirBSD #10-current               July 3, 1993                                1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung