Date: Mon, 19 Sep 2016 04:35:16 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 206295] sh(1)/test(1) bug (precedence) Message-ID: <bug-206295-8-jPUKFs5TSW@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-206295-8@https.bugs.freebsd.org/bugzilla/> References: <bug-206295-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206295 --- Comment #2 from nibbana@gmx.us --- >From the test(1) manpage: ! expression True if expression is false. NOTE: it is stating that (based on the use of the term 'expression', that ! should have higher precedence than -a/-o ... there is no indication that one should beware of any -a/-o operators that follow. Also, this bizzare behavior only applies to the -a operator, not -o, so that makes the current implementation doubly strange, and it only applies to a 1st and not in further instances, eg: "! expression -a expression -o ! expression -a expression" $ [ ! "" -a "" ] && echo pass || echo fail pass $ [ ! "" -a "" -o ! "" -a "" ] && echo pass || echo fail fail expression1 -a expression2 True if both expression1 and expression2 are true. expression1 -o expression2 True if either expression1 or expression2 are true. ( expression ) True if expression is true. The -a operator has higher precedence than the -o operator. GRAMMAR AMBIGUITY The test grammar is inherently ambiguous. In order to assure a degree= of consistency, the cases described in the IEEE Std 1003.2 (``POSIX.2''), section D11.2/4.62.4, standard are evaluated consistently according to the rules specified in the standards document. All other cases are su= b- ject to the ambiguity in the command semantics. NOTE: unfortunately, these documents are not easily accessible, and users are, in a practical sense, forced to rely on the manpages. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-206295-8-jPUKFs5TSW>