|
|
1.1 root 1: .\" @(#)expr.1 6.1 (Berkeley) 4/29/85
2: .\"
3: .TH EXPR 1 "April 29, 1985"
4: .AT 3
5: .SH NAME
6: expr \- evaluate arguments as an expression
7: .SH SYNOPSIS
8: .B expr
9: arg
10: .B .\|.\|.
11: .SH DESCRIPTION
12: The arguments are taken as an expression.
13: After evaluation, the result is written on the standard output.
14: Each token of the expression is a separate argument.
15: .PP
16: The operators and keywords are listed below.
17: The list is in order of increasing precedence,
18: with equal precedence operators grouped.
19: .TP
20: .I expr | expr
21: yields the first
22: .I expr
23: if it is neither null nor `0', otherwise
24: yields the second
25: .I expr.
26: .TP
27: .I expr & expr
28: yields the first
29: .I expr
30: if neither
31: .I expr
32: is null or `0', otherwise yields `0'.
33: .TP
34: .I expr relop expr
35: where
36: .I relop is one of
37: < <= = != >= >,
38: yields `1' if the indicated comparison is true, `0' if false.
39: The comparison is numeric if both
40: .I expr
41: are integers, otherwise lexicographic.
42: .TP
43: .IR expr " + " expr
44: .br
45: .ns
46: .TP
47: .IR expr " \- " expr
48: .br
49: addition or subtraction of the arguments.
50: .TP
51: .IR expr " * " expr
52: .br
53: .ns
54: .TP
55: .IR expr " / " expr
56: .br
57: .ns
58: .TP
59: .IR expr " % " expr
60: .br
61: multiplication, division, or remainder of the arguments.
62: .TP
63: .IR expr " : " expr
64: The matching operator compares the string first argument
65: with the regular expression second argument;
66: regular expression syntax is the same as that of
67: .IR ed (1).
68: The
69: \fB\\(\|.\|.\|.\|\\)\fP
70: pattern symbols can be used to select a portion of the
71: first argument.
72: Otherwise,
73: the matching operator yields the number of characters matched
74: (`0' on failure).
75: .TP
76: .RI ( " expr " )
77: parentheses for grouping.
78: .PP
79: Examples:
80: .PP
81: To add 1 to the Shell variable
82: .IR a :
83: .IP
84: a=\`expr $a + 1\`
85: .PP
86: To find the filename part (least significant part)
87: of the pathname stored in variable
88: .I a,
89: which may or may not contain `/':
90: .IP
91: expr $a : \'.*/\e(\^.*\e)\' \'\^|\' $a
92: .LP
93: Note the quoted Shell metacharacters.
94: .SH "SEE ALSO"
95: sh(1), test(1)
96: .SH DIAGNOSTICS
97: .I Expr
98: returns the following exit codes:
99: .PP
100: 0 if the expression is neither null nor `0',
101: .br
102: 1 if the expression
103: is null or `0',
104: .br
105: 2 for invalid expressions.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.