****************************************
* LUG meet on 12 Jan. 2003 @ VJTI
****************************************


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf
> Of Nikhil Joshi
> Sent: Monday, December 16, 2002 9:59 PM
> To: ilug
> Subject: [ILUG-BOM] Bash script doubt
> 
> 
> ****************************************
> * LUG meet on 12 Jan. 2003 @ VJTI
> ****************************************
> 
> Hi!
> 
> I'm trying to take command line args with the help
> of a bash script
> But i'm not able to achieve it
> Pls guide.
> 
> #!/bin/bash
> # i want to detect command line options
> # e.g. sample.sh -1 foo1 -2 foo2 -3 foo3
> # then i want following : arg1=foo1, arg2=foo2 ,
> arg3=foo3
> # I tried following but arg1 takes the value $2,
> arg2 $3  and arg3 $3
> 
> 
> count=0 # counter to track current command line arg
> 
> for cmd in $@
>   do
>      count=`expr $count + 1` # count = count + 1
>      if `test $cmd = -1`
>       then
>       arg1=$`expr $count + 1`
>       echo $arg1 # unfortunately it gives $2 and not foo1
>      fi
>   done
> 

An easy solution is to use getopts.
use help command for that. ( help getopts )
This gives the arguments in $1, $2, $3 
while $# contains the number of arguments.

Hth

=====
-- KD.
www.kirandivekar.cjb.net

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

-- 
_______________________________________________

http://mm.ilug-bom.org.in/mailman/listinfo/linuxers



Reply via email to