Command line arguments for addition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Command line arguments for addition
# 1  
Old 08-28-2012
Command line arguments for addition

Hi all,
I am trying to write a code for addition of n numbers which will be passed by the user as command line arguments.

I wrote the following code.

Code:
add=0
for (( i = 1 ; i <= $# ; i++ ))
do
add=`expr $i + $add`
done
#echo "sum is : $add"


input :
Code:
$./add.sh 12 32 14 25

Now the problem is the $i is giving values 1,2,3.... But i want the values inside command line variables $1, $2, $3......

So wat changes can i make to resolve the problems.

Thanks in advance.
# 2  
Old 08-28-2012
Try:
Code:
set -A args "$@"
add=0
for (( i = 0 ; i < ${#args[*]} ; i++ ))
do
 ((add+=args[i]))
done
echo "sum is : $add"

For your understanding:
Code:
set 12 67 18

echo $1
12

a=1
echo $a
1

eval 'echo $'$a
12

# 3  
Old 08-28-2012
Quote:
Originally Posted by elixir_sinari
Try:
Code:
set -A args "$@"
add=0
for (( i = 0 ; i < ${#args[*]} ; i++ ))
do
 ((add+=args[i]))
done
echo "sum is : $add"

For your understanding:
Code:
set 12 67 18
 
echo $1
12
 
a=1
echo $a
1
 
eval 'echo $'$a
12



Thanks Elixir, But this code is giving me error.

Code:
./add.sh: line 1: set: -A: invalid option
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
sum is : 0


I am using puTTy 0.61.
# 4  
Old 08-28-2012
Command line arguments for addition

Please try the code below:
Code:
 
add=0
for i in $*
do
add=`expr $i + $add`
done
echo "sum is : $add"
 
sh a 12 32 14 25
sum is : 83

Moderator's Comments:
Mod Comment Please view this code tag video for how to use code tags when posting code and data.

Last edited by vbe; 08-28-2012 at 08:56 AM..
This User Gave Thanks to surendran For This Post:
# 5  
Old 08-28-2012
This too should work.. hope this is simple..

Code:
add=0
for i in $@
do
add=`expr $i + $add`
done
echo "sum is: $add"

./add.sh 1 4 5
sum is: 10
This User Gave Thanks to Arun_Linux For This Post:
# 6  
Old 08-28-2012
Quote:
Originally Posted by PranavEcstasy
Thanks Elixir, But this code is giving me error.

Code:
./add.sh: line 1: set: -A: invalid option
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
sum is : 0


I am using puTTy 0.61.
Which shell? I'd written that code for ksh93.
This User Gave Thanks to elixir_sinari For This Post:
# 7  
Old 08-28-2012
Thanks

Thanks Surendran, Arun it worked perfectly.

@Elixir, I am using Bash shell sir. and i will be very grateful if you could please explain what difference $@ and $* did to the code.

Last edited by PranavEcstasy; 08-28-2012 at 09:06 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

command line arguments

hi,,,, I want to create a command prompt, for example "prompt>", so my prompt need to handle commands, for example "prompt>cmd", so i want to know how to get arguments for my own commands cmd, i.e. default argc should contain arguments count and argv should point to the argument vector i.e, for... (2 Replies)
Discussion started by: vins_89
2 Replies

2. UNIX for Dummies Questions & Answers

command line arguments

hi, can someone how to accept command line arguments as a variable using in script? like: ./scriptname arguments by accept arguments, I can use it in my script? thx! (1 Reply)
Discussion started by: ikeQ
1 Replies

3. Shell Programming and Scripting

Maximum command line arguments

Hi, Can anyone please help me to know what is the maximum number of command line arguments that we can pass in unix shell script? Thanks in advance, Punitha.S (2 Replies)
Discussion started by: puni
2 Replies

4. UNIX for Dummies Questions & Answers

getopts - command line arguments

Hi, I'm having problems with a script where I wanted every single option specified in the command line to have an argument taken with it, but for some reason only d works in the code I will be showing below. For example if I did ./thisfile -a something it would come up with "a chosen with " as... (2 Replies)
Discussion started by: IceX
2 Replies

5. UNIX for Dummies Questions & Answers

Command line arguments.

I am working on a script wherein i need the user to enter the Build ID for eg:the command line will show enter the build ID Now on entering the build ID it should be assigned to @ARGV. How can this be done.? (1 Reply)
Discussion started by: Varghese
1 Replies

6. Shell Programming and Scripting

Getting error in command line arguments

Hi, When i am running the following script 1.sh (without giving the command line arguments) then i am getting the following error. if then echo "UID and PWD are correct" elif then echo "Either UID or PWD is wrong. Please check your UID and PWD" else echo "UID and PWD can't be blank"... (9 Replies)
Discussion started by: sunitachoudhury
9 Replies

7. Shell Programming and Scripting

command line arguments

-------------------------------------------------------------------------------- I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence... (1 Reply)
Discussion started by: skooly5
1 Replies

8. UNIX for Dummies Questions & Answers

arguments in command line

Hi all, How many arguments can we pass while testing a prgm at command line.. I encountered an issue while passing 10 arguments. For $10 its taking argument passed for $1 followed by 'zero'. can we pass more than 9 arguments /Is there any other way. Thanks, rrs (6 Replies)
Discussion started by: rrs
6 Replies

9. Programming

command line arguments

Hi How to pass multi line text as a command line argument to a program. (i.e) ./a.out hi this is sample 0 file1 where hi this is sample should be stored in argv 0 in argv and so on... (3 Replies)
Discussion started by: bankpro
3 Replies

10. UNIX for Advanced & Expert Users

Parsing the command line arguments

Is there a way to get the command line arguments. I am using getopt(3) but if the arguments are more than one for a particular option than it just ignores the second argument. For eg ./a.out -x abc def now abd will be got with -x using getopt "( x : )" and string abc\0def will get stored... (7 Replies)
Discussion started by: jayakhanna
7 Replies
Login or Register to Ask a Question