From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2858 invoked from network); 17 May 1999 09:40:13 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 17 May 1999 09:40:13 -0000 Received: (qmail 116 invoked by alias); 17 May 1999 09:39:37 -0000 Mailing-List: contact zsh-users-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 2336 Received: (qmail 108 invoked from network); 17 May 1999 09:39:36 -0000 From: jesse@mail.CS.Uni-Magdeburg.De (Roland Jesse) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14143.58310.693584.42423@busch.cs.uni-magdeburg.de> Date: Mon, 17 May 1999 11:39:18 +0200 (METDST) To: zsh-users@sunsite.auc.dk Subject: Parameter expansion X-Mailer: VM 6.70 under 20.4 "Emerald" XEmacs Lucid Reply-To: Roland Jesse X-Organization: University of Magdeburg X-Pgp-Fingerprint: 5D 08 5A E3 B4 AA 68 C1 FF 67 06 29 62 DD 9A D7 Content-Transfer-Encoding: 7bit The zsh manual says regarding to parameter expansion: ${+name} If name is the name of a set parameter `1' is substituted, otherwise `0' is substituted. But why do I do get the following than? % if [ ! ${+BLURB} ]; then then> echo "BLURB not set" then> else else> echo "BLURB set" else> fi BLURB set % I was expecting the opposite. Curiously: % export BLURB=foo % if [ ! ${+BLURB} ]; then echo "BLURB not set" else echo "BLURB set" fi BLURB set % Maybe the question should be: How do you check whether or not an environment variable is set? Comments are appreciated. Roland