ijk@cbnewsh.ATT.COM (ihor.j.kinal) (07/01/89)
I'm trying to debug an error from a chain of about 6 shell scripts
[one calls the next, and each call a setup script]. The error
only occurs when a certain execution path is chosen, but unfortunately,
I can't discover why that does make a difference.
I believe the error is coming from the setup script, but when I
I turn on execution trace in that script, the error seems to go away.
The error is :
[82]: test - argument expected
I've looked at lines 82 in my scripts, and I can't spot any test
statement or of course, the alternative [ ] .
Questions:
1) is the line number indicative of the line number - or can comments or
something else change that line number????.
2). is there any way to force the script to identify itself by name,
and/or context when it encounters an error?
3). Can something else produce this error message, except what I expect??
{ i.e., test or [ ] }?
I'm using ksh 86,[ on a HP 850]
although a version of the latest 88 might be available.
Any thoughts are appreciated - this has been driving me bonkers!!!
[well, at least it's an excuse ]
Thanks,
Ihor Kinal
[att!violin!ijk]
cbnewsh!ijkdavidsen@crdgw1.crd.ge.com (William E. Davidsen Jr) (07/04/89)
Since you ask for thoughts, look for a function doing the dirty work. See if you have a test as the 86th line in a function definition... -- - bill davidsen (davidsen@crdgw1.uucp) GE Corp. R&D Center; Box 8, KW-C206; Schenectady NY 12345
franl@damogran.prime.com (07/09/89)
Look for something like this:
if [ $VAR ]
then
...
fi
which is testing (poorly) whether the value of the variable VAR is not
the null string. When VAR is not set, it is interpreted as
if [ ] <=== here, "[" (aka "test") has no arguments!
then
...
fi
--
Fran Litterio
Internet: franl@damogran.prime.com
Usenet: {uunet | csnet-relay}!primerd!damogran!franl
Voice: USA-508-879-2960 x4251