02-12-2007
try using bc instead of expr.
For example: echo "2048 / 2.345" | bc
10 More Discussions You Might Find Interesting
1. Solaris
I want to figure out what is the reason of error message I have in Solaris 10. Why Solaris 10 dosn't recognize 65535?
ps: 65535 is an invalid non-numeric argument for -p option
usage: ps
'format' is one or more of:
Thank you (5 Replies)
Discussion started by: gogogo
5 Replies
2. Shell Programming and Scripting
Hi All,
Is there any code in Perl which can differentiate between numeric and non-numeric input? (11 Replies)
Discussion started by: Raynon
11 Replies
3. UNIX for Dummies Questions & Answers
hi there,
I was recently introduced to this site by a friend. I hope you guys can help with a code error i can't seem to debug.I can get to add two different data types together. A snippet of the code is below:
echo -n "Enter Your MOnthly Investment"
read Inv
PIP= $(echo "scale=2; 10 / 100"... (4 Replies)
Discussion started by: Allenzo
4 Replies
4. UNIX for Dummies Questions & Answers
Hi everyone, I want my script to check if the first argument has only numbers or not. Im not sure what im doing wrong.
This is how it looks like:
if *") ]
then
echo 'The first arguement should only be in numeric' 1>&2
exit 1
else
exit 0
fi (7 Replies)
Discussion started by: darkhider
7 Replies
5. Shell Programming and Scripting
Can someone please help me with this SHELL script?
I need to create a script that gets a positive number n as an argument. The script must calculate the factorial of its argument. In other words, it must calculate n!=1x2x3x...xn. Note that 0!=1.
Here is a start but I have no clue how to... (3 Replies)
Discussion started by: I-1
3 Replies
6. Shell Programming and Scripting
Hi all,
i am facing the error "expr: non-numeric argument" when i use the expr command.
Following is the expression which i want to execute
HR=$(echo `date +%H`)
MIN=$(echo `date +%M`)
TOT_MIN=`expr "$HR" \* 60+$MIN` | bc
echo $TOT_MIN
Here I am being reported with the error expr:... (6 Replies)
Discussion started by: sparks
6 Replies
7. UNIX for Dummies Questions & Answers
Can someone tell me how to change the first column in a very large 17k line file from a random 10 digit numeric value to a non numeric value. The format of lines in the file is:
1702938475,SNU022,201004
the first 10 numbers always begin with 170 (6 Replies)
Discussion started by: Bahf1s
6 Replies
8. Shell Programming and Scripting
Hi,
How to return the string "y" to the calling function.
Getting the below error when function returns the value.
return: y: numeric argument required
With Regards (2 Replies)
Discussion started by: milink
2 Replies
9. Shell Programming and Scripting
If ($argv == “-debug”) then
Echo “in loop”
Endif
But this is not working. If I modify this code and remove “-“, then it works.
Similarly I am getting problem using grep command also
Grep “-debug” Filename
Can someone please help me on how to resolve these... (1 Reply)
Discussion started by: sarbjit
1 Replies
10. Shell Programming and Scripting
Hi,
I tried to look up the issue i'm experiencing, but i'm confused what's wrong with my script.
After executing the script I'm getting the following error
expr: non-numeric argument
syntax error on line 1, teletype
After some research, it seems that the problem relates to bc.
I have... (1 Reply)
Discussion started by: nms
1 Replies
LEARN ABOUT CENTOS
tcl_exprboolean
Tcl_ExprLong(3) Tcl Library Procedures Tcl_ExprLong(3)
__________________________________________________________________________________________________________________________________________________
NAME
Tcl_ExprLong, Tcl_ExprDouble, Tcl_ExprBoolean, Tcl_ExprString - evaluate an expression
SYNOPSIS
#include <tcl.h>
int
Tcl_ExprLong(interp, expr, longPtr)
int
Tcl_ExprDouble(interp, expr, doublePtr)
int
Tcl_ExprBoolean(interp, expr, booleanPtr)
int
Tcl_ExprString(interp, expr)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter in whose context to evaluate expr.
const char *expr (in) Expression to be evaluated.
long *longPtr (out) Pointer to location in which to store the integer value of the expression.
int *doublePtr (out) Pointer to location in which to store the floating-point value of the expression.
int *booleanPtr (out) Pointer to location in which to store the 0/1 boolean value of the expression.
_________________________________________________________________
DESCRIPTION
These four procedures all evaluate the expression given by the expr argument and return the result in one of four different forms. The
expression can have any of the forms accepted by the expr command. Note that these procedures have been largely replaced by the object-
based procedures Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, and Tcl_ExprObj. Those object-based procedures evaluate an
expression held in a Tcl object instead of a string. The object argument can retain an internal representation that is more efficient to
execute.
The interp argument refers to an interpreter used to evaluate the expression (e.g. for variables and nested Tcl commands) and to return
error information.
For all of these procedures the return value is a standard Tcl result: TCL_OK means the expression was successfully evaluated, and
TCL_ERROR means that an error occurred while evaluating the expression. If TCL_ERROR is returned then the interpreter's result will hold a
message describing the error. If an error occurs while executing a Tcl command embedded in the expression then that error will be
returned.
If the expression is successfully evaluated, then its value is returned in one of four forms, depending on which procedure is invoked.
Tcl_ExprLong stores an integer value at *longPtr. If the expression's actual value is a floating-point number, then it is truncated to an
integer. If the expression's actual value is a non-numeric string then an error is returned.
Tcl_ExprDouble stores a floating-point value at *doublePtr. If the expression's actual value is an integer, it is converted to floating-
point. If the expression's actual value is a non-numeric string then an error is returned.
Tcl_ExprBoolean stores a 0/1 integer value at *booleanPtr. If the expression's actual value is an integer or floating-point number, then
they store 0 at *booleanPtr if the value was zero and 1 otherwise. If the expression's actual value is a non-numeric string then it must
be one of the values accepted by Tcl_GetBoolean such as "yes" or "no", or else an error occurs.
Tcl_ExprString returns the value of the expression as a string stored in the interpreter's result.
SEE ALSO
Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, Tcl_ExprObj
KEYWORDS
boolean, double, evaluate, expression, integer, object, string
Tcl 7.0 Tcl_ExprLong(3)