POSIX recommends avoiding -a and -o, for good reason. src/test.c (usage): Mention that inherent ambiguities exist with binary -a and -o. Problem reported by Martin Gebert in: http://bugs.gnu.org/22909 --- src/test.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/src/test.c b/src/test.c index 36817d2..bf31cf9 100644 --- a/src/test.c +++ b/src/test.c @@ -790,6 +790,11 @@ INTEGER may also be -l STRING, which evaluates to the length of STRING.\n\ "), stdout); fputs (_("\ \n\ +NOTE: Use of binary -a and -o create inherently ambiguous situations. Use\n\ +'test EXPR1 && test EXPR2' or 'test EXPR1 || test EXPR2' instead.\n\ +"), stdout); + fputs (_("\ +\n\ NOTE: [ honors the --help and --version options, but test does not.\n\ test treats each of those as it treats any other nonempty STRING.\n\ "), stdout); -- 2.5.0