From owner-svn-src-all@freebsd.org Mon Dec 7 19:17:48 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 830029D25CC for ; Mon, 7 Dec 2015 19:17:48 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from erouter6.ore.mailhop.org (erouter6.ore.mailhop.org [54.187.213.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 664261881 for ; Mon, 7 Dec 2015 19:17:47 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from ilsoft.org (unknown [73.34.117.227]) by outbound3.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Mon, 7 Dec 2015 19:16:25 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id tB7JHdkK002950; Mon, 7 Dec 2015 12:17:39 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1449515859.1358.11.camel@freebsd.org> Subject: Re: svn commit: r291929 - head/tools/tools/nanobsd From: Ian Lepore To: Garrett Cooper Cc: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Mon, 07 Dec 2015 12:17:39 -0700 In-Reply-To: <5FA6DD6B-C70B-4E5A-BD04-5897B02E5FC8@gmail.com> References: <201512071024.tB7AOcjr094296@repo.freebsd.org> <1449512013.1358.6.camel@freebsd.org> <5FA6DD6B-C70B-4E5A-BD04-5897B02E5FC8@gmail.com> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Dec 2015 19:17:48 -0000 On Mon, 2015-12-07 at 11:07 -0800, Garrett Cooper wrote: > > On Dec 7, 2015, at 10:13, Ian Lepore wrote: > > > > > On Mon, 2015-12-07 at 10:24 +0000, Warner Losh wrote: > > > Author: imp > > > Date: Mon Dec 7 10:24:38 2015 > > > New Revision: 291929 > > > URL: https://svnweb.freebsd.org/changeset/base/291929 > > > > > > Log: > > > Make sure to quote the arg after -n and -z tests. > > > > While I am generally a quoting fanatic and would much rather > > overquote > > than underquote in shell scripts, fyi it's not actually needed for > > the > > -n and -z tests. test(1) and shells seem to be smart enough to see > > the > > ']' (which is just an arg to test, not shell language syntax) and > > know > > there isn't a string in front of it. > > Warner's commit was good. There's a more bulletproof way to do this > to make it more portable (in most cases, not all), but it would be > overkill: > > [ "x$x" != x ] > > Also, his commit protects against variables with spaces in them doing > unexpected things with test(1). > > Thanks, > -NGie Arrrgggghhhh! No no no no, a thousand times NO. There is NO EXCUSE for that ugly unnecessary xfoo stuff. Quoting properly supplies all the bulletproofing needed for string comparisons. It does look like I was wrong about all shells/test implementations handling the closing bracket for -n and -z as an empty-string indicator though, so quoting is a good solution for that. (Quoting is a good solution for everything, it drives me nuts that I can't use spaces in directory and filenames because so many unix scripts fall on their faces with parameter passing and other tricky quoting situations). -- Ian