From owner-freebsd-bugs@FreeBSD.ORG Thu Aug 17 13:20:18 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9315416A4DD for ; Thu, 17 Aug 2006 13:20:18 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FA5043D45 for ; Thu, 17 Aug 2006 13:20:18 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k7HDKIQT009745 for ; Thu, 17 Aug 2006 13:20:18 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k7HDKHAj009741; Thu, 17 Aug 2006 13:20:17 GMT (envelope-from gnats) Date: Thu, 17 Aug 2006 13:20:17 GMT Message-Id: <200608171320.k7HDKHAj009741@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Florian Meister Cc: Subject: Re: bin/102184: the -n switch of the test command does not work X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Florian Meister List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Aug 2006 13:20:18 -0000 The following reply was made to PR bin/102184; it has been noted by GNATS. From: Florian Meister To: Maxim Konovalov Cc: bug-followup@freebsd.org Subject: Re: bin/102184: the -n switch of the test command does not work Date: Thu, 17 Aug 2006 15:07:32 +0200 maybe a shell problem - what shell do you use ? when I do the following I can also reproduce the error: --snip-- tpextu02# set testvar="lala"; [ -f $lala ]; echo $? 1 tpextu02# set testvar="" ; [ -f $lala ] ; echo $? 1 tpextu02# [ -f "lala" ] ; echo $? 1 tpextu02# [ -f "" ] ; echo $? 1 --snap-- bye, florian Maxim Konovalov wrote: > Hi Florian, > > [...] >>> Description: >> test -n does not work. I always get a return code of zero, no >> matter if the variable has zero or more characters. I >> crosschecked it with the -z switch. This switch works with the >> same test-script. > > Works for me: > > $ /bin/test -n "aa"; echo $? > 0 > $ /bin/test -n ""; echo $? > 1 > $ export n="aa"; /bin/test -n "$n"; echo $? > 0 > $ export n=""; /bin/test -n "$n"; echo $? > 1 > >>> How-To-Repeat: >> sample shell script: >> --snip-- >> jail_interface="lala" >> if [ -n ${jail_interface} ]; then >> echo "interface: -$jail_interface-" >> fi >> --snap-- >> >> try to replace the variable jail_interface with nothing - same >> result. If you replace -n with -z you get the expected results. >