Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: `[[ -n $VAR ]]` equal to `[[ $VAR ]]`?
- X-seq: zsh-users 20122
- From: Kurtis Rader <krader@xxxxxxxxxxxxx>
- To: Thorsten Kampe <thorsten@xxxxxxxxxxxxxxxx>
- Subject: Re: `[[ -n $VAR ]]` equal to `[[ $VAR ]]`?
- Date: Thu, 9 Apr 2015 19:02:54 -0700
- Cc: Zsh Users <zsh-users@xxxxxxx>
- In-reply-to: <mg79kr$vqb$2@ger.gmane.org>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <mg78mg$vqb$1@ger.gmane.org> <CABx2=D-VTpp3ihAE_A2KCdE3tcPu5RPuB8WJwtv-G=B0QNx0GQ@mail.gmail.com> <mg79kr$vqb$2@ger.gmane.org>
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 <thorsten@xxxxxxxxxxxxxxxx>
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
Messages sorted by:
Reverse Date,
Date,
Thread,
Author