scripting problem

Eric "Shubes" plug at shubes.net
Fri Feb 16 14:41:38 MST 2007


David wrote:
> On Fri, 16 Feb 2007, Eric \Shubes\ wrote:
> 
>> Here's a good Friday afternoon exercise for you script animals out there.
>> For example,
>> $ arglist="parm1 \"this is parm2\" parm3"
>> $ command $arglist
>>
>> command receives:
>> $?=5 $1=parm1, $2="this, $3=is $4=parm2" $5=parm3
>>
>> What I want command to receive is:
>> $?=3 $1=parm1, $2=this is parm2, $3=parm3
> 
> Not sure if its the same, but the below worked.
> 
> ---------------
> #!/bin/sh
> 
> ls "${1}"
> ls "${2}"
> ls "${3}"
> -------------------
> 
> Invoked as:
> scriptname.sh "this is" a param
> 
> resulted in:
> 
> ls: this is: No such file or directory
> ls: a: No such file or directory
> ls: param: No such file or directory
> 
> 
> David

I wasn't quite clear enough I guess. Since I'm building a variable number of
parameters, I can't specify each one separately, and thus cannot use quotes
when invoking the command.

Using your example, I need to do:
argument="this is"
scriptname.sh $argument a parm
and have it come out the same as your example. I can't put the whole thing
in quotes because I have a list of arguments, some containing spaces and
some not.


-- 
-Eric 'shubes'


More information about the PLUG-discuss mailing list