Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [ -z $FOO ] seems broken in beta13



On Jun 10,  7:18pm, Hrvoje Niksic wrote:
} Subject: Re: [ -z $FOO ] seems broken in beta13
}
} Zefram (A.Main@xxxxxxxxxxxxxxxxx) wrote:
} > 
} > >I use [ -z $TERM ] to check for terminal settings, and since we revved up
} > >from 2.5, I'm now forced to use $+TERM.
} > >
} > >Now I get "argument expected".  Is this correct?
} > 
} > Yes.  If $TERM is empty, then $TERM will be removed from the command
} > line completely, leaving `[ -z ]`, which is a syntax error.  If you use
} > "$TERM" (note the quotes), then the result will be `[ -z "" ]`, which
} > is legal.
} 
} I thought you got this behaviour only by turning on shwordsplit?

Probably that was true at one time.

In any case, it would be nice to be able to get a Bourne-shell-compatible
"test" as well as a POSIX-compatible "test".  As demonstrated here before,
bash appears to use the POSIX semantics, but sh and ksh use the "argument
expected" semantics quoted above.

-- 
Bart Schaefer                             Brass Lantern Enterprises
http://www.well.com/user/barts            http://www.nbn.com/people/lantern

New male in /home/schaefer:
>N  2 Justin William Schaefer  Sat May 11 03:43  53/4040  "Happy Birthday"




Messages sorted by: Reverse Date, Date, Thread, Author