svn commit: r212418 - head/bin/test

Jilles Tjoelker jilles at FreeBSD.org
Fri Sep 10 14:00:28 UTC 2010


Author: jilles
Date: Fri Sep 10 14:00:27 2010
New Revision: 212418
URL: http://svn.freebsd.org/changeset/base/212418

Log:
  test(1): Clarify grammar ambiguity and -a/-o vs shell &&/||.

Modified:
  head/bin/test/test.1

Modified: head/bin/test/test.1
==============================================================================
--- head/bin/test/test.1	Fri Sep 10 13:40:31 2010	(r212417)
+++ head/bin/test/test.1	Fri Sep 10 14:00:27 2010	(r212418)
@@ -32,7 +32,7 @@
 .\"     @(#)test.1	8.1 (Berkeley) 5/31/93
 .\" $FreeBSD$
 .\"
-.Dd July 31, 2006
+.Dd September 10, 2010
 .Dt TEST 1
 .Os
 .Sh NAME
@@ -310,6 +310,14 @@ are evaluated consistently according to 
 standards document.
 All other cases are subject to the ambiguity in the
 command semantics.
+.Pp
+In particular, only expressions containing
+.Fl a ,
+.Fl o ,
+.Cm \&(
+or
+.Cm \&)
+can be ambiguous.
 .Sh EXIT STATUS
 The
 .Nm
@@ -338,12 +346,11 @@ specification.
 Both sides are always evaluated in
 .Fl a
 and
-.Fl o ,
-unlike in the logical operators of
-.Xr sh 1 .
+.Fl o .
 For instance, the writable status of
 .Pa file
 will be tested by the following command even though the former expression
 indicated false, which results in a gratuitous access to the file system:
-.Pp
 .Dl "[ -z abc -a -w file ]"
+To avoid this, write
+.Dl "[ -z abc ] && [ -w file ]"


More information about the svn-src-head mailing list