Bourne shell syntax problem?

Charles D. Roten croten at ltpsun.gsfc.nasa.gov
Fri Apr 19 06:30:06 AEST 1991


    I am having trouble getting a Bourne shell to run, and have come to
suspect that the problem is in the section where I parse the variables.
The script is rather long (~260 lines) so I will only include the suspect
portion.

-------------------- script follows --------------------
#!/bin/sh

 [comments deleted]

sourcepath=/tmp/zmcdr/tmp
mailhost=charney.gsfc.nasa.gov
tmpdir=/tmp/zmcdr
mailback=0
interactive=0
verbose=0
built=0
dataset=0
normset=0
database=0
localdata=fort.10
localnormal=fort.15
data=""
normal=""
maildest=""

 [stuff that already works deleted]
 
# Switch on the verbosity.

set -x

# Go to the 'working' directory
cd $tmpdir

# Now, parse the rest of the arguments, for cases where there are 1 or more
#    arguments.

for i in $*; do
   case $i in
      -b)   rm temp
            echo '/c     idbase = 1' > temp
            echo 's/c/ /' >> temp
            sed -f temp $sourcepath/beat.f > newbeat.f
            mv newbeat.f beat.f
            database=1
            built=1;;
      -m)   mailback=1;;
      -d)   shift
            datastring=$i
            dataset=1;;
      -n)   shift
            normstring=$i
            normset=1;;
      -v)   verbose=1;;
      -i)   interactive=1;;
      *)    if test "$data" = ""; then
               data=$i
            elif test "$normal = ""; then
               normal=$i
            elif test "$maildest" = ""; then
               maildest=$i
            else break
            fi
   esac
done

 [stuff never reached deleted]
-------------------- end of script --------------------

    Here are the symptoms.

-------------------- begin session log --------------------
$ jobshell zcpjd.m60.tok.data zcpjd.m60.toka.data
+ cd /tmp/zmcdr
./jobshell: syntax error at line 269: `end of file' unexpected
$ wc -l jobshell
     268 jobshell
-------------------- end session log --------------------

    The first command in the section I quoted after 'set -x' executes.
Nothing else does.  I think I hosed the syntax in the section I quoted.
I am fairly sure it *is* a programming error and not just a bug in this
particular port of the Bourne shell because I ran versions of this script
on both a Sun and a Cray with the same results.  BTW, my login shells 
on both machines are /bin/csh, but I was in /bin/sh when testing.

    I would greatly appreciate an explanation of the the nature of the 
goof.  Thanks in advance.

-- 
Charles Roten | STX, Incorporated
Internet: croten at ltpsun.gsfc.nasa.gov [best] *OR* zmcdr at charney.gsfc.nasa.gov
smail:    9701 L Philadelphia Court, Lanham, MD 20706
phone:    (301) 306-1006 (work) ; (301) 317-0872 (home)



More information about the Comp.unix.questions mailing list