I have a csh script that is driving me nuts - very simple:

#!/bin/csh -f

# accept one or three args
if ($#argv == 1) then
    set start = 0
    set finish = 16
    set cmd = $argv[1]
else if ($#argv == 3) then
    set start = $argv[1]
    set finish = $argv[2]
    set cmd = $argv[3]
else
    echo "Error Usage - 1 or 3 arguments"
    exit 1
endif

echo "start: $start finish: $finish cmd: $cmd :"

If I invoke the script with:

./foo.sh 1 2 3

I get:

start: 1 finish: 2 cmd: 3 :

I thought that you could pass in a string if you double quoted is -  
but if I do this:

./foo.sh 1 2 "foo bar baz"

I get:

start: 1 finish: 2 cmd: foo :

It seems to truncate off the first word in the string for argv[3].   
Tried single quotes, no change.

Any ideas?  Doesn't have to be csh, but there is a bunch of legacy  
stuff underneath this if block that I don't wanna re-write.

Josh

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.