I want to evaluate some mathematical expressions in a script and I try to use 'expr' command.
Unfortunatally, when I have, for example,
expr 8.2 + 6
the result is 'expr: non-numeric argument'
Why ?
I work on SunOs 5.7.
but when I read the man of expr, it's written:
DESCRIPTION
Concatenates arg's (adding separator spaces between them),
evaluates the result as a Tcl expression, and returns the
value. The operators permitted in Tcl expressions are a
subset of the operators permitted in C expressions, and they
have the same meaning and precedence as the corresponding C
operators. Expressions almost always yield numeric results
(integer or floating-point values). For example, the
expression
expr 8.2 + 6
evaluates to 14.2. Tcl expressions differ from C expres-
sions in the way that operands are specified. Also, Tcl
expressions support non-numeric operands and string com-
parisons.
What shell scripting are you trying to write actually? It sounds from the first post that you are writing a plain sh-like scripting using expr(1), but the manpage you quoted is a TCL manpage that describes expr in TCL, which accepts floating point arithmetic. If you are not dealing with TCL at all then you have simply read the wrong manpage.
Well, I think you are right... I try to write a csh script. I don't know why I have the TCL notice for expr instead of sh one. I work in a standard cmdtool window...