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