the bash builtin command `if test -n ""' (fwd)

Chet Ramey chet@odin.INS.CWRU.Edu
Fri Sep 19 09:25:00 GMT 1997


> I have been trying to build and install groff-1.11. I have found a 
> problem with the builtin command "if" with the following syntax:
>> if test -n "$(tmac-wrap)"; then \
> for m in $(tmac-wrap); do \
> ...
> done; \
> fi
>> bash aborts with "syntax error near unexpected token `;'"
> ... `if test -n ""; then for m in ; do ...; done; fi
>> bash shouldn't test the syntax of the "for" command since what is 
> being done is a test to see if the "for" command will execute properly.

That's not true. All sh-style shells parse entire commands before
attempting to execute them.
> In the mean time: Any ideas on how to easily modify the Makefile.sub 
> for the "tmac" subsystem to allow "make" to complete?

Add a dummy argument before or after the $(tmac-wrap) in the for command,
or do something like 
 if test -n "$(tmac-wrap)"; then \
	 TMAC_WRAP="$(tmac-wrap)" ; \
 for m in $$TMAC_WRAP; do \
 ...
 done; \
 fi
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
Chet Ramey, Case Western Reserve University	Internet: chet@po.CWRU.Edu
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /