Non Numeric Argument Error


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Non Numeric Argument Error
# 1  
Old 08-04-2008
Non Numeric Argument Error

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" | bc)
Amt=`echo $PIP "*" $Inv | bc`
PIP2= $(echo "scale=2; 15 / 100" | bc)
var=`echo $PIP2 "*" $Inv | bc`
Gr=`expr $Inv + $Amt`
Gross=`expr $Gr - $var`
echo "Your Accrued PIP amount is: $Amt"
echo "Your Accrued PIP2 amount is: $var"
echo "Gross Amount on your investment is: $Gross"
# 2  
Old 08-04-2008
where is code error ?
which os, shell are you using ?

- nilesh
# 3  
Old 08-04-2008
Hammer & Screwdriver Executes without error now

It is best to try and be consistent in the way you handle variables and the math. The following uses the same format for all math functions - and no longer has errors.

Code:
#/ usr/bin/bash

echo -n "Enter Your Monthly Investment "
read Inv
PIP=$(echo "scale=2; 10 / 100" | bc)
Amt=$(echo $PIP "*" $Inv | bc)
PIP2=$(echo "scale=2; 15 / 100" | bc)
var=$(echo $PIP2 "*" $Inv | bc)
Gr=$(echo $Inv + $Amt | bc)
Gross=$(echo $Gr - $var | bc)
echo "Your Accrued PIP amount is: $Amt"
echo "Your Accrued PIP2 amount is: $var"
echo "Gross Amount on your investment is: $Gross"

# 4  
Old 08-04-2008
Thanks alot joeyg. You're the bomb. Pls can u suggest an ebook i can download and read on shell scripting that would be of immense benefit. I appreciate
# 5  
Old 08-04-2008
Hammer & Screwdriver

See this link on this forum.
I'm new to Unix. Which books should I read? - The UNIX and Linux Forums

Other than that, it is often trial and error until you master the commands. One suggestion I often make is to try to solve the problem in small parts with lots of 'echo' commands to track your progress. Once you resolve and know your data is good, you can then delete out all of the lines of 'echo's. This is especially important as you learn how to use new commands.

And of course, use this site as a reference. Hopefully you will become comfortable enough so that you may also be able to contribute and help answer questions for others.
 
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. UNIX for Advanced & Expert Users

Error:--test: argument expected--Even though i give an argument.

Hi All, I am running the script VBoxManage list vms |sed 's/"//g' | cut -d " " -f1 > har1out.mytxt result=`cat har1out.mytxt | grep $1' echo $result echo $1 { if then echo pass else echo fail fi (2 Replies)
Discussion started by: harsha85
2 Replies

3. Shell Programming and Scripting

Numeric argument required

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

4. UNIX for Dummies Questions & Answers

Find and Replace random numeric value with non-numeric value

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

5. 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

6. Shell Programming and Scripting

Numeric sort error

Hello all I have data like below where the column with values (PRI, SEC ) is the char field and the rest are Numeric Fields. 200707,9580,58,7,2,1,PRI,1,1,137,205594,0,5,10,-45.51,-45.51 200707,9580,58,7,2,1,SEC,1,1,137,205594,0,5,10,-45.51,45.51... (1 Reply)
Discussion started by: vasuarjula
1 Replies

7. UNIX for Dummies Questions & Answers

First argument is numeric or not

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

8. Shell Programming and Scripting

Perl code to differentiate numeric and non-numeric input

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

9. UNIX for Dummies Questions & Answers

non-numeric argument

quick question, I am trying to run this simple equation expr 2048 / 2.354 but get a "expr: non-numeric argument" error when ever its run. I believe it may be caused by the decimal point but I do not know how to remedy it. (3 Replies)
Discussion started by: TiredOrangeCat
3 Replies

10. Solaris

ps: 65535 is an invalid non-numeric argument for -p option

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
Login or Register to Ask a Question