Bart's reply explains why I get a parse error: Mac OS X still has zsh v5.0.5 which does not support the bash semantics for a bare string inside [[ ]]. Even if you don't need compatibility with pre v5.0.6 zsh releases I would discourage that syntax because of its ambiguity. On Thu, Apr 9, 2015 at 7:02 PM, Kurtis Rader wrote: > Okay, I had forgotten that a bare string is equivalent to "-n string" in > bash. The zsh documentation makes no mention of this "feature". It probably > works for you and not me because of an option that differs between our two > environments. Although for the life of me I can't figure out what that > option is. > > On Thu, Apr 9, 2015 at 6:39 PM, Thorsten Kampe > wrote: > >> * Kurtis Rader (Thu, 9 Apr 2015 18:31:04 -0700) >> > When I run the following >> > >> > [[ $VAR ]] && print yes >> > >> > I get a parse error. Which is what I expected given the documentation in >> > section "Conditional Expressions" of "man zshall". Are you seeing >> different >> > behavior? What makes you think a bare variable is a valid expression? >> >> >> ``` >> VAR= >> >> if [[ $VAR ]] >> then >> printf "something\n" >> else >> printf "nothing\n" >> fi >> ``` >> >> Works fine in zsh and bash. >> >> Same goes for >> `[[ $VAR ]] && printf "something\n" || printf "nothing\n"` >> >> > > > -- > Kurtis Rader > Caretaker of the exceptional canines Junior and Hank > -- Kurtis Rader Caretaker of the exceptional canines Junior and Hank