Non-integer argument in expr


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Non-integer argument in expr
# 1  
Old 05-08-2011
Non-integer argument in expr

i wrote this simple shell script

Code:
#!/bin/bash
read  N1
read  N2
expr $N1 + $N2

it work fine in bash and i add it on xinetd for some test but when i try to use in with telnet i got this error :

Code:
ehsan@debian:~$ telnet 192.168.1.4 1234
Trying 192.168.1.4...
Connected to 192.168.1.4.
Escape character is '^]'.
12
23
expr: non-integer argument
Connection closed by foreign host.

please help me to solve this non-integer error

Last edited by niasha; 05-08-2011 at 03:12 AM..
# 2  
Old 05-08-2011
What is N1 and N2 ?

If any of those is IP address, then it won't work of course.
Integer - Wikipedia, the free encyclopedia
# 3  
Old 05-08-2011
How did you execute this? Arguments are 12 and 23 I guess, seems fine.

Try this, its all the same though
Code:
#!/bin/bash 
read  N1; read  N2
((sum=N1+N2))
echo $sum

regards,
Ahamed
# 4  
Old 05-08-2011
Quote:
Originally Posted by ahamed101
How did you execute this? Arguments are 12 and 23 I guess, seems fine.

Try this, its all the same though
Code:
#!/bin/bash 
read  N1; read  N2
((sum=N1+N2))
echo $sum

regards,
Ahamed
thanks but i got this with this script

Code:
ehsan@debian:~$ telnet 192.168.1.4 1234
Trying 192.168.1.4...
Connected to 192.168.1.4.
Escape character is '^]'.
12 
23
")syntax error: invalid arithmetic operator (error token is "

Connection closed by foreign host.

both of this scripts work on my machine fine but when i want to use in on network with telnet they wont work , is there any config for telnet or is telnet change the argument to something else from integer ?
# 5  
Old 05-08-2011
try including this

Code:
#!/bin/bash
typeset -i N1
typeset -i N2
read  N1; read  N2
 ((sum=N1+N2)) 
echo $sum

regards,
Ahamed
# 6  
Old 05-08-2011
Quote:
Originally Posted by ahamed101
try including this

Code:
#!/bin/bash
typeset -i N1
typeset -i N2
read  N1; read  N2
 ((sum=N1+N2)) 
echo $sum

regards,
Ahamed
still doesn't work
Code:
ehsan@debian:~$ telnet 192.168.1.4 1234
Trying 192.168.1.4...
Connected to 192.168.1.4.
Escape character is '^]'.
12
")syntax error: invalid arithmetic operator (error token is "
0
Connection closed by foreign host.

# 7  
Old 05-08-2011
can you tell me how you are executing this? where have you included the arguments? try echo-ing N1 and N2 and see they have the desired values.

regards,
Ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Expr: non-numeric argument syntax error on line 1, teletype

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

2. Shell Programming and Scripting

Expr: non-integer argument

This is my code.... It works correct, but does not work with 4 and 5. My program is about finding average. so when i run 4 5 it gives me error "expr: non-integer argument". But when i say sh average 45 67 it works. Whats wrong?how to fix it? sum=0 n=0 if then for i in $* do if ... (2 Replies)
Discussion started by: Natalie
2 Replies

3. Shell Programming and Scripting

Getting error in bash script; expr $a + 1: integer expression expected

Hi, I am new to shell/bash script. I am trying to run below script #!/bin/bash a=0 b=10 if then echo "a is equal to be" else echo "a is not equal to be" fi MAX=10 while do echo $a a='expr $a + 1' done (1 Reply)
Discussion started by: Mallikgm
1 Replies

4. Shell Programming and Scripting

how to compare string integer with an integer?

hi, how to I do this? i="4.000" if ; then echo "smaller" fi how do I convert the "4.000" to 4? Thanks! (4 Replies)
Discussion started by: h0ujun
4 Replies

5. Shell Programming and Scripting

expr: An integer value was expected

Hi, I am trying to execute a simple script as below to compare a value from a file and copy that line based on a condition. while read line do code_check = `expr substr "$line" 6 1` if ; then echo "${line}" >> /temp/bill/push_updated.dat else echo "line ignored" fi done <... (8 Replies)
Discussion started by: ramkiran77
8 Replies

6. Shell Programming and Scripting

expr: non-numeric argument

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. Shell Programming and Scripting

how to add integer with expr?

i got a file called Marks The format of Marks is: 12345678 5 7 23456789 7 9 3 What can i do with a loop, read expr and echo command to produce a new file like below: 12345678:12 23456789:20 and also when we adding fewer than 3 value with expr, we need to change any null value for... (13 Replies)
Discussion started by: mingming88
13 Replies

8. Shell Programming and Scripting

expr: Integer argument too large

Hi all, In KSH, I have got an error message like, "expr: Integer argument too large" I received this error message when I mutiply two large values and displaying the resultant output. Is there any other altenative way to go with too large values? Kindly let me know asap... Thanks in... (12 Replies)
Discussion started by: iamgeethuj
12 Replies

9. Shell Programming and Scripting

Argument not recognized as integer

I need to accept a number of arguments at command line and print it in reverse order i use eval `echo x=$1` to capture the argument #! /bin/sh counter=0 while do eval `echo x=$1` arg$counter=$x counter=`expr $counter + 1` shift done but the error keeps... (1 Reply)
Discussion started by: scmay
1 Replies

10. Shell Programming and Scripting

expr+float argument: how can i do?

Hi everybody, I want to know how can i use the command 'expr' to manipulate float number , i have a shell bash and when (for example) i do: y1=`expr \( 1/ 16 \)` it returns 0 and if i do y1=`expr \( 1.6 / 16 \)` it returns non numeric argument. is there another command for mathematic... (4 Replies)
Discussion started by: mips
4 Replies
Login or Register to Ask a Question