From: Rob Landley Date: Sun, 28 Dec 2014 20:38:14 +0000 (-0600) Subject: Fluff out help text. X-Git-Tag: upstream/0.5.2~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7f24174da2eb388168b0320cb095b834b57992e8;p=platform%2Fupstream%2Ftoybox.git Fluff out help text. --- diff --git a/toys/pending/expr.c b/toys/pending/expr.c index 936f5fb..c54a725 100644 --- a/toys/pending/expr.c +++ b/toys/pending/expr.c @@ -13,15 +13,31 @@ config EXPR bool "expr" default n help - usage: expr args + usage: expr ARG1 OPERATOR ARG2... - Evaluate expression and print result. + Evaluate expression and print result. For example, "expr 1 + 2". - The supported operators, in order of increasing precedence, are: + The supported operators are (grouped from highest to lowest priority): - | & = > >= < <= != + - * / % : + ( ) : * / % + - != <= < >= > = & | - In addition, parentheses () are supported for grouping. + Each constant and operator must be a sparate command line argument. + All operators are infix, meaning they expect a constant (or expression + that resolves to a constant) on each side of the operator. Operators of + the same priority (within each group above) are evaluated left to right. + Parentheses may be used (as separate arguments) elevate the priority + of expressions. + + Calling expr from a command shell requires a lot of \( or '*' escaping + to avoid interpreting shell control characters. + + The & and | operators are logical, not bitwise) and may operate on + strings (a blank string is "false"). Comparison operators may also + operate on strings (alphabetical sort). + + Constants may be strings or integers. Comparison, logical, and regex + operators may operate on strings (a blank string is "false"), other + operators require integers. */ // TODO: int overflow checking