Adding numbers in unix


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Adding numbers in unix
# 1  
Old 11-16-2009
Adding numbers in unix

Hi this is quite a simple question... I am new to LINUX/UNIX and so I am just trying to create a very basic program. The idea is that when the user runs the program (from the shell) they enter 3 values and the program will add them up:
"./sum 23 5 1
29"
my code for this program is as follows:

Code:
if [ $# -eq 0 ]
then
    echo "no values entered"
    exit 1
else
    sum=0
    sum=`expr $1 + $2 + $3`
    echo "$sum"
fi

However I now want to allow for more than 3 values to be entered. I have done a bit of research and I think the best way is to use a 'for loop' that will tally the numbers:

Code:
for a in $*
  ???
done
exit 0

As you can see I don't really know where to include this in my program nor how to write it. Like I said I am a beginner to UNIX and so any help would be greatly appreciated!
Thanks
-James

Last edited by Franklin52; 11-16-2009 at 12:58 PM.. Reason: Please use code tags!!
# 2  
Old 11-16-2009
You are almost there:

Code:
sum=0
for a in $*
do
  ???
done

In the loop the variable a' will contain the consecutive values, so just keep adding $a to sum.
# 3  
Old 11-17-2009
thank you, however I have tried that method using code similar to:

for a in $*
do
total=`expr $sum + a`
echo "$total"
done

is this what you meant? If so then I have found it delivers the following output:

./sum 2 4 5 5 12 //user has entered 5 numbers
11 //sum of the first three
16 //sum of the first three plus the fourth
23 //sum of the first three plus the fifth

as you can see it does the usual 'sum' equation then adds each value to the first 3 individually. I need them all to be totalled. Any ideas?
Thank you again
-James
# 4  
Old 11-17-2009
Actually what I meant was this

Code:
sum=0
for a in $*
do
  sum=$(( sum + a ))
done

# 5  
Old 11-17-2009
Thank you for the help =]
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding the squence numbers

Hi All, Could you please help me on this requirement. File data: A A A B B B i need the output like A1 A2 A3 B1 (3 Replies)
Discussion started by: bmk123
3 Replies

2. Shell Programming and Scripting

Adding (as in arithmetic) to numbers in columns in file, and writing new file with new numbers

Hi again. Sorry for all the questions — I've tried to do all this myself but I'm just not good enough yet, and the help I've received so far from bartus11 has been absolutely invaluable. Hopefully this will be the last bit of file manipulation I need to do. I have a file which is formatted as... (4 Replies)
Discussion started by: crunchgargoyle
4 Replies

3. UNIX for Dummies Questions & Answers

Adding Column Of Numbers

Hello. Trying to add a column of numbers and combine the 1st and 2nd fields as uniq with the new total. This works to add the numbers but can't figure an easy was to combine the 1st and 2nd column as the list is very long. awk '{s+=$3} END {print s}' bird dog 300 bird dog 100 cat clown 200... (1 Reply)
Discussion started by: jimmyf
1 Replies

4. Shell Programming and Scripting

help with adding up numbers

I have a file which has following contents which I want to add up. 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 28170.24 139038.72 139038.72 139038.72 139038.72 (5 Replies)
Discussion started by: aksijain
5 Replies

5. Shell Programming and Scripting

Adding numbers in a string

I am writing a bash script on ubuntu11.10 I have some string having numbers and letter and want to add all the numbers together For example 1s2d23f I want to perform 1 + 2 + 23 and store it in a variable (3 Replies)
Discussion started by: kristinu
3 Replies

6. Shell Programming and Scripting

Adding numbers

Hi I figured how to add my list of numbers. However how do I count so that after a certain number it lists the line. Example: 12 test1 46 test2 195 test3 174 test4 634 test5 185 test6 94 test7 So basically add the numbers and when the addition reaches 300 or less print the... (8 Replies)
Discussion started by: bombcan
8 Replies

7. Shell Programming and Scripting

adding a list of numbers 3 by 3

i have a list of numbers like this; 124 235 764 782 765 451 983 909 ... and i want to make a sum with the first 3 of them then the next 3 and so on. 124+235+764=1123 782+765+451=1998 ... some ideas? (4 Replies)
Discussion started by: Tártaro
4 Replies

8. UNIX for Dummies Questions & Answers

Question about adding numbers in unix

hi everyone, i need help with writing a program that adds three numbers together in unix. (1 Reply)
Discussion started by: dynastie
1 Replies

9. Shell Programming and Scripting

adding float numbers

how to add 2 float values to each other? i tried this and it doesnt work: #!bin/bash numone=1.234 numtwo=0.124 total=`expr $numone + $numtwo` echo $total thanks (5 Replies)
Discussion started by: strike
5 Replies

10. Shell Programming and Scripting

Adding 2 numbers

I would like to write a script with BASH to add two numbers (integer) and write the result to the standard output. Please help! (7 Replies)
Discussion started by: Viper01
7 Replies
Login or Register to Ask a Question