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